
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. Ce chapitre présente l'installation de Centreon-broker version 18.10.1 qui est actuellement la dernière version stable, c'est la suite pour l'installation finale pour l’interface web Centreon 18.10.1. Attention, avec les modèles B de Rapsberry, la compilation est très longue.
11 Pré requis
Tout d'abord, Il faudra créer un groupe système et un utilisateur système centreon-broker
sudo groupadd -g 6002 centreon-broker
sudo useradd -u 6002 -g centreon-broker -m -r -d /var/lib/centreon-broker -c "Centreon-broker Admin" -s /bin/bash centreon-broker
Si vous utilisez Centreon-Engine, celui-ci devra accéder au dossier log de Centreon-Broker pour exécuter son module cbmod.so. Pour cela, l'utilisateur centreon-engine devra être membre du groupe centreon-broker.
sudo usermod -aG centreon-broker centreon-engine
Tout d'abord, installons les paquets nécessaires au fonctionnement des plugins. A partir de la version 3.0.13, il faudra installer la librairie LUA.
sudo apt-get install librrd-dev libqt4-dev libqt4-sql-mysql libgnutls28-dev lsb-release liblua5.2-dev -y
11.1 Installation RRDtool par les sources
La version 1.6.0 de RRDtool installée par Raspbian Stretch n'est pas compatible avec Centreon-Broker. Nous installerons les sources de la version 1.4.7. Commençons pas les prérequis.
sudo apt-get install libpango1.0-dev libxml2-dev -y
Ensuite récupérons les sources et compilons la version 1.4.7. Patientez cinq bonnes minutes.
cd
wget http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.4.7.tar.gz
tar xzf rrdtool-1.4.7.tar.gz
cd rrdtool-1.4.7
./configure --prefix=/opt/rddtool-broker && make && sudo make install
Copiez la configuration pkgconfig pour la compilation de Centreon-Broker.
sudo cp /opt/rddtool-broker/lib/pkgconfig/librrd.pc /usr/lib/pkgconfig/
Indiquez le chemin de la librairie partagée en créant ce fichier.
sudo vi /etc/ld.so.conf.d/rrdtool-broker.conf
Saisissez le chemin de la librairie.
# lib rrdtools for Centreon
/opt/rddtool-broker/lib
12 Installation
Téléchargez le binaire dans le dossier de l’utilisateur pi et décompressez-le.
cd
wget https://s3-eu-west-1.amazonaws.com/centreon-download/public/centreon-broker/centreon-broker-18.10.1.tar.gz
tar xzf centreon-broker-18.10.1.tar.gz
cd centreon-broker-18.10.1/build
Préparons la compilation.
sed -i '32i\set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++98 -fpermissive")' CMakeLists.txt
cmake \
-DWITH_DAEMONS='central-broker;central-rrd' \
-DWITH_GROUP=centreon-broker \
-DWITH_PREFIX=/usr \
-DWITH_PREFIX_BIN=/usr/sbin \
-DWITH_PREFIX_CONF=/etc/centreon-broker \
-DWITH_PREFIX_LIB=/usr/lib/centreon-broker \
-DWITH_PREFIX_VAR=/var/lib/centreon-broker \
-DWITH_PREFIX_MODULES=/usr/share/centreon/lib/centreon-broker \
-DWITH_STARTUP_SCRIPT=systemd \
-DWITH_STARTUP_DIR=/lib/systemd/system \
-DWITH_TESTING=0 \
-DWITH_USER=centreon-broker .
Extrait du résultat
-- Configuration Summary
-- ---------------------
--
-- Project
-- - Name Centreon Broker
-- - Version 18.10.1
--
-- System
-- - Name Linux
-- - Version 4.14.83v7-aufs
-- - Processor armv7l
--
-- Build
-- - Compiler /usr/bin/c++ (GNU)
-- - Extra compilation flags -std=c++98 -fpermissive
-- - Qt 4.8.7
-- - Unit tests disabled
-- - Startup script systemd
-- - Module stats, neb, notification, correlation, dumper, rrd, sql, storage, lua, influxdb, graphite, bam, tcp, tls
--
-- Install
-- - Prefix /usr
-- - Binary prefix /usr/sbin
-- - Library prefix /usr/lib/centreon-broker
-- - Modules prefix /usr/share/centreon/lib/centreon-broker
-- - Include prefix /usr/include/centreon-broker
-- - Configuration prefix /etc/centreon-broker
-- - Startup dir /lib/systemd/system
-- - User centreon-broker
-- - Group centreon-broker
-- - Package None
--
-- Configuring done
-- Generating done
-- Build files have been written to: /home/pi/centreon-broker-18.10.1/build

Pour accélérer le processus de compilation pour pouvez ajouter une directive de compilation afin d'autoriser des tâches simultanées. La bonne pratique est d'ajouter un argument correspondant au nombre de coeur + 1 :
make -j <nbr de coeur>+1
Avec cette directive, pour un raspberryPI 3+, la durée de compilation passe de 20 minutes à 6 minutes.
Ensuite compilons cette configuration et installons dans le système de fichiers de Raspbian. Prenez un café, c'est le moment le plus long de cette installation, une vingtaine de minutes ;-)
make
sudo make install
Mettre le service cbd en démarrage automatique.
sudo systemctl enable cbd.service
sudo systemctl daemon-reload
Continuons par l'installation du SNMP.