Cet article va vous permettre d'appréhender la configuration des traps SNMP sur une installation Centreon version 2.4. Notre installation comprend un serveur Centreon avec Centreon-Engine et Centreon-Broker, un serveur DNS et un serveur SYSLOG.
Notre objectif est de configurer les traps sur les trois serveurs et les centraliser sur le serveur Centreon. Nous utiliserons les traps Generic livrés avec Centreon 2.4. La configuration de Centreon est déjà réalisée et notre serveur de supervision est opérationnel.
Je vous propose la lecture suivantes de mes articles :
   - Ci-dessous, un résumé sur la configuration SNMP sur Debian en SNMP V2 et V3 ainsi que les premiers paramétrages de centreon
   - Les traps SNMP, leurs configurations pour Debian et une explication du fonctionnement des traps SNMP avec SNMPTT et Centreon postérieur à 2.5x
   - Traps avec Centreon 2.4, configuration des traps avec la version Centreon 2.4x
   - Traps avec Centreon 2.5, configuration des traps avec la version Centreon 2.5x
   - Les traps avec CES et Centreon 2.5, configuration d'une architecture distribuée avec CES 3.x
Notre objectif est de configurer les traps sur les trois serveurs et les centraliser sur le serveur Centreon. Nous utiliserons les traps Generic livrés avec Centreon 2.4. La configuration de Centreon est déjà réalisée et notre serveur de supervision est opérationnel.
Je vous propose la lecture suivantes de mes articles :
   - Ci-dessous, un résumé sur la configuration SNMP sur Debian en SNMP V2 et V3 ainsi que les premiers paramétrages de centreon
   - Les traps SNMP, leurs configurations pour Debian et une explication du fonctionnement des traps SNMP avec SNMPTT et Centreon postérieur à 2.5x
   - Traps avec Centreon 2.4, configuration des traps avec la version Centreon 2.4x
   - Traps avec Centreon 2.5, configuration des traps avec la version Centreon 2.5x
   - Les traps avec CES et Centreon 2.5, configuration d'une architecture distribuée avec CES 3.x
1 Installation des CES
Nous débuterons cet article par l'installation de deux CES, le premier en mode central et le deuxième en mode poller. Pour la première solution, c'est l'installation par défaut et pour la deuxième installation, il suffira de saisir l'option poller. Ces installations sont très simples, je vous conseille de lire la documentation officielle de Centreon à ce sujet.
1.1 Arrêt de SNMPTT (cas d'une mise à jour de CES 2.2)
Après avoir réalisé les mises à jour pour obtenir la version 2.5 de Centreon, il est conseillé de supprimer le service snmptt. Celui-ci est toujours actif en utilisant cette commande.
[root@ces_poller centreon]# chkconfig --list snmptt snmptt 0:arrêt 1:arrêt 2:arrêt 3:marche 4:marche 5:marche 6:arrêt
Supprimons le service
chkconfig --del snmptt
1.2 Configuration du poller avec le Central
La configuration est vraiment simple. Suivez pas à pas, la documentation officielle ou l'article sur l'architecture distribuée avec CES.
- Configuration du mot de passe centreon sur le poller
- Configuration de la clé publique sur le central
- Ajouter la configuration du poller dans Centreon Web
- Configurer Centreon-Broker
- Ajouter un moteur pour le poller dans Centreon Web
- Ajouter un hôte en dupliquant le serveur Centreon
- Modifier l'hôte en ajoutant l'adresse IP du poller et en l'affectant au moteur du poller.
- Modifier l'hôte du serveur Central en remplaçant la boucle 127.0.0.1 par son adresse IP
- Configuration du mot de passe centreon sur le poller
- Configuration de la clé publique sur le central
- Ajouter la configuration du poller dans Centreon Web
- Configurer Centreon-Broker
- Ajouter un moteur pour le poller dans Centreon Web
- Ajouter un hôte en dupliquant le serveur Centreon
- Modifier l'hôte en ajoutant l'adresse IP du poller et en l'affectant au moteur du poller.
- Modifier l'hôte du serveur Central en remplaçant la boucle 127.0.0.1 par son adresse IP
Le wizard pour Centreon-Boker ne fonctionne pas. Utilisez la configuration manuelle.
2 Configuration des Traps
Vérifiez la configuration de chaque Trap utilisé. Ils doivent être configurés pour exécuter les commandes externes de Centreon Engine.
2.1 Génération des traps pour le poller
Nous devons générer la base de données Sqlite contenant la base de données des Traps de Centreon. Cette base sera copiée dans le poller et celui-ci sera totalement autonome par rapport au central. Cliquez sur Configuration SNMP Traps / Generate.
Sélectionnez le poller, cochez Generate trap database, Apply configurations. Sélectionnez Restart pour Send signal. Cliquez sur Generate.
Pensez à générer la base de données des traps à chaque modification de votre poller.
Il subsiste une erreur de configuration avec sudo. Pour prendre en compte la nouvelle configuration, le processus Centreontrapd doit être recharger ou redémarrer. Du fait de la mauvaise configuration de sudo, centreontrapd n'ait jamais mis à jour. le fichier de configuration /etc/sudoers.d/centreon comprend cette ligne :
## Snmptrapd Restart
CENTREON ALL = NOPASSWD: /etc/init.d/snmptt restart
il faut
# 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
Attention le fichier est en lecture seule.
2.2 Configuration de Centreon pour activer les traps SNMP
La configuration des traps sur l'interface Centreon sera identique à cette article.
3 Configuration de Centreontrapd
3.1 Serveur Central
Pour la version CES 3.3, la configuration est réalisée. Voici la configuration du fichier /etc/centreon/conf.pm. Centreontrapd se connecte à la base centreon pour connaître les informations des traps SNMP. Les actions sont transmises au process centcore. Celui-ci renverra les informations à l'ordonnanceur Centengine.
# File Added by Centreon # $centreon_config = { VarLib => "/var/lib/centreon", CentreonDir => "/usr/share/centreon/", "centreon_db" => "centreon", "centstorage_db" => "centreon_storage", "db_host" => "localhost:3306", "db_user" => "centreon", "db_passwd" => "centreon" }; # Central or Poller ? $instance_mode = "central"; # Centreon Centcore Command File $cmdFile = "/var/lib/centreon/centcore.cmd"; # Deprecated format of Config file. $mysql_user = "centreon"; $mysql_passwd = "centreon"; $mysql_host = "localhost:3306"; $mysql_database_oreon = "centreon"; $mysql_database_ods = "centreon_storage"; 1;
Par défaut la configuration de la verbosité des logs est à error. Il est possible d'augmenter le niveau de verbosité en modifiant ce paramètre. La configuration se réalise avec la modification du fichier /etc/sysconfig/centreontrapd. Le fichier de log se trouve dans /var/log/centreon/centreontrapd.log.
Les différents niveaux de logs.
none : pas de logs
OPTIONS="--logfile=/var/log/centreon/centreontrapd.log --severity=none --config=/etc/centreon/conf.pm"
error : par défaut, seuls les erreurs seront affichées
OPTIONS="--logfile=/var/log/centreon/centreontrapd.log --severity=error --config=/etc/centreon/conf.pm"
info : affichage des commandes de centreontrapd à l'ordonnanceur
OPTIONS="--logfile=/var/log/centreon/centreontrapd.log --severity=info --config=/etc/centreon/conf.pm"
debug : tous les logs
OPTIONS="--logfile=/var/log/centreon/centreontrapd.log --severity=debug --config=/etc/centreon/conf.pm"
Démarrez le service.
service centreontrapd start
2014-02-21 08:23:09 - MySQL error : cannot connect to database : Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) (caller: centreon::common::db:/usr/lib/perl5/vendor_perl/5.8.8/centreon/common/db.pm:266)
Modifiez le fichier de configuration /etc/centreon/conf.pm, adaptez les lignes comme ci-dessous. Centreontrapd doit se connecter à la base SQLite du poller. On indique aussi le mode de fonctionnement en poller. Les informations TRAP envoyés par Centreontrapd sont envoyées directement à l'ordonnanceur.
#!/bin/bash ############################################# # 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;
Démarrez le service pour la prise en compte.
service centreontrapd start
3.2 Serveur Poller
Si vous partez d'une CES 2.2, l'installation de la version 2.5 ne modifie pas le fichier /etc/centreon/conf.pm et par conséquent le service centreontrapd ne fonctionne pas correctement. Ci-joint le fichier de log.
3.3 Vue globale de notre architecture
Avant de commencer nos essais, vous devriez avoir la vue suivante.
4 Vérification du fonctionnement des traps
Pour vérifier le fonctionnement, par exemple, lancez cette commande sur le poller
snmptrap -v2c -c public [IP Poller] '' .1.3.6.1.6.3.1.1.5.3 ifIndex i 2 ifadminStatus i 1 ifOperStatus i 1
Vous devriez avoir ces logs inscrites dans /var/log/centreon/centreontrapd
2014-02-21 17:21:10 - ********** Net-SNMP version 5.03022 Perl module enabled ********** 2014-02-21 17:21:34 - SUBMIT: Force service status via passive check update 2014-02-21 17:21:34 - SUBMIT: Launched command: /bin/echo "[1392999694] PROCESS_SERVICE_CHECK_RESULT;Centreon-Poller; Traps_Debian;2;Link down on interface up. State: $4." >> /var/lib/centreon-engine/rw/centengine.cmd 2014-02-21 17:21:34 - SIGCHLD received: 4371 2014-02-21 17:21:34 - CHLD command launched: 4371
Au bout de quelques secondes, vous obtiendrez cette notification.
4.1 Vérification du fonctionnement du script centreontrapdforward
Pour vérifier la récupération des traps par le script centreontrapforward, nous arrêterons le service centreontrapd. Ce qui permettra de vérifier le dépôt des traps dans le dossier /var/spool/centreontrapd
service centreontrapd stop
Créer un trap SNMP
snmptrap -v2c -c public 127.0.0.1 '' .1.3.6.1.6.3.1.1.5.3 ifIndex i 2 ifadminStatus i 1 ifOperStatus i 1
Nous devrions visualiser un fichier commençant par le symbole #
root@debian7:/var/spool/centreontrapd# ls #centreon-trap-1392792033357999
Pour voir le contenu de ce fichier, utilisez, par exemple, la commande cat et protégez le symbole # par un anti-slash
root@debian7:/var/spool/centreontrapd# cat \#centreon-trap-1392792033357999 1392792033 172.16.209.217 UDP: [172.16.209.217]:39222->[172.16.209.217] .1.3.6.1.2.1.1.3.0 0:5:53:47.82 .1.3.6.1.6.3.1.1.4.1.0 .1.3.6.1.6.3.1.1.5.3 .1.3.6.1.2.1.2.2.1.1 2 .1.3.6.1.2.1.2.2.1.7 1 .1.3.6.1.2.1.2.2.1.8 1