Nous allons maintenant installer un poller avec le miroir prévu à cet effet. Je préciserais la version de Debian lorsque cela est nécessaire.
1 Installation du poller
Nous utiliserons le dépôt Unofficial Centreon Repositories for Debian pour l’installation du poller. En mode root, saisissez les commandes suivantes :
apt-get install centreon-poller-centreon-engine centreon-connector-perl centreon-connector-ssh
Une fois l’installation terminée, modifiez le mot de passe de l’utilisateur centreon. Ceci permettra au serveur central de communiquer avec les pollers.
passwd centreon Entrez le nouveau mot de passe UNIX : Retapez le nouveau mot de passe UNIX : passwd : le mot de passe a été mis à jour avec succès
Modifions les paramètres du SNMP. Pour notre maquette, nous laisserons passer tous les requêtes SNMP. Je vous conseille de limiter au maximum ces accès pour des raisons de sécurité évidentes. Commençons par le processus snmpd, changez les paramètres suivants du fichier /etc/snmp/snmpd.conf.
agentAddress udp:localhost:161 rocommunity public default -V systemonlyen
agentAddress udp::161 rocommunity public
Activons le processus snmptrapd pour intercepter les traps SNMP.
Debian 7.0Modifiez le fichier /etc/default/snmp
Debian 8.0Modifiez le fichier /etc/default/snmptrapd
Debian 7.0Modifiez le fichier /etc/default/snmp
Debian 8.0Modifiez le fichier /etc/default/snmptrapd
TRAPDRUN=no TRAPDOPTS='-Lsd -p /var/run/snmptrapd.pid'en
TRAPDRUN=yes TRAPDOPTS='-On -Lsd -p /var/run/snmptrapd.pid'
relancez les services SNMP
Debian 7.0service snmpd restart
Debian 8.0service snmpd restart
service snmptrapd restart
Debian 7.0service snmpd restart
Debian 8.0service snmpd restart
service snmptrapd restart
2 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
3 Configuration sur le serveur Central
3.1 Ajout de l’instance Poller
Ajouter une instance nommé Poller pour le serveur Poller, sélectionnez Configuration / Centreon / Pollers
Debian 7.0
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/sbin/centengine Monitoring Engine Statistics Binary : /usr/sbin/centenginestats Perfdata file : Centreon Broker configuration path : /etc/centreon-broker Centreon Broker modules path : /usr/share/centreon/lib/centreon-broker Centreon Connector path : /usr/lib/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/sbin/centengine'
centreon -u admin -p password -o INSTANCE -a setparam -v 'Poller;nagiostats_bin;/usr/sbin/centenginestats'
centreon -u admin -p password -o INSTANCE -a setparam -v 'Poller;centreonbroker_cfg_path;/etc/centreon-broker'
centreon -u admin -p password -o INSTANCE -a setparam -v 'Poller;centreonbroker_module_path;/usr/share/centreon/lib/centreon-broker'
centreon -u admin -p password -o INSTANCE -a setparam -v 'Poller;centreonconnector_path;/usr/lib/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/'
Debian 8.0
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 : /usr/share/centreon/bin/centengine Monitoring Engine Binay: /usr/sbin/centengine Monitoring Engine Statistics Binary : /usr/sbin/centenginestats Perfdata file : Centreon Broker configuration path : /etc/centreon-broker Centreon Broker modules path : /usr/share/centreon/lib/centreon-broker Centreon Connector path : /usr/lib/centreon-connector CentreonTrapd init script path : /usr/share/centreon/bin/centreontrapd_init 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;/usr/share/centreon/bin/centengine'
centreon -u admin -p password -o INSTANCE -a setparam -v 'Poller;nagios_bin;/usr/sbin/centengine'
centreon -u admin -p password -o INSTANCE -a setparam -v 'Poller;nagiostats_bin;/usr/sbin/centenginestats'
centreon -u admin -p password -o INSTANCE -a setparam -v 'Poller;centreonbroker_cfg_path;/etc/centreon-broker'
centreon -u admin -p password -o INSTANCE -a setparam -v 'Poller;centreonbroker_module_path;/usr/share/centreon/lib/centreon-broker'
centreon -u admin -p password -o INSTANCE -a setparam -v 'Poller;centreonconnector_path;/usr/lib/centreon-connector'
centreon -u admin -p password -o INSTANCE -a setparam -v 'Poller;init_script_centreontrapd;/usr/share/centreon/bin/centreontrapd_init'
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.
3.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.
3.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
Lorem ipsum dolor sit amet, sapien platea morbi dolor lacus nunc, nunc ullamcorper. Felis aliquet egestas vitae, nibh ante quis quis dolor sed mauris. Erat lectus sem ut lobortis, adipiscing ligula eleifend, sodales fringilla mattis dui nullam. Ac massa aliquet.
Add a new broker module : /usr/lib/centreon-broker/cbmod.so /etc/centreon-broker/poller2-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.
3.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.
4 Application de la configuration
4.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.
4.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.
4.3 Vérification du fonctionnement
4.3a Prise en compte des statistiques du poller
Pour activer la page statistique du poller, vous devez signaler au processus centcore qu’il faut prendre en compte le fichier poller-module-stats.pipe. Sélectionnez la commande Administration / Options / Options / Centcore. Cochez la case « Enable Broker Statistics Collection »
Sauvegardez et relancez le processus centcore.
Debian 7.0
service centcore restart
Debian 8.0
systemctl restart centcore.service
Au bout de quelques secondes, vous obtiendrez les statistiques du module broker de votre poller. Sélectionnez Home / Monitoring Engine Statistics / broker Statistics.
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.9.2
pid=12018
now=1440692665
compiled with qt=4.8.6
running with qt=4.8.6
module /usr/share/centreon/lib/centreon-broker/50-tcp.so
state=loaded
size=128688B
module /usr/share/centreon/lib/centreon-broker/20-correlation.so
state=loaded
size=276584B
module /usr/share/centreon/lib/centreon-broker/80-bbdo.so
state=loaded
size=2648408B
module /usr/share/centreon/lib/centreon-broker/05-dumper.so
state=loaded
size=90680B
module /usr/share/centreon/lib/centreon-broker/10-neb.so
state=loaded
size=156048B
module /usr/share/centreon/lib/centreon-broker/15-stats.so
state=loaded
size=180704B
module /usr/share/centreon/lib/centreon-broker/60-compression.so
state=loaded
size=72248B
module /usr/share/centreon/lib/centreon-broker/20-storage.so
state=loaded
size=398072B
module /usr/share/centreon/lib/centreon-broker/80-sql.so
state=loaded
size=1657888B
module /usr/share/centreon/lib/centreon-broker/70-influxdb.so
state=loaded
size=255808B
module /usr/share/centreon/lib/centreon-broker/70-rrd.so
state=loaded
size=246824B
module /usr/share/centreon/lib/centreon-broker/20-bam.so
state=loaded
size=2670808B
module /usr/share/centreon/lib/centreon-broker/80-ndo.so
state=loaded
size=3342360B
module /usr/share/centreon/lib/centreon-broker/70-graphite.so
state=loaded
size=157520B
module /usr/share/centreon/lib/centreon-broker/50-file.so
state=loaded
size=102160B
module /usr/share/centreon/lib/centreon-broker/60-tls.so
state=loaded
size=97536B
output poller-module-output
state=connected
accepted events
all
event processing speed=0.0events/s
last connection attempt=1440663100
last connection success=1440663100
last event at=1440663102
queued events=0
state=connecting
temporary recovery mode=no
last event at=1440692664
event processing speed=0.3 events/s
last connection attempt=1440663101
last connection success=1440663101
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.