Intégration Prometheus et Grafana
Déployer vergeos-exporter pour collecter les métriques vSAN, cluster et nœud au format Prometheus, configurer les tableaux de bord Grafana et s’intégrer à AlertManager pour une supervision proactive.
Pourquoi les métriques externes sont importantes
Le tableau de bord VergeOS fournit un état de santé et des analyses en temps réel, mais les stratégies de supervision d’entreprise nécessitent généralement un stockage centralisé de séries temporelles capable d’agréger les métriques de plusieurs systèmes, de conserver les données au-delà de la fenêtre de 45 jours dans l’interface, et de déclencher des règles d’alerte sophistiquées. Le vergeos-exporter comble cette lacune en exposant les métriques VergeOS au format Prometheus -- le standard de fait pour la supervision cloud-native.
Avec l’exportateur en fonctionnement, vous bénéficiez d’une analyse des tendances à long terme, d’une corrélation entre systèmes et d’une intégration avec les pipelines d’alerte existants -- le tout sans modifier le système VergeOS lui-même.
Le vergeos-exporter
Le vergeos-exporter est un outil open source maintenu par Verge dans le verge-io/vergeos-exporter dépôt GitHub. Il se connecte à l’API REST VergeOS, collecte les métriques d’infrastructure et les expose sur un point de terminaison HTTP que Prometheus collecte à un intervalle configurable.
Métriques exposées
L’exportateur collecte trois catégories de métriques :
Métriques de niveau vSAN
Capacité, utilisation et allocation par niveau. Comptes de transactions et de réparations. Surveillance de l’état des disques (en ligne, hors ligne, en réparation, initialisation, vérification, sans redondance, manque d’espace). Température des disques et données d’intégrité. Opérations de lecture/écriture et IOPS.
Métriques du cluster
Nombre de nœuds par cluster. Utilisation de la RAM, du CPU et du disque. État de synchronisation et intégrité.
Métriques des nœuds
Utilisation du CPU et de la mémoire par nœud. Débit réseau et latence. État des services par nœud.
Une référence complète des métriques est disponible dans le fichier metrics.md du dépôt de l’exportateur.
Architecture : collecte basée sur le pull
Le vergeos-exporter suit le modèle pull standard de Prometheus. Prometheus initie la connexion en récupérant le /metrics point de terminaison de l’exportateur à un intervalle configuré (généralement 15 à 60 secondes). Cette approche signifie :
Aucune règle de pare-feu entrante n’est requise sur le système VergeOS lui-même
L’exportateur peut s’exécuter sur n’importe quel hôte ayant un accès réseau à l’API VergeOS
Plusieurs instances Prometheus peuvent collecter le même exportateur pour la haute disponibilité
L’exportateur est compatible avec AlertManager -- les règles d’alerte Prometheus fonctionnent nativement avec les métriques exposées
Configuration du compte de service
Avant de déployer l’exportateur, créez un compte de service dédié dans VergeOS avec des privilèges minimaux.
Étape par étape : créer le compte de service de l’exportateur
Accédez à Système → Utilisateurs dans l’interface VergeOS
Cliquez sur Nouveau pour créer un nouvel utilisateur
Remplissez le formulaire Nouvel utilisateur :
Nom d’utilisateur :
prometheus-exporter(ou un nom descriptif similaire)Type :
APIMot de passe : une valeur forte générée aléatoirement
Authentification à deux facteurs : laissez désactivée -- l’exportateur s’authentifie via le nom d’utilisateur et le mot de passe API
Cliquez sur Soumettre pour enregistrer
Les nouveaux utilisateurs Normal/API obtiennent liste/lecture sur tout par défaut, ce qui est exactement ce dont l’exportateur a besoin. Pour restreindre davantage le périmètre, réduisez les autorisations sous Système → Permissions après la création de l’utilisateur.
Bonne pratique de sécurité
N’utilisez jamais un compte administrateur pour l’exportateur. Le compte de service n’a besoin que des accès liste et lecture pour interroger les métriques, alors laissez les paramètres par défaut en place ou restreignez-les sous Système → Permissions -- et compensez l’identifiant machine-à-machine en utilisant un mot de passe fort généré aléatoirement et en limitant l’accès réseau à l’hôte de l’exportateur.
Options de déploiement
Le vergeos-exporter prend en charge plusieurs modèles de déploiement. Choisissez celui qui correspond le mieux à votre infrastructure de supervision.
Option 1 : binaire autonome
Des binaires précompilés sont disponibles pour Linux, Windows et macOS (amd64 et arm64) sur la page des versions GitHub .
L’exportateur écoute sur le port 9888 par défaut. Remplacez-le avec l’indicateur -web.listen-address si nécessaire.
Option 2 : service systemd Linux
Pour les déploiements Linux en production, exécutez l’exportateur comme un service systemd géré :
Option 3 : service Windows (NSSM)
Sur les hôtes de supervision Windows, utilisez NSSM (Non-Sucking Service Manager) pour exécuter l’exportateur en tant que service Windows :
Téléchargez NSSM et placez
nssm.exedans un emplacement permanent (par ex. :C:\Program Files\nssm\)Enregistrez le service :
Option 4 : Docker Compose
Le dépôt inclut un exemple Docker Compose prêt à l’emploi sous examples/docker-compose/ qui regroupe l’exportateur, Prometheus et Grafana dans une pile unique -- idéal pour une évaluation rapide ou des environnements de laboratoire.
L’exemple Docker Compose récupère automatiquement le binaire correct spécifique à la plateforme pour votre architecture.
Configuration de Prometheus
Ajoutez l’exportateur comme cible de collecte dans votre prometheus.yml:
Pour superviser plusieurs environnements VergeOS, déployez un exportateur par environnement et ajoutez chacun comme cible distincte (ou utilisez le réétiquetage Prometheus pour la découverte dynamique).
Tableau de bord Grafana
Le vergeos-exporter est livré avec un tableau de bord Grafana préconfiguré (examples/grafana-dashboard.json) couvrant d’emblée les métriques vSAN, cluster et nœud.
Les panneaux du tableau de bord incluent
Performances vSAN
Jauges de capacité et d’utilisation des niveaux, graphiques IOPS, débit de lecture/écriture
Santé du cluster
Nombre de nœuds, état de synchronisation, utilisation globale du CPU et de la RAM
Détails des nœuds
CPU, mémoire, débit réseau et température par nœud
Santé du stockage
États des disques, état de réparation, compteurs d’erreurs
Importation du tableau de bord
Ouvrez Grafana et accédez à Tableaux de bord → Importer
Cliquez sur Téléversez le fichier JSON et sélectionnez
grafana-dashboard.jsondans le dépôt de l’exportateurSélectionnez votre source de données Prometheus dans la liste déroulante
Cliquez sur Importation
Le tableau de bord est immédiatement fonctionnel une fois que Prometheus reçoit les métriques de l’exportateur.
Vérification
Après le déploiement, vérifiez que l’exportateur collecte bien les métriques :
Si le point de terminaison renvoie des métriques, Prometheus les collectera automatiquement à son prochain intervalle. Vérifiez la page Cibles (http://prometheus:9090/targets) pour confirmer que le vergeos job affiche un statut UP.
Liste de contrôle de dépannage
Aucune métrique renvoyée
Vérifiez que l’URL, le nom d’utilisateur et le mot de passe VergeOS sont corrects
Connexion refusée
Confirmez que le processus de l’exportateur est en cours d’exécution et écoute sur 9888
Erreur d’authentification
Confirmez que le compte de service est Type = API avec Authentification à deux facteurs désactivée
Métriques partielles
Vérifiez que le compte de service dispose des autorisations liste et lecture adéquates
Cible Prometheus DOWN
Vérifiez la connectivité réseau entre Prometheus et l’hôte de l’exportateur
Dépassement du délai de collecte
Augmentez -scrape.timeout (30 s par défaut) pour les grands environnements
Intégration avec AlertManager
Parce que l’exportateur expose des métriques Prometheus standard, vous pouvez écrire des règles d’alerte qui se déclenchent lorsque des seuils sont dépassés :
AlertManager peut acheminer ces alertes vers e-mail, Slack, PagerDuty, OpsGenie ou tout point de terminaison webhook -- intégrant la supervision VergeOS dans votre flux de gestion d’incidents existant.
Alternative : intégration directe de l’API avec Zabbix
Si votre organisation utilise Zabbix plutôt que Prometheus, vous pouvez interroger directement l’API REST VergeOS à l’aide d’éléments Zabbix HTTP Agent :
Créez un jeton d’API via Système → Documentation de l’API (Swagger UI)
Utilisez des éléments Zabbix HTTP Agent pour interroger des points de terminaison comme
/api/v4/vms,/api/v4/nodes,/api/v4/vnetsAuthentifiez-vous en effectuant un POST vers
/api/sys/tokenset en passant le jeton de session dans l’en-têtex-yottabyte-tokenLe
L’exportateur Prometheus reste l’approche recommandée pour la plupart des environnements en raison de son ensemble de métriques plus riche et de son tableau de bord préconstruit.
Points clés
Le vergeos-exporter expose les métriques vSAN, cluster et nœud sur le port 9888 au format standard Prometheus
Créez un compte de service dédié de type API -- l’accès liste/lecture sur tout est le comportement par défaut pour les nouveaux utilisateurs Normal/API
Déployez comme binaire autonome, service systemd, service Windows (NSSM) ou pile Docker Compose
Le tableau de bord Grafana fourni offre une visibilité immédiate sur la santé du stockage, du cluster et des nœuds
Prometheus AlertManager l’intégration permet des alertes proactives sur la capacité, l’état des disques et les seuils de performance
L’exportateur utilise une collecte basée sur le pull -- aucune modification du pare-feu entrant n’est nécessaire sur le système VergeOS
Mis à jour
Ce contenu vous a-t-il été utile ?