Monitoring Proxmox: Grafana + InfluxDB
Monitoring Proxmox

Monitoring Proxmox: Grafana + InfluxDB

Table des matières

Est-ce que ça vous dirait d'avoir ceci dans 15 minutes?

Si oui, continuez le tutoriel, si non, merci de cliquez ici. Les plus vieux vont comprendre, pour les plus jeunes...

Après quelques demandes sur Discord, dont une de Razor aujourd'hui, je me suis (enfin) décidé à faire un tutoriel sur le monitoring avec Grafana & InfluxDB.

Aujourd'hui nous allons parler de Grafana & InfluxDB pour monitorer Proxmox!


💾 L'installation

  1. On va créer un dossier à la racine d'où sont installées vos applications, par exemple monitoring:
sudo mkdir monitoring
  1. Rendez-vous dedans:
cd monitoring
  1. Créez votre compose.yml:
sudo nano compose.yml
  1. Collez ça dedans en prenant soin d'adapter, si nécessaire, les ports et les volumes suivant votre configuration:
version: "3.3"
services:
  grafana:
    image: grafana/grafana
    container_name: grafana
    ports:
      - 3000:3000
    restart: unless-stopped
    volumes:
      - grafana-data:/var/lib/grafana
      - grafana-conf:/etc/grafana

  influxdb:
    image: influxdb:2
    container_name: influxdb
    volumes:
      - influxdb-config:/etc/influxdb2
      - influxdb-data:/var/lib/influxdb2
    ports:
       - 8086:8086

volumes:
  grafana-data:
  grafana-conf:
  influxdb-config:
  influxdb-data:
  1. On va déployer les applications:
docker-compose up -d

ou avec docker-compose V2:

docker compose up -d
  1. Rendez-vous sur l'ip:port, suivant l'IP de votre serveur local et du port choisi, 3000 et 8086 par défaut:
Grafana
http://ip:3000/
influxDB
http://ip:8086/

ou votre domaine:

https://grafana.mondomaine.com
https://influxdb.mondomaine.com

👤 Création des comptes utilisateurs

On va commencer par lancer Grafana et ensuite influxDB afin de terminer l'installation en créant les comptes utilisateurs, changer les mots de passe par défaut.

Grafana

Lors du premier lancement de Grafana il faudra indiquer les informations du compte par défaut:

  • Email or username => admin
  • Password => admin

Cliquez sur Log in.

Choisissez un nouveau mot de passe et cliquez sur Submit:

Vous voilà sur le tableau de bord:

InfluxDB

Lorsque vous lancez influxDB pour la première fois, cliquez sur GET STARTED:

Vous aurez à remplir quelques informations:

  • Username => Choisissez un pseudo.
  • Password => Choisissez un mot de passe fort.
  • Confirm password => Confirmez votre mot de passe.
  • Initial Organisation Name => Nommez votre organisation.
  • Initial Bucket Name => Nommez votre premier Bucket. Proxmox, pourquoi pas.

Cliquez sur CONTINUE.

Quand vous avez cliqué sur Continue, vous aurez en retour une clé, très importante, notez-là quelque part, nous en aurons besoin un peu plus tard, une fois la clé notée cliquez sur QUICK START:

Vous voilà sur le tableau de bord;


🖥️ Côté Proxmox

Allez sur Proxmox, Datacenter et puis Metric Server:

Cliquez sur Add, sélectionnez InfluxDB. Une fenêtre va s'ouvrir:

  • Name: => Nommez cette entrée InfludDB.
  • Server: => Indiquez l'ip du serveur ou se trouve InfluxDB.
  • Port: => 8086, sauf si vous l'avez changé.
  • Protocol: => HTTP.
  • Enabled: => Cochez-le si ce n'est déjà fait.
  • Organization: => Indiquez le nom de l'organisation que vous avez choisi plus haut.
  • Bucket: => Indiquez le nom du Bucket que vous avez choisi plus haut.
  • Token: => Ah, enfin, collez le token reçu précédemment. Gardez-le toujours bien précieusement pour la suite.

Cliquez sur Create. C'est terminé pour Proxmox.


⚙️ Configurer InfluxDB

Il n'y a pas vraiment quelque chose de particulier à faire, vu que vous avez déjà connecté InfluxDB à Proxmox, si non que de vérifier que Proxmox envoie bien les données à InfluxDB.

Allez sur Data Explorer, ensuite cliquez sur Proxmox:

Vous devriez voir en dessous de _mesurement tout un tas de paramètres.

C'est terminé.


⚙️ Configurer Grafana

Il va falloir ajouter une source de données, celle de InfluxDB. Dans Grafana, partie Home, cliquez sur Data Sources:

Ensuite cliquez sur Add data source:

Cliquez sur InfluxDB:

Dans Query language, sélectionnez Flux:

Configurez ces quelques points dans la partie HTTP et Auth:

  • URL => Indiquez http://ip:port de InfluxDB.
  • Basic auth => Si elle est cochée, décochez-là.
  • Skip TLS Verify => Cochez cette case.

Configurez ces quelques points dans la partie InfluxDB Details:

  • Organization => Indiquez le nom de votre organisation.
  • Token => Indiquez le token que vous avez mis de côté.

Cliquez sur Save & test. Cela devrait retourner un message vert plein d'amour:

Retournez sur Home, et cliquez sur Dashboards:

Cliquez en haut à droite sur New, puis Import:

Indiquez 15356 et cliquez sur Load:

Dans Options, Name, vous pouvez choisir le nom que vous voulez. N'oubliez pas dans le fond de sélectionnez l'InfluxDB data source;

Quand c'est terminé, cliquez sur Import:

Et tadaaaaam:

Si ce n'était pas bien affiché, veillez à ce que les paramètres suivants, en haut à gauche, soient correctement réglés, ce qui devrait déjà être le cas:


😷 Modifier l'apparence

Imaginons que je veuille changer l"apparence de ceci:

Il faut cliquez en haut à droite de la case, choisissez Edit:

Cela va ouvrir un menu, dans cet exemple j'ai cliqué sur Rerto LCD, qui donne un look plutôt sympa:

Mais vous pouvez également changer l'apparence en cliquant en haut à droite sur Bar gauge;

Et sélectionnez un autre type de graphique:

Suivant ce que vous choisissez:

Stat:

Bar chart:

Bar gauge:

Gauge:

Quand vous avez fini de faire mumuse, cliquez sur Apply. 👍

Et surtout, surtout, n'oubliez pas de cliquer sur la disquette après avoir cliqué sur Apply...

...et enfin sur Save:


❗ Combiner le monitoring de Proxmox avec celui de Docker

Vous avez également la possibilité de créer un dashboard pour faire du monitoring sur Docker. je vous explique tout ici:

Monitoring Docker: Grafana + Prometheus + cAdvisor
Tutoriel pour monitorer Docker à l’aide de Grafana, Prometheus et cAdvisor.

zarev

->.<-
🐧 Passionné de self-hosting, je partage ce que je connais et me nourris des connaissances des bonnes âmes qui partagent avec moi. Soutenons l'utilisation des apps open source et leurs développeurs.