Pour les débutants, lisez attentivement ce qui va suivre pour bien comprendre le fonctionnement. Un point important, vous devez prendre en compte que tous les processus (centreon-web, MySQL, Centreon-engine, Centreon-broker et Centreon-gorgone pour la version 20.04) sont inter-dépendants mais peuvent fonctionner indépendamment. Pour un novice, il n'est pas toujours évident de comprendre la bon fonctionnement du moteur sans affichage sur l'interface Web à cause d'une mauvaise configuration ou d'un dysfonctionnement du broker. Cet article va vous permettre de comprendre chaque point de la génération de la configuration.
Avec la nouvelle version 20.04, le tutoriel est divisé en trois parties : La dernière version comprenant Centreon-Gorgone, la version 19.10 puis les anciennes versions de Centreon.
1 Version 20.04
1.1 Générer la configuration
Pour débuter cet article, nous utiliserons une distribution Centreon version 20.04. Pour réaliser la première génération de votre supervision Centreon, sélectionnez le menu Configuration / Pollers, cochez le poller Central et cliquez sur le bouton Export configuration.
Vous obtenez l’écran ci-dessous. Cliquez sur l’une des cases surlignées en rouge pour découvrir sa fonctionnalité.
1.2 Générer les fichiers de configuration
La case à cocher « Generate Configuration Files » va déclencher un processus de génération des fichiers de configuration pour Centreon-Engine et Centreon-Broker. Les données contenues dans la base Centreon du Serveur Central seront utilisées pour la création de fichier de configuration cfg pour Centreon-engine et la création de fichiers json pour Centreon-Broker. Les fichiers seront créés dans le dossier /var/cache/centreon/config et plus précisement les fichiers cfg pour le moteur seront initialisés dans le dossier engine, et les fichiers json pour le broker, dans le dossier broker. Ces dossiers n'existent pas lors de la première configuration et sont créés automatiquement par le processus de génération.
Vous pouvez observer la création des fichiers par l'utilisateur apache utilisé par Centreon-Web. La gestion des droits est très important dans une solution Centreon.
Dans une architecture distribuée, chaque poller aura son propre dossier numéroté de 1 à x poller en fonction de votre configuration.
1.3 Vérifier les fichiers de configuration
Dans les bonnes pratiques Centreon, la deuxième case à cocher « Run monitoring engine debug » doit être utilisée conjointement avec la première case à cocher. Cette option vérifiera la conformité de la configuration du moteur de supervision. Elle correspond à l’option -v de l’exécutable centengine.
Voici le résultat simplifié, cliquez sur la croix de Central pour visualiser le détail de la configuration.
On peut obtenir le même résultat en ligne de commande comme ceci (après une première exportation de configuration):
centengine -v /var/cache/centreon/config/engine/1/centengine.cfg
1.4 Déplacer les fichiers de configuration
1.4a Serveur Central
Troisième case à cocher « Move Export Files », c’est le déplacement des fichiers de configuration vers leurs dossiers définitifs. Les fichiers de configuration du moteur Centreon-Engine seront copiés dans le dossier prévu à sa configuration ( généralement /etc/centreon-engine ). Il sera de même pour les fichiers de configuration de Centreon-Broker ( généralement /etc/centreon-broker ). Vous noterez que l'utilisateur est toujours apache utilisé par l'IHM Centreon Web.
Voici un exemple de déplacement des fichiers de configuration du poller sur un serveur Central
1.4b Poller distant
Pour un poller distant, le processus de copie sera un peu compliqué. Nous utiliserons le service Centreon-gorgone pour envoyer via une connexion ssh les fichiers de configuration au poller. Il devra être opérationnel avant de réaliser une exportation, les modules legacycmd et proxy devront être activés.
1.5 Démarrer le moteur de supervision
Dernière case à cocher « Restart Monitoring Engine », c’est la dernière étape. Pour une première installation, il faudra choisir l’option « method Restart ». Ce processus s’appuie sur le gestionnaire de tâche Centreon-Gorgone et sudo avec une configuration propre à Centreon pour relancer les services de Centreon-engine mais aussi de Centreon-broker. Ensuite, par défaut, depuis la version Centreon Web 2.7x, on recharge la configuration à chaud de Centreon-Engine avec la method Reload et de n'appliquez que les modifications depuis le dernier changement. Ceci améliore grandement les performances de disponibilité du moteur.
Nouveauté avec la version 20-04, le gestionnaire de tâches Centreon-Gorgone est partie prenante dans la commande du moteur Centreon-engine. Il remplace le processus Centreon-centcore. Chaque action reload et restart passe pas la création d'une commande inscrite dans le fichier /var/lib/centreon/centcore.cmd. Exemple pour un restart.
cat /var/lib/centreon/centcore.cmd
RESTART:1
Normalement, si le processus Centreon-gorgone fonctionne, ce fichier est automatiquement lu et supprimé par celui-ci. Il exécutera la tâche en lançant une commande sudo appropriée. Le module legacycmd doit être activé.
Pour les architectures distribuées, Centreon-Gorgone va gérer les connexions des pollers distants avec le protocole ZeroMQ, il ne sera plus nécessaire d'échanger les clés SSH. Il est possible pour les migrations des anciennes version de Centreon d'utiliser les échanges de clés SSH.
1.5a method restart
Cette option servira surtout au premier démarrage de la supervision. Voici le fonctionnement avec la copie d’écran ci-dessous. Les lignes du bas montrent l’activité du processus sudo qui redémarre le service centengine. Depuis la version 2.7x, le service cbd du Broker Centreon est aussi activé lors de la première installation.
1.5b method reload
Cette option permet le rechargement de la configuration de Centreon comme le montre la copie d’écran dessous.
2 Version 19.10
2.1 Générer la configuration
Deuxième partie de cet article, nous utiliserons une distribution Centreon version 19.10. Pour réaliser la première génération de votre supervision Centreon, sélectionnez le menu Configuration / Pollers, cochez le poller Central et cliquez sur le bouton Export configuration.
Vous obtenez l’écran ci-dessous. Cliquez sur l’une des cases surlignées en rouge pour découvrir sa fonctionnalité.
2.2 Générer les fichiers de configuration
La case à cocher « Generate Configuration Files » va déclencher un processus de génération des fichiers de configuration pour Centreon-Engine et Centreon-Broker. Les données contenues dans la base Centreon du Serveur Central seront utilisées pour la création de fichier de configuration cfg pour Centreon-engine et la création de fichiers xml pour Centreon-Broker. Les fichiers seront créés dans le dossier /var/cache/centreon/config et plus précisement les fichiers cfg pour le moteur seront initialisés dans le dossier engine, et les fichiers xml pour le broker, dans le dossier broker. Ces dossiers n'existent pas lors de la première configuration et sont créés automatiquement par le processus de génération.
Dans une architecture distribuée, chaque poller aura son propre dossier numéroté de 1 à x poller en fonction de votre configuration.
Vous pouvez observer la création des fichiers par l'utilisateur apache utilisé par Centreon-Web. La gestion des droits est très important dans une solution Centreon.
2.3 Vérifier les fichiers de configuration
Dans les bonnes pratiques Centreon, la deuxième case à cocher « Run monitoring engine debug » doit être utilisée conjointement avec la première case à cocher. Cette option vérifiera la conformité de la configuration du moteur de supervision. Elle correspond à l’option -v de l’exécutable centengine.
Voici le résultat simplifié, cliquez sur la croix de Central pour visualiser le détail de la configuration.
On peut obtenir le même résultat en ligne de commande comme ceci (après une première exportation de configuration):
centengine -v /var/cache/centreon/config/engine/1/centengine.cfg
2.4 Déplacer les fichiers de configuration
2.4a Serveur Central
Troisième case à cocher « Move Export Files », c’est le déplacement des fichiers de configuration vers leurs dossiers définitifs. Les fichiers de configuration du moteur Centreon-Engine seront copiés dans le dossier prévu à sa configuration ( généralement /etc/centreon-engine ). Il sera de même pour les fichiers de configuration de Centreon-Broker ( généralement /etc/centreon-broker ). Vous noterez que l'utilisateur est toujours apache utilisé par l'IHM Centreon Web.
Voici un exemple de déplacement des fichiers de configuration d’un poller sur un serveur Central
2.4b Poller distant
Pour un poller distant, le processus de copie sera un peu compliqué. Nous utiliserons Centreon-gorgone pour envoyer via une connexion ZeroMQ les fichiers de configuration au poller. Grande différence avec les anciennes versions de Centreon, Centreon-Gorgone doit être installé sur le Central et le Poller et devra être configuré côté Poller avant de réaliser une exportation.
2.5 Démarrer le moteur de supervision
Dernière case à cocher « Restart Monitoring Engine », c’est la dernière étape. Pour une première installation, il faudra choisir l’option « method Restart ». Ce processus s’appuie sur sudo avec une configuration propre à Centreon pour relancer les services de Centreon-engine mais aussi de Centreon-broker. Ensuite, par défaut, depuis la version Centreon Web 2.7x, on recharge la configuration à chaud de Centreon-Engine avec la method Reload.
2.5a method restart
Cette option servira surtout au premier démarrage de la supervision. Voici le fonctionnement avec la copie d’écran ci-dessous. Les lignes du bas montrent l’activité du processus sudo qui redémarre le service centengine. Depuis la version 2.7x, le service cbd du Broker Centreon est aussi activé lors de la première installation.
Le fonctionnement des log sur CentOS est plus compliqué à comprendre, néanmoins on peut voir le fonctionnement en lançant cette commande :
tail -f /var/log/audit/audit.log
Extrait du résultat :
type=USER_ACCT msg=audit(1572717531.655:1806): pid=4039 uid=48 auid=4294967295 ses=4294967295 msg='op=PAM:accounting grantors=pam_unix,pam_localuser acct="apache" exe="/usr/bin/sudo" hostname=? addr=? terminal=? res=success'
type=USER_CMD msg=audit(1572717531.655:1807): pid=4039 uid=48 auid=4294967295 ses=4294967295 msg='cwd="/usr/share/centreon/www" cmd=73657276696365206362642072656C6F6164 terminal=? res=success'
type=CRED_REFR msg=audit(1572717531.655:1808): pid=4039 uid=0 auid=4294967295 ses=4294967295 msg='op=PAM:setcred grantors=pam_env,pam_unix acct="root" exe="/usr/bin/sudo" hostname=? addr=? terminal=? res=success'
type=USER_START msg=audit(1572717531.685:1809): pid=4039 uid=0 auid=4294967295 ses=4294967295 msg='op=PAM:session_open grantors=pam_keyinit,pam_limits,pam_keyinit,pam_limits,pam_systemd,pam_unix acct="root" exe="/usr/bin/sudo" hostname=? addr=? terminal=? res=success'
type=USER_END msg=audit(1572717531.791:1810): pid=4039 uid=0 auid=4294967295 ses=4294967295 msg='op=PAM:session_close grantors=pam_keyinit,pam_limits,pam_keyinit,pam_limits,pam_systemd,pam_unix acct="root" exe="/usr/bin/sudo" hostname=? addr=? terminal=? res=success'
type=CRED_DISP msg=audit(1572717531.791:1811): pid=4039 uid=0 auid=4294967295 ses=4294967295 msg='op=PAM:setcred grantors=pam_env,pam_unix acct="root" exe="/usr/bin/sudo" hostname=? addr=? terminal=? res=success'
Normalement, vous devriez avoir ce résultat. Centreon-Web récupère les informations via la base centreon_storage (pid, Start time, Last update et la version d'engine.
2.5b method reload
Cette option permet le rechargement de la configuration de Centreon comme le montre la copie d’écran dessous.
3 Anciennes version
Voici la troisième partie de ce tutoriel, nous utiliserons une ancienne distribution Centreon version 3.4.1. Pour réaliser la première génération de votre supervision Centreon, sélectionnez le menu Configuration / Pollers, cochez le poller Central et cliquez sur le bouton Export configuration.
3.1 Générer la configuration
Vous obtenez l’écran ci-dessous. Cliquez sur l’une des cases surlignées en rouge pour découvrir sa fonctionnalité.
3.2 Générer les fichiers de configuration
La case à cocher « Generate Configuration Files » va déclencher un processus de génération des fichiers de configuration pour Centreon-Engine et Centreon-Broker. Les données contenues dans la base Centreon du Serveur Central seront utilisées pour la création de fichier de configuration cfg pour Centreon-engine et la création de fichiers xml pour Centreon-Broker. Les fichiers seront créés dans le dossier filesGeneration de répertoire de base Centreon et plus précisement les fichiers cfg pour le moteur seront initialisés dans le dossier engine, et les fichiers xml pour le broker, dans le dossier broker. Chaque poller aura son propre dossier numéroté de 1 à x poller en fonction de votre configuration. Ces dossier n'existent pas lors de la première configuration et sont créés automatiquement par le processus de génération.
Vous pouvez observer la création des fichiers par l'utilisateur apache utilisé par Centreon-Web. La gestion des droits est très important dans une solution Centreon.
3.3 Vérifier les fichiers de configuration
Dans les bonnes pratiques Centreon, la deuxième case à cocher « Run monitoring engine debug » doit être utilisée conjointement avec la première case à cocher. Cette option vérifiera la conformité de la configuration du moteur de supervision. Elle correspond à l’option -v de l’exécutable centengine.
Voici le résultat simplifié, cliquez sur la croix de Central pour visualiser le détail de la configuration.
On peut obtenir le même résultat en ligne de commande comme ceci (après une première exportation de configuration):
centengine -v /usr/share/centreon/filesGeneration/engine/1/centengine.cfg
3.4 Déplacer les fichiers de configuration
3.4a Serveur Central
Troisième case à cocher « Move Export Files », c’est le déplacement des fichiers de configuration vers leurs dossiers définitifs. Les fichiers de configuration du moteur Centreon-Engine seront copiés dans le dossier prévu à sa configuration ( généralement /etc/centreon-engine ). Il sera de même pour les fichiers de configuration de Centreon-Broker ( généralement /etc/centreon-broker ). Vous noterez que l'utilisateur est toujours apache utilisé par l'IHM Centreon Web.
Voici un exemple de déplacement des fichiers de configuration d’un poller sur un serveur Central
3.4b Poller distant
Pour un poller distant, le processus de copie sera un peu compliqué. Nous utiliserons le daemon centcore pour envoyer via une connexion ssh les fichiers de configuration au poller. Il devra être opérationnel avant de réaliser une exportation.
3.5 Démarrer le moteur de supervision
Dernière case à cocher « Restart Monitoring Engine », c’est la dernière étape. Pour une première installation, il faudra choisir l’option « method Restart ». Ce processus s’appuie sur sudo avec une configuration propre à Centreon pour relancer les services de Centreon-engine mais aussi de Centreon-broker. Ensuite, par défaut, depuis la version Centreon Web 2.7x, on recharge la configuration à chaud de Centreon-Engine avec la method Reload.
3.5a method restart
Cette option servira surtout au premier démarrage de la supervision. Voici le fonctionnement avec la copie d’écran ci-dessous. Les lignes du bas montrent l’activité du processus sudo qui redémarre le service centengine. depuis la version 2.7x, le service cbd du Broker Centreon est aussi activé lors de la première installation.
Le fonctionnement des log sur CentOS est plus compliqué à comprendre, néanmoins on peut voir le fonctionnement en lançant cette commande :
tail -f /var/log/audit/audit.log
Extrait du résultat :
type=USER_AUTH msg=audit(1487690548.015:178): user pid=15612 uid=0 auid=4294967295 ses=4294967295 msg='op=PAM:authentication acct="centreon-broker" exe="/bin/su" hostname=? addr=? terminal=? res=success'
type=USER_ACCT msg=audit(1487690548.015:179): user pid=15612 uid=0 auid=4294967295 ses=4294967295 msg='op=PAM:accounting acct="centreon-broker" exe="/bin/su" hostname=? addr=? terminal=? res=success'
type=USER_START msg=audit(1487690548.017:180): user pid=15612 uid=0 auid=4294967295 ses=4294967295 msg='op=PAM:session_open acct="centreon-broker" exe="/bin/su" hostname=? addr=? terminal=? res=success'
type=CRED_ACQ msg=audit(1487690548.017:181): user pid=15612 uid=0 auid=4294967295 ses=4294967295 msg='op=PAM:setcred acct="centreon-broker" exe="/bin/su" hostname=? addr=? terminal=? res=success'
………
type=USER_AUTH msg=audit(1487690548.146:189): user pid=15641 uid=0 auid=4294967295 ses=4294967295 msg='op=PAM:authentication acct="centreon-engine" exe="/bin/su" hostname=? addr=? terminal=? res=success'
type=USER_ACCT msg=audit(1487690548.153:190): user pid=15641 uid=0 auid=4294967295 ses=4294967295 msg='op=PAM:accounting acct="centreon-engine" exe="/bin/su" hostname=? addr=? terminal=? res=success'
type=USER_START msg=audit(1487690548.156:191): user pid=15641 uid=0 auid=4294967295 ses=4294967295 msg='op=PAM:session_open acct="centreon-engine" exe="/bin/su" hostname=? addr=? terminal=? res=success'
type=CRED_ACQ msg=audit(1487690548.156:192): user pid=15641 uid=0 auid=4294967295 ses=4294967295 msg='op=PAM:setcred acct="centreon-engine" exe="/bin/su" hostname=? addr=? terminal=? res=success'
Normalement, vous devriez avoir ce résultat. Centreon-Web récupère les informations via la base centreon_storage (pid, Start time, Last update et la version d'engine.
3.5b method reload
Cette option permet le rechargement de la configuration de Centreon comme le montre la copie d’écran dessous.
4 Dépannage, vérification du fonctionnement
Votre interface Web indique que votre poller ne fonctionne pas. Déterminons la cause. Tout d’abord, l’indication « No » pour votre poller ne veut pas dire que votre moteur de supervision ne fonctionne pas. Première vérification en ligne de commande, vérifiez que votre daemon centengine fonctionne avec la commande ci-dessous.
service centengine status
systemctl status centengine
Une autre façon de visualiser le fonctionnement du moteur et du module CBMOD est d’utiliser la page statistique du broker. Sélectionnez administration -> Platform status -> broker statistics sur les versions Centreon récentes. Sélectionnez Home / Poller Statistics pour visualiser le fonctionnement des statistiques de CBMOD sur les anciennes versions.
Dans l’exemple ci-dessus, le mécanisme Failover de Central-module-master s’est déclenché. Un fichier de rétention de données est créé à la place du flux TCP. Attention, ce fichier peut être assez volumineux au bout d’un certain temps. Démarrez le daemon centreon-broker avec la commande ci-dessous :
service cbd start
ou
systemctl start cbd
Après quelques instants, vous obtiendrez cette vue ci-dessous avec tous les modules de Centreon-Broker en fonctionnement. Le Failover doit être non utilisé comme le monte le zoom d’image.
5 Schéma de principe du fonctionnement d'une solution Centreon Simple
Voici un schéma de principe vous expliquant brièvement le fonctionnement d'une solution Centreon. Comme vous pouvez le constater, c'est le broker qui envoie toutes les informations à l'interface Web de Centreon. Le moteur Centreon-Engine est indépendant et peut très bien fonctionner sans que vous ayez une information sur l'interface Web. Il est très important de comprendre ce fonctionnement.