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.
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
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=%centreon Defaults:CENTREON !requiretty # centreontrapd CENTREON ALL = NOPASSWD: /usr/sbin/service centreontrapd start CENTREON ALL = NOPASSWD: /usr/sbin/service centreontrapd stop CENTREON ALL = NOPASSWD: /usr/sbin/service centreontrapd restart CENTREON ALL = NOPASSWD: /usr/sbin/service centreontrapd reload # Centreon Engine CENTREON ALL = NOPASSWD: /usr/sbin/service centengine start CENTREON ALL = NOPASSWD: /usr/sbin/service centengine stop CENTREON ALL = NOPASSWD: /usr/sbin/service centengine restart CENTREON ALL = NOPASSWD: /usr/sbin/service centengine reload CENTREON ALL = NOPASSWD: /usr/sbin/centengine -v * # Centreon Broker CENTREON ALL = NOPASSWD: /usr/sbin/service cbd start CENTREON ALL = NOPASSWD: /usr/sbin/service cbd stop CENTREON ALL = NOPASSWD: /usr/sbin/service cbd restart CENTREON ALL = NOPASSWD: /usr/sbin/service cbd reload ## END: CENTREON SUDO
Relancez sudo
service sudo restart
Modifions les droits des plugins Centreon situés dans le dossier /usr/lib/nagios/plugins afin d'éviter un dysfonctionnement (plugins non-exécutables). Voici les commandes à appliquer :
cd /usr/lib/nagios/plugins 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: /var/log/centreon chmod 775 /var/log/centreon chown centreon-broker: /etc/centreon-broker chmod 775 /etc/centreon-broker chmod -R 775 /etc/centreon-engine 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@172.16.209.71 The authenticity of host '172.16.209.71 (172.16.209.71)' can't be established. ECDSA key fingerprint is 56:90:24:64:e2:ad:20:13:06:a4:47:a7:5c:da:28:ae. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '172.16.209.71' (ECDSA) to the list of known hosts. centreon@172.16.209.71's password: Now try logging into the machine, with "ssh 'centreon@172.16.209.71'", 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.
ssh centreon@172.16.209.71 Linux poller-test7 3.2.0-4-amd64 #1 SMP Debian 3.2.68-1+deb7u3 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 poller1
Ajouter une instance nommé poller1 pour le serveur Poller, sélectionnez Configuration / Pollers
Poller Name : poller1 IP Address : IP du serveur Satellite Localhost ? : No Is default poller ? : No SSH port : 22 Monitoring Engine Init Script : centengine Monitoring Engine Binary : /usr/sbin/centengine Monitoring Engine Statistics Binary : /usr/sbin/centenginestats Perfdata file : /var/log/centreon-engine/service-perfdata 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 : centreontrapd Directory of light databases for traps : /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 / Pollers. Cliquez sur Configuration du menu gauche Broker configuration. 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), affectez le serveur Poller1 et limitez la taille à 50000. Ce module n'utilise pas le service cbd donc sélectionnez No pour Link to cbd service.
Name : poller1-module Config file name : poller1-module.xml Requester : poller1 Link to cbd service : No Event queue max size : 50000
Onglet Logger, ajoutez un Core - File.
Saisir les informations suivantes
Name of the logger : /var/log/centreon-engine/poller1-module.log
Onglet Output, ajoutez un Output TCP - IPv4 et un Output - File. Saisissez les informations suivantes
TCP - IPv4 Name : poller1-module-output Connection port : 5669 Host to connect to : IP serveur Central
Sauvegardez le tout.
Vous devriez avoir cette configuration.
5.3 Modification du Monitoring Engine pour le Poller
Lors de la création du poller, Centreon ajoute automatiquement une configuration d'Engine. Malheureusement, lorsque nous ajoutons un module broker, Centreon ajoute de nouveau une configuration d'Engine ce qui provoque un doublon. Il faut obligatoirement supprimer une configuration sous peine d'avoir une installation bancale.
Sélectionnez Configuration Pollers, cliquez sur le menu de gauche Engine configuration. Vous avez deux configurations d'Engine pour le poller.
Supprimez la configuration de trop.
Comme indiqué précédemment, la configuration du moteur Engine par défaut est automatiquement créé lors de l’ajout du poller. Cependant, nous devons modifier la configuration pour l’adapter à notre configuration. Sélectionnez Configuration Pollers, cliquez sur le menu de gauche Engine configuration.
Onglet Data
Saisir les informations suivantes, modifier la première ligne et ajouter la seconde.
/usr/lib/centreon-engine/externalcmd.so
/usr/lib/centreon-broker/cbmod.so /etc/centreon-broker/poller1-module.xml
Vérifiez que vos macros personnalisées soient liées aux deux serveurs de supervision. Sélectionnez Configuration / Pollers et ensuite le menu de gauche Resources.
Par défauts les serveurs Central et Poller sont liés à $USER1$. Votre configuration est prête.
5.4 Création de l'hôte poller1
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 suivants :
Host Name : poller1 Alias : poller IP Address : 172.16.209.71 Monitored from : Poller1
Voilà nos deux hôtes sont prêts, passons à la finalisation.
6 Application de la configuration
6.1 Application de la configuration
Appliquez la configuration du poller1, sélectionnez Configuration / Pollers. Sélectionnez le poller en cochant la case et cliquez sur le bouton d'exportation de la configuration.
Cochez les cases d’options, sélectionnez Restart pour la premier démarrage. Puis cliquez sur Export.
6.2 Vérification du fonctionnement
Après quelques secondes, vous devriez voir votre poller sur votre supervision préférée. Sélectionnez Monitoring / Status Détails. Sélectionnez l’affichage de tous les services.
6.3 génération des traps sur le poller
Pour utiliser les traps sur le poller, il faut démarrer le service centreontrapd. Mais avant cela, ajoutons les fichiers de configuration nécessaires au fonctionnement de centreontrapd. Commençons par le fichier conf.pm
vi /etc/centreon/conf.pm ############################################ # File Added by Centreon # $centreon_config = { VarLib => "/var/lib/centreon", CentreonDir => "/usr/share/centreon/", "centreon_db" => "dbname=/etc/snmp/centreon_traps/centreontrapd.sdb", "centstorage_db" => "dbname=/etc/snmp/centreon_traps/centreontrapd.sdb", "db_host" => "", "db_user" => "", "db_passwd" => "", "db_type" => "SQLite", }; # Central or Poller ? $instance_mode = "poller"; $cmdFile = "/var/lib/centreon-engine/rw/centengine.cmd"; 1;
Terminons par le fichier centreontrapd.pm
vi /etc/centreon/centreontrapd.pm ############################################ # File Added by Centreon # our %centreontrapd_config = ( # databases credentials centreon_db => "dbname=/etc/snmp/centreon_traps/centreontrapd.sdb", centstorage_db => "dbname=/etc/snmp/centreon_traps/centreontrapd.sdb", db_type => 'SQLite', # server type (0: central, 1: poller) mode => 1 ); 1;
Lancez le service centreontrapd
service centreontrapd start
Il vous restera à créer votre configuration de services passifs pour les traps. Je vous conseille de lire cet article. Lorsque votre configuration sera exporté sur votre poller, il faudra exporter la configuration des traps sur ce dernier. Sélectionnez sur votre interface Web, Configuration / SNMP traps et cliquez sur le menu gauche generate. Choisissez le poller, cochez Generate trap database et Apply configurations. Sélectionnez la méthode Restart et cliquez sur Generate.
Je me suis aperçu d’un problème lors de la génération des traps avec le poller. En fait lors de l’application, la base SQLite ne se copie pas sur le poller comme le montre cet écran. la commande SYNCTRAP ne fonctionne pas.
Voici la correction apportée au fichier /usr/share/centreon/www/include/configuration/configGenerateTraps/formGenerateTraps.php. Il y a ligne 168
if (isset($ret["apply"]["apply"]) && $ret["apply"]["apply"] &&
il faut
if (isset($ret['apply']) && $ret['apply'] &&
Recommencez la génération des traps et vous pouvez constater le bon fonctionnement de celle-ci.
6.4 Activation des statistiques broker du poller
Il est intéressant d’activer les statistiques du module broker du poller afin de vérifier son bon fonctionnement. Pour cela, sélectionnez Administration / Parameters, cliquez sur le lien CentCore du menu de gauche.
Cochez l’option Enable Broker Statistics Collection et sauvegardez.
Après quelques minutes, vous avez accès au statistiques en sélectionnant Home / Poller Statistics et en choisissant poller1.