Menu


Stacks Image 2228
Voici la procédure pour installer un poller distant 21.10 sous Debian Bullseye. Nous utiliserons les sources de Centreon.

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
Stacks Image 1118351
Nouveauté Buster
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 :
bash
 Copy
apt update && apt upgrade -y

2 Installation de Centreon Clib

 
Stacks Image 1118486
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.
bash
 Copy
apt install cmake python3-pip -y
Installons maintenant conan
bash
 Copy
pip3 install conan

2.2 Installation

2.2a Installation via les paquets sources

Nous utiliserons le paquet centreon-collect. Téléchargez le binaire dans le dossier /usr/local/src et décompressez-le.
bash
 Copy
cd /usr/local/src
wget http://files.download.centreon.com/public/centreon-collect/centreon-collect-21.10.1.tar.gz
tar xzf centreon-collect-21.10.1.tar.gz
Le binaire comprend toutes les sources clib, connector, engine et broker.
Stacks Image 1119176
Problème de versioning
Attention il y a un problème de versioning dans les sources. Il faut indiquer la version 21.10.1 dans les fichiers CMakeLists.txt de chaque source.
Modifiez la ligne suivante dans le fichier CMakeLists.txt.
il y a
set(CLIB_PATCH 0)

il faut
set(CLIB_PATCH 1)
Il est possible de lancer les commandes suivantes :
bash
 Copy
sed -i -e "s/CLIB_PATCH 0/CLIB_PATCH 1/g" /usr/local/src/centreon-clib/CMakeLists.txt
sed -i -e "s/CONNECTOR_PATCH 0/CONNECTOR_PATCH 1/g" /usr/local/src/centreon-connector/CMakeLists.txt
sed -i -e "s/CENTREON_ENGINE_PATCH 0/CENTREON_ENGINE_PATCH 1/g" /usr/local/src/centreon-engine/CMakeLists.txt
sed -i -e "s/CENTREON_BROKER_PATCH 0/CENTREON_BROKER_PATCH 1/g" /usr/local/src/centreon-broker/CMakeLists.txt

2.2b Compilation

Installons les librairies C++ nécessaires.
bash
 Copy
cd centreon-clib
conan install .. -s compiler.libcxx=libstdc++11 --build=missing
Préparons la compilation.
bash
 Copy
cmake \
       -DWITH_TESTING=0 \
       -DWITH_PREFIX=/usr  \
       -DWITH_PREFIX_LIB_CLIB=/usr/lib64  \
       -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 21.10.1
-- - With shared library Yes
-- - With static library No
--
-- System
-- - Name Linux
-- - Version 5.10.0-8-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/lib64
-- - 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
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.
bash
 Copy
make && make install
Comme nous avons installé la librairie dans un dossier non-prévu par Debian, nous devons indiquer le chemin de la librairie dynamique à ldconfig. Créons un fichier de configuration pour la librairie Centreon. Lancez la commande ldconfig pour prendre en compte la librairie.
bash
 Copy
tee /etc/ld.so.conf.d/centreon.conf <<EOF
/usr/lib64
EOF
ldconfig
C'est terminé pour Centreon Clib, nous pouvons continuer par l'installation des connecteurs Centreon.
 

3 Installation des connecteurs Centreon

Stacks Image 1118524
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.
bash
 Copy
apt install libperl-dev libssh2-1-dev libgcrypt-dev -y
L'installation, au préalable, de Centreon Clib est obligatoire.

3.2 Compilation

Les sources étant téléchargés avec le binaire clib, Installons les librairies C++ nécessaires.
bash
 Copy
cd /usr/local/src/centreon-connector
conan install .. -s compiler.libcxx=libstdc++11 --build=missing
Stacks Image 1119183
Problème de versioning
Attention il y a un problème de versioning dans les sources. Il faut indiquer la version 21.10.1 dans les fichiers CMakeLists.txt de chaque source.
Modifiez la ligne suivante dans le fichier CMakeLists.txt.
il y a
set(CONNECTOR_PATCH 0)

il faut
set(CONNECTOR_PATCH 1)
Préparons la compilation.
bash
 Copy
cmake \
  -DWITH_PREFIX=/usr \
  -DWITH_CENTREON_CLIB_LIBRARY_DIR=/usr/lib64 \
  -DWITH_PREFIX_BINARY=/usr/lib64/centreon-connector  \
  -DWITH_CENTREON_CLIB_INCLUDE_DIR=/usr/include \
  -DWITH_TESTING=0 .
Extrait du résultat
-- The CXX compiler identification is GNU 10.2.1
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- 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.32.1")
-- Found PerlLibs: /usr/lib/x86_64-linux-gnu/libperl.so.5.32 (found version "5.32.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.32/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/bb317a1f4f7069078e967719a5c585f83cd078c2/lib/libfmt.a
-- Found: /root/.conan/data/fmt/7.1.3/_/_/package/bb317a1f4f7069078e967719a5c585f83cd078c2/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/ff8d59d47be9cd9bef245bc941640efed49089de/lib/libspdlog.a
-- Found: /root/.conan/data/spdlog/1.8.5/_/_/package/ff8d59d47be9cd9bef245bc941640efed49089de/lib/libspdlog.a
-- Conan: Dependency fmt already found
-- Library spdlog found /root/.conan/data/spdlog/1.8.5/_/_/package/ff8d59d47be9cd9bef245bc941640efed49089de/lib/libspdlog.a
-- Found: /root/.conan/data/spdlog/1.8.5/_/_/package/ff8d59d47be9cd9bef245bc941640efed49089de/lib/libspdlog.a
-- Configuring done
CMake Warning (dev) at perl/CMakeLists.txt:57 (add_dependencies):
Policy CMP0046 is not set: Error on non-existent dependency in
add_dependencies. Run "cmake --help-policy CMP0046" for policy details.
Use the cmake_policy command to set the policy and suppress this warning.

The dependency target "centreon_clib_shared" of target
"centreon_connector_perl" does not exist.
This warning is for project developers. Use -Wno-dev to suppress it.

CMake Warning (dev) at ssh/CMakeLists.txt:62 (add_dependencies):
Policy CMP0046 is not set: Error on non-existent dependency in
add_dependencies. Run "cmake --help-policy CMP0046" for policy details.
Use the cmake_policy command to set the policy and suppress this warning.

The dependency target "centreon_clib_shared" of target
"centreon_connector_ssh" does not exist.
This warning is for project developers. Use -Wno-dev to suppress it.

-- Generating done
-- Build files have been written to: /usr/local/src/centreon-connector
Ensuite compilons cette configuration et installons dans le dossier /usr/lib/centreon-connector/
bash
 Copy
make && make install
C'est terminé, nous pouvons continuer par l'installation de Centreon Engine.
 

4 Installation de Centreon Engine

Stacks Image 1118635
Ce chapitre présente l'installation du moteur de supervision créé par l'équipe de Centreon. Nous utiliserons la dernière version 21.04. Nous en profiterons pour installer les scripts systemd.

4.1 Pré Requis

Tout d'abord, Il faudra créer un utilisateur centreon-engine
bash
 Copy
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.
bash
 Copy
apt install libcgsi-gsoap-dev zlib1g-dev libssl-dev libxerces-c-dev -y

4.2 Compilation

Les sources étant téléchargés avec le binaire clib, installons les librairies C++ nécessaires.
bash
 Copy
cd /usr/local/src/centreon-engine
conan install .. -s compiler.libcxx=libstdc++11 --build=missing
Stacks Image 1119190
Problème de versioning
Attention il y a un problème de versioning dans les sources. Il faut indiquer la version 21.10.1 dans les fichiers CMakeLists.txt de chaque source.
Modifiez la ligne suivante dans le fichier CMakeLists.txt.
il y a
set(CENTREON_ENGINE_PATCH 0)

il faut
set(CENTREON_ENGINE_PATCH 1)
Préparons la compilation.
bash
 Copy
cmake  \
    -DWITH_CENTREON_CLIB_INCLUDE_DIR=/usr/include  \
    -DWITH_CENTREON_CLIB_LIBRARY_DIR=/usr/lib64  \
    -DWITH_PREFIX=/usr  \
    -DWITH_PREFIX_BIN=/usr/sbin  \
    -DWITH_PREFIX_LIB_ENGINE=/usr/lib64/centreon-engine  \
    -DWITH_PREFIX_CONF_ENGINE=/etc/centreon-engine  \
    -DWITH_USER_ENGINE=centreon-engine  \
    -DWITH_GROUP_ENGINE=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 21.10.1
--
-- System
-- - Name Linux
-- - Version 5.10.0-8-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/lib64/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 centreon_clib
-- Configuring done
CMake Warning (dev) at CMakeLists.txt:652 (add_dependencies):
Policy CMP0046 is not set: Error on non-existent dependency in
add_dependencies. Run "cmake --help-policy CMP0046" for policy details.
Use the cmake_policy command to set the policy and suppress this warning.

The dependency target "centreon_clib_shared" of target "centenginestats"
does not exist.
This warning is for project developers. Use -Wno-dev to suppress it.

CMake Warning (dev) at CMakeLists.txt:644 (add_dependencies):
Policy CMP0046 is not set: Error on non-existent dependency in
add_dependencies. Run "cmake --help-policy CMP0046" for policy details.
Use the cmake_policy command to set the policy and suppress this warning.

The dependency target "centreon_clib_shared" of target "centengine" does
not exist.
This warning is for project developers. Use -Wno-dev to suppress it.

CMake Warning (dev) at CMakeLists.txt:630 (add_dependencies):
Policy CMP0046 is not set: Error on non-existent dependency in
add_dependencies. Run "cmake --help-policy CMP0046" for policy details.
Use the cmake_policy command to set the policy and suppress this warning.

The dependency target "centreon_clib_shared" of target "cce_core" does not
exist.
This warning is for project developers. Use -Wno-dev to suppress it.

CMake Warning (dev) at modules/external_commands/CMakeLists.txt:55 (add_dependencies):
Policy CMP0046 is not set: Error on non-existent dependency in
add_dependencies. Run "cmake --help-policy CMP0046" for policy details.
Use the cmake_policy command to set the policy and suppress this warning.

The dependency target "centreon_clib_shared" of target "externalcmd" does
not exist.
This warning is for project developers. Use -Wno-dev to suppress it.

-- Generating done
-- Build files have been written to: /usr/local/src/centreon-engine
Ensuite compilons cette configuration et installons dans le système de fichiers.
bash
 Copy
make && make install
Pour vérifier, avant de continuer, le bon fonctionnement de la librairie partagée, saisissez la commande suivante:
bash
 Copy
centengine -V
[1621200227] [10748] Centreon Engine 21.10.1
[1621200227] [10748]
[1621200227] [10748] Copyright 1999-2009 Ethan Galstad
[1621200227] [10748] Copyright 2009-2010 Nagios Core Development Team and Community Contributors
[1621200227] [10748] Copyright 2011-2021 Centreon
[1621200227] [10748]
[1621200227] [10748] This program is free software: you can redistribute it and/or
[1621200227] [10748] modify it under the terms of the GNU General Public License version 2
[1621200227] [10748] as published by the Free Software Foundation.
[1621200227] [10748]
[1621200227] [10748] Centreon Engine is distributed in the hope that it will be useful,
[1621200227] [10748] but WITHOUT ANY WARRANTY; without even the implied warranty of
[1621200227] [10748] MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
[1621200227] [10748] General Public License for more details.
[1621200227] [10748]
[1621200227] [10748] You should have received a copy of the GNU General Public License
[1621200227] [10748] 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 9.1)
bash
 Copy
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
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.

5.1 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.
bash
 Copy
apt install monitoring-plugins -y
Nous allons créer un lien symbolique pour faire correspondre le dossier par défaut de Centreon pour les plugins historiques. Il faut indiquer le chemin /usr/lib64/nagios/plugins, actuellement les plugins sont dans le dossier /usr/lib/nagios/plugins.
bash
 Copy
mkdir /usr/lib64/nagios
ln -s /usr/lib/nagios/plugins /usr/lib64/nagios/plugins

5.1.b Installation par les sources

Tout d'abord, installons les paquets nécessaires au fonctionnement des plugins historiques pour Debian.
bash
 Copy
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
bash
 Copy
cd /usr/local/src
wget http://nagios-plugins.org/download/nagios-plugins-2.3.3.tar.gz
Décompression
bash
 Copy
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
bash
 Copy
cd /usr/local/src
wget --no-check-certificate https://www.monitoring-plugins.org/download/monitoring-plugins-2.3.1.tar.gz
Décompression
bash
 Copy
tar -xzf monitoring-plugins-2.3.1.tar.gz
cd monitoring-plugins-2.3.1

3 - Compilation et installation

Nous installerons les plugins dans le dossier /usr/lib64/nagios/plugins
bash
 Copy
./configure --with-nagios-user=centreon-engine --with-nagios-group=centreon-engine --prefix=/usr/lib/nagios/plugins --libexecdir=/usr/lib64/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.
bash
 Copy
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 libpod-index-perl -y
Téléchargez le dernier binaire dans le dossier /usr/local/src et décompressez-le.
bash
 Copy
cd /usr/local/src
wget http://files.download.centreon.com/public/centreon-plugins/centreon-plugins-20220414.tar.gz
tar xzf centreon-plugins-20220414.tar.gz 
cd centreon-plugins-20220414
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.
bash
 Copy
chmod +x *
mkdir -p /usr/lib/centreon/plugins
mv * /usr/lib/centreon/plugins/
 

6 Installation de Centreon-Broker

Stacks Image 1118766
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 Bullseye.

6.1 Pré requis

Tout d'abord, Il faudra créer un groupe système et un utilisateur système centreon-broker
bash
 Copy
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.
bash
 Copy
usermod -aG centreon-broker centreon-engine
Il faut aussi installer des paquets supplémentaires.
bash
 Copy
apt install git librrd-dev libgnutls28-dev lsb-release liblua5.3-dev -y

6.2 Compilation

Les sources étant téléchargés avec le binaire clib, installons les librairies C++ nécessaires.
bash
 Copy
cd /usr/local/src/centreon-broker
conan install .. -s compiler.libcxx=libstdc++11 --build=missing
Stacks Image 1119201
Problème de versioning
Attention il y a un problème de versioning dans les sources. Il faut indiquer la version 21.10.1 dans les fichiers CMakeLists.txt de chaque source.
Modifiez la ligne suivante dans le fichier CMakeLists.txt.
il y a
set(CENTREON_BROKER_PATCH 0)

il faut
set(CENTREON_BROKER_PATCH 1)
Préparons la compilation.
bash
 Copy
cmake \
      -DWITH_DAEMONS='central-broker;central-rrd' \
      -DWITH_GROUP_BROKER=centreon-broker \
      -DWITH_PREFIX=/usr  \
      -DWITH_PREFIX_BIN=/usr/sbin  \
      -DWITH_PREFIX_CONF_BROKER=/etc/centreon-broker  \
      -DWITH_PREFIX_LIB_BROKER=/usr/lib64/nagios \
      -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_BROKER=centreon-broker .
Extrait du résultat
-- Configuration Summary
-- ---------------------
--
-- Project
-- - Name Centreon Broker
-- - Version 21.10.1
--
-- System
-- - Name Linux
-- - Version 5.10.0-8-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, rrd, sql, storage, influxdb, graphite, bam, tcp, tls, lua
--
-- Install
-- - Prefix /usr
-- - Binary prefix /usr/sbin
-- - Library prefix /usr/lib64/nagios
-- - 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
Ensuite compilons cette configuration et installons dans le système de fichiers.
bash
 Copy
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
bash
 Copy
apt install snmp snmpd snmptrapd libnet-snmp-perl libsnmp-perl libmodule-build-perl libmodule-install-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.
cblang_other
 Copy
agentAddress udp:161
rocommunity public <IP Central Centreon>
Et pour recevoir les traps modifier le fichier /etc/default/snmptrapd
cblang_other
 Copy
# snmptrapd options (use syslog).
TRAPDOPTS='-On -LSwd -p /run/snmptrapd.pid'
Lorem ipsum dolor sit amet, sapien platea morbi dolor lacus nunc, nunc ullamcorper. Felis aliquet egestas vitae, nibh ante quis quis dolor sed mauris. Erat lectus sem ut lobortis, adipiscing ligula eleifend, sodales fringilla mattis dui nullam. Ac massa aliquet.
Redémarrez les services SNMP
bash
 Copy
systemctl restart snmpd snmptrapd

7.2 Vérification du fonctionnement

Pour vérifier le fonctionnement, saisir la ligne suivante sur le serveur Central.
bash
 Copy
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
bash
 Copy
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
bash
 Copy
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
usermod -aG centreon-engine centreon-broker
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.
bash
 Copy
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
bash
 Copy
apt install git libssh-dev libextutils-makemaker-cpanfile-perl libmodule-build-perl libmodule-install-perl libczmq-dev libtest-fatal-perl libtest-requires-perl libtest-tcp-perl -y

8.2a Installation ZMQ-LibZMQ4

Nous allons récupérer les dépôts GitHub suivants. Ensuite, installons le dépôt libzmq-constants-perl et compilons la librairies perl
bash
 Copy
cd /usr/local/src
git clone https://github.com/centreon-lab/libzmq-constants-perl.git
git clone https://github.com/centreon-lab/zmq-libzmq4-perl
cd libzmq-constants-perl/
dpkg -i libzmq-constants-perl_1.04-1_all.deb
cd ../zmq-libzmq4-perl/
perl Makefile.PL
make && make install

8.2b Installation lib-ssh

bash
 Copy
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
bash
 Copy
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 17/02/2022 dans le dossier /usr/local/src et décompressez-le.
bash
 Copy
cd /usr/local/src
wget https://github.com/centreon/centreon-gorgone/archive/refs/tags/21.10.2.tar.gz -O centreon-gorgone-21.10.2.tar.gz
tar xzf centreon-gorgone-21.10.2.tar.gz
cd centreon-gorgone-21.10.2
Lancez la ligne de commande ci-dessous pour débuter l'installation.
bash
 Copy
./install.sh -i -e INSTALLATION_TYPE="poller"
Au lancement du script, le programme vérifie certaines informations. Répondre y pour continuer
Script requirements                                                  OK
Found distribution                                                   debian 11
Loading distribution specific input variables                        install/inputvars.debian.env
Loading user specific input variables                                inputvars.env
Loading command line input variables                                 INSTALLATION_TYPE=poller
Installation type                                                    poller
Installation mode                                                    install


Welcome to Centreon installation script!

Should we start? [Y/n]
>y
L'installation vérifie les prérequis. Répondre y pour continuer
Centreon installation requirements
-------------------------------------------------------------------------------------------------------------------------------------------------------
Installation requirements                                            OK


Gorgone information
-------------------------------------------------------------------------------------------------------------------------------------------------------
Gorgone user (GORGONE_USER)                                          centreon-gorgone
Gorgone group (GORGONE_GROUP)                                        centreon-gorgone
Gorgone configuration directory (GORGONE_ETC_DIR)                    /etc/centreon-gorgone
Gorgone log directory (GORGONE_LOG_DIR)                              /var/log/centreon-gorgone
Gorgone variable library directory (GORGONE_VARLIB_DIR)              /var/lib/centreon-gorgone
Gorgone cache directory (GORGONE_CACHE_DIR)                          /var/cache/centreon-gorgone
Centreon user (CENTREON_USER)                                        centreon
Centreon home directory (CENTREON_HOME)                              /var/spool/centreon
Centreon configuration directory (CENTREON_ETC_DIR)                  /etc/centreon
Centreon service (CENTREON_SERVICE)                                  centreon
Engine user (ENGINE_USER)                                            centreon-engine
Engine group (ENGINE_GROUP)                                          centreon-engine
Broker user (BROKER_USER)                                            centreon-broker
Broker group (BROKER_GROUP)                                          centreon-broker

Everything looks good, proceed to installation? [y/N]
>y
Le programme s'installe.
Build files
---------------------------------------------------------------------------------------------------------------------------------
Copying files to '/tmp/centreon-setup'                               OK
Replacing macros                                                     OK
Create group 'centreon-gorgone'                                      OK
Create user 'centreon-gorgone'                                       OK
Building installation tree                                           OK


Install builded files
---------------------------------------------------------------------------------------------------------------------------------
Copying files from '/tmp/centreon-setup' to final directory          OK


Install remaining files
---------------------------------------------------------------------------------------------------------------------------------
Centreon configuration                                               OK
Centreon API configuration                                           OK
Sysconfig Gorgoned configuration                                     OK
Logrotate Gorgoned configuration                                     OK


Update groups memberships
---------------------------------------------------------------------------------------------------------------------------------
Add user 'centreon-gorgone' to group 'centreon-broker'               OK
Add user 'centreon-gorgone' to group 'centreon-engine'               OK
Add user 'centreon-engine' to group 'centreon-gorgone'               OK
Add user 'centreon-broker' to group 'centreon-gorgone'               OK


Configure and restart services
---------------------------------------------------------------------------------------------------------------------------------
Enabling service 'gorgoned'                                          OK
Reloading systemctl daemon                                           OK
Restarting service 'gorgoned'                                        OK


You're done!
---------------------------------------------------------------------------------------------------------------------------------

Take a look at the documentation
https://docs.centreon.com/current.
Thanks for using Gorgone!
Follow us on https://github.com/centreon/centreon-gorgone!
Le compte centreon-gorgone doit être dans le groupe centreon-engine, centreon-broker et centreon. Le compte centreon doit appartenir au groupe centreon-gorgone.
bash
 Copy
usermod -aG centreon-engine centreon-gorgone
usermod -aG centreon-broker centreon-gorgone
usermod -aG centreon centreon-gorgone
usermod -aG centreon-gorgone centreon
Continuons avec l'installation du mode Web

8.3 Installation en ligne de commande

Téléchargez le binaire du 21/03/2022 dans le dossier /usr/local/src et décompressez-le.
bash
 Copy
cd /usr/local/src
wget http://files.download.centreon.com/public/centreon/centreon-web-21.10.5.tar.gz
tar xzf centreon-web-21.10.5.tar.gz
cd centreon-web-21.10.5
Lancez la ligne de commande ci-dessous pour débuter l'installation.
bash
 Copy
./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
bash
 Copy
apt remove apache2 -y && apt autoremove -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.
bash
 Copy
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.
bash
 Copy
mkdir -p /var/cache/centreon/backup
mkdir -p /var/cache/centreon/config/broker
mkdir /var/cache/centreon/config/engine
mkdir /var/cache/centreon/config/export
chown -R centreon:centreon  /var/cache/centreon
chmod -R g+rw /var/cache/centreon
chmod -R g+rws /var/cache/centreon/config
Ajoutez le fichier /etc/sudoers.d/centreon
bash
 Copy
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 :
bash
 Copy
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
bash
 Copy
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 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.
Stacks Image 1118964
Nous allons créer ce cgroup manuellement. créez le fichier /lib/systemd/system/centreon.service.
bash
 Copy
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.
bash
 Copy
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 Ajout de l’instance poller1

Ajouter une instance nommé poller1 pour le serveur Poller, sélectionnez Configuration / Pollers et cliquez sur +Add
Stacks Image 1119212
Sélectionnez Add a Centreon Poller
Stacks Image 36037
Sélectionnez Add a Centreon Poller, cliquez sur Next
Stacks Image 1117923
Saisir le nom du poller, l'adresse IP du poller et l'adresse IP du serveur Central.
Stacks Image 1118089
Cliquez sur Apply.
Stacks Image 1118440
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
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: 2
    external_com_type: tcp
    external_com_path: "*:5556"
    authorized_clients: 
      - key: PzTVBaDUXQ3Sttf7SPXkUDeySoLR3krvjdfJnDJdXYQ
    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.
bash
 Copy
systemctl restart gorgoned
Relancez le processus centreon-gorgone sur le central afin qu'il prenne en compte le nouveau poller distant.
bash
 Copy
systemctl restart gorgoned
Vous pouvez vérifier le bon fonctionnement de centreon-gorgone avec la lecture du fichier de log.
bash
 Copy
tail -f /var/log/centreon-gorgone/gorgoned.log
2020-04-29 12:14:57 - INFO - [proxy] Node '2' is registered
2020-04-29 12:14:57 - INFO - [zmqclient] Client connected successfully to 'tcp://192.168.1.36:5556'
2020-04-29 12:14:57 - INFO - [proxy] Pong received from '2'
2020-04-29 12:15:00 - INFO - [cron] Launching job 'broker_stats'
2020-04-29 12:15:00 - INFO - [cron] Launching job 'engine_stats'
2020-04-29 12:15:00 - INFO - [statistics] Collecting Engine statistics from target '1'
2020-04-29 12:15:00 - INFO - [statistics] Collecting Engine statistics from target '2'
2020-04-29 12:15:02 - INFO - [proxy] Received setlogs for '2'
2020-04-29 12:15:14 - INFO - [proxy] Send pings
2020-04-29 12:15:14 - INFO - [proxy] Pong received from '2'

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

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
Cochez les cases d’options, sélectionnez Restart pour la premier démarrage. Puis cliquez sur Export.
Stacks Image 1118468
Après quelques secondes, vous devriez voir votre poller actif.
Stacks Image 1118473
Avec la configuration réalisée précédemment avec le Central, vous pouvez ajoutez facilement votre poller.
Stacks Image 1118942

Nous utilisons des cookies pour nous permettre de mieux comprendre comment le site est utilisé. En continuant à utiliser ce site, vous acceptez cette politique.