Aller au contenu principal

OpenMetrics

Dépendances du connecteur de supervision

Les connecteurs de supervision suivants sont automatiquement installés lors de l'installation du connecteur OpenMetrics depuis la page Configuration > Gestionnaire de connecteurs de supervision :

Contenu du pack

Modèles

Le connecteur de supervision OpenMetrics apporte 2 modèles d'hôte :

  • App-Monitoring-Openmetrics-File-custom
  • App-Monitoring-Openmetrics-Web-custom

Le connecteur apporte les modèles de service suivants (classés selon le modèle d'hôte auquel ils sont rattachés) :

AliasModèle de serviceDescription
Scrape-MetricsApp-Monitoring-Openmetrics-Scrape-Metrics-File-customPermet de collecter des métriques en consultant un fichier OpenMetrics sur un serveur distant
Scrape-MetricsApp-Monitoring-Openmetrics-Scrape-Metrics-Web-customPermet de collecter des métriques en consultant une page web exposant des OpenMetrics

Les services listés ci-dessus sont créés automatiquement lorsque le modèle d'hôte App-Monitoring-Openmetrics-File-custom est utilisé.

Métriques & statuts collectés

Voici le tableau des services pour ce connecteur, détaillant les métriques et statuts rattachés à chaque service.

Les valeurs des métriques collectées dépendent de votre équipement Openmetrics et des filtres choisis.

Prérequis

  1. Configuration de la source de métriques OpenMetrics
  • Service compatible OpenMetrics : Vous devez disposer d'une application ou d'un service exposant des métriques au format OpenMetrics, souvent via une API HTTP/HTTPS (par exemple, Prometheus ou des applications exposant un endpoint /metrics).
  • Endpoint accessible : Assurez-vous que l'endpoint OpenMetrics est accessible depuis le serveur Centreon (ou le collecteur). Testez l'accès avec des outils comme curl ou wget.
  1. Configuration réseau
  • Ouverture des ports : Le collecteur doit pouvoir se connecter au port utilisé par l'endpoint OpenMetrics (généralement le port 80 pour HTTP ou 443 pour HTTPS).
  • Pare-feu : Configurez les règles du pare-feu pour autoriser les connexions entre le collecteur et l'endpoint.
  1. Authentification Si l'endpoint OpenMetrics nécessite une authentification (par exemple, un token ou des identifiants HTTP Basic), vous devez configurer ces informations dans Centreon. Stockez les informations de connexion dans les macros de l’hôte.

Installer le connecteur de supervision

Pack

  1. Si la plateforme est configurée avec une licence online, l'installation d'un paquet n'est pas requise pour voir apparaître le connecteur dans le menu Configuration > Gestionnaire de connecteurs de supervision. Au contraire, si la plateforme utilise une licence offline, installez le paquet sur le serveur central via la commande correspondant au gestionnaire de paquets associé à sa distribution :
dnf install centreon-pack-applications-monitoring-openmetrics
  1. Quel que soit le type de la licence (online ou offline), installez le connecteur OpenMetrics depuis l'interface web et le menu Configuration > Gestionnaire de connecteurs de supervision.

Plugin

À partir de Centreon 22.04, il est possible de demander le déploiement automatique du plugin lors de l'utilisation d'un connecteur. Si cette fonctionnalité est activée, et que vous ne souhaitez pas découvrir des éléments pour la première fois, alors cette étape n'est pas requise.

Plus d'informations dans la section Installer le plugin.

Utilisez les commandes ci-dessous en fonction du gestionnaire de paquets de votre système d'exploitation :

dnf install centreon-plugin-Applications-Monitoring-Openmetrics

Utiliser le connecteur de supervision

Utiliser un modèle d'hôte issu du connecteur

  1. Ajoutez un hôte à Centreon depuis la page Configuration > Hôtes.
  2. Complétez les champs Nom, Alias & IP Address/DNS correspondant à votre ressource.
  3. Appliquez le modèle d'hôte App-Monitoring-Openmetrics-File-custom. Une liste de macros apparaît. Les macros vous permettent de définir comment le connecteur se connectera à la ressource, ainsi que de personnaliser le comportement du connecteur.
  4. Renseignez les macros désirées. Attention, certaines macros sont obligatoires.
MacroDescriptionValeur par défautObligatoire
OPENMETRICSUSERNAMEEndpoint username
OPENMETRICSPASSWORDEndpoint password
OPENMETRICSPROTOSpecify https if needed (default: 'http')
OPENMETRICSPORTPort used (default: 80)
OPENMETRICSFILEPATHCommand options
OPENMETRICSURLPATHURL to scrape metrics from (default: '/metrics')
OPENMETRICSEXTRAOPTIONSAny extra option you may want to add to every command (a --verbose flag for example). Toutes les options sont listées ici.
  1. Déployez la configuration. L'hôte apparaît dans la liste des hôtes supervisés, et dans la page Statut des ressources. La commande envoyée par le connecteur est indiquée dans le panneau de détails de l'hôte : celle-ci montre les valeurs des macros.

Utiliser un modèle de service issu du connecteur

  1. Si vous avez utilisé un modèle d'hôte et coché la case Créer aussi les services liés aux modèles, les services associés au modèle ont été créés automatiquement, avec les modèles de services correspondants. Sinon, créez les services désirés manuellement et appliquez-leur un modèle de service.
  2. Renseignez les macros désirées (par exemple, ajustez les seuils d'alerte). Les macros indiquées ci-dessous comme requises (Obligatoire) doivent être renseignées.
MacroDescriptionValeur par défautObligatoire
FILTERMETRICSOnly parse some metrics (regexp can be used). Example: --filter-metrics='^status$'
INSTANCESet the label from dimensions to get the instance value from
FILTERINSTANCEOnly display some instances. Example: --filter-instance='0'
SUBINSTANCESet the label from dimensions to get the subinstance value from
FILTERSUBINSTANCEOnly display some subinstances. Example: --filter-subinstance='idle'
WARNINGSet warning threshold
CRITICALSet critical threshold
EXTRAOPTIONSAny extra option you may want to add to the command (a --verbose flag for example). Toutes les options sont listées ici.--verbose
  1. Déployez la configuration. Le service apparaît dans la liste des services supervisés, et dans la page Statut des ressources. La commande envoyée par le connecteur est indiquée dans le panneau de détails du service : celle-ci montre les valeurs des macros.

Comment puis-je tester le plugin et que signifient les options des commandes ?

Une fois le plugin installé, vous pouvez tester celui-ci directement en ligne de commande depuis votre collecteur Centreon en vous connectant avec l'utilisateur centreon-engine (su - centreon-engine). Vous pouvez tester que le connecteur arrive bien à superviser une ressource en utilisant une commande telle que celle-ci (remplacez les valeurs d'exemple par les vôtres) :

/usr/lib/centreon/plugins/centreon_monitoring_openmetrics.pl \
--plugin=apps::monitoring::openmetrics::plugin \
--mode=scrape-metrics \
--custommode='web' \
--hostname='10.0.0.1' \
--port='' \
--proto='' \
--urlpath='' \
--username='' \
--password='' \
--filter-metrics='' \
--warning='' \
--critical='' \
--instance='' \
--filter-instance='' \
--subinstance='' \
--filter-subinstance='' \
--verbose

La commande devrait retourner un message de sortie similaire à :

OK: All metrics are ok | 'metric2'=512;;;; 'metric2'=256;;;; 'metric1'=120;;;; 'metric1'=45;;;;
Metric 'metric2' value is '512' [Help: "This metric tracks memory usage."] [Type: 'gauge'] [Dimensions: "serviceA|heap"]
Metric 'metric2' value is '256' [Help: "This metric tracks memory usage."] [Type: 'gauge'] [Dimensions: "serviceB|stack"]
Metric 'metric1' value is '120' [Help: "This metric tracks the number of requests."] [Type: 'counter'] [Dimensions: "endpoint1|GET"]
Metric 'metric1' value is '45' [Help: "This metric tracks the number of requests."] [Type: 'counter'] [Dimensions: "endpoint2|POST"]

Diagnostic des erreurs communes

Rendez-vous sur la documentation dédiée pour le diagnostic des erreurs communes des plugins Centreon.

Modes disponibles

Dans la plupart des cas, un mode correspond à un modèle de service. Le mode est renseigné dans la commande d'exécution du connecteur. Dans l'interface de Centreon, il n'est pas nécessaire de les spécifier explicitement, leur utilisation est implicite dès lors que vous utilisez un modèle de service. En revanche, vous devrez spécifier le mode correspondant à ce modèle si vous voulez tester la commande d'exécution du connecteur dans votre terminal.

Tous les modes disponibles peuvent être affichés en ajoutant le paramètre --list-mode à la commande :

/usr/lib/centreon/plugins/centreon_monitoring_openmetrics.pl \
--plugin=apps::monitoring::openmetrics::plugin \
--list-mode

Le plugin apporte les modes suivants :

ModeModèle de service associé
scrape-metrics [code]App-Monitoring-Openmetrics-Scrape-Metrics-File-custom
App-Monitoring-Openmetrics-Scrape-Metrics-Web-custom

Options disponibles

Options des modes

Les options disponibles pour chaque modèle de services sont listées ci-dessous :

OptionDescription
--filter-metricsOnly parse some metrics (regexp can be used). Example: --filter-metrics='^status$'
--warningSet warning threshold.
--criticalSet critical threshold.
--instanceSet the label from dimensions to get the instance value from.
--filter-instanceOnly display some instances. Example: --filter-instance='0'
--subinstanceSet the label from dimensions to get the subinstance value from.
--filter-subinstanceOnly display some subinstances. Example: --filter-subinstance='idle'
--new-perfdataReplace the underscore symbol by a point in perfdata.

Pour un mode, la liste de toutes les options disponibles et leur signification peut être affichée en ajoutant le paramètre --help à la commande :

/usr/lib/centreon/plugins/centreon_monitoring_openmetrics.pl \
--plugin=apps::monitoring::openmetrics::plugin \
--mode=scrape-metrics \
--help