Nous allons tester l'installation des sources Centreon version 21.10 avec Debian Bullseye. Nouveauté pour cette version sous Debian, nous devrons installer la version PHP 8.1.
Attention j'ai modifié le tutoriel pour être au plus proche des installations officielles. Les librairies Centreon sont installés dans /usr/lib64.
1 Préparation de la VM
1.1 Mise à jour et ssh
Afin de travailler dans de bonnes conditions et d’utiliser les fonctions copier/coller de Putty ou d’une session Terminal, il est nécessaire d’installer un serveur ssh. Connectez-vous en root sur le serveur Debian, et saisissez la commande suivante :
Si vous vous connectez avec un utilisateur sans droit d'administration et que vous élevez vos privilèges en root, il faut lancez la commande su avec le paramètre suivant :
su -
Sinon vous n'aurez pas le path des dossiers sbin ou sont situés les exécutables pour l'administration.
Il se peut que l’installation échoue si l’installation de Debian est trop ancienne par rapport aux nouveaux patchs de sécurisation, dans ce cas saisissez les commandes suivantes afin de mettre le serveur Debian à jour :
apt update && apt upgrade -y
2 Installation de Centreon Clib
Centreon Clib est une librairie commune, écrite en C/C++, pour certains modules de Centreon. C'est un pré-requis nécessaire au fonctionnement de Centreon-Engine. Contrairement aux autres installations précédentes de mon site, nous installerons la librairie partagée dans le dossier /usr/lib. Nous éviterons l’utilisation de la commande ldconfig.
2.1 Pré requis
Installons les paquets nécessaires au fonctionnement de cette librairie.
apt install cmake python3-pip -y
Installons maintenant conan
pip3 install conan
Lors de l'installation des packages Debian, si vous avez ces messages d'erreurs non-bloquants :
Vous devrez configurer les paramètres régionaux (locale settings)
dpkg-reconfigure locales
Il faudra, dans notre exemple, sélectionner la langue fr_FR.UTF-8.
2.2 Installation
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.
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.
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 :
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.
cd centreon-clib
conan install .. -s compiler.libcxx=libstdc++11 --build=missing
Préparons la compilation.
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.
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.
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
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. Nouveauté avec la version 20.04, l'utilisation de conan pour gérer les dépendances de C++. Simplification, les deux connecteurs seront compilés en même temps.
3.1 Pré requis
Tout d'abord, installons les paquets nécessaires au fonctionnement de ces connecteurs.
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.
cd /usr/local/src/centreon-connector
conan install .. -s compiler.libcxx=libstdc++11 --build=missing
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.
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/
make && make install
C'est terminé, nous pouvons continuer par l'installation de Centreon Engine.
4 Installation de Centreon Engine
Ce chapitre présente l'installation du moteur de supervision créé par l'équipe de Centreon. Nous utiliserons la dernière version 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 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.
cd /usr/local/src/centreon-engine
conan install .. -s compiler.libcxx=libstdc++11 --build=missing
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.
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.
make && make install
Pour vérifier, avant de continuer, le bon fonctionnement de la librairie partagée, saisissez la commande suivante:
centengine -V
[1637064041] [22057] Centreon Engine 21.10.1
[1637064041] [22057]
[1637064041] [22057] Copyright 1999-2009 Ethan Galstad
[1637064041] [22057] Copyright 2009-2010 Nagios Core Development Team and Community Contributors
[1637064041] [22057] Copyright 2011-2021 Centreon
[1637064041] [22057]
[1637064041] [22057] This program is free software: you can redistribute it and/or
[1637064041] [22057] modify it under the terms of the GNU General Public License version 2
[1637064041] [22057] as published by the Free Software Foundation.
[1637064041] [22057]
[1637064041] [22057] Centreon Engine is distributed in the hope that it will be useful,
[1637064041] [22057] but WITHOUT ANY WARRANTY; without even the implied warranty of
[1637064041] [22057] MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
[1637064041] [22057] General Public License for more details.
[1637064041] [22057]
[1637064041] [22057] You should have received a copy of the GNU General Public License
[1637064041] [22057] along with this program. If not, see
[1637064041] [22057] <http://www.gnu.org/licenses/>.
Mettre le service centengine en démarrage automatique. Nous verrons plus loin la création d'un cgroup centreon nécessaire au démarrage du service (paragraphe 8.9a)
systemctl enable centengine.service && systemctl daemon-reload
L'installation de Centreon-Engine est terminée, il faut passer à l'installation des plugins.
5 Installation des Plugins pour Centreon-Engine
Les plugins, appelés aussi sondes, sont des programmes exécutables obligatoires pour faire fonctionner notre supervision. Les plugins ne sont pas installés par défaut. Il faut les télécharger et faire leur installation. Depuis quelques temps, Les plugins historiques peuvent être récupérés sur deux sites différents, le site de nagios-plugins.org et le site monitoring-plugins.org. D'autres plugins, principalement en Perl, seront fournis avec l’interface de Centreon.
Depuis peu, l’équipe de Centreon a réalisé ses propres plugins en Perl. Ces plugins font parti intégrante de cette version donc ces plugins sont nécessaires à l'installation.
Depuis peu, l’équipe de Centreon a réalisé ses propres plugins en Perl. Ces plugins font parti intégrante de cette version donc ces plugins sont nécessaires à l'installation.
5.1 Plugins historiques
5.1.a 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
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.
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.
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
Nous installerons les plugins dans le dossier /usr/lib64/nagios/plugins
./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.
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.
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.
chmod +x *
mkdir -p /usr/lib/centreon/plugins
mv * /usr/lib/centreon/plugins/
6 Installation de Centreon-Broker
L'équipe de Centreon a développé son propre broker plus modulaire et plus performant que celui proposé par Nagios, NDOutil. Il est, depuis peu, compatible avec Nagvis grâce à un connecteur spécifique. Cette nouvelle version de broker intègre un nouveau connecteur utilisant l'interpréteur LUA. 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
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 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.
cd /usr/local/src/centreon-broker
conan install .. -s compiler.libcxx=libstdc++11 --build=missing
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. Pour le chemin de la librairie broker, nous utiliserons le dossier /usr/lib/nagios pour rester en cohérence avec l'installation officielle de Centreon.
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.
make && make install
Mettre le service cbd en démarrage automatique.
systemctl enable cbd.service && systemctl daemon-reload
L'installation de Centreon-Broker est terminée, il faut passer à l’installation de Centreon. Si vous n’avez pas configuré SNMP, il est temps de le faire.
7 Installation du protocole SNMP
La gestion des traps SNMP exige l’installation d’un paquet supplémentaire.
7.1 Prérequis
Installons les paquets nécessaires pour le SNMP
apt install snmp snmpd snmptrapd libnet-snmp-perl libsnmp-perl libmodule-build-perl libmodule-install-perl -y
7.2 Paramétrages
Pour le fonctionnement du SNMP, modifiez le fichier /etc/snmp/snmpd.conf. Pour une installation standalone (1 Central), cette configuration suffira.
agentAddress udp:localhost:161
rocommunity public localhost
Pour une installation distribuée (1 Central et 1 poller), il est fortement conseillé de faire une supervision croisée : le Central supervise le poller distant et inversement. On utilisera cette configuration en remplaçant le mot clé par l'adresse IP du poller distant.
agentAddress udp:161
rocommunity public <IP Poller distant>
Et pour recevoir les traps modifier le fichier /etc/default/snmptrapd
# snmptrapd options (use syslog).
TRAPDOPTS='-On -LSwd -p /run/snmptrapd.pid'
Ou cette modification, si vous voulez avoir les logs des traps reçus. Attention, évitez d'activer cette options si vous avez un nombre de traps très importants, le fichiers de logs augmentera très vite.
# snmptrapd options (use syslog).
TRAPDOPTS='-On -Lsdf /var/log/snmptrapd.log -p /run/snmptrapd.pid'
7.3 Installation des mibs
7.3a Modification du dépôt Debian
Modifiez le fichier /etc/apt/sources.list. Rajoutez non-free sur les dépôts.
deb http://deb.debian.org/debian/ bullseye main non-free
Faites une mise à jour
apt update
7.3b Ajout des mibs
Il vous reste à rajouter les mibs
apt install snmp-mibs-downloader -y
7.3c Modification de la configuration SNMP
Commentez la ligne du fichier /etc/snmp/snmp.conf
#mibs :
Redémarrez les services SNMP
systemctl restart snmpd snmptrapd
7.3d Vérification du fonctionnement
Pour vérifier le fonctionnement pour la configuration en standalone, saisir la ligne suivante
snmpwalk -c public -v 2c localhost
Pour la configuration en standalone, saisir la ligne suivante sur le poller distant configuré.
snmpwalk -c public -v 2c <IP Central Centreon>
Vous devez obtenir une très longue liste d'OID SNMP.
8 Installation de Centreon Web
L’installation de l’interface graphique de Centreon se fait en deux temps. Premièrement, commencez votre installation en ligne de commande, puis terminez par l’utilisation de l’interface Web.
8.1 Prérequis
Tout d'abord, Il faudra créer un utilisateur centreon
groupadd -g 6000 centreon
useradd -u 6000 -g centreon -m -r -d /var/lib/centreon -c "Centreon Admin" -s /bin/bash centreon
Rajoutez l'utilisateur centreon-broker dans le groupe centreon. Ceci permettra au broker de créer les fichier RRD.
usermod -aG centreon centreon-broker
Nous devons installer php 8.0, suivre les instructions suivantes. Installer les paquets suivants :
apt-get install ca-certificates apt-transport-https software-properties-common -y
Ajoutez le dépôt pour PHP 8.1
wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list
apt update
Mettre à jour les paquets
apt upgrade -y
Il faut installer les paquets supplémentaires.
apt install php php8.1-opcache libapache2-mod-php php-mysql php-curl php-json php-gd php-intl php-mbstring php-xml php-zip php-fpm php-readline ntp rrdtool php-sqlite3 php-pear sudo tofrodos bsd-mailx lsb-release mariadb-server libconfig-inifiles-perl libcrypt-des-perl librrds-perl libdigest-hmac-perl libdigest-sha-perl libgd-perl php-ldap php-snmp php-db php-date -y
Modifions les paramètres de php-conf pour augmenter le nombre de fichiers ouverts
mkdir -p /etc/systemd/system/php-fpm.d
tee /etc/systemd/system/php-fpm.d/centreon.conf <<EOF
[Service]
LimitNOFILE=4096
EOF
Activons les modules
a2enmod proxy_fcgi setenvif proxy rewrite
a2enconf php8.1-fpm
a2dismod php8.1
systemctl restart apache2 php8.1-fpm
Nouveauté depuis la version 19.10.x, il faut obligatoirement configurer le paramètre date.timezone pour le php-fpm. Pour cela, éditez le fichier de configuration pour apache. Attention, bien respectez la casse et ne pas mettre d'espace.
Saisissez la valeur adaptée à votre configuration.
echo "date.timezone = Europe/Paris" >> /etc/php/8.1/fpm/conf.d/50-centreon.ini
8.2 préparation de MariaDB
La version Centreon 21.10 autorise maintenant le mode strict, il n'est plus nécessaire de paramétrer la variable sql_mode. Par contre, il faut sécuriser la base de données en initialisant le mot de passe root de MariaDB. Lancez la commande mysql_secure_installation et répondre Y aux questions.
mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY! In order to log into MariaDB to secure it, we'll need the current password for the root user. If you've just installed MariaDB, and haven't set the root password yet, you should just press enter here. Enter current password for root (enter for none): OK, successfully used password, moving on... Setting the root password or using the unix_socket ensures that nobody can log into the MariaDB root user without the proper authorisation. You already have your root account protected, so you can safely answer 'n'. Switch to unix_socket authentication [Y/n] Y Enabled successfully! Reloading privilege tables.. ... Success! You already have your root account protected, so you can safely answer 'n'. Change the root password? [Y/n] Y New password: Re-enter new password: Password updated successfully! Reloading privilege tables.. ... Success! By default, a MariaDB installation has an anonymous user, allowing anyone to log into MariaDB without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment. Remove anonymous users? [Y/n] Y ... Success! Normally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network. Disallow root login remotely? [Y/n] Y ... Success! By default, MariaDB comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. Remove test database and access to it? [Y/n] Y - Dropping test database... ... Success! - Removing privileges on test database... ... Success! Reloading the privilege tables will ensure that all changes made so far will take effect immediately. Reload privilege tables now? [Y/n] Y ... Success! Cleaning up... All done! If you've completed all of the above steps, your MariaDB installation should now be secure. Thanks for using MariaDB!
Afin de pouvoir partitioner certaines tables de la base centreon_storage, modifiez le fichier de configuration systemd de MySQL en ajoutant le fichier suivant.
mkdir /etc/systemd/system/mariadb.service.d
tee /etc/systemd/system/mariadb.service.d/limitnofile.conf <<EOF
[Service]
LimitNOFILE=32000
EOF
Ajouter le fichier suivant pour finir la configuration.
tee /etc/mysql/conf.d/centreon.cnf <<EOF
#
# Custom MySQL/MariaDB server configuration for Centreon
#
[server]
innodb_file_per_table=1
open_files_limit = 32000
key_buffer_size = 256M
sort_buffer_size = 32M
join_buffer_size = 4M
thread_cache_size = 64
read_buffer_size = 512K
read_rnd_buffer_size = 256K
max_allowed_packet = 8M
# For 4 Go Ram
#innodb_additional_mem_pool_size=512M
#innodb_buffer_pool_size=512M
# For 8 Go Ram
#innodb_additional_mem_pool_size=1G
#innodb_buffer_pool_size=1G
EOF
Redémarrez le serveur MySql en prenant compte les modifications.
systemctl daemon-reload && systemctl restart mysql
Le broker Centreon s'appuie actuellement sur un fichier socket situé dans /var/lib/mysql/mysql.sock. Hors, MariaDB sous Debian créé le fichier dans /run/mysqld.sock, ce qui provoque un dysfonctionnement avec les messages d'erreur suivants dans /var/log/centreon-broker/central-broker-master.log.
Centreon Broker 20.10.5 log file opened
[1621187250] error: mysql_connection: error while starting connection
[1621187251] error: mysql_connection: error while starting connection
[1621187260] error: storage: Unable to initialize the storage connection to the database
Pour palier ce problème, réalisez ce lien symbolique
ln -s /run/mysqld/mysqld.sock /var/lib/mysql/mysql.sock
8.3 Installation de Gorgone
Nouveautés depuis la version 20.04, installation d'un nouveau gestionnaire d'événements remplaçant centcore.
8.3a Prérequis pour les librairies
Installer les paquets suivants
apt install 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.3a 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
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.3b 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.3c 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.3d Installation en ligne de commande
Téléchargez le binaire du 17/02/2022 dans le dossier /usr/local/src et décompressez-le.
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.
./install.sh -i
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 Installation type central 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!
Continuons avec l'installation de Centreon-Web
8.4 Installation en ligne de commande
Je temporise car j'ai des soucis d'authentification, affaire à suivre.
Téléchargez le binaire du 21/03/2022 dans le dossier /usr/local/src et décompressez-le.
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
8.4a Installation des dépendances Php
Avant de continuer l'installation, installer PHP composer
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php --install-dir=/usr/bin --filename=composer
Lancer la commande dans le dossier d'installation de centreon-web-21.04.x pour installer les dépendances php
composer install --no-dev --optimize-autoloader -n
Nous installons la version 2. Vous devriez voir des messages d'avertissement mais cela ne gêne pas pour l'installation, ne faites pas de mises à jour des modules sous peine d'avoir un blocage de l'installation en mode Web.
8.4b Installation des dépendances Javascript
On ne prendra pas la version modejs de debian 11. Installez les paquets nécessaires à l'environnement d'exécution javascript nodejs.
apt install curl -y
curl -sL https://deb.nodesource.com/setup_14.x | bash -
apt install -y nodejs
Toujours dans le dossier d'installation de centreon-web-21.10.x, exécutez les commandes suivantes.
npm ci
npm run build
Créez les dossiers suivants
mkdir /lib/systemd/system/mariadb.service.d
mkdir /var/log/php-fpm
mkdir /lib/systemd/system/php8.0-fpm.service.d
mkdir /var/log/centreon-broker
mkdir /usr/share/centreon-engine
Lancez la ligne de commande ci-dessous pour débuter l'installation. conseil, videz le répertoire temporaire /tmp avant de continuer 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.
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 tous les modules.
------------------------------------------------------------------------ Please choose what do you want to install ------------------------------------------------------------------------ Do you want to install : Centreon Web Front [y/n], default to [n]: > y Do you want to install : Centreon 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. Commençons par l'installation de gorgone, laissez les options par défaut.
------------------------------------------------------------------------ Gorgone module Installation ------------------------------------------------------------------------ Where is your gorgone module folder ? [/var/lib/centreon-gorgone] default to [/var/lib/centreon-gorgone] > Path /var/lib/centreon-gorgone OK Where is your gorgone configuration folder ? [/etc/centreon-gorgone] default to [/etc/centreon-gorgone] > What is the Gorgone user ? [centreon-gorgone] default to [centreon-gorgone] > What is the Gorgone group ? [centreon-gorgone] default to [centreon-gorgone] >
Passons à Centreon Web, l'interface de centreon. Ici, on nous demande où installer Centreon UI. Laissez par défaut.
------------------------------------------------------------------------ Start CentWeb Installation ------------------------------------------------------------------------ Where is your Centreon directory? default to [/usr/share/centreon] > Path /usr/share/centreon OK
Ici on nous demande le répertoire de stockage des journaux/logs de centreon.
Where is your Centreon log directory default to [/var/log/centreon] > Do you want me to create this directory ? [/var/log/centreon] [y/n], default to [n]: > y Path /var/log/centreon OK
Très important : L'emplacement des fichiers de configuration de centreon. Attention si cet endroit venait à changer par la suite, vous seriez obligé de relancer l'installation de centreon, certains fichiers devant être regénérés. Saisir les valeurs par défaut et répondre y pour la création des dossiers.
Where is your Centreon etc directory default to [/etc/centreon] > Do you want me to create this directory ? [/etc/centreon] [y/n], default to [n]: > y Path /etc/centreon OK Where is your Centreon cache directory? default to [/var/cache/centreon] > Do you want me to create this directory ? [/var/cache/centreon] [y/n], default to [n]: > y Path /var/cache/centreon OK Where is your Centreon variable library directory? default to [/var/lib/centreon] > Path /var/lib/centreon OK /usr/bin/rrdtool OK /usr/bin/mail OK Where is your php binary ? default to [/usr/bin/php] > /usr/bin/php OK Where is PEAR [PEAR.php] default to [/usr/share/php/PEAR.php] > Path /usr/share/php OK /usr/bin/perl OK check PHP version OK Composer dependencies are installed OK Frontend application is built OK Enable Apache configuration OK ERROR: Conf centreon does not exist! Finding Apache user : www-data Finding Apache group : www-data PHP FPM config directory not found CRITICAL Where is your PHP FPM conf.d directory > /etc/php/8.1/fpm/pool.d/
Utilisation d'un groupe centreon et d'un utilisateur centreon, validez entrée par défaut
What is the Centreon group ? [centreon] default to [centreon] > What is the Centreon user ? [centreon] default to [centreon] >
Laissez les valeurs par défaut.
What is the Monitoring engine user ? [centreon-engine] default to [centreon-engine] > What is the Broker user ? [centreon-broker] default to [centreon-broker] > What is the Monitoring engine log directory ? [/var/log/centreon-engine] default to [/var/log/centreon-engine] > Path OK Path OK Add group centreon to user www-data OK Add group centreon to user centreon-engine OK Add group centreon-engine to user www-data OK Add group centreon-engine to user centreon OK Add group www-data to user centreon OK
Configuration des commandes utilisées par Sudo. Validez les chemins par défaut et surtout répondre y pour la création du fichier /etc/sudoers.d/centreon et pour la configuration de sudo.
------------------------------------------------------------------------ Configure Sudo ------------------------------------------------------------------------ Where is sudo configuration file default to [/etc/sudoers.d/centreon] > Do you want me to create this file ? [/etc/sudoers.d/centreon] [y/n], default to [n]: > y /etc/sudoers.d/centreon What is the Monitoring engine binary ? [/usr/sbin/centengine] default to [/usr/sbin/centengine] > What is the Monitoring engine configuration directory ? [/etc/centreon-engine] default to [/etc/centreon-engine] > Where is the configuration directory for broker module ? [/etc/centreon-broker] default to [/etc/centreon-broker] > Where is your service command binary ? default to [/usr/sbin/service] > Your sudo is not configured Do you want me to configure your sudo ? (WARNING) [y/n], default to [n]: > y Configuring Sudo OK
Configuration du serveur Web. Laissez par défaut en répondant y, un warning pour le démarrage du PHP FPM sans importance
------------------------------------------------------------------------ Configure Apache server ------------------------------------------------------------------------ Do you want to add Centreon Apache sub configuration file ? [y/n], default to [n]: > y Create '/etc/apache2/conf-available/centreon.conf' OK Configuring Apache OK Do you want to reload your Apache ? [y/n], default to [n]: > y Reloading Apache service OK ------------------------------------------------------------------------ Configure PHP FPM service ------------------------------------------------------------------------ Do you want to add Centreon PHP FPM sub configuration file ? [y/n], default to [n]: > y Creating directory /var/lib/centreon/sessions OK Create '/etc/php/8.0/fpm/pool.d/centreon.conf' OK Configuring PHP FPM OK Do you want to reload PHP FPM service ? [y/n], default to [n]: > y Unable to reload PHP FPM service WARNING Preparing Centreon temporary files Modify rights on /var/log/centreon OK Modify rights on /var/lib/centreon/installs OK Modify rights on /etc/centreon OK Modify rights on /var/cache/centreon OK Change macros for insertBaseConf.sql OK Change macros for sql update files OK Change macros for php files OK Change macros for php env and config file OK Change macros for perl binary OK Modify rights on /etc/centreon-engine OK Add group centreon-broker to user www-data OK Add group centreon-broker to user centreon-engine OK Add group centreon to user centreon-broker OK Add group centreon-gorgone to user centreon OK Add group centreon-gorgone to user www-data OK Add group centreon to user centreon-gorgone OK Add group centreon-broker to user centreon-gorgone OK Add group centreon-engine to user centreon-gorgone OK Add group www-data to user centreon-gorgone OK Modify rights on /etc/centreon-broker OK Copy CentWeb in system directory Install CentWeb (web front of centreon) OK Modify rights for install directory OK Install libraries OK Write rights to Smarty Cache OK Change macros for centreon.cron OK Install Centreon cron.d file OK Change macros for centAcl.php OK Change macros for downtimeManager.php OK Change macros for centreon-backup.pl OK Install cron directory OK Modify rights for eventReportBuilder OK Modify rights for dashboardBuilder OK Modify rights for centreon-backup.pl OK Modify rights for centreon-backup-mysql.sh OK Change macros for centreon.logrotate OK Install Centreon logrotate.d file OK Prepare centFillTrapDB OK Install centFillTrapDB OK Prepare centreon_trap_send OK Install centreon_trap_send OK Prepare centreon_check_perfdata FAIL Install centreon_check_perfdata FAIL Prepare centreonSyncPlugins OK Install centreonSyncPlugins OK Prepare centreonSyncArchives OK Install centreonSyncArchives OK Install generateSqlLite OK Install changeRrdDsName.pl OK Install export-mysql-indexes OK Install import-mysql-indexes OK Install clapi binary OK Centreon Web Perl lib installed OK ------------------------------------------------------------------------ Pear Modules ------------------------------------------------------------------------ Check PEAR modules PEAR 1.4.9 1.10.13 OK DB 1.7.6 1.10.0 OK Date 1.4.6 1.4.7 OK All PEAR modules OK
Configuration de gorgone, répondre y pour créer les fichiers de configuration.
------------------------------------------------------------------------ Achieve gorgone's module integration ------------------------------------------------------------------------ A configuration file already exists. Do you want to overwrite it ? [y/n], default to [n]: > y Create gorgone's 30-centreon.yaml file OK Create centreon config folders OK Gorgone configuration structure OK ------------------------------------------------------------------------ Create configuration and installation files ------------------------------------------------------------------------ ------------------------------------------------------------------------ Centreon Post Install ------------------------------------------------------------------------ Create /usr/share/centreon/www/install/install.conf.php OK Create /etc/centreon/instCentWeb.conf OK
Nous continuons avec l'installation de CentStorage. Laissez par défaut et y pour le lancement du service.
------------------------------------------------------------------------ Starting CentStorage Installation ------------------------------------------------------------------------ Where is your Centreon Run Dir directory? default to [/var/run/centreon] > Do you want me to create this directory ? [/var/run/centreon] [y/n], default to [n]: > y Path /var/run/centreon OK Where is your CentStorage binary directory default to [/usr/share/centreon/bin] > Path /usr/share/centreon/bin OK Where is your CentStorage RRD directory default to [/var/lib/centreon] > Path /var/lib/centreon OK Preparing Centreon temporary files /tmp/centreon-setup exists, it will be moved... install www/install/createTablesCentstorage.sql OK Creating Centreon Directory '/var/lib/centreon/status' OK Creating Centreon Directory '/var/lib/centreon/metrics' OK Change right : /var/run/centreon OK Install logAnalyserBroker OK Install nagiosPerfTrace OK Change macros for centstorage.cron OK Install CentStorage cron OK Create /etc/centreon/instCentStorage.conf OK
Nous continuons avec l'installation des plugins. Laissez par défaut et y pour la création du service.
------------------------------------------------------------------------ Starting Centreon Plugins Installation ------------------------------------------------------------------------ Path OK Path OK Where is your CentPlugins lib directory default to [/var/lib/centreon/centplugins] > Do you want me to create this directory ? [/var/lib/centreon/centplugins] [y/n], default to [n]: > y Path /var/lib/centreon/centplugins OK Create /etc/centreon/instCentPlugins.conf OK
Installation des plugins pour les Traps SNMP, répondre y pour la création des dossiers. Il y a des erreurs, il faudra certainement effectuer des corrections pour faire fonctionner centreontrapd.
------------------------------------------------------------------------ Starting CentreonTrapD Installation ------------------------------------------------------------------------ Path OK Path OK Where is your SNMP configuration directory default to [/etc/snmp] > /etc/snmp OK Where is your CentreonTrapd binaries directory default to [/usr/share/centreon/bin] > /usr/share/centreon/bin OK Finding Apache user : www-data Preparing Centreon temporary files /tmp/centreon-setup exists, it will be moved... Change macros for snmptrapd.conf OK Replace CentreonTrapd init script Macro OK Replace CentreonTrapd default script Macro OK Do you want me to install CentreonTrapd init script ? [y/n], default to [n]: > y CentreonTrapd init script installed OK CentreonTrapd default script installed OK Do you want me to install CentreonTrapd run level ? [y/n], default to [n]: > y update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults trapd Perl lib installed OK Install : snmptrapd.conf OK Install : centreontrapdforward OK Install : centreontrapd OK Change macros for centreontrapd.logrotate OK Install Centreon Trapd logrotate.d file OK Create /etc/centreon/instCentPlugins.conf OK ############################################################################### # # # Thanks for using Centreon. # # ----------------------- # # # # Go to the URL : http://testbuster.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 # # # ###############################################################################
Pour éviter les problèmes de droit pour les fichiers temporaires des plugins Centreon, modifiez les droits pour le dossier /var/lib/centreon/centplugins
chmod 775 /var/lib/centreon/centplugins
chown centreon: /var/lib/centreon/centplugins
8.5 Installation des widgets
Nous allons mettre en place les widgets avant l'installation en mode Web. Téléchargez les binaires des widgets compatibles avec cette version.
cd /usr/local/src
wget http://files.download.centreon.com/public/centreon-widgets/centreon-widget-engine-status/centreon-widget-engine-status-21.10.0.tar.gz
wget http://files.download.centreon.com/public/centreon-widgets/centreon-widget-graph-monitoring/centreon-widget-graph-monitoring-21.10.0.tar.gz
wget http://files.download.centreon.com/public/centreon-widgets/centreon-widget-grid-map/centreon-widget-grid-map-21.10.0.tar.gz
wget http://files.download.centreon.com/public/centreon-widgets/centreon-widget-host-monitoring/centreon-widget-host-monitoring-21.10.0.tar.gz
wget http://files.download.centreon.com/public/centreon-widgets/centreon-widget-hostgroup-monitoring/centreon-widget-hostgroup-monitoring-21.10.0.tar.gz
wget http://files.download.centreon.com/public/centreon-widgets/centreon-widget-httploader/centreon-widget-httploader-21.10.0.tar.gz
wget http://files.download.centreon.com/public/centreon-widgets/centreon-widget-live-top10-cpu-usage/centreon-widget-live-top10-cpu-usage-21.10.0.tar.gz
wget http://files.download.centreon.com/public/centreon-widgets/centreon-widget-live-top10-memory-usage/centreon-widget-live-top10-memory-usage-21.10.0.tar.gz
wget http://files.download.centreon.com/public/centreon-widgets/centreon-widget-service-monitoring/centreon-widget-service-monitoring-21.10.1.tar.gz
wget http://files.download.centreon.com/public/centreon-widgets/centreon-widget-servicegroup-monitoring/centreon-widget-servicegroup-monitoring-21.10.0.tar.gz
wget http://files.download.centreon.com/public/centreon-widgets/centreon-widget-tactical-overview/centreon-widget-tactical-overview-21.10.0.tar.gz
Décompressez les archives
tar xzf centreon-widget-engine-status-21.10.0.tar.gz
tar xzf centreon-widget-graph-monitoring-21.10.0.tar.gz
tar xzf centreon-widget-grid-map-21.10.0.tar.gz
tar xzf centreon-widget-host-monitoring-21.10.0.tar.gz
tar xzf centreon-widget-hostgroup-monitoring-21.10.0.tar.gz
tar xzf centreon-widget-httploader-21.10.0.tar.gz
tar xzf centreon-widget-live-top10-cpu-usage-21.10.0.tar.gz
tar xzf centreon-widget-live-top10-memory-usage-21.10.0.tar.gz
tar xzf centreon-widget-service-monitoring-21.10.1.tar.gz
tar xzf centreon-widget-servicegroup-monitoring-21.10.0.tar.gz
tar xzf centreon-widget-tactical-overview-21.10.0.tar.gz
Déplaçons les widgets dans le dossier réservé à ceux-ci.
mv centreon-widget-engine-status-21.10.0/engine-status /usr/share/centreon/www/widgets/
mv centreon-widget-graph-monitoring-21.10.0/graph-monitoring /usr/share/centreon/www/widgets/
mv centreon-widget-grid-map-21.10.0/grid-map/ /usr/share/centreon/www/widgets/
mv centreon-widget-host-monitoring-21.10.0/host-monitoring/ /usr/share/centreon/www/widgets/
mv centreon-widget-hostgroup-monitoring-21.10.0/hostgroup-monitoring/ /usr/share/centreon/www/widgets/
mv centreon-widget-httploader-21.10.0/httploader/ /usr/share/centreon/www/widgets/
mv centreon-widget-live-top10-cpu-usage-21.10.0/live-top10-cpu-usage/ /usr/share/centreon/www/widgets/
mv centreon-widget-live-top10-memory-usage-21.10.0/live-top10-memory-usage/ /usr/share/centreon/www/widgets/
mv centreon-widget-service-monitoring-21.10.1/service-monitoring/ /usr/share/centreon/www/widgets/
mv centreon-widget-servicegroup-monitoring-21.10.0/servicegroup-monitoring/ /usr/share/centreon/www/widgets/
mv centreon-widget-tactical-overview-21.10.0/tactical-overview/ /usr/share/centreon/www/widgets/
Appliquez les bons droits aux dossiers suivants
chown centreon-broker:centreon-broker /var/log/centreon-broker
chmod 775 /var/log/centreon-broker
chmod 775 /var/lib/centreon-broker
Créez un dossier centcore dans /var/lib/centreon
mkdir /var/lib/centreon/centcore
chown centreon: /var/lib/centreon/centcore
chmod -R 775 /var/lib/centreon/centcore
Afin de créer automatiquement le fichier /etc/centreon/config.d/10-database.yaml, modifiez les droits du dossier /etc/centreon/config.d
chown centreon: /etc/centreon/config.d
chmod 775 /etc/centreon/config.d
Créez le fichier /etc/centreon/config.yaml
tee /etc/centreon/config.yaml <<EOF
name: config.yaml
description: Configuration for Central server
configuration: !include config.d/*.yaml
EOF
chmod 664 /etc/centreon/config.yaml
chown centreon: /etc/centreon/config.yaml
Nous allons copiez des fichiers qui n'ont pas été installé par l'installateur.
cp /usr/share/centreon/bin/centFillTrapDB /usr/bin
cp /usr/share/centreon/bin/centreonSyncArchives /usr/bin
cp /usr/share/centreon/bin/centreonSyncPlugins /usr/bin
cp /usr/share/centreon/bin/centreon_trap_send /usr/bin
cp /usr/share/centreon/bin/generateSqlLite /usr/bin
cp /usr/local/src/centreon-web-21.10.5/bin/console /usr/share/centreon/bin
chown centreon:centreon /usr/share/centreon/bin/centreon
chown centreon:centreon /usr/share/centreon/bin/console
chown centreon:centreon /usr/share/centreon/bin/export-mysql-indexes
chown centreon:centreon /usr/share/centreon/bin/import-mysql-indexes
Modifions l'entête du fichier console
sed -i -e 's/@PHP_BIN@/\/usr\/bin\/php/g' /usr/share/centreon/bin/console
Il faut terminer l’installation en mode Web.
8.6 Installation en mode Web
Il faut autoriser la configuration Centreon pour le serveur Web Apache
a2enconf centreon.conf
a2enmod headers
Relancez la configuration.
systemctl restart apache2 php8.1-fpm
Utilisez un navigateur internet récent et saisissez l’url suivante :
http://<ip du serveur centreon>/centreon/
http://<ip du serveur centreon>/centreon/
Démarrage de l'installation Web, cliquez sur "Next"
L’écran suivant vous indique que la package php7-intl n’est pas installé et que vous n’avez pas configuré le fuseau horaire dans le php.ini du serveur fpm.
Validation des dépendances, cliquez sur "next".
Vérifiez les chemins ci-dessous, modifiez si besoin Centreon Engine Library (*.so) directory
Centreon Engine directory: /usr/share/centreon-engine Centreon Engine Stats binary: /usr/sbin/centenginestats Centreon Engine var lib directory: /var/lib/centreon-engine Centreon Engine Connector path: /usr/lib64/centreon-connector Centreon Engine Library (*.so) directory: /usr/lib64/centreon-engine/ Centreon Plugins Path: /usr/lib/centreon/plugins
cliquez sur Next.
Vérifiez les chemins ci-dessous, modifiez si besoin Centreon Broker module (cbmod.so):
Centreon Broker etc directory: /etc/centreon-broker Centreon Broker module (cbmod.so): /usr/lib64/nagios/cbmod.so Centreon Broker log directory: /var/log/centreon-broker Retention file directory: /var/lib/centreon-broker Centreon Broker lib (*.so) directory: /usr/share/centreon/lib/centreon-broker
Cliquez sur Next.
Création du user "Administrateur", admin et son mot de passe. Saisir une adresse valide pour l’email. Cliquez sur Next.
Définir les Accès MySQL, le mot de passe de MySQL. Laisser les noms de base par défaut CENTREON, CENTSTORAGE. Saisir le mot de passe pour ces bases de données. Cliquez sur Next.
Cliquez sur Next
Les widgets sont pré-installés, Cliquez sur Install
Cliquez sur Next
Fin de l'installation, cliquez sur Finish
Vous devriez avoir cette vue avec la nouvelle interface temps réel.
8.7 Préparation de la configuration gorgone
Redémarrer le service centreon-gorgone
systemctl restart gorgoned
Vérifiez le fonctionnement de gorgone, vous devez avoir les modules suivants comme la copie d'écran ci-dessous.
systemctl status gorgoned
8.8 Lancement des services et application de la configuration
Démarrez les services ci-dessous :
systemctl start cbd && systemctl start centreontrapd
8.8a création d'un cgroup centreon
Les scripts systemd pour le démarrage du moteur et du broker ont 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.
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 les services cbd et centengine.
8.9 Préparation de la configuration centreon
Il faudra renseigner la valeur de la macro $USER1$, cliquez sur Configuration -> Pollers -> Resources. Modifiez la valeur avec le chemin des plugins historique /usr/lib64/nagios/plugins
Cette nouvelle version ne contient plus les plugins historiques de Centreon ainsi que la base d'exemples de configuration. Cette version est développée pour les nouveaux plugins-pack de Centreon. Vous avez le minimum vital : quelques contacts, périodes temporelles, macro ressources, les traps SNMP et la configuration du poller pour le Central. Actuellement, le module IMP n'est pas encore compatible avec la distribution Debian. Nous allons quand-même installer un exemple de configuration basé sur mes scripts CLAPI pour centreon-deb. Nous allons utiliser la dernière version de mon script de configuration sur mon github.
cd /usr/local/src
apt-get install git -y
git clone https://github.com/kermith72/auto_install.git
8.9a installation des icônes
Pour améliorer la présentations des hôtes et services, nous allons installer les icônes de Pixelabs. Si vous avez installé le git d'auto_install, décompressez l'archive.
tar xzf /usr/local/src/auto_install/debian10/icones_pixelabs_v2.tar.gz -C /tmp
tar xzf /usr/local/src/auto_install/debian10/icones_extra.tar.gz -C /tmp
cp -r /tmp/icones_pixelabs_v2/* /usr/share/centreon/www/img/media/
cp -r /tmp/icones_extra/* /usr/share/centreon/www/img/media/
chown -R www-data: /usr/share/centreon/www/img/media/
Afin de permettre l'utilisation des icônes de Pixelabs, nous allons les installer dans la section Média. Sélectionnez le menu Administration > Parameters > Images. Cliquez sur le bouton Synchronize Media Directory
Fermez la fenêtre "Media Detection" et rafraîchissez la fenêtre précédente. Vous afficherez les icônes réalisées par Pixelabs.
Ajout de commande impossible
Attention il y a un problème de configuration pour ajouter des commandes. Lorsque vous ajoutez des commandes avec l'IHM, vous risquez d'avoir une page blanche et des erreurs dans les logs comme ceci
Pour corriger ce dysfonctionnement, vérifiez le champ Plugins Directory en cliquant sur le menu Administration > Parameters > Monitoring
Voir l'image ci-dessous
Attention il y a un problème de configuration pour ajouter des commandes. Lorsque vous ajoutez des commandes avec l'IHM, vous risquez d'avoir une page blanche et des erreurs dans les logs comme ceci
[16-Feb-2022 17:57:10 Europe/Paris] PHP Warning: opendir(//lost+found): Failed to open directory: Permission denied in /usr/share/centreon/www/include/configuration/configObject/command/DB-Func.php on line 302
Pour corriger ce dysfonctionnement, vérifiez le champ Plugins Directory en cliquant sur le menu Administration > Parameters > Monitoring
Voir l'image ci-dessous
Vérifiez que le champ comprend le chemin complet des plugins Centreon. Normalement, c'est /usr/lib/centreon/plugins/
Merci aux lecteurs de mes articles pour avoir trouvé la correction.
Merci aux lecteurs de mes articles pour avoir trouvé la correction.
8.9b Installation standalone : script création de la configuration initiale
Nous allons utiliser le script téléchargé précédemment create_config_initialV9.sh. Ce dernier script a la particularité de créer l'hôte Central pour une architecture standalone en ajoutant yes à l'argument t. Il est possible de ne pas créer l'hôte Central pour permettre la supervision croisée dans le cas d'une architecture distribuée (installation par défaut). Après avoir modifié les permissions du fichier pour le rendre exécutable. Les paramètres sont les suivants :
-u : admin Centreon
-p : mot de passe de l'admin Centreon
-d : user mariaDB pour Centreon
-w : mot de passe user mariaDB
-s : création des services disk
-m : méthode restart
-i : ajout des icône
-t : évite la création de l'hôte
L'installation en mode distribuée sera expliqué au chapitre suivant. Lancez ce script (en root pour avoir les droits de recharger le moteur) comme ceci pour une installation standalone :
/usr/local/src/auto_install/debian10/create_config_initialV9.sh -u=admin -p=password -d=centreon -w=centreon -s=yes -m=restart -i=yes -t=yes
Voici le résultat de la commande :
Create Command base Create Command local Create Command snmp Create Command Windows snmp Create Command Windows nrpe Create Command Cisco snmp Create Command mysql Create Command gorgone Create Command Proxmox Create Command Lm-Sensors Create template service base Create template service local Create template service snmp Create template service Windows snmp Create template service Windows nrpe Create template service Cisco snmp Create template service local database Create template app centreon poller Create template app centreon central Create template app centreon gorgone Create template virt Proxmox Create template app lm-sensors Create templates host - base - linux local - linux snmp - poller - central - mysql PHP Warning: Undefined array key 4 in /usr/share/centreon/www/class/centreon-clapi/centreonHost.class.php on line 902 PHP Warning: Undefined array key 4 in /usr/share/centreon/www/class/centreon-clapi/centreonHost.class.php on line 902 PHP Warning: Undefined array key 4 in /usr/share/centreon/www/class/centreon-clapi/centreonHost.class.php on line 902 - windows snmp - windows nrpe PHP Warning: Undefined array key 4 in /usr/share/centreon/www/class/centreon-clapi/centreonHost.class.php on line 902 PHP Warning: Undefined array key 4 in /usr/share/centreon/www/class/centreon-clapi/centreonHost.class.php on line 902 PHP Warning: Undefined array key 4 in /usr/share/centreon/www/class/centreon-clapi/centreonHost.class.php on line 902 - cisco - gorgone PHP Warning: Undefined array key 4 in /usr/share/centreon/www/class/centreon-clapi/centreonHost.class.php on line 902 PHP Warning: Undefined array key 4 in /usr/share/centreon/www/class/centreon-clapi/centreonHost.class.php on line 902 PHP Warning: Undefined array key 4 in /usr/share/centreon/www/class/centreon-clapi/centreonHost.class.php on line 902 PHP Warning: Undefined array key 4 in /usr/share/centreon/www/class/centreon-clapi/centreonHost.class.php on line 902 PHP Warning: Undefined array key 4 in /usr/share/centreon/www/class/centreon-clapi/centreonHost.class.php on line 902 - proxmox PHP Warning: Undefined array key 4 in /usr/share/centreon/www/class/centreon-clapi/centreonHost.class.php on line 902 PHP Warning: Undefined array key 4 in /usr/share/centreon/www/class/centreon-clapi/centreonHost.class.php on line 902 PHP Warning: Undefined array key 4 in /usr/share/centreon/www/class/centreon-clapi/centreonHost.class.php on line 902 PHP Warning: Undefined array key 4 in /usr/share/centreon/www/class/centreon-clapi/centreonHost.class.php on line 902 PHP Warning: Undefined array key 4 in /usr/share/centreon/www/class/centreon-clapi/centreonHost.class.php on line 902 PHP Warning: Undefined array key 4 in /usr/share/centreon/www/class/centreon-clapi/centreonHost.class.php on line 902 - lm-sensors Create Central add storage Restart cbd... Configuration OK !
Il y a quelques warning du certainement à la version 8 du PHP. Au bout de quelques secondes, vous devriez voir apparaître les services dans la vue Statut des ressources
Ensuite, vous devriez voir apparaître les hôtes et services dans la barre d'état en haut à droite.
Votre supervision est en état de fonctionnement
A partir de la version 7 du script, il est possible de superviser facilement un serveur Windows ou un switch cisco. Les modèles d'hôtes sont disponibles.
8.9c Installation distribuée : script création de la configuration initiale
Nous allons installer la configuration des commandes et des modèles sans créer la supervision du Central. La configuration sera appliquée pour faire fonctionner le moteur et le broker. Lancez ce script (en root pour avoir les droits de recharger le moteur) comme ceci :
/usr/local/src/auto_install/debian10/create_config_initialV9.sh -u=admin -p=password -d=centreon -w=centreon -s=yes -m=restart -i=yes
Voici le résultat de la commande :
Create Command base Create Command local Create Command snmp Create Command Windows snmp Create Command Windows nrpe Create Command Cisco snmp Create Command mysql Create Command gorgone Create Command Proxmox Create Command Lm-Sensors Create template service base Create template service local Create template service snmp Create template service Windows snmp Create template service Windows nrpe Create template service Cisco snmp Create template service local database Create template app centreon poller Create template app centreon central Create template app centreon gorgone Create template virt Proxmox Create template app lm-sensors Create templates host - base - linux local - linux snmp - poller - central - mysql PHP Warning: Undefined array key 4 in /usr/share/centreon/www/class/centreon-clapi/centreonHost.class.php on line 902 PHP Warning: Undefined array key 4 in /usr/share/centreon/www/class/centreon-clapi/centreonHost.class.php on line 902 PHP Warning: Undefined array key 4 in /usr/share/centreon/www/class/centreon-clapi/centreonHost.class.php on line 902 - windows snmp - windows nrpe PHP Warning: Undefined array key 4 in /usr/share/centreon/www/class/centreon-clapi/centreonHost.class.php on line 902 PHP Warning: Undefined array key 4 in /usr/share/centreon/www/class/centreon-clapi/centreonHost.class.php on line 902 PHP Warning: Undefined array key 4 in /usr/share/centreon/www/class/centreon-clapi/centreonHost.class.php on line 902 - cisco - gorgone PHP Warning: Undefined array key 4 in /usr/share/centreon/www/class/centreon-clapi/centreonHost.class.php on line 902 PHP Warning: Undefined array key 4 in /usr/share/centreon/www/class/centreon-clapi/centreonHost.class.php on line 902 PHP Warning: Undefined array key 4 in /usr/share/centreon/www/class/centreon-clapi/centreonHost.class.php on line 902 PHP Warning: Undefined array key 4 in /usr/share/centreon/www/class/centreon-clapi/centreonHost.class.php on line 902 PHP Warning: Undefined array key 4 in /usr/share/centreon/www/class/centreon-clapi/centreonHost.class.php on line 902 - proxmox PHP Warning: Undefined array key 4 in /usr/share/centreon/www/class/centreon-clapi/centreonHost.class.php on line 902 PHP Warning: Undefined array key 4 in /usr/share/centreon/www/class/centreon-clapi/centreonHost.class.php on line 902 PHP Warning: Undefined array key 4 in /usr/share/centreon/www/class/centreon-clapi/centreonHost.class.php on line 902 PHP Warning: Undefined array key 4 in /usr/share/centreon/www/class/centreon-clapi/centreonHost.class.php on line 902 PHP Warning: Undefined array key 4 in /usr/share/centreon/www/class/centreon-clapi/centreonHost.class.php on line 902 PHP Warning: Undefined array key 4 in /usr/share/centreon/www/class/centreon-clapi/centreonHost.class.php on line 902 - lm-sensors Configuration OK !
Au bout de quelques secondes, vous devriez voir le fonctionnement du moteur avec la commande Configuration -> Pollers