![Stacks Image 987237](files/stacks-image-7e9ebe3-128x100.png)
Afin de configurer notre poller, nous aurons besoin d’une partie des modules de Centreon Web à savoir toute la partie SNMP et les plugins Centreon fournis dans ce package. Nouveauté depuis la 20.04, la configuration du gestionnaire d'événements Centreon-Gorgone remplaçant l'échange de clé entre le Central et le poller. Puis, nous verrons plus loin la configuration du serveur Central afin de communiquer avec le serveur.
16 Pré Requis
Créez un groupe et un utilisateur centreon. Les utilisateurs Centreon-engine et Centreon-Broker devront appartenir au groupe Centreon.
sudo groupadd -g 6000 centreon sudo useradd -u 6000 -g centreon -m -r -d /var/lib/centreon -c "Centreon Admin" -s /bin/bash centreon sudo usermod -aG centreon-engine centreon sudo usermod -aG centreon-broker centreon sudo usermod -aG centreon centreon-engine sudo usermod -aG centreon centreon-broker sudo usermod -aG centreon-broker centreon-engine
Il faut aussi installer des paquets supplémentaires. Apache est nécessaire pour l'installation de Centreon. Il faudra penser à désactiver le service puisque nous n'en auront pas besoin pour la suite.
sudo apt-get install sudo apache2 librrds-perl libconfig-inifiles-perl libnet-snmp-perl libdigest-hmac-perl libcrypt-des-ede3-perl libdbd-sqlite3-perl libdbd-mysql-perl -y
17 Installation de Gorgone
Installation d'un nouveau gestionnaire d'événements remplaçant centcore.
17.1 Prérequis pour les librairies
Installer les paquets suivants
sudo apt install libzmq3-dev libssh-dev libextutils-makemaker-cpanfile-perl libmodule-build-perl libmodule-install-perl -y
17.2 Installation ZMQ-LibZMQ4
Téléchargez dans le dossier de l’utilisateur pi.
cd
wget http://search.cpan.org/CPAN/authors/id/M/MO/MOSCONI/ZMQ-LibZMQ4-0.01.tar.gz
tar zxf ZMQ-LibZMQ4-0.01.tar.gz && cd ZMQ-LibZMQ4-0.01
sed -i -e "s/tools/.\/tools/g" Makefile.PL
perl Makefile.PL
make && sudo make install
cd ..
wget https://cpan.metacpan.org/authors/id/D/DM/DMAKI/ZMQ-Constants-1.04.tar.gz
tar zxf ZMQ-Constants-1.04.tar.gz && cd ZMQ-Constants-1.04
perl Makefile.PL
make && sudo make install
17.3 Installation lib-ssh
cd
git clone https://github.com/garnier-quentin/perl-libssh.git
cd perl-libssh
perl Makefile.PL
make && sudo make install
17.4 Autre prérequis
Installer les paquets suivants
sudo 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
17.5 Installation en ligne de commande
Téléchargez le binaire du 02/06/2021 dans le dossier /usr/local/src et décompressez-le.
cd wget http://files.download.centreon.com/public/centreon-gorgone/centreon-gorgone-21.04.1.tar.gz tar xzf centreon-gorgone-21.04.1.tar.gz cd centreon-gorgone-21.04.1
Lancez la ligne de commande ci-dessous pour débuter l'installation.
sudo ./install.sh -i -e SYSCONFIG_ETC_DIR=/etc/default
Au lancement du script, le programme vérifie certaines informations. Répondre y pour continuer
Script requirements OK Found distribution raspbian 10 Loading user specific input variables inputvars.env Loading command line input variables SYSCONFIG_ETC_DIR=/etc/default 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.
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.
sudo usermod -aG centreon-engine centreon-gorgone sudo usermod -aG centreon-broker centreon-gorgone sudo usermod -aG centreon centreon-gorgone sudo usermod -aG centreon-gorgone centreon sudo usermod -aG centreon-gorgone centreon-engine sudo usermod -aG centreon-gorgone centreon-broker sudo usermod -aG centreon-gorgone www-data
Continuons avec l'installation du mode Web
18 Installation Centreon-Web en ligne de commande
Téléchargez le binaire dans le dossier home et décompressez-le.
cd wget http://files.download.centreon.com/public/centreon/centreon-web-21.04.2.tar.gz tar xzf centreon-web-21.04.2.tar.gz cd centreon-web-21.04.2
Lancez la ligne de commande ci-dessous pour débuter l'installation.
sudo ./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
sudo apt-get remove apache2 -y
19 Préparation de la configuration
Il faudra créer le dossier /var/log/centreon-engine.
sudo mkdir /var/log/centreon-engine sudo chown centreon-engine:centreon-engine /var/log/centreon-engine sudo chmod 775 /var/log/centreon-engine
Il faudra créer le dossier /var/log/centreon-broker.
sudo mkdir /var/log/centreon-broker sudo chown centreon-broker:centreon-broker /var/log/centreon-broker sudo 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.
sudo mkdir /var/cache/centreon sudo chown centreon:centreon /var/cache/centreon sudo chmod 775 /var/cache/centreon
Nous devons autoriser l'utilisateur centreon du serveur Central à réaliser certaines actions sur le Poller. Nous utiliserons le programme sudo à cet effet. ajouter le fichier /etc/sudoers.d/centreon.
sudo 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 :
sudo chown centreon: /var/log/centreon sudo chmod 775 /var/log/centreon sudo chown centreon-broker: /etc/centreon-broker sudo chmod 775 /etc/centreon-broker sudo chmod -R 775 /etc/centreon-engine sudo chmod 775 /var/lib/centreon-broker sudo chown centreon: /etc/centreon-broker/* sudo chmod 775 /etc/centreon-engine sudo chown centreon-engine: /etc/centreon-engine
Modifiez les droits pour le dossiers des fichiers temporaires
sudo chown centreon: /var/lib/centreon/centplugins
19.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 987346](files/stacks-image-31d68f3.jpg)
Nous allons créer ce cgroup manuellement. créez le fichier /lib/systemd/system/centreon.service.
sudo 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.
sudo systemctl daemon-reload && sudo systemctl enable centreon
Au redémarrage du serveur, le cgroup centreon va démarrer le service centengine.
20 Configuration sur le serveur Central
20.1 Ajout de l’instance poller1
Ajouter une instance nommé poller1 pour le serveur Poller, sélectionnez Configuration / Pollers et cliquez sur Add server with wizard
![Stacks Image 987363](files/stacks-image-9f58a74.jpg)
Sélectionnez Add a Centreon Poller, cliquez sur Next
![Stacks Image 987370](files/stacks-image-e41400e.jpg)
Saisir le nom du poller, l'adresse IP du poller et l'adresse IP du serveur Central.
![Stacks Image 987373](files/stacks-image-2008483.jpg)
Cliquez sur Apply.
![Stacks Image 987378](files/stacks-image-42d901b-1134x430.jpg)
Vous devriez avoir deux pollers, le premier pour le serveur Central et le deuxième pour le serveur Poller. Cliquez sur l'icône ci-dessus pour obtenir la configuration du poller distant.
![Stacks Image 987383](files/stacks-image-c5bcf1d-1124x658.jpg)
Copiez la commande et l'appliquez sur le poller distant. Cette action va créer le fichier /etc/centreon-gorgone/config.d/40-gorgoned.yaml. Attention, la commande copiée ne supporte pas sudo.
20.1a première solution
Elevez votre privilège et copiez le fichier.
sudo su 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: nuqLVZafY_atDoGSFVeI-kkvYAzCn7HyUQtDenEwzSM 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 exit
20.1b deuxième solution
Modifiez la commande
sudo tee /etc/centreon-gorgone/config.d/40-gorgoned.yaml << EOF name: gorgoned-poller1 description: Configuration for poller poller1 gorgone: gorgonecore: id: 2 external_com_type: tcp external_com_path: "*:5556" authorized_clients: - key: nuqLVZafY_atDoGSFVeI-kkvYAzCn7HyUQtDenEwzSM 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.
sudo systemctl restart gorgoned
Relancez le processus centreon-gorgone sur le central afin qu'il prenne en compte le nouveau poller distant.
sudo systemctl restart gorgoned
Vous pouvez vérifier le bon fonctionnement de centreon-gorgone avec la lecture du fichier de log.
sudo tail -f /var/log/centreon-gorgone/gorgoned.log 2020-10-01 19:26:03 - INFO - [cron] Adding cron definition 'engine_stats' 2020-10-01 19:26:03 - INFO - [proxy] Create module 'proxy' child process for pool id '1' 2020-10-01 19:26:03 - INFO - [proxy] Create module 'proxy' child process for pool id '2' 2020-10-01 19:26:03 - INFO - [proxy] Create module 'proxy' child process for pool id '3' 2020-10-01 19:26:03 - INFO - [proxy] Create module 'proxy' child process for pool id '4' 2020-10-01 19:26:03 - INFO - [proxy] Create module 'proxy' child process for pool id '5' 2020-10-01 19:26:03 - INFO - [core] Setcoreid changed 1 2020-10-01 19:26:03 - INFO - [proxy] Node '2' is registered 2020-10-01 19:26:03 - INFO - [zmqclient] Client connected successfully to 'tcp://192.168.1.29:5556' 2020-10-01 19:26:03 - INFO - [proxy] Pong received from '2' 2020-10-01 19:26:23 - INFO - [proxy] Send pings 2020-10-01 19:26:23 - INFO - [proxy] Pong received from '2'
20.2 Adaptation de la configuration au poller Debian.
Nous devons adapter certains chemins, Sélectionnez Configuration -> Pollers -> Engine Configuration, modifions la configuration du moteur, dans l'onglet data
![Stacks Image 987406](files/stacks-image-ac595c1-1026x330.jpg)
Event broker directive : /usr/lib/centreon-broker/cbmod.so /etc/centreon-broker/poller1-module.json
Event broker directive : /usr/lib/centreon-engine/externalcmd.so
Event broker directive : /usr/lib/centreon-engine/externalcmd.so
![Stacks Image 987464](files/stacks-image-fa0737e-48x46.png)
Si vous utiliser un Central sur CentOS, Alma Linux ou Oracle Linux 8, il faudra adapter la macro de type resource pour le poller Raspberry. Vous pouvez créer la même macro $USER1$ qui sera affecté aux différents pollers comme ceci :
![Capture2021-06-15_03-12-22_PM](files/capture2021-06-15_03-12-22_pm.jpg)
20.3 Application de la configuration
Avant d'appliquer la configuration, vous pouvez créer un hôte pour le poller distant. Cliquez sur Configuration -> Hosts.
![Stacks Image 987415](files/stacks-image-71299b4.jpg)
Appliquez la configuration du poller1, sélectionnez Configuration / Pollers. cochez le poller1 et cliquez sur Export Configuration
![Stacks Image 987420](files/stacks-image-9bb9f30.jpg)
Cochez les cases d’options, sélectionnez Restart pour la premier démarrage. Puis cliquez sur Export.
![Stacks Image 987425](files/stacks-image-f482bc8.png)
Après quelques secondes, vous devriez voir votre poller actif.
![Stacks Image 987430](files/stacks-image-e3bc09d.jpg)
Avec la configuration réalisée précédemment avec le Central, vous pouvez ajoutez facilement votre poller.
![Stacks Image 987435](files/stacks-image-013ab4f.jpg)