Adaptation des scripts
Pré Requis
Tout d'abord, nous devrons installer la gestion SQLite pour php5. Cela est nécessaire pour faire fonctionner la nouvelle configuration des traps SNMP. Nous en profiterons pour mettre à jour certain pré-requis pour Centreon 2.5
apt-get install php5-sqlite lsb-release libdigest-sha-perl
Voici le message d'erreur, si vous n'installez pas SQLite pour php5.
Cela n'empêche pas le fonctionnement des traps déjà configurés avec SNMPTT, comme le montre cette image ci-dessous.
Configuration par défaut des scripts
Les scripts centcore, centstorage et centreontrapd fonctionnent à l'aide d'une bibliothèque Perl commune. Cette bibliothèque est située, pour notre distribution Debian, dans /usr/share/perl5/centreon. Ces trois scripts fonctionne avec des fichiers de configuration situés dans /etc/default. Lors de notre mise à jour, les fichiers de configuration n'ont pas été correctement configurés. Voici les modifications à effectuer :
centcore
modifiez le fichier /etc/default/centcore. Remplacer @CENTREON_LOG@ par le dossier log de Centreon. Pour visualiser le fonctionnement de centcore avec le fichier de log, vous pouvez mettre la valeur info au paramètre severity.
OPTIONS="--logfile=/var/log/centreon/centcore.log --severity=info --config=/etc/centreon/conf.pm"
Nous devons modifier le fichier de démarrage du script pour faire prendre en compte nos options. Modifiez la deuxième ligne de start-stop-deamon en rajoutant le paramètre OPTIONS.
do_start() { start-stop-daemon --start --background --quiet --pidfile ${PIDFILE} --exec ${DAEMON} \ --chuid ${CENTREON_USER} --user ${CENTREON_USER} --test [ "$?" = "0" ] || return 1 start-stop-daemon --start --background --quiet --pidfile ${PIDFILE} --exec ${DAEMON} \ --make-pidfile --chuid ${CENTREON_USER} --user ${CENTREON_USER} -- ${OPTIONS} [ "$?" = "0" ] || return 2 return 0 }
Modifiez aussi l'emplacement du fichier PID (vers les premières lignes du fichier), car le sous-dossier centreon n'existe pas
PIDFILE=/var/run/centcore.pid
relancez centcore et vérifier la prise en compte des options et le démarrage du script avec le fichier de log.
service centcore restartvérification de la prise en compte des options
ps aux | grep centcore centreon 31842 3.3 1.8 24972 9604 ? S 07:41 0:00 /usr/bin/perl /usr/local/centreon/bin/centcore --logfile=/var/log/centreon/centcore.log --severity=info --config=/etc/centreon/conf.pmvérification des logs
tail /var/log/centreon/centcore.log 2014-04-29 06:20:52 - Receiving order to stop... 2014-04-29 06:20:52 - Stopping centcore engine... 2014-04-29 06:20:52 - Centcore stop... 2014-04-29 07:41:44 - Starting centcore engine...
centstorage
Même punition si vous utilisez centstorage, modifiez le fichier /etc/default/centstorage. Remplacer @CENTREON_LOG@ par le dossier log de Centreon. Pour visualiser le fonctionnement de centstorage avec le fichier de log, vous pouvez mettre la valeur info au paramètre severity.
OPTIONS="--logfile=/var/log/centreon/centstorage.log --severity=info --config=/etc/centreon/conf.pm"
Nous devons modifier le fichier de démarrage du script pour faire prendre en compte nos options. Modifiez la deuxième ligne de start-stop-deamon en rajoutant le paramètre OPTIONS.
do_start() { start-stop-daemon --start --background --quiet --pidfile ${PIDFILE} --exec ${DAEMON} \ --chuid ${CENTREON_USER} --user ${CENTREON_USER} --test [ "$?" = "0" ] || return 1 start-stop-daemon --start --background --quiet --pidfile ${PIDFILE} --exec ${DAEMON} \ --make-pidfile --chuid ${CENTREON_USER} --user ${CENTREON_USER} -- ${OPTIONS} [ "$?" = "0" ] || return 2 return 0 }
Modifiez aussi l'emplacement du fichier PID (vers les premières lignes du fichier), car le sous-dossier centreon n'existe pas
PIDFILE=/var/run/centstorage.pid
centreontrapd
Comme nous allons utiliser la nouvelle configuration des traps SNMP, vous devez modifier le fichier /etc/default/centreontrapd. Remplacer @CENTREON_LOG@ par le dossier log de Centreon. Pour visualiser le fonctionnement de centcore avec le fichier de log, vous pouvez mettre la valeur info au paramètre severity. je vous renvoie sur l"article de la gestion des traps avec Centreon 2.5.
OPTIONS="--logfile=/var/log/centreon/centreontrapd.log --severity=info --config=/etc/centreon/conf.pm"
Nous devons modifier le fichier de démarrage du script pour faire prendre en compte nos options. Editez le fichier /etc/init.d/centreontrapd. Replacez la ligne suivante
DAEMON=@CENTSTORAGE_BINDIR@/centreontrapd
par
DAEMON=/usr/local/centreon/bin/centreontrapd
Modifiez la deuxième ligne de start-stop-deamon en rajoutant le paramètre OPTIONS.
do_start() { start-stop-daemon --start --background --quiet --pidfile ${PIDFILE} --exec ${DAEMON} \ --chuid ${CENTREON_USER} --user ${CENTREON_USER} --test [ "$?" = "0" ] || return 1 start-stop-daemon --start --background --quiet --pidfile ${PIDFILE} --exec ${DAEMON} \ --make-pidfile --chuid ${CENTREON_USER} --user ${CENTREON_USER} -- ${OPTIONS} [ "$?" = "0" ] || return 2 return 0 }
Modifiez aussi l'emplacement du fichier PID (vers les premières lignes du fichier), car le sous-dossier centreon n'existe pas
PIDFILE=/var/run/centreontrapd.pid
Avant de démarrer centreontrapd, copiez les fichiers de la forge dans le dossier /usr/share/perl5/centreon pour script.pm et /usr/share/perl5/centreon/trapd pour lib.pm. Arrêter et désactiver le service snmptt.
service snmptt stop update-rc.d snmptt remove
Redémarrez le service snmpd puis démarrez le service centreontrapd
service snmpd restart service centreontrapd start
vérifiez le bon fonctionnement avec le fichier de log. Le message d'avertissement n'est pas bloquant.
tail /var/log/centreon/centreontrapd.log 2014-04-29 14:27:27 - Can't find extra config file /etc/centreon/centreontrapd.pm 2014-04-29 14:27:27 - ********** Net-SNMP version 5.0403 Perl module enabled **********
Vérification du fonctionnement des scripts
centcore
Pour vérifier une partie des fonctionnalités de centcore, nous allons créer un commentaire sur un hôte. Connectez-vous sur l'interface Web de Centreon. Sélectionnez le menu Monitoring / Hosts /Comments. Choisissez l'hôte server3 par exemple, cochez persistent et insérez un commentaire. Validez avec le bouton Save
Vous devez récupérer au bout de quelques secondes, votre commentaire. Vous pouvez vérifier dans le fichier de log.
tail /var/log/centreon/centcore.log 2014-04-29 14:44:19 - External command on Central Server: (1) : "[1398775458] ADD_HOST_COMMENT;server3;1;admin; Serveur LDAP "
centreontrapd
Pour les traps SNMP, il faudra recharger la configuration. Sélectionnez le menu Configuration / SNMP Traps / generate. Cochez "Generate trap databases", "Apply configurations" et sélectionnez Reload. Cliquez sur Generate.
Il reste à vérifier le fonctionnement des traps, comme un redémarrage du service SNMPD sur le serveur weblamp par exemple de la maquette duchmol.
Et voici les logs de centreontrapd.
tail centreontrapd.log 2014-04-29 15:29:49 - CHLD command launched: 5897 2014-04-29 15:29:49 - SUBMIT: Force service status via passive check update 2014-04-29 15:29:49 - SUBMIT: Launched command: /bin/echo "EXTERNALCMD:1:[1398778189] PROCESS_SERVICE_CHECK_RESULT;weblamp; TRAP_LINUX;0;Link up on interface 1. State: $4." >> /var/lib/centreon/centcore.cmd 2014-04-29 15:29:49 - SIGCHLD received: 5897
Nous en avons terminé pour notre mise à jour vers 2.5, bonne supervision.