Blog & Astuces

Monitorer son serveur avec Grafana et Prometheus - Monitorer Pi-Hole

Monitorer son serveur avec Grafana et Prometheus - Monitorer Pi-Hole

Tuto

Ce tutoriel fait suite au tutoriel sur la mise en place de Pi-Hole que vous pouvez retrouver ici.

Dans ce tutoriel, je vais présenter comment monitorer Pi-Hole avec Grafana et Prometheus, afin d'afficher l'activité de votre instance de Pi-Hole à travers un dashboard.

Pré-requis

  • Un serveur Linux
  • Avoir installé Docker, Grafana et Prometheus sur le serveur. Vous pouvez vous reporter sur mon précédent tutoriel pour voir comment installer Grafana avec Docker. Vous pouvez aussi vous reporter sur mon autre tutoriel pour installer Prometheus.

Mise en place de pihole-exporter

Ce petit utilitaire va permettre de récolter et exposer les données fournies par Pi-Hole en rapport avec le blocage des publicités, pour pouvoir être stockées dans la base de données de Prometheus, puis que ces données soient exposées à Grafana. Nous allons l'installer grâce à Docker.

Créer un fichier docker-compose.yml avec ces informations :

version: "3"

services:
    pihole-exporter:
      image: ekofr/pihole-exporter:latest
      container_name: pihole-exporter
      hostname: pihole-exporter
      restart: unless-stopped
      environment:
        PIHOLE_HOSTNAME: ADRESSE_DU_SERVEUR_PIHOLE
        PIHOLE_PASSWORD: MOT_DE_PASSE_DE_PIHOLE
        PIHOLE_PORT: PORT_DE_PIHOLE
      expose:
        - "9617"

Modifiez la configuration par les données correspondants à votre environnement :

  • PIHOLE_HOSTNAME : Entrez l'adresse IP locale de votre serveur qui expose Pi-Hole ;
  • PIHOLE_PASSWORD : Entrez le mot de passe administrateur de Pi-Hole ;
  • PIHOLE_PORT : Entrez le port de l'interface web de Pi-Hole. Si vous n'avez rien changé dans la configuration de Pi-Hole, il s'agit du port 80.

Ajouter la configuration suivante à Prometheus pour qu'il puisse scrapper l'URL, sous "scrape_configs" :

scrape_configs:
  - job_name: pihole
    static_configs:
      - targets: ['pihole-exporter:9617']

pihole-exporter correspond au hostname du container de pihole-exporter. Pour que cela puisse fonctionner, assurez-vous que le container soit dans le même réseau Docker que votre instance de Prometheus (via la configuration "networks" du docker-compose.yml).

Démarrer ensuite le container avec la commande docker-compose up -d.

Configuration de Grafana

Configuration du tableau de bord de Pihole-exporter

Téléchargez le dashboard suivant puis importez-le dans Grafana (en sélectionnant "Import dashboard" > "Upload dashboard JSON file") : https://raw.githubusercontent.com/eko/pihole-exporter/master/grafana/dashboard.json.

Choisissez la datasource Prometheus quand Grafana vous le demandera.

Si tout s'est bien passé, vous devriez voir s'afficher le dashboard avec les données de votre instance de Pi-Hole.

Conclusion

Grâce à l'utilitaire pihole-exporter et Prometheus, il est possible de monitorer et stocker les informations sur les requêtes publicitaires bloquées par Pi-Hole, et bien plus. Grâce à Grafana, il est ensuite possible de les afficher dans un dashboard.

Commentaires