Monitoring Proxmox avec InfluxDB et Grafana : Guide Technique

Dans l'univers de la virtualisation, il est devenu essentiel de surveiller l'utilisation des ressources et la performance de l'infrastructure. Proxmox, une plateforme de virtualisation open-source, offre certaines fonctionnalités de base pour visualiser les métriques. 


Cependant, avec la configuration de systèmes et d'applications dans des machines virtuelles, il devient indispensable de centraliser la surveillance des ressources.

 
C'est ici qu'entrent en jeu InfluxDB et Grafana, deux outils puissants pour la collecte et la visualisation des données adaptées à l'infrastructure Proxmox.

Image d'une infrastructure Proxmox

 

Qu'est-ce que Grafana et InfluxDB ?

Grafana est une plateforme open-source qui permet de visualiser et de surveiller diverses sources de données, y compris Proxmox via InfluxDB. Son interface conviviale facilite la création de tableaux de bord et la configuration d'alertes. De plus, Grafana dispose d'une vaste bibliothèque de plugins, ce qui lui permet de s’intégrer facilement avec d'autres outils.

InfluxDB, quant à lui, est une base de données de séries temporelles conçue pour gérer de lourdes charges d'écriture et de requêtes. Elle est capable de stocker et de récupérer efficacement de grandes quantités de données horodatées.

 

Exportation des métriques depuis Proxmox

Proxmox propose des fonctionnalités intégrées pour exporter des métriques via InfluxDB et Graphite. Pour ce faire, assurez-vous que des instances d'InfluxDB et de Grafana sont disponibles en réseau. Vous pouvez choisir d’installer InfluxDB sur une machine virtuelle dans votre réseau local ou sur une machine externe à votre plateforme.
Il est préférable que la suveillance de votre infrastructure ou cluster se fasse depuis l'extérieur pour éviter la panne de son système de supervision.

Image d'une infrastructure Proxmox


Configuration d'InfluxDB v2

Pour l'installation d'Influxdb, vous pouvez consulter le site directement
Une fois InfluxDB installé, vous devez configurer les informations d'accès de base, comme le nom de votre organisation et le mot de passe de votre utilisateur principal.
Accédez à l'interface d'InfluxDB et, après la configuration initiale, créez un nouveau "bucket" pour stocker vos métriques Proxmox.

 

  1. Créer un nouveau Bucket : Accédez à "Load data" puis à "Buckets" et créez un bucket pour vos données Proxmox.
    Image d'un bucket
  2. Générer un Token API : Sous "Load data" -> "API Tokens", générez un Token API pour permettre à Grafana ou à Proxmox d'accéder à vos données. N'oubliez pas de sauvegarder ce token, vous ne pourrez plus y accéder après.
    Image d'un bucket

Vous pouvez facilement exécuter ses commandes en cli à ajuster suivant vos paramètres: 

  1. influx bucket create --name proxmox --org greenhoster --retention 720h
  2.  influx auth create --org greenhoster --user greenuser \
    --read-authorizations \
    --write-authorizations \
    --read-buckets \
    --write-buckets \
    --read-dashboards \  
    --write-dashboards \  
    --read-tasks \ 
    --write-tasks \
    --read-telegrafs \
    --write-telegrafs \
    --read-users \
    --write-users
    Dans les 2 cas, vous récupérez un token qu'il faut conserver, il est votre mot de passe pour la suite.
    Exemple token: X0QZK-BR4m2pMNtJ1mQW5MmEnDpQQO1Sfb8i92uaeBSwHh0-AmMCA11HHDho45Hyn3kXt3mvYuWtYUxm5Je1g==


Ajout d'un serveur de métriques dans Proxmox

Pour exporter les métriques à partir de Proxmox, configurez un serveur de métriques en suivant ces étapes:

  1. Sélectionnez votre Datacenter dans le menu de gauche.
  2. Cliquez sur "Metric Servers".
  3. Cliquez sur "Add" et sélectionnez l'option InfluxDB.
  4. Remplissez les champs avec vos informations d'identification et configurez le port et le protocole (HTTP recommandé pour simplifier ce guide).

    Image d'un flux InfluxDB

Une fois correctement configuré, les métriques par défaut de Proxmox seront disponibles dans votre bucket InfluxDB.


Configuration de Grafana pour InfluxDB

Après avoir configuré InfluxDB et Proxmox, ajoutez InfluxDB comme source de données dans Grafana.
Nous considérons que Grafana est déjà installé sur votre machine, au besoin voici la documentation officielle, sinon:

  1. Accédez à votre tableau de bord Grafana et choisissez "Add Data Source".
  2. Selectionnez InfluxDB paramètré suivant les éléments précédent:
  3. Dans notre exemple avec la sortie HTTP de proxmox, on sélectionne le langage de requête Flux, pour exploiter les fonctionnalités d’InfluxDB.
    Image de Grafana
  4. Une fois la connexion réussie, vous serez prêt à visualiser vos données.


Création d'un tableau de bord dans Grafana

Avec votre source de données InfluxDB configurée, vous pouvez créer un tableau de bord personnalisé :

  1. Cliquez sur "Dashboard" -> "New Dashboard".
  2. Vous pouvez également importer un modèle depuis "Dashboard" -> "Import". Plusieurs modèles conçus par la communauté pour Proxmox sont disponibles.
  3. Pour la gestion de cluster Proxmox, je conseils les 19119 et 19216
  4. Sélectionnez le modèle de votre choix, attribuez votre source de données "Influxdb", et personnalisez le tableau de bord selon vos préférences.

Image de Grafana


Supervision Moderne et Fiable

La surveillance de Proxmox est cruciale pour garantir des performances optimales et identifier rapidement les problèmes potentiels. En utilisant Grafana et InfluxDB, vous pouvez facilement exporter les métriques de Proxmox vers InfluxDB et les visualiser dans Grafana.

 
Cela vous permettra d'obtenir des informations précieuses sur la performance de votre infrastructure et d'optimiser l'administration de vos serveurs virtuels.
Vous pouvez enrichir votre tableau de bord avec des données supplémentaires pour une analyse plus approfondie et une surveillance continue.

Dans une prochain articles, nous mettrons en place les alertes afin de surveiller et d'être au courant des incidents ou évènements de votre choix.