Superviser votre Raspberry avec Grafana

Le plus important lorsqu’on gère un SI c’est l’accessibilité des données, et leur sécurité. Concernant le premier point, il est vital de superviser son SI pour prévenir les risques de non accessibilité des données, qu’elle soit totale ou partielle.

Pour cela, je vous conseille l’utilisation de Grafana, cumulée à Prometheus et Node-exporter.


Installation Node-exporter via Docker :

Saisir la commande ci-dessous 🙂

docker run -d --net="host" --pid="host" -v "/:/host:ro,rslave" quay.io/prometheus/node-exporter:latest --path.rootfs=/host

Installation Prometheus et Grafana via Docker-Compose :

Premièrement, à partir de votre éditeur préféré, il vous faut créer les fichiers de configurations suivants, au sein d’un même dossier : docker-compose.yml et prometheus.yml

Contenu docker-compose.yml :

version: '3.8'

services:
  prometheus:
    image: prom/prometheus
    container_name: prometheus
    restart: unless-stopped
    ports:
      - "9090:9090"
    volumes:
      - ./prometheus.yml:/etc/prometheus/prometheus.yml
      - prometheus-data:/prometheus
    command:
      - "--config.file=/etc/prometheus/prometheus.yml"
    networks:
      - monitoring

  grafana:
    image: grafana/grafana-enterprise
    container_name: grafana
    restart: unless-stopped
    ports:
      - "3000:3000"
    volumes:
      - grafana-data:/var/lib/grafana
    networks:
      - monitoring

networks:
  monitoring:
    driver: bridge

volumes:
  prometheus-data:
  grafana-data:

Contenu prometheus.yml :

global:
  scrape_interval: 10s

scrape_configs:
  - job_name: 'prometheus'
    static_configs:
      - targets: ['prometheus:9090']
  - job_name: 'node-exporter'
    static_configs:
      - targets: ['adresse_ip_host:9100']

Une fois vos fichiers yml édités, il vous faudra exécuter, depuis le dossier concerné, la commande docker compose up -d


Configuration Grafana :

Configuration Dashboard :

Connectez-vous à l’url http://ip_machine_grafana:3000

Login/Mdp par défaut : admin/admin

Procédure à suivre en cliquant ici

Il suffit de suivre les étapes ci-dessous:

  • Step 4: Configure Grafana for Prometheus Data Source
  • Step 5: Importing Dashboard using Grafana Web UI

Configuration Alerting :

Il vous faut dans un premier temps créer l’alerte.

Grafana - Nouvelle alerte

Il vous faudra configurer vos seuils.

Grafana - Seuil alerting

Puis votre Répertoire (Folder), Groupe (Group) et Périodicité.

Grafana - Configuration new alert - Folder - Group - Periodicité

Et pour finir, votre Contact Point. Personnellement, je vous conseille d’en créer un de type Telegram en cliquant sur le lien View or create contact point. Pour ce faire, vous aurez besoin de créer un Chatbot Telegram et d’en renseigner sur Grafana le BOT API Token, ainsi que le Chat ID (Procédure ici).

Grafana - Contact Point