Débogage Centreon Broker sur un poller distant
Les différents points de contrôles
Fonctionnement de Centreon-Broker
Ci-dessus, voici une représentation simpliste des différents flux intervenant dans Centreon-Broker. Chaque numéro correspond à un point de contrôle pour vérifier notre installation, vous pouvez survolez l'image avec votre souris et cliquez sur le numéro désiré. Voici la liste chronologique des actions que vous pouvez réaliser pour vous aider dans vos éventuels diagnostics.
12 - Vérification du fonctionnement de Centreon-Engine
La meilleure façon de vérifier si le moteur du Central fonctionne, c'est la ligne de commande. Voici plusieurs commandes pour tester le fonctionne du démon centengine, les exemples proviennent d'un poller sous Debian 8 avec systemd :
root@poller-test8:~# service centengine status ● centengine.service - Start and stop Centreon Engine Loaded: loaded (/lib/systemd/system/centengine.service; enabled) Active: active (running) since mer. 2018-03-21 21:27:33 CET; 50min ago Main PID: 17557 (centengine) CGroup: /system.slice/centengine.service └─17557 /usr/sbin/centengine /etc/centreon-engine/centengine.cfg mars 21 21:27:33 poller-test8 systemd[1]: Started Start and stop Centreon Engine. mars 21 21:27:33 poller-test8 centengine[17557]: [1521664053] [17557] Reading main configuration file '/etc/centreon-engine/ce....cfg'. mars 21 21:27:33 poller-test8 centengine[17557]: [1521664053] [17557] Processing object config file '/etc/centreon-engine/host...s.cfg' mars 21 21:27:33 poller-test8 centengine[17557]: [1521664053] [17557] Processing object config file '/etc/centreon-engine/hosts.cfg' mars 21 21:27:33 poller-test8 centengine[17557]: [1521664053] [17557] Processing object config file '/etc/centreon-engine/serv...s.cfg' mars 21 21:27:33 poller-test8 centengine[17557]: [1521664053] [17557] Processing object config file '/etc/centreon-engine/services.cfg' mars 21 21:27:34 poller-test8 centengine[17557]: [1521664053] [17557] Processing object config file '/etc/centreon-engine/commands.cfg' mars 21 21:27:34 poller-test8 centengine[17557]: [1521664053] [17557] Processing object config file '/etc/centreon-engine/cont...s.cfg' mars 21 21:27:34 poller-test8 centengine[17557]: [1521664053] [17557] Processing object config file '/etc/centreon-engine/contacts.cfg' mars 21 21:27:34 poller-test8 centengine[17557]: [1521664053] [17557] Processing object config file '/etc/centreon-engine/host...s.cfg' mars 21 21:27:34 poller-test8 centengine[17557]: [1521664053] [17557] Processing object config file '/etc/centreon-engine/serv...s.cfg' mars 21 21:27:34 poller-test8 centengine[17557]: [1521664053] [17557] Processing object config file '/etc/centreon-engine/time...s.cfg' mars 21 21:27:34 poller-test8 centengine[17557]: [1521664053] [17557] Processing object config file '/etc/centreon-engine/esca...s.cfg' mars 21 21:27:34 poller-test8 centengine[17557]: [1521664053] [17557] Processing object config file '/etc/centreon-engine/depe...s.cfg' mars 21 21:27:34 poller-test8 centengine[17557]: [1521664053] [17557] Processing object config file '/etc/centreon-engine/conn...s.cfg' mars 21 21:27:34 poller-test8 centengine[17557]: [1521664053] [17557] Processing object config file '/etc/centreon-engine/meta...s.cfg' mars 21 21:27:34 poller-test8 centengine[17557]: [1521664053] [17557] Processing object config file '/etc/centreon-engine/meta...d.cfg' mars 21 21:27:34 poller-test8 centengine[17557]: [1521664053] [17557] Processing object config file '/etc/centreon-engine/meta...t.cfg' mars 21 21:27:34 poller-test8 centengine[17557]: [1521664053] [17557] Processing object config file '/etc/centreon-engine/meta...s.cfg' mars 21 21:27:34 poller-test8 centengine[17557]: [1521664053] [17557] Reading resource file '/etc/centreon-engine/resource.cfg' Hint: Some lines were ellipsized, use -l to show in full. root@poller-test8:~# ps aux | grep centengine centreo+ 17557 0.3 6.0 449740 29632 ? Ssl 21:27 0:09 /usr/sbin/centengine /etc/centreon-engine/centengine.cfg root 17704 0.0 0.4 12748 2272 pts/1 S+ 22:20 0:00 grep centengine
Autre commande très intéressante, centenginestats permet de vérifier le fonctionnement du moteur indépendamment du broker. Ce programme donne les statistiques complètes du moteur.
root@poller-test8:~# /usr/sbin/centenginestats Centreon Engine Statistics Utility 1.8.1 Copyright 2003-2008 Ethan Galstad Copyright 2011-2013,2016 Centreon License: GPLv2 CURRENT STATUS DATA ------------------------------------------------------ Status File: /var/log/centreon-engine/status.dat Status File Age: 0d 0h 0m 58s Status File Version: (null) Program Running Time: 0d 0h 55m 58s Centreon Engine PID: 17557 Used/High/Total Command Buffers: 0 / 0 / 4096 Total Services: 1 Services Checked: 1 Services Scheduled: 1 Services Actively Checked: 1 Services Passively Checked: 0 Total Service State Change: 0.000 / 0.000 / 0.000 % Active Service Latency: 0.167 / 0.167 / 0.167 sec Active Service Execution Time: 0.069 / 0.069 / 0.069 sec Active Service State Change: 0.000 / 0.000 / 0.000 % Active Services Last 1/5/15/60 min: 0 / 0 / 1 / 1 Passive Service Latency: 0.000 / 0.000 / 0.000 sec Passive Service State Change: 0.000 / 0.000 / 0.000 % Passive Services Last 1/5/15/60 min: 0 / 0 / 0 / 0 Services Ok/Warn/Unk/Crit: 1 / 0 / 0 / 0 Services Flapping: 0 Services In Downtime: 0 Total Hosts: 1 Hosts Checked: 1 Hosts Scheduled: 1 Hosts Actively Checked: 1 Host Passively Checked: 0 Total Host State Change: 0.000 / 0.000 / 0.000 % Active Host Latency: 0.186 / 0.186 / 0.186 sec Active Host Execution Time: 0.203 / 0.203 / 0.203 sec Active Host State Change: 0.000 / 0.000 / 0.000 % Active Hosts Last 1/5/15/60 min: 0 / 0 / 1 / 1 Passive Host Latency: 0.000 / 0.000 / 0.000 sec Passive Host State Change: 0.000 / 0.000 / 0.000 % Passive Hosts Last 1/5/15/60 min: 0 / 0 / 0 / 0 Hosts Up/Down/Unreach: 1 / 0 / 0 Hosts Flapping: 0 Hosts In Downtime: 0 Active Host Checks Last 1/5/15 min: 0 / 1 / 3 Scheduled: 0 / 1 / 3 On-demand: 0 / 0 / 0 Parallel: 0 / 1 / 3 Serial: 0 / 0 / 0 Cached: 0 / 0 / 0 Passive Host Checks Last 1/5/15 min: 0 / 0 / 0 Active Service Checks Last 1/5/15 min: 0 / 1 / 3 Scheduled: 0 / 1 / 3 On-demand: 0 / 0 / 0 Cached: 0 / 0 / 0 Passive Service Checks Last 1/5/15 min: 0 / 0 / 0 External Commands Last 1/5/15 min: 0 / 0 / 0
13 - Vérification des logs du module cbmod
Dans une configuration standard, les logs du module cbmod sont situés dans le dossier /var/log/centreon-broker. Dans la version package Debian réalisé par mes soins, les logs se trouvent dans le dossier /var/log/centreon-engine. Le processus centengine doit pouvoir créer le fichier de log. Voici quelques exemples de vérifications de log :
module central-module-master.log (cbmod) pour l'ISO Centreon
tail -f /var/log/centreon-broker/poller1-module.logmodule central-broker-master (événements) pour Debian
tail -f /var/log/centreon-engine/poller1-module.log
Pour obtenir plus ou moins d'informations dans ces logs, vous devrez régler les niveaux de détails dans la configuration du broker dans l'interface Centreon (onglet Logger de chaque module).
14 - Vérification du flux TCP-IP du Poller distant
C'est la partie la plus délicate dans le fonctionnement de Centreon-Broker. Nous utilisons des flux TCP pour communiquer entre les différents modules. Assurez-vous que les ports utilisés ne rentrent pas en conflit avec d'autres applications. Généralement, nous utiliserons les ports entre 5667 et 5670. Les modules travaillent en client-serveur, c'est-à-dire qu'un module écoute le port (serveur) tandis que le l'autre émet (client). Avec la commande netstat, vous pouvez lister les communications établies (ETABLISHED) et les ports en écoute (LISTEN). Voici un exemple de commande filtrant les flux TCP ayant la chaine 56 (ce qui correspond en général au port utilisé pour Centreon-Broker.
netstat -an | grep ^tcp | grep 56
Vous obtiendrez, par exemple ce résultat pour le poller distant :
tcp 0 0 172.16.209.81:43850 172.16.209.80:5669 ESTABLISHED
Et la réception du flux sur le Central (la connexion du poller local est absente pour la lisibilité)
tcp 0 0 0.0.0.0:5669 0.0.0.0:* LISTEN tcp 0 0 172.16.209.80:5669 172.16.209.81:43850 ESTABLISHED
15 - Vérification de l'exportation de la configuration du poller
L'exportation de la configuration du poller distant est réalisée par le service centcore via un flux ssh, par défaut le TCP 22. Le fichier de log de centcore se trouve dans le dossier /var/log/centcore. Pour avoir un minimum d'information dans ce fichier, nous devrons activer le mode debug de centcore. Sélectionnez le menu Administration > Parameters > Debug et cochez la case Centcore Engine debug. Sauvegardez.
On lit le fichier /var/log/centreon/centcore.log. La première ligne indique l'activation du mode debug. Ensuite, on distingue l'envoi des données de configuration du moteur et des données de configuration du broker.
2018-03-22 22:22:29 - Enable Debug in Centcore 2018-03-22 22:23:34 - Start: Send config files on poller 2 2018-03-22 22:23:34 - Result : 2018-03-22 22:23:34 - End: Send config files on poller 2 2018-03-22 22:23:34 - Start: Send Centreon Broker config files on poller 2 2018-03-22 22:23:34 - Result : 2018-03-22 22:23:34 - End: Send Centreon Broker config files on poller 2
Autre exemple d'une connexion ssh défaillante sur le poller
ssh: connect to host 172.16.209.81 port 22: Connection refused^M 2018-03-22 22:36:38 - Start: Send config files on poller 2 2018-03-22 22:36:38 - Result : ssh: connect to host 172.16.209.81 port 22: Connection refused^M lost connection 2018-03-22 22:36:38 - End: Send config files on poller 2 2018-03-22 22:36:38 - Start: Send Centreon Broker config files on poller 2 2018-03-22 22:36:38 - Result : ssh: connect to host 172.16.209.81 port 22: Connection refused^M lost connection 2018-03-22 22:36:38 - End: Send Centreon Broker config files on poller 2
16 - Vérification du service centcore
Il est important de vérifier le fonctionnement de centcore avec la commande suivante :
ISO Centreon
[root@vmtechcentreon ~]# service centcore status centcore (pid 1713) en cours d'exécution...Debian
root@central-test8:~# service centcore status ● centcore.service - Enable service provided CentCore : Manage pollers Loaded: loaded (/lib/systemd/system/centcore.service; enabled) Active: active (running) since mar. 2018-03-20 18:20:26 CET; 2 days ago Main PID: 16734 (centcore) CGroup: /system.slice/centcore.service └─16734 /usr/bin/perl /usr/share/centreon/bin/centcore --logfile=/var/log/centreon/centcore.log --severity=error --config... Warning: Journal has been rotated since unit was started. Log output is incomplete or unavailable.
Une bonne pratique est de superviser le processus centcore avec Centreon.
17 - Vérification des stats de Centreon-Broker
Depuis la version 2.8.x, les statistiques sont automatiquement activés. On peut vérifier facilement le bon fonctionnement de toute la chaîne de Centreon-Broker dans l'IHM de Centreon. Connectez-vous à l'interface, sélectionnez Home / Poller Statistics. Les statistiques des pollers exigent l'activation de l'option "Enable Broker Statistics Collection" sur la page Administration > Parameters > CentCore.
Cet article est terminé, vous avez tous les outils pour vérifier le broker de votre supervision. Les remarques sont bien sûr acceptées !