![Stacks Image 24814](files/stacks-image-85b8d85.png)
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.
![Stacks Image 240084](files/stacks-image-0b3c4bf.png)
Cliquez sur Add
![Stacks Image 239919](files/stacks-image-fcff347.png)
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.
![Stacks Image 240131](files/stacks-image-751d42b.png)
Voici un exemple de notre meta-service. Sélectionnez la métrique Load15. Sauvegardez.
![Stacks Image 239994](files/stacks-image-d291e47.png)
Ajoutons des services en cliquant sur l'icône.
![Stacks Image 240009](files/stacks-image-aa821c6.png)
Cliquez sur Add pour ajouter un service.
![Stacks Image 240118](files/stacks-image-7d479cc.png)
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.
![Stacks Image 240121](files/stacks-image-b643b36.png)
Votre sélection est terminée. Appliquez la configuration.
![Stacks Image 240124](files/stacks-image-dbddffb.png)
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.
![Stacks Image 240136](files/stacks-image-0568d18.png)
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.
![Stacks Image 240139](files/stacks-image-cfd273a.png)
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.
![Stacks Image 240146](files/stacks-image-1dd6a9d.png)
Sauvegardez.
![Stacks Image 240149](files/stacks-image-27d67a8.png)
Appliquez la configuration, le méta-service récupère automatiquement les métriques.
![Stacks Image 240154](files/stacks-image-7b7e291.png)
Si on rajoute un hôte, le méta-service ajoutera automatiquement la métrique comme le montre cet exemple.
![Stacks Image 240159](files/stacks-image-13c6a62.png)
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
![Stacks Image 240024](files/stacks-image-5601db1-816x310.png)
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.
![Stacks Image 240051](files/stacks-image-c82f376.png)
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.
![Stacks Image 240164](files/stacks-image-76d0316-800x268.png)
En vérifiant de nouveau le méta service, celui-ci affiche les bonnes valeurs.
![Stacks Image 240060](files/stacks-image-febe492-800x306.png)
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.
![Stacks Image 240087](files/stacks-image-7ee28f2-800x294.png)
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.
![Stacks Image 240090](files/stacks-image-a199f84-800x280.png)
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.
![Stacks Image 240093](files/stacks-image-7b6ac31-800x384.png)
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.
![Stacks Image 169199](files/stacks-image-58d4c63-800x270.png)
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.
![Stacks Image 240108](files/stacks-image-62aabdd-800x298.png)
-
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.