En attendant la version 19.10 de Centreon qui ne devrait pas tarder, nous allons tester l'installation des sources Centreon avec la nouvelle version de Debian Buster. Nous n'utiliserons pas les paquets centreon-engine fournis par la communauté Debian car ceux-ci correspondent à la version 18.10.
Attention, version non-supportée par Centreon.
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. Connectez-vous en root sur le serveur Debian, et saisissez la commande suivante :
Si vous vous connectez avec un utilisateur sans droit d'administration et que vous élevez vos privilèges en root, il faut lancez la commande su avec le paramètre suivant :
su -
Sinon vous n'aurez pas le path des dossiers sbin ou sont situés les exécutables pour l'administration.
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
Installons les paquets nécessaires au fonctionnement de cette librairie.
apt-get install build-essential cmake pkg-config -y
Lors de l'installation des packages Debian, si vous avez ces messages d'erreurs non-bloquants :
Vous devrez configurer les paramètres régionaux (locale settings)
dpkg-reconfigure locales
Il faudra, dans notre exemple, sélectionner la langue fr_FR.UTF-8.
2.2 Installation
Téléchargez le binaire dans le dossier /usr/local/src et décompressez-le.
cd /usr/local/src
wget http://files.download.centreon.com/public/centreon-clib/centreon-clib-19.04.0.tar.gz
tar xzf centreon-clib-19.04.0.tar.gz
cd centreon-clib-19.04.0/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 19.04.0
-- - With shared library Yes
-- - With static library No
--
-- System
-- - Name Linux
-- - Version 4.19.0-5-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-19.04.0/build
Ensuite compilez cette configuration et terminez par l’installation. Ne tenez pas compte des messages d'erreur du à la version du compilateur C++ plus restrictive. 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.
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 19.04.0. Téléchargez le binaire dans le dossier /usr/local/src et décompressez-le.
cd /usr/local/src
wget http://files.download.centreon.com/public/centreon-connectors/centreon-connector-19.04.0.tar.gz
tar xzf centreon-connector-19.04.0.tar.gz
cd centreon-connector-19.04.0/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 19.04.0
--
-- System
-- - Name Linux
-- - Version 4.19.0-5-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.28/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-19.04.0/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 libgcrypt-dev -y
3.2.b Installation
Dirigez-vous dans le dossier pour le connecteur SSH
cd /usr/local/src/centreon-connector-19.04.0/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 19.04.0
-- - Known hosts check disabled
--
-- System
-- - Name Linux
-- - Version 4.19.0-5-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-19.04.0/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 utiliserons la dernière version 19.04. Nous en profiterons pour installer les scripts systemd.
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 19.04.1. Téléchargez le binaire dans le dossier /usr/local/src et décompressez-le.
cd /usr/local/src
wget http://files.download.centreon.com/public/centreon-engine/centreon-engine-19.04.1.tar.gz
tar xzf centreon-engine-19.04.1.tar.gz
cd centreon-engine-19.04.1/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_SCRIPT=systemd \
-DWITH_STARTUP_DIR=/lib/systemd/system \
-DWITH_PKGCONFIG_SCRIPT=1 \
-DWITH_PKGCONFIG_DIR=/usr/lib/pkgconfig \
-DWITH_TESTING=0 .
Extrait du résultat
-- Configuration Summary
-- ---------------------
--
-- Project
-- - Name Centreon Engine
-- - Version 19.04.1
--
-- System
-- - Name Linux
-- - Version 4.19.0-5-amd64
-- - Processor x86_64
--
-- Build
-- - Compiler /usr/bin/c++ (GNU)
-- - Extra compilation flags
-- - Build static core library yes
-- - External commands module enabled
-- - Unit tests disabled
-- - pkg-config script enabled
-- - logrotate script enabled
-- - Startup script Systemd 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
-- - pkg-config directory /usr/lib/pkgconfig
-- - logrotate directory /etc/logrotate.d
-- - Startup directory /lib/systemd/system
-- - 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-19.04.1/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
[1540917958] [62218] Centreon Engine 19.04.1
[1540917958] [62218]
[1540917958] [62218] Copyright 1999-2009 Ethan Galstad
[1540917958] [62218] Copyright 2009-2010 Nagios Core Development Team and Community Contributors
[1540917958] [62218] Copyright 2011-2018 Centreon
[1540917958] [62218]
[1540917958] [62218] This program is free software: you can redistribute it and/or
[1540917958] [62218] modify it under the terms of the GNU General Public License version 2
[1540917958] [62218] as published by the Free Software Foundation.
[1540917958] [62218]
[1540917958] [62218] Centreon Engine is distributed in the hope that it will be useful,
[1540917958] [62218] but WITHOUT ANY WARRANTY; without even the implied warranty of
[1540917958] [62218] MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
[1540917958] [62218] General Public License for more details.
[1540917958] [62218]
[1540917958] [62218] You should have received a copy of the GNU General Public License
[1540917958] [62218] along with this program. If not, see
[1540917958] [62218] <http://www.gnu.org/licenses/>.
Mettre le service centengine en démarrage automatique. Nous verrons plus loin la création d'un cgroup centreon nécessaire au démarrage du service (paragraphe 8.5a)
systemctl enable centengine.service
systemctl daemon-reload
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 font parti intégrante de cette version donc ces plugins sont nécessaires à l'installation.
Depuis peu, l’équipe de Centreon a réalisé ses propres plugins en Perl. Ces plugins font parti intégrante de cette version donc ces plugins sont nécessaires à l'installation.
5.1 Plugins historiques
5.1.a Pré requis
Tout d'abord, installons les paquets nécessaires au fonctionnement des plugins historiques pour Debian.
apt-get install libgnutls28-dev libssl-dev libkrb5-dev libldap2-dev libsnmp-dev gawk libwrap0-dev libmcrypt-dev smbclient fping gettext dnsutils libmodule-build-perl libmodule-install-perl libnet-snmp-perl -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.2.1.tar.gz
Décompression
tar -xzf nagios-plugins-2.2.1.tar.gz
cd nagios-plugins-2.2.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.2.tar.gz
Décompression
tar -xzf monitoring-plugins-2.2.tar.gz
cd monitoring-plugins-2.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
Pour utiliser la majorité des 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 libnet-ldap-perl libdbi-perl libdbd-mysql-perl libdbd-pg-perl libdatetime-perl liburi-encode-perl libdate-manip-perl -y
Téléchargez le binaire dans le dossier /usr/local/src et décompressez-le.
cd /usr/local/src
wget http://files.download.centreon.com/public/centreon-plugins/centreon-plugins-20191002.tar.gz
tar xzf centreon-plugins-20191002.tar.gz
cd centreon-plugins-20191002
Le chemin utilisé pour les plugins Centreon est préconisé pour une installation centreon-web > 2.8.x. Les fichiers avec extension pl sont des fichiers perl fastpacked.
chmod +x *
mkdir -p /usr/lib/centreon/plugins
mv * /usr/lib/centreon/plugins/
J'ai rencontré une erreur avec le plugin Mysql avec le mode databases-size
Voici une solution en attendant une mise à jour du paquet des plugins Centreon. Télécharger l'archive pécédente :
cd /usr/local/src
wget http://files.download.centreon.com/public/centreon-plugins/centreon-plugins-20190704.tar.gz
tar xzf centreon-plugins-20190704.tar.gz
cd centreon-plugins-20190704
Copiez les plugins dans le dossier /usr/lib/centreon/plugins
cp centreon_centreon_database.pl /usr/lib/centreon/plugins/
cp centreon_mysql.pl /usr/lib/centreon/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. Cette nouvelle version de broker intègre un nouveau connecteur utilisant l'interpréteur LUA.
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
Comme 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.
apt-get install libqt4-dev libqt4-sql-mysql libgnutls28-dev lsb-release liblua5.2-dev -y
6.2 Installation RRDtool par les sources
La version 1.7.1 de RRDtool installée par Debian 10 n'est pas compatible avec Centreon-Broker. Nous installerons les sources de la version 1.4.7. Commençons pas les prérequis.
apt-get install libpango1.0-dev libxml2-dev -y
Ensuite récupérons les sources et compilons la version 1.4.7
cd /usr/local/src
wget http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.4.7.tar.gz
tar xzf rrdtool-1.4.7.tar.gz
cd rrdtool-1.4.7
./configure --prefix=/opt/rddtool-broker && make && make install
Copiez la configuration pkgconfig pour la compilation de Centreon-Broker.
cp /opt/rddtool-broker/lib/pkgconfig/librrd.pc /usr/lib/pkgconfig/
Indiquez le chemin de la librairie partagée en créant ce fichier.
vi /etc/ld.so.conf.d/rrdtool-broker.conf
Saisissez le chemin de la librairie.
# lib rrdtools for Centreon
/opt/rddtool-broker/lib
Si vous n'avez pas indiqué le chemin de la librairie rrdtool, vous obtiendrez cette erreur.
Centreon Broker 18.10.0 log file opened
[1541584631] config: module applier: loading directory '/usr/share/centreon/lib/centreon-broker'
[1541584631] error: modules: could not load library '/usr/share/centreon/lib/centreon-broker/70-rrd.so': Cannot load library /usr/share/centreon/lib/centreon-broker/70-rrd.so: (librrd.so.4: Ne peut ouvrir le fichier d'objet partagé: Aucun fichier ou dossier de ce type)
[1541584631] error: endpoint applier: no matching type found for endpoint 'central-rrd-master-output'
6.3 Installation
Téléchargez le binaire dans le dossier /usr/local/src et décompressez-le.
cd /usr/local/src
wget http://files.download.centreon.com/public/centreon-broker/centreon-broker-19.04.0.tar.gz
tar xzf centreon-broker-19.04.0.tar.gz
cd centreon-broker-19.04.0/build
Préparons la compilation.
sed -i '32i\set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++98 -fpermissive")' CMakeLists.txt
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_VAR=/var/lib/centreon-broker \
-DWITH_PREFIX_MODULES=/usr/share/centreon/lib/centreon-broker \
-DWITH_STARTUP_SCRIPT=systemd \
-DWITH_STARTUP_DIR=/lib/systemd/system \
-DWITH_TESTING=0 \
-DWITH_USER=centreon-broker .
Extrait du résultat
-- Configuration Summary
-- ---------------------
--
-- Project
-- - Name Centreon Broker
-- - Version 19.04.0
--
-- System
-- - Name Linux
-- - Version 4.19.0-5-amd64
-- - Processor x86_64
--
-- Build
-- - Compiler /usr/bin/c++ (GNU)
-- - Extra compilation flags -std=c++98 -fpermissive
-- - Qt 4.8.7
-- - Unit tests disabled
-- - Startup script systemd
-- - Module stats, neb, notification, correlation, dumper, rrd, sql, storage, lua, influxdb, graphite, bam, tcp, tls
--
-- 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 /lib/systemd/system
-- - User centreon-broker
-- - Group centreon-broker
-- - Package None
--
-- Configuring done
-- Generating done
-- Build files have been written to: /usr/local/src/centreon-broker-19.04.0/build
Ensuite compilons cette configuration et installons dans le système de fichiers.
make
make install
Mettre le service cbd en démarrage automatique.
systemctl enable cbd.service
systemctl daemon-reload
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
apt-get install snmp snmpd snmptrapd libnet-snmp-perl libsnmp-perl -y
7.2 Paramétrages
Pour le fonctionnement du SNMP, modifiez le fichier /etc/snmp/snmpd.conf
agentAddress udp:localhost:161
rocommunity public localhost
Pour éviter d’avoir un deamon snmpd trop bavard, (réduction des logs), modifier le fichier /lib/systemd/system/snmpd.service
.....
ExecStart=/usr/sbin/snmpd -LS4d -Lf /dev/null -u Debian-snmp -g Debian-snmp -I -smux,mteTrigger,mteTriggerConf -f
.....
Et pour recevoir les traps modifier le fichier /etc/default/snmptrapd
# snmptrapd options (use syslog).
TRAPDOPTS='-On -Lsdf /var/log/snmptrapd.log -p /run/snmptrapd.pid'
7.3 Installation des mibs
7.3a Modification du dépôt Debian
Modifiez le fichier /etc/apt/sources.list. Rajoutez non-free sur les dépôts.
deb http://ftp.fr.debian.org/debian/ buster main non-free
deb-src http://ftp.fr.debian.org/debian/ buster main non-free
Faites une mise à jour
apt-get update
7.3b Ajout des mibs
Il vous reste à rajouter les mibs
apt-get install snmp-mibs-downloader -y
7.3c Modification de la configuration SNMP
Commentez la ligne du fichier /etc/snmp/snmp.conf
#mibs :
Redémarrez les services SNMP
systemctl daemon-reload
systemctl restart snmpd snmptrapd
7.3d 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.
8 Installation de Centreon Web
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
Rajoutez l'utilisateur centreon-broker dans le groupe centreon. Ceci permettra au broker de créer les fichier RRD.
usermod -aG centreon centreon-broker
Nous allons installer apache et php en mode fpm.
apt-get install php php7.3-opcache libapache2-mod-php php-mysql php-curl php-json php-gd php-intl php-mbstring php-xml php-zip php-fpm php-readline -y
Il faut aussi installer des paquets supplémentaires. Pour Debian 9, privilégiez le serveur de base de données MariaDB.
apt-get install php-sqlite3 php-pear sudo tofrodos bsd-mailx lsb-release mariadb-server libconfig-inifiles-perl libcrypt-des-perl libdigest-hmac-perl libdigest-sha-perl libgd-perl php-ldap php-snmp php7.3-db -y
Activons les modules
a2enmod proxy_fcgi setenvif proxy rewrite a2enconf php7.3-fpm a2dismod php7.3 systemctl restart apache2 php7.3-fpm
Nouveauté avec la version 19.04.0, il faut obligatoirement configurer le paramètre date.timezone pour le php-fpm. Pour cela, éditez le fichier de configuration pour apache. Attention, bien respectez la casse et ne pas mettre d'espace.
vi /etc/php/7.3/fpm/php.ini
Saisissez la valeur adaptée à votre configuration.
[Date] ; Defines the default timezone used by the date functions ; http://php.net/date.timezone date.timezone = Europe/Paris
8.1a Installation de la librairie perl RRDs.pm
Pour les statistiques des moteurs, nous devons installer la librairie RRDs.pm à partir des sources.
cd /usr/local/src/rrdtool-1.4.7/bindings/perl-shared perl Makefile.PL make test make install
Vous éviterez cette erreur dans le fichier de log /var/log/centreon/nagiosPerfTrace.log
Can't locate RRDs.pm in @INC (you may need to install the RRDs module) (@INC contains: /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.24.1 /usr/local/share/perl/5.24.1 /usr/lib/x86_64-linux-gnu/perl5/5.24 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.24 /usr/share/perl/5.24 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base) at /usr/share/perl5/centreon/script/nagiosPerfTrace.pm line 38. BEGIN failed--compilation aborted at /usr/share/perl5/centreon/script/nagiosPerfTrace.pm line 38. Compilation failed in require at /usr/share/centreon/cron/nagiosPerfTrace line 35. BEGIN failed--compilation aborted at /usr/share/centreon/cron/nagiosPerfTrace line 35.
8.2 Installation en ligne de commande
Téléchargez le binaire du 05/09/2019 dans le dossier /usr/local/src et décompressez-le.
cd /usr/local/src wget http://files.download.centreon.com/public/centreon/centreon-web-19.04.4.tar.gz tar xzf centreon-web-19.04.4.tar.gz cd centreon-web-19.04.4
8.2a Installation des dépendances Php
Avant de continuer l'installation, installer PHP composer
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" php composer-setup.php --install-dir=/usr/bin --filename=composer
Lancer la commande pour installer les dépendances php
composer install --no-dev --optimize-autoloader
8.2b Installation des dépendances Javascript
Installez les paquets nécessaires à l'environnement d'exécution javascript nodejs.
apt-get install curl curl -sL https://deb.nodesource.com/setup_12.x | bash - apt-get install -y nodejs
Exécutez les commandes suivantes.
npm install npm run build
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. Bon la version est restée en 18.10.3 mais ce n'est pas grave ;-)
############################################################################### # # # Centreon (www.centreon.com) # # Thanks for using Centreon # # # # v18.10.3 # # # # 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.
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. Il faudra saisir le chemin du rrdtool compilé précédemment et le chemin du fichier PEAR.php. Il y a une petite erreur pour la prise en compte de la configuration centreon pour le serveur Apache. Celle-ci sera corrigé avec la procédure décrite plus bas avec l’installation en mode ligne de commande.
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 variable library directory? default to [/var/lib/centreon] > Path /var/lib/centreon OK Where is rrdtool default to [/usr/bin/rrdtool] > /opt/rddtool-broker/bin/rrdtool /opt/rddtool-broker/bin/rrdtool OK /usr/bin/mail OK /usr/bin/php OK /usr/bin/composer OK Where is your php binary ? default to [/usr/bin/php] > /usr/bin/php OK Where is PEAR [PEAR.php] default to [/usr/share/pear/PEAR.php] > /usr/share/php/PEAR.php Path /usr/share/php OK /usr/bin/perl OK check PHP version OK Composer dependencies are installed OK Frontend application is built OK Enable Apache configuration OK ERROR: Conf centreon does not exist! Finding Apache user : www-data Finding Apache group : www-data PHP FPM config directory not found CRITICAL Where is your PHP FPM conf.d directory > /etc/php/7.3/fpm/pool.d/
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] >
Laissez les valeurs par défaut.
What is the Monitoring engine user ? [centreon-engine] default to [centreon-engine] > What is the Broker user ? [centreon-broker] default to [centreon-broker] > What is the Monitoring engine log directory ? [/var/log/centreon-engine] default to [/var/log/centreon-engine] > Path OK Path 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 Add group www-data to user centreon OK
Configuration des commandes utilisées par Sudo. Validez les chemins par défaut et surtout répondre y pour la création du fichier /etc/sudoers.d/centreon et pour la configuration de sudo.
------------------------------------------------------------------------ Configure Sudo ------------------------------------------------------------------------ Where is sudo configuration file default to [/etc/sudoers.d/centreon] > Do you want me to create this file ? [/etc/sudoers.d/centreon] [y/n], default to [n]: > y /etc/sudoers.d/centreon What is the Monitoring engine binary ? [/usr/sbin/centengine] default to [/usr/sbin/centengine] > What is the Monitoring engine configuration directory ? [/etc/centreon-engine] default to [/etc/centreon-engine] > Where is the configuration directory for broker module ? [/etc/centreon-broker] default to [/etc/centreon-broker] > Where is your service command binary ? default to [/usr/sbin/service] > 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. Laissez par défaut en répondant y, un warning pour le démarrage du PHP FPM sans importance
------------------------------------------------------------------------ Configure Apache server ------------------------------------------------------------------------ Do you want to add Centreon Apache sub configuration file ? [y/n], default to [n]: > y Create '/etc/apache2/conf-available/centreon.conf' OK Configuring Apache OK Do you want to reload your Apache ? [y/n], default to [n]: > y Reloading Apache service OK ------------------------------------------------------------------------ Configure PHP FPM service ------------------------------------------------------------------------ Do you want to add Centreon PHP FPM sub configuration file ? [y/n], default to [n]: > y Creating directory /var/lib/centreon/sessions OK Create '/etc/php/7.3/fpm/pool.d/centreon.conf' OK Configuring PHP FPM OK Do you want to reload PHP FPM service ? [y/n], default to [n]: > y Reloading PHP FPM service OK Preparing Centreon temporary files Change right on /var/log/centreon OK Change right on /etc/centreon OK cp: impossible d'évaluer 'www/template': Aucun fichier ou dossier de ce type Change macros for insertBaseConf.sql OK Change macros for sql update files OK Change macros for php files OK Change macros for php config file 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 OK Install libraries OK Write right to Smarty Cache 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 Change macros for centreon-backup.pl OK Install cron directory OK Change right for eventReportBuilder OK Change right for dashboardBuilder OK Change right for centreon-backup.pl OK Change right for centreon-backup-mysql.sh 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 Prepare generateSqlLite 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 Prepare clapi binary OK Install clapi binary OK Centreon Web Perl lib installed OK ------------------------------------------------------------------------ Pear Modules ------------------------------------------------------------------------ Check PEAR modules PEAR 1.4.9 1.10.6 OK DB 1.7.6 NOK Date 1.4.6 1.4.7 OK Do you want me to install/upgrade your PEAR modules [y/n], default to [y]: > y Upgrading PEAR modules Installing PEAR modules DB 1.7.6 1.9.3 OK Check PEAR modules PEAR 1.4.9 1.10.9 OK DB 1.7.6 1.9.3 OK Date 1.4.6 1.4.7 OK All PEAR modules OK ------------------------------------------------------------------------ Centreon Post Install ------------------------------------------------------------------------ Create /usr/share/centreon/www/install/install.conf.php OK Create /etc/centreon/instCentWeb.conf OK ------------------------------------------------------------------------ Centreon Post Install ------------------------------------------------------------------------ Create /usr/share/centreon/www/install/install.conf.php OK Create /etc/centreon/instCentWeb.conf OK
Nous continuons avec l'installation de CentStorage. Laissez par défaut et y pour le lancement du service.
------------------------------------------------------------------------ Starting 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 Change right : /var/run/centreon OK Install logAnalyserBroker OK Install nagiosPerfTrace OK Change macros for centstorage.cron OK Install CentStorage cron OK Create /etc/centreon/instCentStorage.conf OK
Installation du module CentCore. Laissez par défaut, installez le script centcore.
------------------------------------------------------------------------ Starting 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: warning: start and stop actions are no longer supported; falling back to defaults 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. Attention, modifiez le chemin des binaires de Centreontrapd.
------------------------------------------------------------------------ Starting CentreonTrapD Installation ------------------------------------------------------------------------ Path OK Path OK 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: warning: start and stop actions are no longer supported; falling back to defaults trapd Perl lib installed OK Install : snmptrapd.conf OK Install : centreontrapdforward OK Install : centreontrapd OK Change macros for centreontrapd.logrotate OK Install Centreon Trapd logrotate.d file OK Create /etc/centreon/instCentPlugins.conf OK ############################################################################### # # # Go to the URL : http://debian-test9/centreon/ # # to finish the setup # # # # Report bugs at https://github.com/centreon/centreon/issues # # # # Thanks for using Centreon. # # ----------------------- # # Contact : infos@centreon.com # # http://www.centreon.com # # # ###############################################################################
Nous allons procéder à quelques rectifications. Modifier les fichiers qui n'ont pas eu la bonne information pour le chemin du php.
sed -i -e 's/@PHP_BIN@/\/usr\/bin\/php/g' /usr/share/centreon/bin/centreon sed -i -e 's/@PHP_BIN@/\/usr\/bin\/php/g' /usr/share/centreon/bin/export-mysql-indexes sed -i -e 's/@PHP_BIN@/\/usr\/bin\/php/g' /usr/share/centreon/bin/generateSqlLite sed -i -e 's/@PHP_BIN@/\/usr\/bin\/php/g' /usr/share/centreon/bin/import-mysql-indexes
Pour éviter les problèmes de droit pour les fichiers temporaires des plugins Centreon, modifiez les droits pour le dossier /var/lib/centreon/centplugins
chmod 775 /var/lib/centreon/centplugins chown centreon: /var/lib/centreon/centplugins
Il faut terminer l’installation en mode Web.
8.3 Installation en mode Web
Avec Debian 9.0, il faut autoriser la configuration Centreon pour le serveur Web Apache
a2enconf centreon.conf
-
Logs apache personnalisés
- Il peut être intéressant de gérer les logs de l'interface Centreon dans des fichiers à part. Nous utiliserons les directives ErrorLog et CustomLog. Editez le fichier de configuration d'apache pour Centreon
vi /etc/apache2/conf-available/centreon.conf
Rajoutez les deux lignes suivantes après la directive Directory.ErrorLog /var/log/apache2/error.centreon.log
CustomLog /var/log/apache2/access.centreon.log combined
Après un redémarrage d'apache, vous obtenez deux fichiers de logs spécifiques à l'IHM de Centreon.ls -l /var/log/apache2/*.centreon.log
-rw-r--r-- 1 root root 0 janv. 30 17:39 /var/log/apache2/access.centreon.log
-rw-r--r-- 1 root root 243 janv. 30 17:39 /var/log/apache2/error.centreon.log
Relancez la configuration.
systemctl restart apache2 php7.3-fpm
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"
L’écran suivant vous indique que la package php7-intl n’est pas installé et que vous n’avez pas configuré le fuseau horaire dans le php.ini du serveur fpm.
Validation des dépendances, cliquez sur "next".
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/ Centreon Plugins Path: /usr/lib/centreon/plugins
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
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 chown centreon: /var/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. Saisir le mot de passe pour ces bases de données.
Pour effectuer des tests rapides sur une installation de préprod, vous pouvez désactiver la sécurité en utilisant root sans mot de passe. Pour cela, ouvrir une session mysql.
mysql
MariaDB [(none)]> use mysql;
MariaDB [mysql]> update user set plugin='' where user='root';
MariaDB [mysql]> flush privileges;
Afin de pouvoir partitioner certaines tables de la base centreon_storage, modifiez le fichier de configuration systemd de MySQL /lib/systemd/system/mariadb.service. Modifiez la ligne suivante.
Remplacez
LimitNOFILE=16364par
LimitNOFILE=32000
MariaDB est configuré avec le mode Strict incompatible avec Centreon. Exemple :
# mysql mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 36
Server version: 10.3.17-MariaDB-0+deb10u1 Debian 10
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [mysql]> show variables like 'sql_mode';
+---------------+-------------------------------------------------------------------------------------------+
| Variable_name | Value |
+---------------+-------------------------------------------------------------------------------------------+
| sql_mode | STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION |
+---------------+-------------------------------------------------------------------------------------------+1 row in set (0.002 sec)
Il faudra impérativement désactiver ce mode en modifiant ou en créant le fichier /etc/mysql/conf.d/centreon.cnf et ajoutez les lignes suivantes :
[mysqld]
sql_mode='ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
Redémarrez le serveur pour prendre en compte le nouveau mode.
Redémarrez le serveur MySql en prenant compte les modifications.
systemctl daemon-reload systemctl restart mysql
Cliquez sur Next
La dernière mise à jour de Debian avec MariaDB 10.1.38 semble poser problème avec la configuration de systemd et LimitNOFILE. Le processus de création des tables Centreon ne fonctionne pas comme le montre cette copie d'écran.
Pourtant la configuration a bien pris en compte le paramètre LimitNOFILE en vérifiant avec la commande suivante :
cat /proc/$(pidof mysqld)/limits | egrep 'Limit|open files'
Limit Soft Limit Hard Limit Units
Max open files 32000 32000 files
Par contre, lorsqu'on vérifie la valeur dans MariaDB, on constate une autre valeur
mysql
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 5
Server version: 10.1.38-MariaDB-0+deb9u1 Debian 9.8
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> show global variables like 'open_files_limit';
+------------------+-------+
| Variable_name | Value |
+------------------+-------+
| open_files_limit | 4184 |
+------------------+-------+
1 row in set (0.00 sec)
MariaDB [(none)]>
La parade sera la suivante, éditez ou créez le fichier /etc/mysql/conf.d/centreon.cnf et ajoutez les lignes suivantes :
[mysqld]
open_files_limit=32000
Avec certaines installation un juste au niveau RAM, le processus de partition de base de données peut se bloquer.
Voici le message d'erreur que vous trouverez dans le fichier de log d'apache.
[proxy_fcgi:error] [pid 30958] (70007)The timeout specified has expired: [client 192.168.0.10:63020] AH01075: Error dispatching request to : (polling), referer: http://192.168.0.217/centreon/install/install.php
Pas de panique, fermer la fenêtre d'installation et saisir de nouveau l'url http://<ip du serveur centreon>/centreon/, vous tomberez dans un processus d'upgrade et vous pourrez finaliser l'installation.
Cliquez sur Next
Cliquez sur Next
Fin de l'installation, cliquez sur Finish
Vous devriez avoir cette vue.
8.4 Préparation de la configuration
Cette nouvelle version ne contient plus les plugins historiques de Centreon ainsi que la base d'exemples de configuration. Cette version est développée pour les nouveaux plugins-pack de Centreon. Vous avez le minimum vital : quelques contacts, périodes temporelles, macro ressources, les traps SNMP et la configuration du poller pour le Central. Actuellement, le module IMP n'est pas encore compatible avec la distribution Debian. Nous allons quand-même installer un exemple de configuration basé sur mes scripts CLAPI pour centreon-deb. Nous allons utiliser la dernière version de mon script de configuration sur mon github.
cd /usr/local/src apt-get install git -y git clone https://github.com/kermith72/auto_install.git
Il faudra aussi renseigner la valeur de la macro $USER1$, cliquez sur Configuration -> Pollers -> Resources. Modifiez la valeur avec le chemin des plugins historique /usr/lib/nagios/plugins
8.5 Lancement des services et application de la configuration
Démarrez les services ci-dessous :
systemctl start cbd systemctl start centcore systemctl start centreontrapd
-
cbd : le watchdog du broker
- Au lancement du service cbd, vous démarrez le watchdog cbwd qui permettra ensuite de lancer les processus broker. Lors d'une première installation, vous avez seulement un fichier de configuration watchdog.xml dans le dossier /etc/centreon-broker.
ls -l /etc/centreon-broker
total 4
-rwxrwxr-x 1 centreon-broker centreon-broker 999 janv. 30 17:17 watchdog.xml
Comme il n'y a pas encore de fichier de configuration pour les processus broker, vous n'aurez que le programme watchdog cbwd en mémoire comme ci-dessous :systemctl status cbd
● cbd.service - LSB: Start daemon cbd at boot
Loaded: loaded (/etc/init.d/cbd)
Active: active (running) since mer. 2018-01-31 11:39:08 CET; 6min ago
Process: 77683 ExecStart=/etc/init.d/cbd start (code=exited, status=0/SUCCESS)
CGroup: /system.slice/cbd.service
└─77688 /usr/sbin/cbwd /etc/centreon-broker/watchdog.xml
janv. 31 11:39:08 central-install-8 cbd[77683]: Starting Centreon Broker watchdog: cbd.
janv. 31 11:39:08 central-install-8 systemd[1]: Started LSB: Start daemon cbd at boot.
Et vous avez la possibilité de vérifier le bon fonctionnement du watchdog avec son fichier de log associé :cat /var/log/centreon-broker/watchdog.log
…….
[1517395681] info: watchdog: starting process 'central-broker'
[1517395681] info: watchdog: process 'central-broker' started (PID 78871)
[1517395681] info: watchdog: starting process 'central-rrd'
[1517395681] info: watchdog: process 'central-rrd' started (PID 78872)
[1517395681] error: watchdog: process 'central-rrd' terminated unexpectedly, restarting it immediately
[1517395681] error: watchdog: process 'central-broker' terminated unexpectedly, restarting it immediately
……..
Vous remarquerez de nombreux messages d'erreur car le watchdog n'arrive pas à lancer les processus broker prédéfinis. Tant que vous n'aurez pas exporter votre première configuration, vous aurez droit à ces messages d'erreur. Un conseil, ne tardez pas à lancer votre première configuration ;) Pour avoir plus d'informations sur le watchdog, lisez cet article. -
centcore : le compagnon des pollers distants
- Centcore va gérer l'exportation des pollers. Il est aussi nécessaire pour la gestion des traps SNMP avec le service centreontrapd. Il gère aussi les commandes externes des pollers. Vous pouvez vérifier son fonctionnement avec cette commande.
systemctl status centcore
● centcore.service - LSB: Start daemon centcore at boot
Loaded: loaded (/etc/init.d/centcore)
Active: active (running) since mer. 2018-01-31 11:52:23 CET; 1s ago
Process: 79461 ExecStart=/etc/init.d/centcore start (code=exited, status=0/SUCCESS)
CGroup: /system.slice/centcore.service
└─79466 /usr/bin/perl /usr/share/centreon/bin/centcore --logfile=/var/log/centreon/centcore.log --severity=error --config=...
Il est possible de vérifier les erreurs avec son fichier de log associé.cat /var/log/centreon/centcore.log
Par défaut, vous n'aurez pas beaucoup d'informations sur le bon fonctionnement ou non de centcore. Il est possible d'obtenir d'autres informations en activant le mode debug dans l'IHM de Centreon : Administration / Parameters / Debug -
centreontrapd : la gestion des traps SNMP
- Centreontrapd est un service dédié au trap SNMP. Pour vérifiez son status, lancez la commande suivante :
systemctl status centreontrapd
● centreontrapd.service - LSB: Start daemon centreontrapd at boot
Loaded: loaded (/etc/init.d/centreontrapd)
Active: active (running) since mer. 2018-01-31 13:27:33 CET; 1s ago
Process: 83289 ExecStart=/etc/init.d/centreontrapd start (code=exited, status=0/SUCCESS)
CGroup: /system.slice/centreontrapd.service
└─83294 /usr/bin/perl /usr/share/centreon/bin/centreontrapd --logfile=/var/log/centreon/centreontrapd.log --severity=error...
Il est possible de vérifier les erreurs avec son fichier de log associé.cat /var/log/centreon/centreontrapd.log
2018-01-31 13:27:34 - 83294 - Mode: central server
La ligne ci-dessus indique le fonctionnement pour un Central. Lisez cet article pour la configuration des traps SNMP dans Centreon. Comme pour le service centcore, il est possible d'activer le mode debug comme indiqué ci-dessous.
8.5a création d'un cgroup centreon
Les scripts systemd pour le démarrage du moteur et du broker ont subi une modification avec la version 19.04. Les processus démarrent avec un cgroup (groupe de processus) centreon. Malheureusement, celui-ci n'est pas créé automatiquement, ce qui provoque cette erreur ci-dessous après un redémarrage de Centreon.
Nous allons créer ce cgroup manuellement. créez le fichier /lib/systemd/system/centreon.service.
vi /lib/systemd/system/centreon.service
Saisissez les lignes suivantes
[Unit] Description=Cgroup Centreon [Service] Type=oneshot ExecStart=/bin/true ExecReload=/bin/true RemainAfterExit=yes [Install] WantedBy=multi-user.target
Activez le cgroup.
systemctl daemon-reload systemctl enable centreon
Au redémarrage du serveur, le cgroup centreon va démarrer les services cbd et centengine.
8.5b script création de la configuration initiale
Nous allons utiliser le script téléchargé précédemment create_config_initial.sh. Après avoir modifié les permissions du fichier pour le rendre exécutable. Les paramètres sont les suivants :
donnez les droits d'exécution :
-u : admin Centreon
-p : mot de passe de l'admin Centreon
-d : user mariaDB pour Centreon
-w : mot de passe user mariaDB
-s : création des services disk
-m : méthode restart
donnez les droits d'exécution :
chmod +x /usr/local/src/auto_install/debian9/create_config_initialV4.sh
Lancez ce script comme ceci :
/usr/local/src/auto_install/debian9/create_config_initialV4.sh -u=admin -p=password -d=centreon -w=centreon -s=yes -m=restart
Voici le résultat de la commande :
Create Command base Create Command local Create Command snmp Create Command mysql Create template service base Create template service local Create template service snmp Create template service local database Create template app centreon poller Create template app centreon central Create template host Create Central add storage Configuration OK !
Au bout de quelques secondes, vous devriez voir apparaître les services en état pending dans la vue Temps réels
Vous pouvez rencontrer ce type d'erreur lors de l'application de la configuration, car la chemin de la commande du plugin n'est pas correct.
Il faudra renseigner la valeur de la macro $USER1$, cliquez sur Configuration -> Pollers -> Resources. Modifiez la valeur avec le chemin des plugins historique /usr/lib/nagios/plugins
Ensuite, 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
Vous remarquerez un problème sur un service associé à la carte réseau de notre machine
Le paquet net-tools est requis pour le fonctionnement du mode interface.
apt-get install net-tools
Il faudra aussi adapter le nom de la carte en modifiant la macro personnalisée du service.
8.6 Installation des widgets
Téléchargez les binaires des widgets compatibles avec cette version.
cd /usr/local/src wget http://files.download.centreon.com/public/centreon-widgets/centreon-widget-graph-monitoring/centreon-widget-graph-monitoring-19.04.0.tar.gz wget http://files.download.centreon.com/public/centreon-widgets/centreon-widget-service-monitoring/centreon-widget-service-monitoring-19.04.2.tar.gz wget http://files.download.centreon.com/public/centreon-widgets/centreon-widget-host-monitoring/centreon-widget-host-monitoring-19.04.1.tar.gz wget http://files.download.centreon.com/public/centreon-widgets/centreon-widget-servicegroup-monitoring/centreon-widget-servicegroup-monitoring-19.04.0.tar.gz wget http://files.download.centreon.com/public/centreon-widgets/centreon-widget-hostgroup-monitoring/centreon-widget-hostgroup-monitoring-19.04.0.tar.gz wget http://files.download.centreon.com/public/centreon-widgets/centreon-widget-engine-status/centreon-widget-engine-status-19.04.0.tar.gz wget http://files.download.centreon.com/public/centreon-widgets/centreon-widget-grid-map/centreon-widget-grid-map-19.04.0.tar.gz wget http://files.download.centreon.com/public/centreon-widgets/centreon-widget-httploader/centreon-widget-httploader-19.04.0.tar.gz wget http://files.download.centreon.com/public/centreon-widgets/centreon-widget-tactical-overview/centreon-widget-tactical-overview-19.04.0.tar.gz wget http://files.download.centreon.com/public/centreon-widgets/centreon-widget-live-top10-cpu-usage/centreon-widget-live-top10-cpu-usage-19.04.0.tar.gz wget http://files.download.centreon.com/public/centreon-widgets/centreon-widget-live-top10-memory-usage/centreon-widget-live-top10-memory-usage-19.04.0.tar.gz
Décompressez les archives
tar xzf centreon-widget-grid-map-19.04.0.tar.gz tar xzf centreon-widget-tactical-overview-19.04.0.tar.gz tar xzf centreon-widget-httploader-19.04.0.tar.gz tar xzf centreon-widget-engine-status-19.04.0.tar.gz tar xzf centreon-widget-service-monitoring-19.04.2.tar.gz tar xzf centreon-widget-host-monitoring-19.04.1.tar.gz tar xzf centreon-widget-servicegroup-monitoring-19.04.0.tar.gz tar xzf centreon-widget-hostgroup-monitoring-19.04.0.tar.gz tar xzf centreon-widget-graph-monitoring-19.04.0.tar.gz tar xzf centreon-widget-live-top10-memory-usage-19.04.0.tar.gz tar xzf centreon-widget-live-top10-cpu-usage-19.04.0.tar.gz
Déplaçons les widgets dans le dossier réservé à ceux-ci.
mv centreon-widget-graph-monitoring-19.04.0/graph-monitoring /usr/share/centreon/www/widgets/ mv centreon-widget-service-monitoring-19.04.1/service-monitoring/ /usr/share/centreon/www/widgets/ mv centreon-widget-host-monitoring-19.04.1/host-monitoring/ /usr/share/centreon/www/widgets/ mv centreon-widget-servicegroup-monitoring-19.04.0/servicegroup-monitoring/ /usr/share/centreon/www/widgets/ mv centreon-widget-hostgroup-monitoring-19.04.0/hostgroup-monitoring/ /usr/share/centreon/www/widgets/ mv centreon-widget-grid-map-19.04.0/grid-map/ /usr/share/centreon/www/widgets/ mv centreon-widget-httploader-19.04.0/httploader/ /usr/share/centreon/www/widgets/ mv centreon-widget-tactical-overview-19.04.0/tactical-overview/ /usr/share/centreon/www/widgets/ mv centreon-widget-engine-status-19.04.0/engine-status /usr/share/centreon/www/widgets/ mv centreon-widget-live-top10-cpu-usage-19.04.0/live-top10-cpu-usage/ /usr/share/centreon/www/widgets/ mv centreon-widget-live-top10-memory-usage-19.04.0/live-top10-memory-usage/ /usr/share/centreon/www/widgets/
Authentifiez-vous sur l’interface Web de Centreon. Sélectionnez Administration / Extensions / Manager
Il est possible d'activer tous les widgets en une seule commande. Cliquez sur le bouton Install all.
Les widgets sont installées.