Vous êtes ici:

Menu

Stacks Image 153
Nous continuons notre installation distribuée. Attention, je vous conseille de bien suivre les opérations, car nous allons nous déplacer du serveur Central vers le poller et inversement. Vous trouverez en encart bleu, les commandes clapi pour réaliser les opérations de configuration présentées tout au long de l'article.

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 SUDO
Relancer 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)
bug-plugin
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
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.
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.
Stacks Image 26578
Problème d'authentification
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
Stacks Image 13984
Ajout d'un poller, Saisir les informations suivantes :
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/'
Stacks Image 13999
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.
Stacks Image 24237
Ajout du module poller-module
Saisissez les données suivantes dans l’onglet Général
Stacks Image 24250
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.
Stacks Image 24306
Onglet Logger
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
Stacks Image 24895
Onglet Output - TCP - IPv4
Stacks Image 24912
Onglet Output - File
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
Stacks Image 24934
Onglet Stats
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.
Stacks Image 24335
Configuration du broker
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.
conf_distibuee09
Modifiez la configuration. Onglet Files
Stacks Image 24364
Onglet Files
Saisir les informations suivantes
Configuration Name : Poller Engine CFG 1
Status :  Enabled
Linked poller : Poller
Onglet Data
Stacks Image 24393
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
Stacks Image 24384
Utilisation de clapi
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.
Stacks Image 24712
Affectation des macros aux serveurs de supervision
Ajoutez, si ce n’est pas le cas, les serveurs Central et Poller. Votre configuration est prête.
Stacks Image 24448
Configuration du moteur

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.

conf_distibuee13

Sélectionnez Configuration / hôtes. Sélectionnez l'hôte exemple Centreon-Server et dupliquez-le.
Stacks Image 24496
Configuration de l’hôte poller
Modifiez les paramètres suivant :
Host Name : poller
Alias : Monitoring Server
IP Address : 10.0.0.49
Monitored from : Poller
Stacks Image 24509
Configuration des hôtes
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.
Stacks Image 24718
Génération de la base des traps sur les pollers

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.

conf_distibuee16

Vous devriez avoir cette fenêtre vous indiquant le bon déroulement des opérations.

6.3 Vérification du fonctionnement

Stacks Image 24951
Stats manquant pour le poller
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.
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)

conf_distibuee17

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%


conf_distibuee18

Fonctionnement des serveurs Central et Pollers

conf_distibuee01

L'installation distribuée fonctionne correctement.

comments powered by Disqus