3 Configuration des droits centreon sur le Poller
Saisir un mot de passe pour centreon, il sera nécessaire pour la communication entre le serveur Central et le Poller.Nous devons autoriser l'utilisateur centreon du serveur Central à réaliser certaines actions sur le Poller. Nous utiliserons le programme sudo à cet effet. Pour modifier le fichier /etc/sudoers, utilisez la commande visudo sur le Poller.
visudo
Modifiez le fichier en ajoutant ces commandes.
## BEGIN: CENTREON SUDO # User_Alias CENTREON=www-data,centreon Defaults:CENTREON !requiretty # Monitoring engine Restart CENTREON ALL = NOPASSWD: /etc/init.d/centengine* restart CENTREON ALL = NOPASSWD: /etc/init.d/centengine restart # Monitoring engine reload CENTREON ALL = NOPASSWD: /etc/init.d/centengine* reload CENTREON ALL = NOPASSWD: /etc/init.d/centengine reload # Monitoring engine test config CENTREON ALL = NOPASSWD: /usr/local/centreon-engine/bin/centengine* -v * CENTREON ALL = NOPASSWD: /usr/local/centreon-engine/bin/centengine -v * # Monitoring engine test for optim config CENTREON ALL = NOPASSWD: /usr/local/centreon-engine/bin/centengine* -s * CENTREON ALL = NOPASSWD: /usr/local/centreon-engine/bin/centengine -s * # Snmptrapd Restart CENTREON ALL = NOPASSWD: /etc/init.d/snmptrapd restart # Centreontrapd restart CENTREON ALL = NOPASSWD: /etc/init.d/centreontrapd restart # Centreontrapd reload CENTREON ALL = NOPASSWD: /etc/init.d/centreontrapd reload ## END: CENTREON SUDORelancer sudo
service sudo restart
Modifions les droits des plugins Centreon situés dans le dossier /usr/local/plugins/libexec afin d'éviter ce dysfonctionnement (plugins non-exécutables)
Voici les commandes à appliquer :
Voici les commandes à appliquer :
cd /usr/local/plugins/libexec chown centreon:centreon-engine centreon* chown -R centreon:centreon-engine Centreon* chown centreon:centreon-engine check_centreon* chown centreon:centreon-engine check_snmp* chown centreon:centreon-engine submit* chown centreon:centreon-engine process* chmod 664 centreon.conf chmod +x centreon.pm chmod +x Centreon/SNMP/Utils.pm chmod +x check_centreon* chmod +x check_snmp* chmod +x submit* chmod +x process*
Pour éviter des problèmes d'application de la configuration, appliquez les droits suivants :
chown centreon-broker: /usr/local/centreon-broker/etc chmod 775 /usr/local/centreon-broker/etc chmod -R 775 /usr/local/centreon-engine/etc chmod 775 /var/lib/centreon-broker
4 Communication entre le serveur Central et le Poller
Nous allons utiliser le user centreon pour établir une communication entre les deux serveurs. Il faut établir une connexion avec le user centreon du serveur Central vers le Poller pour créer la clé d'authentification ssh. Nous utiliserons une session avec su.
Lancez une session centreon
Lancez une session centreon
root@supervision: su - centreon centreon@supervision:~$
Créez la clé SSH sans passphrase dans le dossier par défaut
centreon@supervision:~$ ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/var/lib/centreon/.ssh/id_rsa): Created directory '/var/lib/centreon/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /var/lib/centreon/.ssh/id_rsa. Your public key has been saved in /var/lib/centreon/.ssh/id_rsa.pub. The key fingerprint is: 1d:a3:3d:c6:13:22:af:6a:46:6f:c2:50:a2:53:3c:25 centreon@nagios344cent The key's randomart image is: +--[ RSA 2048]----+ | | | E . | | . o . . + | | = . o * + | | o + S B | |o . . . . o | | . + .. | | =.o | | o.o | +-----------------+
Ne pas mettre de mot de passe, validez par Entrée.
Copions la clé sur le Poller.
Copions la clé sur le Poller.
centreon@supervision:~$ ssh-copy-id -i .ssh/id_rsa.pub centreon@10.0.0.49 The authenticity of host '10.0.0.49 (10.0.0.49)' can't be established. ECDSA key fingerprint is af:5a:a0:ed:36:89:c6:fc:84:b2:e4:4b:25:d4:61:e4. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '10.0.0.49' (ECDSA) to the list of known hosts. centreon@10.0.0.49's password: Now try logging into the machine, with "ssh 'centreon@10.0.0.49'", and check in: ~/.ssh/authorized_keys to make sure we haven't added extra keys that you weren't expecting.
Vérifions la communication ssh, nous n'avons pas besoin d'utiliser le mot de passe du Poller.
centreon@supervision:~$ ssh centreon@10.0.0.49 Linux poller 3.2.0-4-amd64 #1 SMP Debian 3.2.65-1+deb7u2 x86_64 The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law.
Il peut arriver, malgré l'utilisation d'une clé oublique, que le système vous demande de vous authentifier avec le mot de passe. En général, ce phénomène se produit quand les droits ne sont pas bien positionnés dans les dossiers utilisateurs. Appliquez ces commandes pour votre utilisateur centreon :
chmod g-w /var/lib/centreon
chmod 700 /var/lib/centreon/.ssh
chmod 600 /var/lib/centreon/.ssh/authorized_keys
5 Configuration sur le serveur Central
5.1 Ajout de l’instance Poller
Ajouter une instance nommé Poller pour le serveur Poller, sélectionnez Configuration / Centreon / Pollers
Poller Name : Poller IP Address : 10.0.0.49IP du serveur Satellite Localhost ? : No Is default poller ? : No SSH port : 22 Engine : Centreon Engine Monitoring Engine Init Script : /etc/init.d/centengine Monitoring Engine Binay: /usr/local/centreon-engine/bin/centengine Monitoring Engine Statistics Binary : /usr/local/centreon-engine/bin/centenginestats Perfdata file : /var/log/centreon-engine/service-perfdata Centreon Broker configuration path : /usr/local/centreon-broker/etc Centreon Broker modules path : /usr/local/centreon-broker/lib/centreon-broker Centreon Connector path : /usr/local/centreon-connector CentreonTrapd init script path : /etc/init.d/centreontrapd Directory of light databases for traps : /etc/snmp/centreon_traps/
Centreon-Clapi
centreon -u admin -p password -o INSTANCE -a ADD -v 'Poller;10.0.0.49;22;CENGINE'
centreon -u admin -p password -o INSTANCE -a setparam -v 'Poller;localhost;0'
centreon -u admin -p password -o INSTANCE -a setparam -v 'Poller;is_default;0'
centreon -u admin -p password -o INSTANCE -a setparam -v 'Poller;ns_activate;1'
centreon -u admin -p password -o INSTANCE -a setparam -v 'Poller;init_script;/etc/init.d/centengine'
centreon -u admin -p password -o INSTANCE -a setparam -v 'Poller;nagios_bin;/usr/local/centreon-engine/bin/centengine'
centreon -u admin -p password -o INSTANCE -a setparam -v 'Poller;nagiostats_bin;/usr/local/centreon-engine/bin/centenginestats'
centreon -u admin -p password -o INSTANCE -a setparam -v 'Poller;centreonbroker_cfg_path;/usr/local/centreon-broker/etc'
centreon -u admin -p password -o INSTANCE -a setparam -v 'Poller;centreonbroker_module_path;/usr/local/centreon-broker/lib/centreon-broker'
centreon -u admin -p password -o INSTANCE -a setparam -v 'Poller;centreonconnector_path;/usr/local/centreon-connector'
centreon -u admin -p password -o INSTANCE -a setparam -v 'Poller;init_script_centreontrapd;/etc/init.d/centreontrapd'
centreon -u admin -p password -o INSTANCE -a setparam -v 'Poller;snmp_trapd_path_conf;/etc/snmp/centreon_traps/'
Vous devriez avoir deux pollers, le premier pour le serveur Central et le deuxième pour le serveur Poller.
5.2 Ajout du module broker pour le Poller
Ajoutons le module Centreon-broker pour le poller. Sélectionnez le menu Configuration / Centreon. Cliquez sur Configuration du menu gauche Centreon-broker. Ajoutons un module Centreon-Broker. Celui-ci devra envoyer ses données au serveur Central.
Saisissez les données suivantes dans l’onglet Général
Saisissez le nom du module, le nom du fichier de configuration (par défaut le même nom), activez le module, affectez le serveur Poller et limitez la taille à 500000.
Name : poller-module Config file name : poller-module.xml Status : Enabled Requester : Poller Event queue max size : 50000
Onglet Logger, ajoutez un Core - File.
Saisir les informations suivantes
Name of the logger : /var/log/centreon-engine/poller-module.log
Onglet Output, ajoutez un Output TCP - IPv4 et un Output - File. Saisissez les informations suivantes
TCP - IPv4 Name : poller-module-output Connection port : 5669 Host to connect to : 10.0.0.50 IP serveur Central Failover name : poller-module-output-failover File Name : poller-module-output-failover File path : /var/lib/centreon-engine/poller-module-output.retention
Onglet Stats, ajoutez Statistics. Saisissez les informations suivantes
Name : poller-module-stats File path : /var/lib/centreon-broker/poller-module-stats.pipe
Centreon-Clapi
centreon -u admin -p password -o CENTBROKERCFG -a ADD -v 'poller-module;Poller'
centreon -u admin -p password -o CENTBROKERCFG -a setparam -v 'poller-module;filename;poller-module.xml'
centreon -u admin -p password -o CENTBROKERCFG -a ADDLOGGER -v 'poller-module;/var/log/centreon-engine/poller-module.log;file'
centreon -u admin -p password -o CENTBROKERCFG -a setlogger -v 'poller-module;1;type;file'
centreon -u admin -p password -o CENTBROKERCFG -a ADDOUTPUT -v 'poller-module;poller-module-output;ipv4'
centreon -u admin -p password -o CENTBROKERCFG -a setoutput -v 'poller-module;1;port;5669'
centreon -u admin -p password -o CENTBROKERCFG -a setoutput -v 'poller-module;1;failover;poller-module-output-failover'
centreon -u admin -p password -o CENTBROKERCFG -a setoutput -v 'poller-module;1;retry_interval;'
centreon -u admin -p password -o CENTBROKERCFG -a setoutput -v 'poller-module;1;buffering_timeout;'
centreon -u admin -p password -o CENTBROKERCFG -a setoutput -v 'poller-module;1;host;10.0.0.50'
centreon -u admin -p password -o CENTBROKERCFG -a setoutput -v 'poller-module;1;type;ipv4'
centreon -u admin -p password -o CENTBROKERCFG -a ADDOUTPUT -v 'poller-module;poller-module-output-failover;file'
centreon -u admin -p password -o CENTBROKERCFG -a setoutput -v 'poller-module;2;path;/var/lib/centreon-engine/poller-module-output.retention'
centreon -u admin -p password -o CENTBROKERCFG -a setoutput -v 'poller-module;2;type;file'
centreon -u admin -p password -o CENTBROKERCFG -a ADDSTATS -v 'poller-module;poller-module-stats;stats'
centreon -u admin -p password -o CENTBROKERCFG -a setstats -v 'poller-module;1;fifo;/var/lib/centreon-broker/poller-module-stats.pipe'
centreon -u admin -p password -o CENTBROKERCFG -a setstats -v 'poller-module;1;type;stats'
Sauvegardez le tout.
Vous devriez obtenir cette configuration ci-dessus.
5.3 Ajout du Monitoring Engine pour le Poller
Nous devons rajouter la configuration du moteur Centreon-Engine. La solution la plus rapide est de dupliquer celle existante et de modifier les paramètres propres au poller. Cliquez sur Configuration / Monitoring Engines / main.cfg. Dupliquez la configuration Centreon Engine CFG 1.
Modifiez la configuration. Onglet Files
Saisir les informations suivantes
Configuration Name : Poller Engine CFG 1 Status : Enabled Linked poller : Poller
Onglet Data
Saisir les informations suivantes
Add a new broker module : /usr/local/centreon-broker/lib/cbmod.so /usr/local/centreon-broker/etc/poller-module.xml
Etant donné qu’il manque des paramètres comme status_file dans les commandes clapi, nous ne pourrons pas créer automatiquement de configuration du moteur pour le poller.
Vérifiez que vos macros personnalisées soient liées aux deux serveurs de supervision. Sélectionnez Monitoring Engine / Resources. Editez la macro $USER1$ contenant le chemin des plugins.
Ajoutez, si ce n’est pas le cas, les serveurs Central et Poller. Votre configuration est prête.
5.4 Création de l'hôte Poller
Afin de vérifier le bon fonctionnement du Poller, nous allons le superviser avec son propre moteur Centreon-Engine.
Sélectionnez Configuration / hôtes. Sélectionnez l'hôte exemple Centreon-Server et dupliquez-le.
Modifiez les paramètres suivant :
Host Name : poller Alias : Monitoring Server IP Address : 10.0.0.49 Monitored from : Poller
Voilà nos deux hôtes sont prêts, passons à la finalisation.
6 Application de la configuration
6.1 génération des traps sur le poller
Avant de générer l’application, il est conseillé de générer la base de données SQLite qui sera appliquée sur chaque poller. Elle permettra la gestion des traps. Sélectionnez Configuration / SNMP Traps / Generate. Cochez Genrate trap datage et Apply configurations.
6.2 Application de la configuration
Appliquez la modification des serveurs Centreon-Engine. Sélectionnez le menu Configuration / Monitoring Engines / Genrate. Choisir l'option All Pollers pour appliquer la configuration sur tous les serveurs de l'infrastructure. Cochez toutes les actions et choisir la méthode Restart pour l'application de la configuration.
Vous devriez avoir cette fenêtre vous indiquant le bon déroulement des opérations.
6.3 Vérification du fonctionnement
Depuis la version 2.6x de Centreon-Broker, il n'est plus possible de visualiser les stats des pollers. Cela n'empêche pas le bon fonctionnement de la supervision. Il faudra attendre une prochaine version pour retrouver cette fonctionnalité. Néanmoins, il est possible de vérifier le fonctionnement du poller en ligne de commande comme ceci :
cat /var/lib/centreon-broker/poller-module-stats.pipe
Vous obtiendrez le résultat suivant
broker
version=2.8.1
pid=3505
now=1426088571
compiled with qt=4.8.2
running with qt=4.8.2
module /usr/local/centreon-broker/lib/centreon-broker/80-ndo.so
state=loaded
size=3414964B
module /usr/local/centreon-broker/lib/centreon-broker/50-file.so
state=loaded
size=102798B
module /usr/local/centreon-broker/lib/centreon-broker/20-bam.so
state=loaded
size=2679124B
module /usr/local/centreon-broker/lib/centreon-broker/60-compression.so
state=loaded
size=73413B
module /usr/local/centreon-broker/lib/centreon-broker/10-neb.so
state=loaded
size=159397B
module /usr/local/centreon-broker/lib/centreon-broker/50-local.so
state=loaded
size=88037B
module /usr/local/centreon-broker/lib/centreon-broker/20-storage.so
state=loaded
size=396447B
module /usr/local/centreon-broker/lib/centreon-broker/50-tcp.so
state=loaded
size=128271B
module /usr/local/centreon-broker/lib/centreon-broker/20-correlation.so
state=loaded
size=283135B
module /usr/local/centreon-broker/lib/centreon-broker/80-bbdo.so
state=loaded
size=2659671B
module /usr/local/centreon-broker/lib/centreon-broker/70-rrd.so
state=loaded
size=250012B
module /usr/local/centreon-broker/lib/centreon-broker/80-sql.so
state=loaded
size=1656521B
module /usr/local/centreon-broker/lib/centreon-broker/05-dumper.so
state=loaded
size=89960B
module /usr/local/centreon-broker/lib/centreon-broker/15-stats.so
state=loaded
size=184271B
module /usr/local/centreon-broker/lib/centreon-broker/60-tls.so
state=loaded
size=97366B
output poller-module-output
state=connected
accepted events
all
event processing speed=0.0events/s
last connection attempt=1426088175
last connection success=1426088175
last event at=1426088177
queued events=0
state=connecting
temporary recovery mode=no
last event at=1426088571
event processing speed=0.3 events/s
last connection attempt=1426088176
last connection success=1426088176
failover
output poller-module-output-failover
state=unused
Il est intéressant de visualiser le fonctionnement de centcore. Lancez la commande sur le serveur central.
On visualise l'activité de l'application de la configuration
Communication côté Central.
On peut vérifier le fonctionnement de Centreon-Engine sur le serveur poller en visualisant le fichier de log (/var/log/centreon-engine/centengine.log)
tail -f /usr/local/centreon/log/centcore.log
On visualise l'activité de l'application de la configuration
2014-02-22 22:25:04 - Start: Send config files on poller 2
2014-02-22 22:25:04 - Result :
2014-02-22 22:25:04 - End: Send config files on poller 2
2014-02-22 22:25:05 - Result :
2014-02-22 22:25:11 - Init Script : 'sudo /etc/init.d/centengine restart' On poller 172.16.209.213 (2)
Pour vérifier le bon fonctionnement, il peut être intéressant de visualiser le dossier /usr/local/centreon-engine/etc. La nouvelle configuration a été appliquée. Nous continuerons bientôt sur l'installation distribuée avec Centreon-Broker.
Il est aussi intéressant de vérifier la communication du broker entre le Central et le poller.
Communication côté Poller
netstat -an | grep 5669
tcp 0 0 172.17.2.132:49697 172.16.209.141:5669 ESTABLISHED
Communication côté Central.
netstat -an | grep 5669
tcp 0 0 0.0.0.0:5669 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:5669 127.0.0.1:42761 ESTABLISHED
tcp 0 0 127.0.0.1:42761 127.0.0.1:5669 ESTABLISHED
tcp 0 0 172.16.209.141:5669 172.2.17.132:46378 ESTABLISHED
On peut vérifier le fonctionnement de Centreon-Engine sur le serveur poller en visualisant le fichier de log (/var/log/centreon-engine/centengine.log)
[1363515795] LOG VERSION: 2.0
[1363515795] Event broker module '/usr/local/centreon-engine/lib/centreon-engine/externalcmd.so' initialized successfully.
[1363515795] Centreon Broker: log applier: applying 1 logging objects
[1363515795] Event broker module '/usr/local/centreon-broker/lib/cbmod.so' initialized successfully.
[1363515795] INITIAL HOST STATE: Satellite;UP;HARD;1;OK - 172.16.209.177: rta 0,041ms, lost 0%
[1363515795] INITIAL SERVICE STATE: Satellite;Disk-/;OK;HARD;1;Disk OK - / TOTAL: 0.315GB USED: 0.119GB (37%) FREE: 0.196GB (63%)
[1363515795] INITIAL SERVICE STATE: Satellite;Load;OK;HARD;1;Load average: 0.00, 0.00, 0.00.
[1363515795] INITIAL SERVICE STATE: Satellite;Memory;OK;HARD;1;Total memory used : 9% ram used : 36%, swap used 0%
[1363515795] INITIAL SERVICE STATE: Satellite;Ping;OK;HARD;1;OK - 172.16.209.177: rta 0,023ms, lost 0%
Fonctionnement des serveurs Central et Pollers
L'installation distribuée fonctionne correctement.