![Stacks Image 2228](files/stacks-image-4192055-176x146.png)
Voici la procédure pour installer un poller distant 20.10 sous Debian Buster. Nous utiliserons les sources de Centreon.
![Stacks Image 1119172](files/stacks-image-fa0737e-48x46.png)
- Suite à l'arrêt du service Bintray pour Conan le 1er mai 2021, j'ai dû modifier ce tutoriel pour la compilation du connecteur, du moteur et du broker. Un grand merci au staff des dev de Centreon pour leur réactivité.
- Les paquets sources sont à prendre en priorité, j'ai laissé la solution du téléchargement des dépôts GitHub.
1 Préparation de la VM
1.1 Installation de 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. Sélectionnez les composants suivants.
![Stacks Image 1118346](files/stacks-image-9a78ccb.png)
![Stacks Image 1118351](files/stacks-image-fa0737e-48x46.png)
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 update && apt upgrade -y
2 Installation de Centreon Clib
![Stacks Image 1118486](files/stacks-image-756f486-294x186.png)
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 install cmake python3-pip -y
2.2 Installation
2.2a Installation via le github Centreon
![Stacks Image 1119175](files/stacks-image-2782cd4-40x38.png)
Téléchargez le paquet git
apt install git -y
Téléchargez le dépôt github
cd /usr/local/src
git clone -b 20.10.x https://github.com/centreon/centreon-clib
cd centreon-clib
mkdir build
cd build
Passez au point 2.2c
2.2b Installation via les paquets sources
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-20.10.3.tar.gz
tar xzf centreon-clib-20.10.3.tar.gz
cd centreon-clib-20.10.3
mkdir build
cd build
2.2c Compilation
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 20.10.3
-- - With shared library Yes
-- - With static library No
--
-- System
-- - Name Linux
-- - Version 4.19.0-16-amd64
-- - Processor x86_64
--
-- Build
-- - Compiler /usr/bin/c++ (GNU)
-- - Extra compilation flags -std=c++14
-- - 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-20.10.3/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
![Stacks Image 1118524](files/stacks-image-f13c42d-294x186.png)
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 Pré requis
Tout d'abord, installons les paquets nécessaires au fonctionnement de cette librairie.
apt install libperl-dev libssh2-1-dev libgcrypt-dev -y
Installons maintenant conan
pip3 install conan
L'installation, au préalable, de Centreon Clib est obligatoire.
3.2 Installation
3.2a Installation via le github Centreon
![Stacks Image 1119178](files/stacks-image-2782cd4-40x38.png)
Téléchargez le dépôt github
cd /usr/local/src
git clone -b 20.10.x https://github.com/centreon/centreon-connectors
cd centreon-connectors
mkdir build
cd build
Passez au point 3.2c
3.2b Installation via les paquets sources
La dernière version stable est la 20.10.2. 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-connectors-20.10.2.tar.gz
tar xzf centreon-connectors-20.10.2.tar.gz
cd centreon-connectors-20.10.2
mkdir build
cd build
3.2c Compilation
Installons les librairies C++ nécessaires.
conan install .. -s compiler.libcxx=libstdc++11 --build=missing
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
-- The CXX compiler identification is GNU 8.3.0
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE)
-- Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE)
-- Found Perl: /usr/bin/perl (found version "5.28.1")
-- Found PerlLibs: /usr/lib/x86_64-linux-gnu/libperl.so.5.28 (found version "5.28.1")
INFO -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
-- Conan: Using autogenerated Findfmt.cmake
-- Found fmt: 7.1.3 (found version "7.1.3")
-- Library fmt found /root/.conan/data/fmt/7.1.3/_/_/package/56e0cf6d16ee57367a0661ab743f4e43b29223f8/lib/libfmt.a
-- Found: /root/.conan/data/fmt/7.1.3/_/_/package/56e0cf6d16ee57367a0661ab743f4e43b29223f8/lib/libfmt.a
-- Conan: Using autogenerated Findspdlog.cmake
-- Found spdlog: 1.8.5 (found version "1.8.5")
-- Library spdlog found /root/.conan/data/spdlog/1.8.5/_/_/package/c7e1b1004c948250b7562beecd9031d66e8b92a7/lib/libspdlog.a
-- Found: /root/.conan/data/spdlog/1.8.5/_/_/package/c7e1b1004c948250b7562beecd9031d66e8b92a7/lib/libspdlog.a
-- Conan: Dependency fmt already found
-- Library spdlog found /root/.conan/data/spdlog/1.8.5/_/_/package/c7e1b1004c948250b7562beecd9031d66e8b92a7/lib/libspdlog.a
-- Found: /root/.conan/data/spdlog/1.8.5/_/_/package/c7e1b1004c948250b7562beecd9031d66e8b92a7/lib/libspdlog.a
-- Configuring done
-- Generating done
-- Build files have been written to: /usr/local/src/centreon-connectors-20.10.2/build
Ensuite compilons cette configuration et installons dans le dossier /usr/lib/centreon-connector/
make && make install
C'est terminé, nous pouvons continuer par l'installation de Centreon Engine.
4 Installation de Centreon Engine
![Stacks Image 1118635](files/stacks-image-9d11632-294x186.png)
Ce chapitre présente l'installation du moteur de supervision créé par l'équipe de Centreon. Nous utiliserons la dernière version 20.10. 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
4.2a Installation via le github Centreon
![Stacks Image 1119181](files/stacks-image-2782cd4-40x38.png)
Téléchargez le dépôt github
cd /usr/local/src
git clone -b 20.10.x https://github.com/centreon/centreon-engine
cd centreon-engine
mkdir build
cd build
Passez au point 4.2c
4.2b Installation via les paquets sources
La dernière version stable est la 20.10.6. 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-20.10.2.tar.gz
tar xzf centreon-engine-20.10.2.tar.gz
cd centreon-engine-20.10.2
mkdir build
cd build
4.2c Compilation
Installons les librairies C++ nécessaires.
conan install .. -s compiler.libcxx=libstdc++11 --build=missing
Préparons la compilation. J'ai ajouté la directive -DWITH_SAMPLE_CONFIG=off évitant la création d'une configuration exemple qui ne servira pas.
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_SAMPLE_CONFIG=off \
-DWITH_PKGCONFIG_DIR=/usr/lib/pkgconfig \
-DWITH_TESTING=0 ..
Extrait du résultat
-- Configuration Summary
-- ---------------------
--
-- Project
-- - Name Centreon Engine
-- - Version 20.10.6
--
-- System
-- - Name Linux
-- - Version 4.19.0-16-amd64
-- - Processor x86_64
--
-- Build
-- - Compiler /usr/bin/c++ (GNU)
-- - Extra compilation flags -std=c++14
-- - 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-20.10.6/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
[1623507775] [10873] Centreon Engine 20.10.6
[1623507775] [10873]
[1623507775] [10873] Copyright 1999-2009 Ethan Galstad
[1623507775] [10873] Copyright 2009-2010 Nagios Core Development Team and Community Contributors
[1623507775] [10873] Copyright 2011-2021 Centreon
[1623507775] [10873]
[1623507775] [10873] This program is free software: you can redistribute it and/or
[1623507775] [10873] modify it under the terms of the GNU General Public License version 2
[1623507775] [10873] as published by the Free Software Foundation.
[1623507775] [10873]
[1623507775] [10873] Centreon Engine is distributed in the hope that it will be useful,
[1623507775] [10873] but WITHOUT ANY WARRANTY; without even the implied warranty of
[1623507775] [10873] MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
[1623507775] [10873] General Public License for more details.
[1623507775] [10873]
[1623507775] [10873] You should have received a copy of the GNU General Public License
[1623507775] [10873] along with this program. If not, see
[1603375564] [10217] <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 9.1)
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
![Stacks Image 1118684](files/stacks-image-f113bb8-294x186.png)
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 Installation des plugins historiques
5.1.a Installation par les paquets Debian
Installons le paquet des plugins historiques. Grâce aux dépendances, les paquets nécessaires au fonctionnement de ces plugins s'installeront automatiquement.
apt install monitoring-plugins -y
5.1.b Installation par les sources
Tout d'abord, installons les paquets nécessaires au fonctionnement des plugins historiques pour Debian.
apt 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
1 - récupération des plugins sur le site de nagios-plugins.org
Téléchargement
cd /usr/local/src
wget http://nagios-plugins.org/download/nagios-plugins-2.3.3.tar.gz
Décompression
tar -xzf nagios-plugins-2.3.3.tar.gz
cd nagios-plugins-2.3.3
2 - récupération des plugins sur le site de monitoring-plugins.org
Téléchargement
cd /usr/local/src
wget --no-check-certificate https://www.monitoring-plugins.org/download/monitoring-plugins-2.3.1.tar.gz
Décompression
tar -xzf monitoring-plugins-2.3.1.tar.gz
cd monitoring-plugins-2.3.1
3 - 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 Installation des plugins Centreon
Pour utiliser la majorité des plugins Centreon, vous aurez besoin des paquets suivants.
apt 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
Nous utiliserons le dernier binaire centreon-plugins-20210218.tar.gz du site Centreon Download.
cd /usr/local/src
wget http://files.download.centreon.com/public/centreon-plugins/centreon-plugins-20210421.tar.gz
tar xzf centreon-plugins-20210421.tar.gz
cd centreon-plugins-20210421
Le chemin utilisé pour les plugins Centreon est préconisé pour une installation centreon-web > 2.8.x. Les fichiers pl sont des fichiers perl fastpacked.
chmod +x *
mkdir -p /usr/lib/centreon/plugins
mv * /usr/lib/centreon/plugins/
6 Installation de Centreon-Broker
![Stacks Image 1118766](files/stacks-image-f029d6c-294x186.png)
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. Avec la version 20.10, nous pouvons utiliser le paquet rrdtools livré avec Buster.
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 install git librrd-dev libmariadb-dev libgnutls28-dev lsb-release liblua5.3-dev ninja-build -y
6.2 Installation
6.2a Installation via le github Centreon
![Stacks Image 1119184](files/stacks-image-2782cd4-40x38.png)
Téléchargez le dépôt github
cd /usr/local/src
git clone -b 20.10.x https://github.com/centreon/centreon-broker
cd centreon-broker
mkdir build
cd build
Passez au point 6.2c
6.2b Installation via les paquets sources
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-20.10.6.tar.gz
tar xzf centreon-broker-20.10.6.tar.gz
cd centreon-broker-20.10.6
mkdir build
cd build
6.2c Compilation
Installons les librairies C++ nécessaires.
conan install .. -s compiler.libcxx=libstdc++11 --build=missing
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_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 20.10.6
--
-- System
-- - Name Linux
-- - Version 4.19.0-16-amd64
-- - Processor x86_64
--
-- Build
-- - Compiler /usr/bin/c++ (GNU)
-- - Extra compilation flags -std=c++14
-- - Unit tests disabled
-- - Startup script systemd
-- - Module stats, neb, correlation, rrd, sql, storage, influxdb, graphite, bam, tcp, tls, lua
--
-- 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-20.10.6/build
Ensuite compilons cette configuration et installons dans le système de fichiers.
make && make install
Nous n'utiliserons que le module cbmod donc il ne faut pas installer le service cbd. 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
Installons les paquets nécessaires pour le SNMP
apt install snmp snmpd snmptrapd libnet-snmp-perl libsnmp-perl -y
7.1 Paramétrages
Pour le fonctionnement du SNMP, modifiez le fichier /etc/snmp/snmpd.conf. Il est fortement conseillé de faire une supervision croisée avec le serveur Central. Nous limiterons l'accès au serveur Central pour le SNMP.
agentAddress udp:161
rocommunity public <IP Central Centreon>
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 -p /run/snmpd.pid
.....
Et pour recevoir les traps modifier le fichier /etc/default/snmptrapd
# snmptrapd options (use syslog).
TRAPDOPTS='-On -Lsd -p /run/snmptrapd.pid'
Redémarrez les services SNMP
systemctl restart snmpd snmptrapd
7.2 Vérification du fonctionnement
Pour vérifier le fonctionnement, saisir la ligne suivante sur le serveur Central.
snmpwalk -c public -v 2c <IP Poller Distant>
8 Installation de Centreon-Web
8.1 Pré requis
Nous n'installerons pas l'IHM de Centreon Web mais seulement les outils nécessaires pour le poller. 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
Les utilisateurs Centreon-engine et Centreon-Broker devront appartenir au groupe Centreon. Avec les nouveaux paramètres de Centreon-Web, l’utilisateur centreon-broker doit appartenir au groupe centreon-engine
usermod -aG centreon-engine centreon usermod -aG centreon-broker centreon usermod -aG centreon centreon-engine usermod -aG centreon centreon-broker usermod -aG centreon-broker centreon-engine
Il faut aussi installer des paquets supplémentaires. Apache est nécessaire pour l'installation de Centreon. Il faudra penser à désactiver le service puisque nous n'en auront pas besoin pour la suite.
apt install sudo apache2 ntp librrds-perl libconfig-inifiles-perl libnet-snmp-perl libdigest-hmac-perl libcrypt-des-ede3-perl libdbd-sqlite3-perl -y
8.2 Installation de Gorgone
Nouveautés depuis la version 20.04, installation d'un nouveau gestionnaire d'événements remplaçant centcore.
8.2a Prérequis pour les librairies
Installer les paquets suivants
apt install libzmq3-dev libssh-dev libextutils-makemaker-cpanfile-perl libmodule-build-perl libmodule-install-perl -y
8.2a Installation ZMQ-LibZMQ4
cd /usr/local/src
wget http://search.cpan.org/CPAN/authors/id/M/MO/MOSCONI/ZMQ-LibZMQ4-0.01.tar.gz
tar zxf ZMQ-LibZMQ4-0.01.tar.gz && cd ZMQ-LibZMQ4-0.01
sed -i -e "s/tools/.\/tools/g" Makefile.PL
perl Makefile.PL
make && make install
cd ..
wget https://cpan.metacpan.org/authors/id/D/DM/DMAKI/ZMQ-Constants-1.04.tar.gz
tar zxf ZMQ-Constants-1.04.tar.gz && cd ZMQ-Constants-1.04
perl Makefile.PL
make && make install
8.2b Installation lib-ssh
cd /usr/local/src
git clone https://github.com/garnier-quentin/perl-libssh.git
cd perl-libssh
perl Makefile.PL
make
make install
8.2c Autre prérequis
Installer les paquets suivants
apt install libcryptx-perl libschedule-cron-perl libcrypt-cbc-perl libcpanel-json-xs-perl libjson-pp-perl libyaml-perl libyaml-libyaml-perl libdbd-sqlite3-perl libdbd-mysql-perl libapache-dbi-perl libdata-uuid-perl libhttp-daemon-perl libhttp-message-perl libmime-base64-urlsafe-perl libdigest-md5-file-perl libwww-curl-perl libio-socket-ssl-perl libnetaddr-ip-perl libhash-merge-perl -y
8.2d Installation en ligne de commande
Téléchargez le binaire du 05/01/2021 dans le dossier /usr/local/src et décompressez-le.
cd /usr/local/src wget http://files.download.centreon.com/public/centreon-gorgone/centreon-gorgone-20.10.4.tar.gz tar xzf centreon-gorgone-20.10.4.tar.gz cd centreon-gorgone-20.10.4
Lancez la ligne de commande ci-dessous pour débuter l'installation.
./install.sh -i
Au lancement du script, le programme demande de lire la licence
############################################################################### # # # # # Centreon Gorgone daemon module # # # # # ############################################################################### Please read the license. Press enter to continue.
Acceptez la licence. L'installation vérifie les prérequis.
Do you accept the license ? [y/n], default to [n]: > y ------------------------------------------------------------------------ Checking all needed binaries ------------------------------------------------------------------------ rm OK cp OK mv OK /usr/bin/chmod OK /usr/bin/chown OK echo OK more OK mkdir OK find OK /usr/bin/grep OK /usr/bin/cat OK /usr/bin/sed OK
Vous pouvez répondre n à la première question, l'installation créera automatiquement les ressources manquantes. J'ai répondu y pour visualiser toutes les étapes, il faudra modifier le dossier par défaut, sur Debian c'est /etc/default.
------------------------------------------------------------------------ Checking the mandatory folders ------------------------------------------------------------------------ Do you want to be asked for confirmation before creating missing resources ? [y/n], default to [y]: > y Where is your Gorgone log folder default to [/var/log/centreon-gorgone] > Do you want to create this directory ? [/var/log/centreon-gorgone] [y/n], default to [n]: > y Path /var/log/centreon-gorgone OK Where is your Gorgone database folder default to [/var/lib/centreon-gorgone] > Do you want to create this directory ? [/var/lib/centreon-gorgone] [y/n], default to [n]: > y Path /var/lib/centreon-gorgone OK Where is your Gorgone config (etc) folder default to [/etc/centreon-gorgone] > Do you want to create this directory ? [/etc/centreon-gorgone] [y/n], default to [n]: > y Path /etc/centreon-gorgone OK Creating folder /etc/centreon-gorgone/config.d OK Path /etc/centreon-gorgone/config.d OK Where are your Gorgone user's folder default to [/usr/bin/] > Path /usr/bin/ OK Where are your Gorgone's perl files default to [/usr/share/perl5] > Path /usr/share/perl5 OK Where is your sysconfig folder ? default to [/etc/sysconfig] > /etc/default Path /etc/default OK
L'installation va créer le compte centreon-gorgone.
------------------------------------------------------------------------ Checking the required users ------------------------------------------------------------------------ What is the Gorgone group ? default to [centreon-gorgone] > Do you want to create this group ? [centreon-gorgone] [y/n], default to [n]: > y Creating group centreon-gorgone OK What is the Gorgone user ? default to [centreon-gorgone] > Do you want to create this user ? [centreon-gorgone] [y/n], default to [n]: > y Creating user centreon-gorgone (Gorgone user) OK ------------------------------------------------------------------------ Adding Gorgone user to the mandatory folders ------------------------------------------------------------------------ Modify owner of /var/log/centreon-gorgone OK Modify rights of /var/log/centreon-gorgone OK Modify owner of /var/lib/centreon-gorgone OK Modify rights of /var/lib/centreon-gorgone OK ------------------------------------------------------------------------ Installing Gorgone daemon ------------------------------------------------------------------------ Creating and adding rights on gorgoned.service OK Creating and adding rights on gorgoned OK Creating and adding rights on gorgoned OK Creating and adding rights on config.yaml OK Creating and adding rights on gorgoned OK Creating and adding rights on gorgone_config_init.pl OK ------------------------------------------------------------------------ Starting gorgoned.service ------------------------------------------------------------------------ Created symlink /etc/systemd/system/multi-user.target.wants/gorgoned.service → /etc/systemd/system/gorgoned.service. Created symlink /etc/systemd/system/centreon.service.wants/gorgoned.service → /etc/systemd/system/gorgoned.service. ############################################################################### # # # Thanks for using Gorgone. # # ----------------------- # # # # Please add the configuration in a file in the folder : # # /etc/centreon-gorgone/config.d # # Then start the gorgoned.service # # # # You can read the documentation available here : # # https://github.com/centreon/centreon-gorgone/blob/master/README.md # # # # ------------------------------------------------------------------ # # # # Report bugs at https://github.com/centreon/centreon-gorgone/issues # # # # Contact : contact@centreon.com # # http://www.centreon.com # # # # ----------------------- # # For security issues, please read our security policy # # https://github.com/centreon/centreon-gorgone/security/policy # # # ###############################################################################
Le compte centreon-gorgone doit être dans le groupe centreon-engine, centreon-broker et centreon. Le compte centreon doit appartenir au groupe centreon-gorgone.
usermod -aG centreon-engine centreon-gorgone usermod -aG centreon-broker centreon-gorgone usermod -aG centreon centreon-gorgone usermod -aG centreon-gorgone centreon usermod -aG centreon-gorgone centreon-engine usermod -aG centreon-gorgone centreon-broker
Continuons avec l'installation du mode Web
8.3 Installation en ligne de commande
Téléchargez le binaire du 30/06/2021 dans le dossier /usr/local/src et décompressez-le.
cd /usr/local/src wget http://files.download.centreon.com/public/centreon/centreon-web-20.10.9.tar.gz tar xzf centreon-web-20.10.9.tar.gz cd centreon-web-20.10.9
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. Répondre y pour l'installation de gorgone.
############################################################################### # # # Centreon (www.centreon.com) # # # # infos@centreon.com # # # # Make sure you have installed and configured # # centreon-gorgone - sudo - sed - php - apache - rrdtool - mysql # # # ############################################################################### ------------------------------------------------------------------------ Checking all needed binaries ------------------------------------------------------------------------ rm OK cp OK mv OK /usr/bin/chmod OK /usr/bin/chown OK echo OK more OK mkdir OK find OK /usr/bin/grep OK /usr/bin/cat OK /usr/bin/sed OK ------------------------------------------------------------------------ Check mandatory gorgone service status ------------------------------------------------------------------------ Is the Gorgone module already installed? [y/n], default to [n]: > y 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, les plugins Centreon et les Traps handler Centreon. Nous utiliserons seulement les deux derniers modules.
------------------------------------------------------------------------ Please choose what you want to install ------------------------------------------------------------------------ Do you want to install : Centreon Web Front [y/n], default to [n]: > n Do you want to install : Centreon Nagios Plugins [y/n], default to [n]: > y Do you want to install : CentreonTrapd process [y/n], default to [n]: > y
Le script d'installation va maintenant procéder à l'installation des différents modules. nous commencerons l'installation des plugins de Centreon. Répondre par défaut, accepter la création des répertoires.
------------------------------------------------------------------------ Starting Centreon Plugins Installation ------------------------------------------------------------------------ Path OK Path OK Where is your CentPlugins lib directory default to [/var/lib/centreon/centplugins] > Do you want to create this directory ? [/var/lib/centreon/centplugins] [y/n], default to [n]: > y Path /var/lib/centreon/centplugins OK What is the Centreon user ? [centreon] default to [centreon] > What is the Centreon group ? [centreon] default to [centreon] > Create /instCentPlugins.conf OK
Continuons avec la gestion des Traps. Répondre par défaut, accepter la création des répertoires. Accepter l'installation du service CentreonTrapd
------------------------------------------------------------------------ Starting CentreonTrapD Installation ------------------------------------------------------------------------ Path OK Path OK 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 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 Centreon log directory default to [/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 Where is your SNMP configuration directory default to [/etc/snmp] > /etc/snmp OK Where is your CentreonTrapd binaries directory default to [/usr/share/centreon/bin] > Do you want me to create this directory ? [/usr/share/centreon/bin] [y/n], default to [n]: > y /usr/share/centreon/bin OK Enable Apache configuration OK ERROR: Conf centreon does not exist! Finding Apache user : www-data Preparing Centreon temporary files Change macros for snmptrapd.conf OK Replace CentreonTrapd init script Macro OK Replace CentreonTrapd default script Macro OK cp: impossible de créer le fichier standard '/examples/centreontrapd.default': Aucun fichier ou dossier de ce type cp: impossible de créer le fichier standard '/examples/centreontrapd.init.d': Aucun fichier ou dossier de ce type 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 ############################################################################### # # # Thanks for using Centreon. # # ----------------------- # # # # Go to the URL : http://pollerbuster.home/centreon/ # # to finish the setup # # # # Please read the documentation available here : # # documentation.centreon.com # # # # ------------------------------------------------------------------ # # # # Report bugs at https://github.com/centreon/centreon/issues # # # # Contact : contact@centreon.com # # http://www.centreon.com # # # # ----------------------- # # For security issues, please read our security policy # # https://github.com/centreon/centreon/security/policy # # # ###############################################################################
Vous n'aurez plus besoin du serveur web apache
apt-get remove apache2 -y
Terminons par la création de dossiers et permissions.
9 Préparation de la configuration
Il faudra créer le dossier /var/log/centreon-broker.
mkdir /var/log/centreon-broker chown centreon-broker:centreon-broker /var/log/centreon-broker chmod 775 /var/log/centreon-broker
Il faudra créer le dossier /var/cache/centreon utilisé par gorgone pour transférer les fichiers venant du Central.
mkdir /var/cache/centreon chown centreon:centreon /var/cache/centreon chmod 775 /var/cache/centreon
Ajoutez le fichier /etc/sudoers.d/centreon
tee /etc/sudoers.d/centreon <<EOF ## BEGIN: CENTREON SUDO User_Alias CENTREON=%centreon Defaults:CENTREON !requiretty # centreontrapd CENTREON ALL = NOPASSWD: /usr/sbin/service centreontrapd start CENTREON ALL = NOPASSWD: /usr/sbin/service centreontrapd stop CENTREON ALL = NOPASSWD: /usr/sbin/service centreontrapd restart CENTREON ALL = NOPASSWD: /usr/sbin/service centreontrapd reload # Centreon Engine CENTREON ALL = NOPASSWD: /usr/sbin/service centengine start CENTREON ALL = NOPASSWD: /usr/sbin/service centengine stop CENTREON ALL = NOPASSWD: /usr/sbin/service centengine restart CENTREON ALL = NOPASSWD: /usr/sbin/service centengine reload CENTREON ALL = NOPASSWD: /usr/sbin/centengine -v * # Centreon Broker CENTREON ALL = NOPASSWD: /usr/sbin/service cbd start CENTREON ALL = NOPASSWD: /usr/sbin/service cbd stop CENTREON ALL = NOPASSWD: /usr/sbin/service cbd restart CENTREON ALL = NOPASSWD: /usr/sbin/service cbd reload ## END: CENTREON SUDO EOF
Les commandes cbd ne sont pas indispensables mais peuvent servir lors d'une éventuelle installation du remote server. Pour éviter des problèmes d'application de la configuration, appliquez les droits suivants :
chown centreon: /var/log/centreon chmod 775 /var/log/centreon chown centreon-broker: /etc/centreon-broker chmod 775 /etc/centreon-broker chmod -R 775 /etc/centreon-engine chmod 775 /var/lib/centreon-broker chown centreon: /etc/centreon-broker/*
Modifiez les droits pour le dossiers des fichiers temporaires
chown centreon: /var/lib/centreon/centplugins
9.1 création d'un cgroup centreon
Les scripts systemd pour le démarrage du moteur a subi une modification depuis 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.
![Stacks Image 1118964](files/stacks-image-31d68f3.jpg)
Nous allons créer ce cgroup manuellement. créez le fichier /lib/systemd/system/centreon.service.
tee /lib/systemd/system/centreon.service <<EOF [Unit] Description=Cgroup Centreon [Service] Type=oneshot ExecStart=/bin/true ExecReload=/bin/true RemainAfterExit=yes [Install] WantedBy=multi-user.target EOF
Activez le cgroup.
systemctl daemon-reload && systemctl enable centreon
Au redémarrage du serveur, le cgroup centreon va démarrer le service centengine.
9.2 Configuration sur le serveur Central
9.2a Nouveauté 20.10, inscription du poller sur le Central
Avec cette version, il est possible d'inscrire notre poller sur le Central. En attendant, une version définitive d'enregistrement complet de notre poller sans intervention sur le Central.
![Stacks Image 1118995](files/stacks-image-fa0737e-48x46.png)
Il faut copier manuellement les fichiers spécifiques dans le dossier /usr/share/centreon/bin
cp /usr/local/src/centreon-web-20.10.4/bin/registerServerTopology* /usr/share/centreon/bin
chmod +x /usr/share/centreon/bin/registerServerTopology*
Installez les paquets requis sur le poller
apt install curl -y
Ensuite, lancez la commande suivante :
/usr/share/centreon/bin/registerServerTopology.sh -u admin -t Poller -h 192.168.1.30 -n poller1
L'utilisateur sera le user admin du Central (il est possible de créer un user avec les droits API de configuration). L'adresse IP est le serveur Central et poller1 est le nom du poller.
192.168.1.30: please enter your password
Saisissez le mot de passe du user admin du serveur Central.
Summary of the information that will be send: Api Connection: username: admin password: ****** target server: 192.168.1.30 Pending Registration Server: name: poller1 hostname: testpollerbuster type: Poller address: 192.168.1.34 Do you want to register this server with those information? (y/n)y
Saisissez yes pour appliquer la configuration.
2021-02-28 21:24:05+01:00 - INFO - The CURRENT NODE Poller: 'poller1@192.168.1.34' linked to TARGET NODE: 192.168.1.30 has been added
Notre poller est inscrit. Dans l'ihm du Central, sélectionnez Configuration / Pollers et cliquez sur Add server with wizard.
![Stacks Image 1119032](files/stacks-image-81fb3b7.jpg)
Sélectionnez Add a Centreon Poller, cliquez sur Next
![Stacks Image 1119037](files/stacks-image-f83ae62.jpg)
Sélectionnez l'option "Select a Poller", dans la liste de choix sélectionnez l'IP précédemment enregistrée et saisissez l'IP du serveur Central. Cliquez sur Next.
![Stacks Image 1119042](files/stacks-image-2008483.jpg)
Cliquez sur Apply.
9.2b Ajout de l’instance poller1 par le wizard
Ajouter une instance nommé poller1 pour le serveur Poller, sélectionnez Configuration / Pollers et cliquez sur Add server with wizard
![Stacks Image 36037](files/stacks-image-9f58a74.jpg)
Sélectionnez Add a Centreon Poller, cliquez sur Next
![Stacks Image 1117923](files/stacks-image-e41400e.jpg)
Saisir le nom du poller, l'adresse IP du poller et l'adresse IP du serveur Central.
![Stacks Image 1118089](files/stacks-image-2008483.jpg)
Cliquez sur Apply.
9.2c Configuration de la configuration ZMQ
![Stacks Image 1118440](files/stacks-image-7a81075-1226x478.jpg)
Vous devriez avoir deux pollers, le premier pour le serveur Central et le deuxième pour le serveur Poller. Cliquez sur l'icône ci-dessus pour obtenir la configuration du poller distant.
![Stacks Image 1118931](files/stacks-image-740d4eb-1174x538.jpg)
Copiez la commande et l'appliquez sur le poller distant. Cette action va créer le fichier /etc/centreon-gorgone/config.d/40-gorgoned.yaml.
cat <<EOF > /etc/centreon-gorgone/config.d/40-gorgoned.yaml name: gorgoned-poller1 description: Configuration for poller poller1 gorgone: gorgonecore: id: 3 external_com_type: tcp external_com_path: "*:5556" authorized_clients: - key: LAAaxNVer44psmov9bcKddPn3d_A0v4MtXKJJdPdXIQ privkey: "/var/lib/centreon-gorgone/.keys/rsakey.priv.pem" pubkey: "/var/lib/centreon-gorgone/.keys/rsakey.pub.pem" modules: - name: action package: gorgone::modules::core::action::hooks enable: true - name: engine package: gorgone::modules::centreon::engine::hooks enable: true command_file: "/var/lib/centreon-engine/rw/centengine.cmd" EOF
Relancez le processus centreon-gorgone sur le poller.
systemctl restart gorgoned
Relancez le processus centreon-gorgone sur le central afin qu'il prenne en compte le nouveau poller distant.
systemctl restart gorgoned
Vous pouvez vérifier le bon fonctionnement de centreon-gorgone avec la lecture du fichier de log.
tail -f /var/log/centreon-gorgone/gorgoned.log 2020-10-22 22:32:59 - INFO - [proxy] Node '2' is registered 2020-10-22 22:32:59 - INFO - [zmqclient] Client connected successfully to 'tcp://192.168.1.34:5556' 2020-10-22 22:32:59 - INFO - [proxy] Pong received from '2' 2020-10-22 22:33:19 - INFO - [proxy] Send pings 2020-10-22 22:33:20 - INFO - [proxy] Pong received from '2' 2020-10-22 22:34:15 - INFO - [proxy] Received setlogs for '2' 2020-10-22 22:34:35 - INFO - [proxy] Send pings 2020-10-22 22:34:35 - INFO - [proxy] Pong received from '2' 2020-10-22 22:35:00 - INFO - [cron] Launching job 'broker_stats' 2020-10-22 22:35:00 - INFO - [cron] Launching job 'engine_stats' 2020-10-22 22:35:00 - INFO - [statistics] Collecting Engine statistics from target '2' 2020-10-22 22:35:00 - INFO - [statistics] Collecting Engine statistics from target '1' 2020-10-22 22:35:00 - INFO - [proxy] Received setlogs for '2' 2020-10-22 22:35:05 - INFO - [proxy] Received setlogs for '2'
9.2b Adaptation de la configuration au poller Debian.
Nous devons adapter certains chemins, Sélectionnez Configuration -> Pollers -> Engine Configuration, modifions la configuration du moteur, dans l'onglet data
![Stacks Image 1118454](files/stacks-image-ac595c1-1026x330.jpg)
Event broker directive : /usr/lib/centreon-broker/cbmod.so /etc/centreon-broker/poller1-module.json
Event broker directive : /usr/lib/centreon-engine/externalcmd.so
Event broker directive : /usr/lib/centreon-engine/externalcmd.so
9.3 Application de la configuration
Il est temps d'appliquer la configuration du poller distant avec la supervision croisée. Si vous ne voulez pas faire de supervision croisée comme préconisée par Centreon, appliquez le point 9.3a.
9.3a Création d'un hôte pour le poller
Vous pouvez créer un hôte pour le poller distant. Autorisez le poller aux requêtes SNMP. Cliquez sur Configuration -> Hosts.
![Stacks Image 1118957](files/stacks-image-71299b4.jpg)
9.3b Application de la configuration
Appliquez la configuration du poller1, sélectionnez Configuration / Pollers. cochez le poller1 et cliquez sur Export Configuration
![Stacks Image 1118463](files/stacks-image-09ec52c.jpg)
Cochez les cases d’options, sélectionnez Restart pour la premier démarrage. Puis cliquez sur Export.
![Stacks Image 1118468](files/stacks-image-f482bc8.png)
Après quelques secondes, vous devriez voir votre poller actif.
![Stacks Image 1118473](files/stacks-image-c62a4bc.jpg)
Avec la configuration réalisée précédemment avec le Central, vous pouvez ajoutez facilement votre poller.
![Stacks Image 1118942](files/stacks-image-87babd9.jpg)