Centreon offre la possibilité d'agréger plusieurs métriques issues de différents services au travers d'un service spécifique appelé méta-service. Ces méta-services gérés par le Central Centreon peuvent avoir des seuils, des notifications et surtout génèrent un graphique de performance.
La dernière version majeure de Centreon 3.4 (centreon-web 2.8.2) modifie le fonctionnement interne des méta-services. Nous verrons d'abord un aperçu du fonctionnement de ces méta-services. Ensuite nous aborderons la configuration pour adapter les versions Open-Source de Centreon-Web et un chapitre sur la mise à jour de Centreon 3.3 vers 3.4.
La création d'un méta-service peut se faire de deux façons. La première manuelle permet de sélectionner manuellement des services afin de les agréger en effectuant une opération mathématique. La seconde permettra de créer un méta-service en utilisant une requête SQL pour réaliser un regroupement de services.
La dernière version majeure de Centreon 3.4 (centreon-web 2.8.2) modifie le fonctionnement interne des méta-services. Nous verrons d'abord un aperçu du fonctionnement de ces méta-services. Ensuite nous aborderons la configuration pour adapter les versions Open-Source de Centreon-Web et un chapitre sur la mise à jour de Centreon 3.3 vers 3.4.
La création d'un méta-service peut se faire de deux façons. La première manuelle permet de sélectionner manuellement des services afin de les agréger en effectuant une opération mathématique. La seconde permettra de créer un méta-service en utilisant une requête SQL pour réaliser un regroupement de services.
1 Configuration d'un méta-service
1.1 Configuration manuelle
Nous allons prendre pour l'exemple, les services Load de trois serveurs. Nous allons calculer la moyenne de charge à 15 minutes pour ces trois serveurs. Cela n'a pas beaucoup de sens de faire mais je n'ai pas autre chose sur la main. Il aurait été plus sympa de mesurer la moyenne de la puissance électrique de plusieurs serveurs par exemple. Mais revenons à notre exemple. Sélectionnez le menu Configuration -> Services -> Meta Services.
Cliquez sur Add
Ce n'est pas obligatoire, on peut ajouter des seuils critical et warning qui serviront à la notification si vous l'activez. Il est conseillé d'ajouter un modèle de graphe pour ce méta-service.
Voici un exemple de notre meta-service. Sélectionnez la métrique Load15. Sauvegardez.
Ajoutons des services en cliquant sur l'icône.
Cliquez sur Add pour ajouter un service.
Sélectionnez un hôte et le bon service avec la bonne métrique que vous avez configuré sur le méta-service. Sauvegardez et ajoutez d'autres services de la même manière.
Votre sélection est terminée. Appliquez la configuration.
Votre méta service s'affiche au bout de quelques secondes. Tous les méta-service seront regroupés dans l'hôte Meta. Un exemple du graphe réalisé avec les données de performances.
1.2 Configuration par requête SQL
La création d'un méta-service par requête SQL présente l'avantage de l'ajout ou la suppression automatique des nouveaux services créés ou supprimés ultérieurement. Dans cet exemple, nous allons superviser la taille totale de la mémoire disponible des serveurs utilisés. Comme l'exemple précédent, l'utilité est toute relative, on dira que c'est un cas d'école ;). Sélectionnez le menu Configuration -> Services -> Meta Services.
Nous n'utiliserons pas de seuils car ils ne seront d'aucune utilité pour cet exemple. Il est conseillé d'ajouter un modèle de graphe pour ce méta-service.
Sauvegardez.
Appliquez la configuration, le méta-service récupère automatiquement les métriques.
Si on rajoute un hôte, le méta-service ajoutera automatiquement la métrique comme le montre cet exemple.
1.3 Modification pour un Serveur Centreon en version Open source sans IMP
Si vous n'avez pas opté pour la version IMP ou que vous êtes sous Debian, les méta services ne fonctionnent pas car le plugin pour les méta service ne peut être téléchargé. Vous aurez donc ce message d'erreur ci-dessous
En regardant de plus près avec la vue détail, vous comprenez la source du problème. On utilise les plugins Centreon mais sous un autre nom. Si vous n'avez pas téléchargé les plugins Centreon en version Open Source, je vous invite à le faire.
Ensuite, les plugins Centreon étant dans le dossier /usr/lib/centreon/plugins, il suffira de copier le fichier centreon_plugins.pl en centreon_centreon_central.pl
cp /usr/lib/centreon/plugins/centreon_plugins.pl /usr/lib/centreon/plugins/centreon_centreon_central.pl
Il faudra vérifier aussi que la macro ressource $CENTREONPLUGINS$ existe et qu'elle pointe bien sur le dossier contenant le plugins comme cet exemple ci-dessous.
En vérifiant de nouveau le méta service, celui-ci affiche les bonnes valeurs.
2 Mise à jour Centreon 3.3 vers 3.4
Considérons trois méta-services sur notre solution Centreon 3.3 comme le montre cette copie d'écran.
Le premier méta-service est une recherche SQL sur la métrique load des services Load existants. Les deux autres seront basés sur une liste de services.
Résultat dans la vue temps réel, les méta-services sont visibles en sélectionnant Monitoring / Status Détails / Meta Services
2.1 Mise à jour vers la version 3.4
Après la mise à jour de Centreon (Centreon 3.4, centreon-web 2.8.2), les méta-services sont affichés dans la vue temps réel avec les services.
Mais comme vous pouvez le constater, ces méta-services ne fonctionnent pas. En effet, avec la nouvelle version Centreon 3.4, le plugin historique check_meta_service n'est plus utilisé. Il est remplacé par le plugin pack centreon-plugin-Applications-Monitoring-Centreon-Central. Voici la procédure : après l'activation des plugins pack (voir cet article sur la mise à jour), activer le plugin pack Centreon.
Il vous demandera d'installer les dépendances si nécessaire comme le montre la copie d'écran. Ensuite, installez les paquets nécessaires.
yum install centreon-plugin-Applications-Monitoring-Centreon-Central
Après quelques minutes ou en forçant la vérification, vous devriez obtenir ce résultat. Il faudra peut-être relancer le cache du navigateur.
-
bug version Web 2.8.12
- La version centreon-web 2.8.12 a un dysfonctionnement sur les requêtes SQL. Il faut modifier le fichier /usr/lib/centreon/plugins/centreon_centreon_central.pl. Remplacez la ligne suivante (vers la ligne 85)
my $stmt = $self->execute_query($self->{centreon_db_centstorage},
"SELECT metrics.metric_id, metrics.metric_name, metrics.current_value FROM index_data, metrics WHERE index_data.service_description LIKE " . $self->{centreon_db_centstorage}->quote($options{regexp_str}) . " AND index.id = metrics.index_id");
Par celle-cimy $stmt = $self->execute_query($self->{centreon_db_centstorage},
"SELECT metrics.metric_id, metrics.metric_name, metrics.current_value FROM index_data, metrics WHERE index_data.service_description LIKE " . $self->{centreon_db_centstorage}->quote($options{regexp_str}) . " AND index_data.id = metrics.index_id");
En appliquant de nouveau une vérification forcée, votre méta-service fonctionnera de nouveau.