Voici l'arrivée d'une version majeure de Centreon UI 2.6. Cette version apporte son lot de nouveautés :
- Une comptabilité totale avec les systèmes Debian 7 avec le support de PHP 5.4x
- Un nouveau logo ;-)
- De nouvelles fonctionnalités dans les ACL
- La possibilité de reconstruire les informations sur les événements
- Des nouvelles options pour le gestionnaire de trap centreontrapd.
L'installation, avec les sources, est assez délicate si vous n'êtes pas habitué aux procédures de compilation. Privilégiez l'installation avec CES dans ce cas. Dans cette procédure, les dossiers des différents binaires seront identiques à la distribution CES. J’ai rajouté les spécificités de la dernière version de Debian 8.0 nommé Jessie (modifications de paquet, SNMP et Apache). Merci à BitBull pour son retour d’expérience.
- Une comptabilité totale avec les systèmes Debian 7 avec le support de PHP 5.4x
- Un nouveau logo ;-)
- De nouvelles fonctionnalités dans les ACL
- La possibilité de reconstruire les informations sur les événements
- Des nouvelles options pour le gestionnaire de trap centreontrapd.
L'installation, avec les sources, est assez délicate si vous n'êtes pas habitué aux procédures de compilation. Privilégiez l'installation avec CES dans ce cas. Dans cette procédure, les dossiers des différents binaires seront identiques à la distribution CES. J’ai rajouté les spécificités de la dernière version de Debian 8.0 nommé Jessie (modifications de paquet, SNMP et Apache). Merci à BitBull pour son retour d’expérience.
1 Préparation de la VM
1.1 Mise à jour et ssh
Afin de travailler dans de bonnes conditions et d’utiliser les fonctions copier/coller de Putty ou d’une session Terminal, il est nécessaire d’installer un serveur ssh. Connecter vous en root sur le serveur Debian, et saisissez la commande suivante :
apt-get install ssh
Il se peut que l’installation échoue si l’installation de Debian est trop ancienne par rapport aux nouveaux patchs de sécurisation, dans ce cas saisissez les commandes suivantes afin de mettre le serveur Debian à jour :
apt-get update
apt-get upgrade
2 Installation de Centreon Clib
Centreon Clib est une librairie commune, écrite en C/C++, pour certains modules de Centreon. C'est un pré-requis nécessaire au fonctionnement de Centreon-Engine. Contrairement aux autres installations précédentes de mon site, nous installerons la librairie partagée dans le dossier /usr/lib. Nous éviterons l’utilisation de la commande ldconfig.
2.1 Pré requis
Debian 8.0
Avec la version 8.0, vous devez vous connectez avec une session utilisateur en ssh. Ensuite, authentifiez vous en superutilisateur avec la commande su.
toutes versions Debian
Installons les paquets nécessaires au fonctionnement de cette librairie.
Avec la version 8.0, vous devez vous connectez avec une session utilisateur en ssh. Ensuite, authentifiez vous en superutilisateur avec la commande su.
toutes versions Debian
Installons les paquets nécessaires au fonctionnement de cette librairie.
apt-get install build-essential cmake -y
2.2 Installation
Téléchargez le binaire dans le dossier /usr/local/src et décompressez-le.
cd /usr/local/src
wget https://s3-eu-west-1.amazonaws.com/centreon-download/public/centreon-clib/centreon-clib-1.4.2.tar.gz
tar xzf centreon-clib-1.4.2.tar.gz
cd centreon-clib-1.4.2/build
Préparons la compilation.
cmake \
-DWITH_TESTING=0 \
-DWITH_PREFIX=/usr \
-DWITH_SHARED_LIB=1 \
-DWITH_STATIC_LIB=0 \
-DWITH_PKGCONFIG_DIR=/usr/lib/pkgconfig .
Extrait du résultat
-- Configuration Summary
-- ---------------------
--
-- Project
-- - Name Centreon Clib
-- - Version 1.4.2
-- - With shared library Yes
-- - With static library No
--
-- System
-- - Name Linux
-- - Version 3.2.0-4-amd64
-- - Processor x86_64
--
-- Build
-- - Compiler /usr/bin/c++ (GNU)
-- - Extra compilation flags
-- - Build unit tests No
--
-- Installation
-- - Prefix /usr
-- - Library directory /usr/lib
-- - Include directory /usr/include
-- - Package None
-- - pkg-config directory /usr/lib/pkgconfig
--
-- Configuring done
-- Generating done
-- Build files have been written to: /usr/local/src/centreon-clib-1.4.2/build
Ensuite compilez cette configuration et terminez par l’installation. La librairie étant copiée dans le dossier /usr/lib, celle-ci est automatiquement prise en compte.
make
make install
C'est terminé pour Centreon Clib, nous pouvons continuer par l'installation des connecteurs Centreon ou directement par l'installation de Centreon-Engine.
3 Installation des connecteurs Centreon
Centreon Perl Connector et Centreon SSH connecteur sont des modules optionnels améliorant la vitesse d'exécution des plugins en scripts Perl et en SSH. Ils nécessitent l'utilisation de Centreon Engine. Vous trouverez un article expliquant les avantages de l'utilisation d'un connecteur Perl.
3.1 Centreon Perl Connector
3.1.a Pré requis
Tout d'abord, installons les paquets nécessaires au fonctionnement de cette librairie.
apt-get install libperl-dev -y
L'installation, au préalable, de Centreon Clib est obligatoire.
3.1.b Installation
La dernière version stable est la 1.1.2. Téléchargez le binaire dans le dossier /usr/local/src et décompressez-le.
cd /usr/local/src
wget https://s3-eu-west-1.amazonaws.com/centreon-download/public/centreon-connectors/centreon-connector-1.1.2.tar.gz
tar xzf centreon-connector-1.1.2.tar.gz
cd centreon-connector-1.1.2/perl/build
Préparons la compilation.
cmake \
-DWITH_PREFIX=/usr \
-DWITH_PREFIX_BINARY=/usr/lib/centreon-connector \
-DWITH_CENTREON_CLIB_INCLUDE_DIR=/usr/include \
-DWITH_TESTING=0 .
Extrait du résultat
-- Configuration Summary
-- ---------------------
--
-- Project
-- - Name Centreon Perl Connector
-- - Version 1.1.2
--
-- System
-- - Name Linux
-- - Version 3.16.0-4-amd64
-- - Processor x86_64
--
-- Build
-- - Compiler /usr/bin/c++ (GNU)
-- - Extra compilation flags -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/lib/x86_64-linux-gnu/perl/5.20/CORE
-- - Unit tests disabled
--
-- Install
-- - Prefix /usr
-- - Binary prefix /usr/lib/centreon-connector
-- - Package None
--
-- Libraries
-- - clib include directory /usr/include
-- - clib library directory /usr/lib/libcentreon_clib.so
-- Configuring done
-- Generating done
-- Build files have been written to: /usr/local/src/centreon-connector-1.1.2/perl/build
Ensuite compilons cette configuration et installons dans le dossier /usr/local
make
make install
C'est terminé, nous pouvons continuer par l'installation du connecteur SSH
3.2 Centreon SSH Connector
3.2.a Pré requis
Tout d'abord, installons les paquets nécessaires au fonctionnement de cette librairie.
apt-get install libssh2-1-dev libgcrypt11-dev -y
3.2.b Installation
Dirigez-vous dans le dossier pour le connecteur SSH
cd /usr/local/src/centreon-connector-1.1.2/ssh/build
Préparons la compilation (même compilation que précédemment)
cmake \
-DWITH_PREFIX=/usr \
-DWITH_PREFIX_BINARY=/usr/lib/centreon-connector \
-DWITH_CENTREON_CLIB_INCLUDE_DIR=/usr/include \
-DWITH_TESTING=0 .
Extrait du résultat
-- Configuration Summary
-- ---------------------
--
-- Project
-- - Name Centreon SSH Connector
-- - Version 1.1.2
-- - Known hosts check disabled
--
-- System
-- - Name Linux
-- - Version 3.16.0-4-amd64
-- - Processor x86_64
--
-- Build
-- - Compiler /usr/bin/c++ (GNU)
-- - Extra compilation flags
-- - Unit tests disabled
--
-- Install
-- - Prefix /usr
-- - Binary prefix /usr/lib/centreon-connector
-- - Package None
--
-- Libraries
-- - clib include directory /usr/include
-- - clib library directory /usr/lib/libcentreon_clib.so
-- Configuring done
-- Generating done
-- Build files have been written to: /usr/local/src/centreon-connector-1.1.2/ssh/build
Ensuite compilons cette configuration et installons dans le dossier /usr/local
make
make install
C'est terminé, nous pouvons continuer par l'installation de Centreon Engine.
4 Installation de Centreon Engine
Ce chapitre présente l'installation du moteur de supervision créé par l'équipe de Centreon. Nous travaillerons sur la dernière version 1.4.15.
4.1 Pré Requis
Tout d'abord, Il faudra créer un utilisateur centreon-engine
groupadd -g 6001 centreon-engine
useradd -u 6001 -g centreon-engine -m -r -d /var/lib/centreon-engine -c "Centreon-engine Admin" -s /bin/bash centreon-engine
L'installation, au préalable, de Centreon Clib est obligatoire.
Il faut aussi installer des paquets supplémentaires.
Il faut aussi installer des paquets supplémentaires.
apt-get install libcgsi-gsoap-dev zlib1g-dev libssl-dev libxerces-c-dev -y
4.2 Installation
La dernière version stable est la 1.4.15. Téléchargez le binaire dans le dossier /usr/local/src et décompressez-le.
cd /usr/local/src
wget https://s3-eu-west-1.amazonaws.com/centreon-download/public/centreon-engine/centreon-engine-1.4.15.tar.gz
tar xzf centreon-engine-1.4.15.tar.gz
cd centreon-engine-1.4.15/build/
Préparons la compilation.
cmake \
-DWITH_CENTREON_CLIB_INCLUDE_DIR=/usr/include \
-DWITH_CENTREON_CLIB_LIBRARY_DIR=/usr/lib \
-DWITH_PREFIX=/usr \
-DWITH_PREFIX_BIN=/usr/sbin \
-DWITH_PREFIX_CONF=/etc/centreon-engine \
-DWITH_USER=centreon-engine \
-DWITH_GROUP=centreon-engine \
-DWITH_LOGROTATE_SCRIPT=1 \
-DWITH_VAR_DIR=/var/log/centreon-engine \
-DWITH_RW_DIR=/var/lib/centreon-engine/rw \
-DWITH_STARTUP_DIR=/etc/init.d \
-DWITH_PKGCONFIG_SCRIPT=1 \
-DWITH_PKGCONFIG_DIR=/usr/lib/pkgconfig \
-DWITH_TESTING=0 \
-DWITH_WEBSERVICE=1 .
Extrait du résultat
-- Configuration Summary
-- ---------------------
--
-- Project
-- - Name Centreon Engine
-- - Version 1.4.15
--
-- System
-- - Name Linux
-- - Version 3.16.0-4-amd64
-- - Processor x86_64
--
-- Build
-- - Compiler /usr/bin/c++ (GNU)
-- - Extra compilation flags
-- - Build static core library yes
-- - External commands module enabled
-- - Webservice module enabled
-- - Unit tests disabled
-- - pkg-config script enabled
-- - logrotate script enabled
-- - Startup script SysV-style script
--
-- Install
-- - Prefix /usr
-- - Binary prefix /usr/sbin
-- - Configuration prefix /etc/centreon-engine
-- - Library prefix /usr/lib/centreon-engine
-- - Include prefix /usr/include/centreon-engine
-- - var directory /var/log/centreon-engine
-- - Log archive directory /var/log/centreon-engine/archives
-- - RW directory /var/lib/centreon-engine/rw
-- - Lock prefix /var/lock/centengine.lock
-- - pkg-config directory /usr/lib/pkgconfig
-- - logrotate directory /etc/logrotate.d
-- - Startup directory /etc/init.d
-- - User centreon-engine
-- - Group centreon-engine
-- - Package None
--
-- Libraries
-- - clib include directory /usr/include
-- - clib library directory /usr/lib/libcentreon_clib.so
-- Configuring done
-- Generating done
-- Build files have been written to: /usr/local/src/centreon-engine-1.4.15/build
Ensuite compilons cette configuration et installons dans le système de fichiers.
make
make install
Pour vérifier, avant de continuer, le bon fonctionnement de la librairie partagée, saisissez la commande suivante:
centengine -V
[1444376643] [35283] Centreon Engine 1.4.15
[1444376643] [35283]
[1444376643] [35283] Copyright 1999-2009 Ethan Galstad
[1444376643] [35283] Copyright 2009-2010 Nagios Core Development Team and Community Contributors
[1444376643] [35283] Copyright 2011-2015 Merethis
[1444376643] [35283]
[1444376643] [35283] This program is free software: you can redistribute it and/or
[1444376643] [35283] modify it under the terms of the GNU General Public License version 2
[1444376643] [35283] as published by the Free Software Foundation.
[1444376643] [35283]
[1444376643] [35283] Centreon Engine is distributed in the hope that it will be useful,
[1444376643] [35283] but WITHOUT ANY WARRANTY; without even the implied warranty of
[1444376643] [35283] MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
[1444376643] [35283] General Public License for more details.
[1444376643] [35283]
[1444376643] [35283] You should have received a copy of the GNU General Public License
[1444376643] [35283] along with this program. If not, see
[1444376643] [35283] <http://www.gnu.org/licenses/>.
Mettre le service centengine en démarrage automatique. Pour Debian 8, voir l’article du blog pour l’utilisation de systemd.
update-rc.d centengine defaults
L'installation de Centreon-Engine est terminée, il faut passer à l'installation des plugins.
5 Installation des Plugins pour Centreon-Engine
Les plugins, appelés aussi sondes, sont des programmes exécutables obligatoires pour faire fonctionner notre supervision. Les plugins ne sont pas installés par défaut. Il faut les télécharger et faire leur installation. Depuis quelques temps, Les plugins historiques peuvent être récupérés sur deux sites différents, le site de nagios-plugins.org et le site monitoring-plugins.org. D'autres plugins, principalement en Perl, seront fournis avec l’interface de Centreon.
Depuis peu, l’équipe de Centreon a réalisé ses propres plugins en Perl. Ces plugins feront partie intégrante de la nouvelle version de Centreon 3.
Depuis peu, l’équipe de Centreon a réalisé ses propres plugins en Perl. Ces plugins feront partie intégrante de la nouvelle version de Centreon 3.
5.1 Plugins historiques
5.1.a Pré requis
Tout d'abord, installons les paquets nécessaires au fonctionnement des plugins historique pour Debian Wheezy.
Debian 7.0
apt-get install libgnutls-dev libssl-dev libkrb5-dev libldap2-dev libsnmp-dev gawk libwrap0-dev libmcrypt-dev smbclient fping gettext dnsutils libmysqlclient-dev -y
Debian 8.0
apt-get install libgnutls28-dev libssl-dev libkrb5-dev libldap2-dev libsnmp-dev gawk libwrap0-dev libmcrypt-dev smbclient fping gettext dnsutils libmysqlclient-dev -y
5.1.b Récupération des plugins sur le site de nagios-plugins.org
cd /usr/local/src
wget http://nagios-plugins.org/download/nagios-plugins-2.1.1.tar.gz
Décompression
tar -xzf nagios-plugins-2.1.1.tar.gz
cd nagios-plugins-2.1.1
5.1.c ou sur le site de monitoring-plugins.org
cd /usr/local/src
wget --no-check-certificate https://www.monitoring-plugins.org/download/monitoring-plugins-2.1.2.tar.gz
Décompression
tar -xzf monitoring-plugins-2.1.2.tar.gz
cd monitoring-plugins-2.1.2
5.1.d Compilation et installation
./configure --with-nagios-user=centreon-engine --with-nagios-group=centreon-engine --prefix=/usr/lib/nagios/plugins --libexecdir=/usr/lib/nagios/plugins --enable-perl-modules --with-openssl=/usr/bin/openssl
make
make install
5.2 Plugin Centreon
5.2.a Pré requis
Pour installer les plugins Centreon, vous aurez besoin des paquets suivants.
apt-get install libxml-libxml-perl libjson-perl libwww-perl libxml-xpath-perl libnet-telnet-perl libnet-ntp-perl libnet-dns-perl libdbi-perl libdbd-mysql-perl libdbd-pg-perl -y
5.2.b Récupération des plugins sur le dépôt de Centreon
La première version était téléchargeable à partir du blog de Centreon mais aujourd'hui nous allons profiter des nombreuses améliorations en récupérant le dépôt git du projet Centreon-Plugin. Installons le paquet git-core.
apt-get install git-core
5.2.c Installation
Nous devons récupérer le dépôt git du projet dans le dossier de votre choix.
cd /usr/local/src
git clone https://github.com/centreon/centreon-plugins.git
Le chemin utilisé pour les plugins est une installation Full Centreon avec Centreon-Engine version > 2.4x. Adaptez le chemin le cas échéant.
cd centreon-plugins
chmod +x centreon_plugins.pl
cp -R * /usr/lib/nagios/plugins/
6 Installation de Centreon-Broker
L'équipe de Centreon a développé son propre broker plus modulaire et plus performant que celui proposé par Nagios, NDOutil. Il est depuis peu compatible avec Nagvis grâce à un connecteur spécifique. Actuellement, Centreon-Broker est à la version 2.8.2. Elle est comptatible avec la version de Centreon 2.6x. Les installations de Centreon-Broker 2.4x à 2.6x sont pratiquement identiques.
A partir de la version 2.5, Centreon-Broker exige une version Qt 4.7.4. Debian 6 en version stable n'offre que la version 4.6.3 et par conséquent il n'est plus possible d'effectuer une mise à jour des dernières versions de Centreon. Néanmoins, il est possible de compiler manuellement une version de QT largement compatible avec la dernière version de Centreon-Broker. J'attire votre attention que cette procédure a été réalisée sur une machine fraîchement installée donc prenez vos précautions d'usage sur une machine de production.
Ce chapitre présente l'installation de Centreon-broker version 2.10.x, c'est la suite pour l'installation finale de Centreon 2.6.x. Nous installerons la dernière version 2.10.1.
A partir de la version 2.5, Centreon-Broker exige une version Qt 4.7.4. Debian 6 en version stable n'offre que la version 4.6.3 et par conséquent il n'est plus possible d'effectuer une mise à jour des dernières versions de Centreon. Néanmoins, il est possible de compiler manuellement une version de QT largement compatible avec la dernière version de Centreon-Broker. J'attire votre attention que cette procédure a été réalisée sur une machine fraîchement installée donc prenez vos précautions d'usage sur une machine de production.
Ce chapitre présente l'installation de Centreon-broker version 2.10.x, c'est la suite pour l'installation finale de Centreon 2.6.x. Nous installerons la dernière version 2.10.1.
6.1 Pré requis
Tout d'abord, Il faudra créer un groupe système et un utilisateur système centreon-broker
groupadd -g 6002 centreon-broker
useradd -u 6002 -g centreon-broker -m -r -d /var/lib/centreon-broker -c "Centreon-broker Admin" -s /bin/bash centreon-broker
Si vous utilisez Centreon-Engine, celui-ci devra accéder au dossier log de Centreon-Broker pour exécuter son module cbmod.so. Pour cela, l'utilisateur centreon-engine devra être membre du groupe centreon-broker.
usermod -aG centreon-broker centreon-engine
Il faut aussi installer des paquets supplémentaires.
Debian 7.0
Debian 7.0
apt-get install librrd-dev libqt4-dev libqt4-sql-mysql libgnutls-dev lsb-release -y
Debian 8.0
apt-get install librrd-dev libqt4-dev libqt4-sql-mysql libgnutls28-dev lsb-release -y
Le package lsb-release est important pour l'installation du script cbd sur une distribution Debian. Si vous n'installez pas ce paquet, à la préparation de la compilation, vous aurez ce message d'erreur.
-- Attempting to determine OS distributor.
CMake Warning at CMakeLists.txt:66 (message):
lsb_release in not installed
Ce message d'erreur n'est pas bloquant, mais vous n'aurez pas la bonne version du script de démarrage cbd pour le fonctionnement de Centreon-Broker.
6.2 Installation
Téléchargez le binaire dans le dossier /usr/local/src et décompressez-le.
cd /usr/local/src
wget https://s3-eu-west-1.amazonaws.com/centreon-download/public/centreon-broker/centreon-broker-2.10.1.tar.gz
tar xzf centreon-broker-2.10.1.tar.gz
cd /usr/local/src/centreon-broker-2.10.1/build/
Préparons la compilation.
cmake \
-DWITH_DAEMONS='central-broker;central-rrd' \
-DWITH_GROUP=centreon-broker \
-DWITH_PREFIX=/usr \
-DWITH_PREFIX_BIN=/usr/sbin \
-DWITH_PREFIX_CONF=/etc/centreon-broker \
-DWITH_PREFIX_LIB=/usr/lib/centreon-broker \
-DWITH_PREFIX_MODULES=/usr/share/centreon/lib/centreon-broker \
-DWITH_STARTUP_DIR=/etc/init.d \
-DWITH_STARTUP_SCRIPT=auto \
-DWITH_TESTING=0 \
-DWITH_USER=centreon-broker .
Extrait du résultat
-- Configuration Summary
-- ---------------------
--
-- Project
-- - Name Centreon Broker
-- - Version 2.10.1
--
-- System
-- - Name Linux
-- - Version 3.16.0-4-amd64
-- - Processor x86_64
--
-- Build
-- - Compiler /usr/bin/c++ (GNU)
-- - Extra compilation flags
-- - Qt 4.8.6
-- - Unit tests disabled
-- - Startup script sysv
-- - Module stats, neb, file, compression, correlation, dumper, rrd, sql, storage, influxdb, graphite, bam, tcp, tls, bbdo, ndo
--
-- Install
-- - Prefix /usr
-- - Binary prefix /usr/sbin
-- - Library prefix /usr/lib/centreon-broker
-- - Modules prefix /usr/share/centreon/lib/centreon-broker
-- - Include prefix /usr/include/centreon-broker
-- - Configuration prefix /etc/centreon-broker
-- - Startup dir /etc/init.d
-- - User centreon-broker
-- - Group centreon-broker
-- - Package None
--
-- Configuring done
-- Generating done
-- Build files have been written to: /usr/local/src/centreon-broker-2.10.1/build
Ensuite compilons cette configuration et installons dans le système de fichiers.
make
make install
Un nouveau module est apparu avec la version 2.7.x, il s'agit du module dumper. Son fichier respectif se nomme 05-dumper.so. Par décalage, le module stats se nomme 15-stats.so. Les versions précédentes du Broker utilisent un module stats 05-stats.so. Ce dernier fichier provoque l'arrêt du processus cbd en version 2.7.0 s'il l'on affiche la page des statistiques. Il est impératif de le supprimer avant de relancer le service cbd.
rm /usr/local/centreon-broker/lib/centreon-broker/05-stats.so
Vous pourrez de nouveau, afficher les statistiques du broker.
Mettre le service cbd en démarrage automatique.
update-rc.d cbd defaults
L'installation de Centreon-Broker est terminée, il faut passer à l’installation de Centreon. Si vous n’avez pas configuré SNMP, il est temps de le faire.
7 Installation du protocole SNMP
Debian 8.0 amène son lot de nouveautés. La gestion des traps SNMP exige l’installation d’un paquet supplémentaire.
7.1 Pré requis
Installons les paquets nécessaires pour le SNMP
Debian 7.0
Debian 7.0
apt-get install snmp snmpd libnet-snmp-perl libsnmp-perl -y
Debian 8.0
apt-get install snmp snmpd snmptrapd libnet-snmp-perl libsnmp-perl -y
7.1 Paramétrages
Debian 7.0
Pour le fonctionnement du SNMP, modifiez le fichier /etc/snmp/snmpd.conf
agentAddress udp:localhost:161
rocommunity public localhost
iquerySecName internalUser
trapsink localhost public
Pour éviter d’avoir un deamon snmpd trop bavard, (réduction des logs), et pour recevoir les traps modifier le fichier /etc/default/snmpd
# snmpd options (use syslog, close stdin/out/err).
SNMPDOPTS='-LS4d -Lf /dev/null -u snmp -g snmp -I -smux -p /var/run/snmpd.pid'
.....
TRAPDRUN=yes
.....
# snmptrapd options (use syslog).
TRAPDOPTS='-On -Lsd -p /var/run/snmptrapd.pid'
Debian 8.0
Pour le fonctionnement du SNMP, modifiez le fichier /etc/snmp/snmpd.conf
agentAddress udp:localhost:161
rocommunity public localhost
trapsink localhost public
Pour éviter d’avoir un deamon snmpd trop bavard, (réduction des logs), modifier le fichier /etc/default/snmpd
.....
# snmpd options (use syslog, close stdin/out/err).
SNMPDOPTS='-LS4d -Lf /dev/null -u snmp -g snmp -I -smux,mteTrigger,mteTriggerConf -p /run/snmpd.pid'
.....
Et pour recevoir les traps modifier le fichier /etc/default/snmptrapd
.....
TRAPDRUN=yes
# snmptrapd options (use syslog).
TRAPDOPTS='-On -Lsd -p /run/snmptrapd.pid'
.....
7.2 Installation des mibs
7.2.a Modification du dépôt Debian
Modifiez le fichier /etc/apt/sources.list. Rajoutez non-free sur les dépôts.
Debian 7.0
deb http://ftp.fr.debian.org/debian/ squeeze main non-free
deb-src http://ftp.fr.debian.org/debian/ squeeze main non-free
Debian 8.0
deb http://ftp.fr.debian.org/debian/ jessie main non-free
deb-src http://ftp.fr.debian.org/debian/ jessie main non-free
Faites une mise à jour
apt-get update
7.2.b Ajout des mibs
Il vous reste à rajouter les mibs
apt-get install snmp-mibs-downloader -y
7.2.c Modification de la configuration SNMP
Créez un lien symbolique
ln -s /usr/share/mibs/ /usr/share/snmp/mibs
Modifiez le fichier /etc/default/snmpd
export MIBDIRS=/usr/share/mibs
export MIBS=ALL
Commentez la ligne du fichier /etc/snmp/snmp.conf
#mibs ALL
Redémarrez le service SNMP
Debian 7.0
service snmpd restart
Debian 8.0
service snmpd restart
service snmptrapd restart
7.2.d Vérification du fonctionnement
Pour vérifier le fonctionnement, saisir la ligne suivante
snmpwalk -c public -v 2c localhost
Vous devez obtenir une très longue liste d'OID SNMP. Seul bémol, les OID de type HrSWInstalled (.1.3.6.1.2.1.25.6) ne sont pas pris en compte. C'est gênant pour certains plugins fournis par Centreon. Je n'ai pas trouvé la solution pour pallier ce problème.
Lors des manipulations ultérieures avec Centreon-Clapi ou des visualisations de logs, des erreurs se rapportant au MIBS polluent les résultats. Par exemple, lors d'une commande de Centreon-Clapi, voici le résultat.
./centreon -u admin -p password -o nagioscfg -a show
No log handling enabled - turning on stderr logging
Unlinked OID in IPATM-IPMC-MIB: marsMIB ::= { mib-2 57 }
Undefined identifier: mib-2 near line 18 of /usr/share/mibs/ietf/IPATM-IPMC-MIB
Bad operator (INTEGER): At line 73 in /usr/share/mibs/ietf/SNMPv2-PDU
Undefined OBJECT-GROUP (diffServMIBMultiFieldClfrGroup): At line 2195 in /usr/share/mibs/ietf/IPSEC-SPD-MIB
Undefined OBJECT-GROUP (diffServMultiFieldClfrNextFree): At line 2157 in /usr/share/mibs/ietf/IPSEC-SPD-MIB
Undefined OBJECT-GROUP (diffServMIBMultiFieldClfrGroup): At line 2062 in /usr/share/mibs/ietf/IPSEC-SPD-MIB
Expected "::=" (RFC5644): At line 493 in /usr/share/mibs/iana/IANA-IPPM-METRICS-REGISTRY-MIB
Expected "{" (EOF): At line 651 in /usr/share/mibs/iana/IANA-IPPM-METRICS-REGISTRY-MIB
Bad object identifier: At line 651 in /usr/share/mibs/iana/IANA-IPPM-METRICS-REGISTRY-MIB
Bad parse of OBJECT-IDENTITY: At line 651 in /usr/share/mibs/iana/IANA-IPPM-METRICS-REGISTRY-MIB
nagios id;nagios name;instance;nagios comment
1;Nagios CFG 1;Central;Default Nagios.cfg
La seule solution, actuellement, que j'ai trouvée est d'éliminer les MIBS posant problème soit en déplaçant, soit en les supprimant.
mv /usr/share/mibs/ietf/IPATM-IPMC-MIB /root
mv /usr/share/mibs/ietf/SNMPv2-PDU /root
mv /usr/share/mibs/ietf/IPSEC-SPD-MIB /root
mv /usr/share/mibs/iana/IANA-IPPM-METRICS-REGISTRY-MIB /root
8 Installation de Centreon UI
L’installation de l’interface graphique de Centreon se fait en deux temps. Premièrement, commencez votre installation en ligne de commande, puis terminez par l’utilisation de l’interface Web.
8.1 Pré requis
Tout d'abord, Il faudra créer un utilisateur centreon
groupadd -g 6000 centreon useradd -u 6000 -g centreon -m -r -d /var/lib/centreon -c "Centreon Admin" -s /bin/bash centreon
Il faut aussi installer des paquets supplémentaires. Pour Debian 8, privilégiez le serveur de base de données MariaDB.
Debian 7.0
apt-get install sudo tofrodos bsd-mailx lsb-release mysql-server libmysqlclient-dev apache2 apache2-mpm-prefork php5 php5-mysql php-pear php5-ldap php5-snmp php5-gd rrdtool librrds-perl libconfig-inifiles-perl libcrypt-des-perl libdigest-hmac-perl libdigest-sha-perl libgd-gd2-perl php5-sqlite -y
Debian 8.0
apt-get install sudo tofrodos bsd-mailx lsb-release mariadb-server libmysqlclient-dev apache2 apache2-mpm-prefork php5 php5-mysql php-pear php5-ldap php5-snmp php5-gd rrdtool librrds-perl libconfig-inifiles-perl libcrypt-des-perl libdigest-hmac-perl libdigest-sha-perl libgd-gd2-perl php5-sqlite -y
Optionnellement, on peut ajouter phpmyadmin pour visualiser aisément les bases de données.
apt-get install phpmyadmin -y
8.2 Installation en ligne de commande
Téléchargez le binaire dans le dossier /usr/local/src et décompressez-le.
cd /usr/local/src wget https://s3-eu-west-1.amazonaws.com/centreon-download/public/centreon/centreon-2.6.4.tar.gz tar xzf centreon-2.6.4.tar.gz cd centreon-2.6.4
Lancez la ligne de commande ci-dessous pour débuter l'installation.
./install.sh -i
Au lancement du script, le programme confirme si toutes les dépendances sont satisfaites.
############################################################################### # # # Centreon (www.centreon.com) # # Thanks for using Centreon # # # # v2.6.4 # # # # infos@centreon.com # # # # Make sure you have installed and configured # # sudo - sed - php - apache - rrdtool - mysql # # # ############################################################################### ------------------------------------------------------------------------ Checking all needed binaries ------------------------------------------------------------------------ rm OK cp OK mv OK /bin/chmod OK /bin/chown OK echo OK more OK mkdir OK find OK /bin/grep OK /bin/cat OK /bin/sed OK You will now read Centreon Licence. Press enter to continue.
Ensuite, vous devez accepter la licence d'utilisateur de Centreon (licence GPL Version 2) pour continuer. Si vous refusez cette licence, vous abandonnez l'installation.
This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License. Do you accept GPL license ? [y/n], default to [n]: > y
Le module d'installation va alors vous si vous souhaitez installer les modules: l'interface Web Centreon, Centcore, les plugins Centreon et les Traps handler Centreon. Nous utiliserons tous les modules. L'intérêt d'installer CentCore maintenant réside dans le fait qu'il sera plus facile d'évoluer vers une installation distribuée.
------------------------------------------------------------------------ Please choose what do you want to install ------------------------------------------------------------------------ Do you want to install Centreon Web Front [y/n], default to [n]: > y Do you want to install Centreon CentCore [y/n], default to [n]: > y Do you want to install Centreon Nagios Plugins [y/n], default to [n]: > y Do you want to install Centreon Snmp Traps process [y/n], default to [n]: > y
Le script d'installation va maintenant procéder à l'installation des différents modules.
Commençons par Centreon Web, l'interface de centreon. Ici, on nous demande où installer Centreon UI. Saisissez le chemin indiqué ci-dessous.
Commençons par Centreon Web, l'interface de centreon. Ici, on nous demande où installer Centreon UI. Saisissez le chemin indiqué ci-dessous.
------------------------------------------------------------------------ Start CentWeb Installation ------------------------------------------------------------------------ Where is your Centreon directory? default to [/usr/local/centreon] >/usr/share/centreon Path /usr/share/centreon OK
Ici on nous demande le répertoire de stockage des journaux/logs de centreon.
Where is your Centreon log directory default to [/usr/local/centreon/log] > /var/log/centreon Do you want me to create this directory ? [/var/log/centreon] [y/n], default to [n]: > y Path /var/log/centreon OK
Très important : L'emplacement des fichiers de configuration de centreon. Attention si cet endroit venait à changer par la suite, vous seriez obligé de relancer l'installation de centreon, certains fichiers devant être regénérés. Saisir les valeurs par défaut et répondre y pour la création des dossiers.
Where is your Centreon etc directory default to [/etc/centreon] > Do you want me to create this directory ? [/etc/centreon] [y/n], default to [n]: > y Path /etc/centreon OK Where is your Centreon binaries directory default to [/usr/local/centreon/bin] > /usr/share/centreon/bin Do you want me to create this directory ? [/usr/share/centreon/bin] [y/n], default to [n]: > y Path /usr/share/centreon/bin OK Where is your Centreon data informations directory default to [/usr/local/centreon/data] > /usr/share/centreon/data Do you want me to create this directory ? [/usr/share/centreon/data] [y/n], default to [n]: > y Path /usr/share/centreon/data OK Where is your Centreon variable library directory? default to [/var/lib/centreon] > Do you want me to create this directory ? [/var/lib/centreon] [y/n], default to [n]: > y Path /var/lib/centreon OK /usr/bin/rrdtool OK /usr/bin/mail OK /usr/bin/php OK Where is PEAR [PEAR.php] default to [/usr/share/php/PEAR.php] > Path /usr/share/php OK /usr/bin/perl OK Finding Apache user : www-data Finding Apache group : www-data
Utilisation d'un groupe centreon et d'un utilisateur centreon, validez entrée par défaut
What is the Centreon group ? [centreon] default to [centreon] > What is the Centreon user ? [centreon] default to [centreon] >
Choisissez le moteur centreon-engine et le broker centreon-broker. Indiquez le chemin des plugins.
What is the Monitoring engine user ? > centreon-engine What is the Broker user ? (optional) > centreon-broker What is the Monitoring engine log directory ? > /var/log/centreon-engine Where is your monitoring plugins (libexec) directory ? default to [/usr/lib/nagios/plugins] > Path /usr/lib/nagios/plugins OK Add group centreon to user www-data OK Add group centreon to user centreon-engine OK Add group centreon-engine to user www-data OK Add group centreon-engine to user centreon OK
Configuration des commandes utilisées par Sudo. Saisir les chemins comme indiqué ci-dessous.
------------------------------------------------------------------------ Configure Sudo ------------------------------------------------------------------------ Where is sudo configuration file default to [/etc/sudoers] > /etc/sudoers OK What is the Monitoring engine init.d script ? > /etc/init.d/centengine What is the Monitoring engine binary ? > /usr/sbin/centengine What is the Monitoring engine configuration directory ? > /etc/centreon-engine Where is the configuration directory for broker module ? > /etc/centreon-broker Where is the init script for broker module daemon ? > /etc/init.d/cbd Your sudo is not configured Do you want me to configure your sudo ? (WARNING) [y/n], default to [n]: > y Configuring Sudo OK
Configuration du serveur Web
------------------------------------------------------------------------ Configure Apache server ------------------------------------------------------------------------ Do you want to add Centreon Apache sub configuration file ? [y/n], default to [n]: > y Create '/etc/apache2/conf.d/centreon.conf' OK Configuring Apache OK Do you want to reload your Apache ? [y/n], default to [n]: > y Reloading Apache service OK Preparing Centreon temporary files Change right on /var/log/centreon OK Change right on /etc/centreon OK Change macros for insertBaseConf.sql OK Change macros for sql update files OK Change macros for php files OK Change macros for perl binary OK Change right on /etc/centreon-engine OK Add group centreon-broker to user www-data OK Add group centreon-broker to user centreon-engine OK Add group centreon to user centreon-broker OK Change right on /etc/centreon-broker OK Copy CentWeb in system directory Install CentWeb (web front of centreon) OK Change right for install directory Change right for install directory OK Install libraries OK Write right to Smarty Cache OK Copying libinstall OK Change macros for centreon.cron OK Install Centreon cron.d file OK Change macros for centAcl.php OK Change macros for downtimeManager.php OK Install cron directory OK Change right for eventReportBuilder OK Change right for dashboardBuilder OK Change macros for centreon.logrotate OK Install Centreon logrotate.d file OK Prepare centFillTrapDB OK Install centFillTrapDB OK Prepare centreon_trap_send OK Install centreon_trap_send OK Prepare centreon_check_perfdata OK Install centreon_check_perfdata OK Prepare centreonSyncPlugins OK Install centreonSyncPlugins OK Prepare centreonSyncArchives OK Install centreonSyncArchives OK Install generateSqlLite OK Install changeRrdDsName.pl OK Prepare export-mysql-indexes OK Install export-mysql-indexes OK Prepare import-mysql-indexes OK Install import-mysql-indexes OK Centreon Web Perl lib installed OK ------------------------------------------------------------------------ Pear Modules ------------------------------------------------------------------------ Check PEAR modules PEAR 1.4.9 1.9.5 OK DB 1.7.6 NOK DB_DataObject 1.8.4 NOK DB_DataObject_FormBuilder 1.0.0RC4 NOK MDB2 2.0.0 NOK Date 1.4.6 NOK Archive_Tar 1.1 1.3.12 OK Auth_SASL 1.0.1 NOK Console_Getopt 1.2 1.3.1 OK Net_SMTP 1.2.8 NOK Net_Socket 1.0.1 NOK Net_Traceroute 0.21 NOK Net_Ping 2.4.1 NOK Validate 0.6.2 NOK XML_RPC 1.4.5 NOK SOAP 0.10.1 NOK Log 1.9.11 NOK Archive_Zip 0.1.2 NOK Do you want me to install/upgrade your PEAR modules [y/n], default to [y]: > y
Le script d'installation n'a pas trouvé les modules Perl à jour, répondre y pour les mettre à jour automatiquement. Dans le cadre d'un serveur qui n'aurait pas accès à Internet, vous pouvez auparavant mettre à jour les paquets Pear par une méthode manuelle indiquée sur mon blog.
Upgrading PEAR modules Installing PEAR modules DB 1.7.6 1.8.2 OK DB_DataObject 1.8.4 1.11.4 OK DB_DataObject_FormBuilder 1.0.0RC4 1.0.2 OK MDB2 2.0.0 2.4.1 OK Auth_SASL 1.0.1 1.0.6 OK Net_SMTP 1.2.8 1.6.2 OK Net_Traceroute 0.21 0.21.3 OK Net_Ping 2.4.1 2.4.5 OK Validate 0.6.2 0.8.5 OK XML_RPC 1.4.5 1.5.5 OK SOAP 0.10.1 0.13.0 OK Log 1.9.11 1.12.8 OK Archive_Zip 0.1.2 0.1.2 OK Check PEAR modules PEAR 1.4.9 1.9.5 OK DB 1.7.6 1.8.2 OK DB_DataObject 1.8.4 1.11.4 OK DB_DataObject_FormBuilder 1.0.0RC4 1.0.2 OK MDB2 2.0.0 2.4.1 OK Date 1.4.6 1.4.7 OK Archive_Tar 1.1 1.3.12 OK Auth_SASL 1.0.1 1.0.6 OK Console_Getopt 1.2 1.3.1 OK Net_SMTP 1.2.8 1.6.2 OK Net_Socket 1.0.1 1.0.14 OK Net_Traceroute 0.21 0.21.3 OK Net_Ping 2.4.1 2.4.5 OK Validate 0.6.2 0.8.5 OK XML_RPC 1.4.5 1.5.5 OK SOAP 0.10.1 0.13.0 OK Log 1.9.11 1.12.8 OK Archive_Zip 0.1.2 0.1.2 OK All PEAR modules OK ------------------------------------------------------------------------ Centreon Post Install ------------------------------------------------------------------------ Create /usr/local/centreon/www/install/install.conf.php OK Create /etc/centreon/instCentWeb.conf OK
Pear étant à jour, nous continuons avec l'installation de CentStorage. Ne pas installer le script Centstorage, celui-ci n’a aucune utilité pour centreon-broker.
------------------------------------------------------------------------ Start CentStorage Installation ------------------------------------------------------------------------ Where is your Centreon Run Dir directory? default to [/var/run/centreon] > Do you want me to create this directory ? [/var/run/centreon] [y/n], default to [n]: > y Path /var/run/centreon OK Where is your CentStorage binary directory default to [/usr/share/centreon/bin] > Path /usr/share/centreon/bin OK Where is your CentStorage RRD directory default to [/var/lib/centreon] > Path /var/lib/centreon OK Preparing Centreon temporary files /tmp/centreon-setup exists, it will be moved... install www/install/createTablesCentstorage.sql OK Creating Centreon Directory '/var/lib/centreon/status' OK Creating Centreon Directory '/var/lib/centreon/metrics' OK Install CentStorage binary OK Change right : /var/run/centreon OK Change macros for centstorage init script OK Replace Centstorage default script Macro OK Do you want me to install CentStorage init script ? [y/n], default to [n]: > n CentStorage init script not installed, please use : /usr/share/centreon/INSTALL_DIR_CENTREONexamples/centstoraPASSEDt.d Install logAnalyser OK Install logAnalyserBroker OK Install nagiosPerfTrace OK Change macros for centstorage.cron OK Install CentStorage cron OK Change macros for centstorage.logrotate OK Install Centreon Storage logrotate.d file OK Create /etc/centreon/instCentStorage.conf OK
Installation du module CentCore.
------------------------------------------------------------------------ Start CentCore Installation ------------------------------------------------------------------------ Where is your CentCore binary directory default to [/usr/share/centreon/bin] > Path /usr/share/centreon/bin OK Preparing Centreon temporary files /tmp/centreon-setup exists, it will be moved... Copy CentCore in binary directory OK Change right : /var/run/centreon OK Change right : /var/lib/centreon OK Change macros for centcore.logrotate OK Install Centreon Core logrotate.d file OK Replace CentCore init script Macro OK Replace CentCore default script Macro OK Do you want me to install CentCore init script ? [y/n], default to [n]: > y CentCore init script installed OK CentCore default script installed OK Do you want me to install CentCore run level ? [y/n], default to [n]: > y update-rc.d: using dependency based boot sequencing CentCore Perl lib installed OK Create /etc/centreon/instCentCore.conf OK
Installation des plugins pour les Traps SNMP, répondre y pour la création des dossiers.
------------------------------------------------------------------------ Start CentPlugins Installation ------------------------------------------------------------------------ Where is your CentPlugins lib directory default to [/var/lib/centreon/centplugins] > Do you want me to create this directory ? [/var/lib/centreon/centplugins] [y/n], default to [n]: > y Path /var/lib/centreon/centplugins OK Preparing Centreon temporary files /tmp/centreon-setup exists, it will be moved... Change macros for CentPlugins OK Installing the plugins OK Change right on centreon.conf OK CentPlugins is installed ------------------------------------------------------------------------ Start CentPlugins Traps Installation ------------------------------------------------------------------------ Where is your SNMP configuration directory default to [/etc/snmp] > /etc/snmp OK Where is your CentreonTrapd binaries directory default to [/usr/local/centreon/bin] > /usr/share/centreon/bin/ /usr/share/centreon/bin/ OK Finding Apache user : www-data Preparing Centreon temporary files /tmp/centreon-setup exists, it will be moved... Change macros for snmptrapd.conf OK Replace CentreonTrapd init script Macro OK Replace CentreonTrapd default script Macro OK Do you want me to install CentreonTrapd init script ? [y/n], default to [n]: > y CentreonTrapd init script installed OK CentreonTrapd default script installed OK Do you want me to install CentreonTrapd run level ? [y/n], default to [n]: > y update-rc.d: using dependency based boot sequencing trapd Perl lib installed OK Install : snmptrapd.conf OK Install : centreontrapdforward OK Install : centreontrapd OK Create /etc/centreon/instCentPlugins.conf OK ############################################################################### # # # Go to the URL : http://debian7.localmac/centreon/ # # to finish the setup # # # # Report bugs at http://forge.centreon.com # # # # Thanks for using Centreon. # # ----------------------- # # Contact : infos@centreon.com # # http://www.centreon.com # # # ###############################################################################
Il faut terminer l’installation en mode Web.
8.3 Installation en mode Web
Debian 8.0
Avec Debian 8.0, il faut autoriser la configuration Centreon pour le serveur Web Apache
a2enconf centreon.conf service apache2 reload
Utilisez un navigateur internet récent et saisissez l’url suivante :
http://<ip du serveur centreon>/centreon/
http://<ip du serveur centreon>/centreon/
Démarrage de l'installation Web, cliquez sur "Next"
Validation des dépendances, cliquez sur "next".
Nous choisirons comme moteur de supervision centreon-engine. Saisissez les chemins ci-dessous.
Centreon Engine directory: /usr/sbin/ Centreon Engine Stats binary: /usr/sbin/centenginestats Centreon Engine var lib directory: /var/lib/centreon-engine Centreon Engine Connector path: /usr/lib/centreon-connector Centreon Engine Library (*.so) directory: /usr/lib/centreon-engine/
Cliquez sur Next. Auparavant, il faudra créer le dossier /var/log/centreon-broker et donner la permission au processus centengine d'écrire le fichier de statistique.
mkdir /var/log/centreon-broker chown centreon-broker:centreon-broker /var/log/centreon-broker chmod 775 /var/log/centreon-broker chmod 775 /var/lib/centreon-broker
Nous choisirons comme broker centreon-broker. Saisissez les chemins ci-dessous.
Centreon Broker etc directory: /etc/centreon-broker Centreon Broker module (cbmod.so): /usr/lib/centreon-broker/cbmod.so Centreon Broker log directory: /var/log/centreon-broker Retention file directory: /var/lib/centreon-broker Centreon Broker lib (*.so) directory: /usr/share/centreon/lib/centreon-broker
Cliquez sur Next
Création du user "Administrateur", admin et son mot de passe. Saisir une adresse valide pour l’email. Cliquez sur Next.
Définir les Accès MySQL, le mot de passe de MySQL. Laisser les noms de base par défaut CENTREON, CENTSTORAGE et CENTSTATUS. Saisir le mot de passe pour ces bases de données.
Debian 7.0
Pour Debian 7, avant de cliquez sur Next, modifiez le fichier de configuration de MySql /etc/mysql/my.cnf. Ajoutez la ligne suivante.
innodb_file_per_table=1
Redémarrez le serveur MySql
service mysql restart
Cliquez sur Next
Cliquez sur Next
Fin de l'installation, cliquez sur Finish
Vous devriez avoir cette vue. Vous pouvez vous connecter à l'interface d'administration.
8.4 Configuration des services
Démarrez les services ci-dessous :
service centcore start service centreontrapd start
Connectez-vous à l'interface de Centreon. Sélectionnez le menu Configuration / Monitoring Engines
Si vous obtenez le résultat ci-dessous relancez apache.
Sinon vous devriez avoir le résultat ci-dessous. Les warnings ne sont pas bloquant.
Il faut lancez le service broker.
service cbd start
Au bout de quelques secondes, vous devriez voir apparaître les hôtes et services dans la barre d'état en haut à droite.
Votre supervision est en état de fonctionnement
Je me suis aperçu d’un problème avec PHP 5.4 lors de la génération des traps. En fait lors de l’application, rien ne se passe, pas de génération de base SQL et pas de génération de configuration comme le montre cet écran.
Le problème vient de l’interprétation de la commande isset avec PHP 5.4 car il n’y a pas de problème avec centreon 2.6.x sur PHP 5.3x. Voici la correction apportée au fichier /usr/share/centreon/www/include/configuration/configGenerateTraps/formGenerateTraps.php. Il y a
149 if (isset($ret["generate"]["generate"]) && $ret["generate"]["generate"]) {
167 if (isset($ret["apply"]["apply"]) && $ret["apply"]["apply"] &&
il faut
149 if (isset($ret['generate']) && $ret['generate']) {
167 if (isset($ret['apply']) && $ret['apply'] &&
Recommencez la génération des traps et vous pouvez constater le bon fonctionnement de celle-ci.
Nous continuerons par la configuration de notre supervision.