Vous êtes ici:

Menu


Stacks Image 987237
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é avec 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
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

Nouveautés de la version 20.04, 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 31/08/2020 dans le dossier /usr/local/src et décompressez-le.
cd
wget http://files.download.centreon.com/public/centreon-gorgone/centreon-gorgone-20.04.5.tar.gz
tar xzf centreon-gorgone-20.04.5.tar.gz
cd centreon-gorgone-20.04.5
Lancez la ligne de commande ci-dessous pour débuter l'installation.
sudo ./install.sh -i
Au lancement du script, le programme demande de lire la licence
###############################################################################
#                                                                             #
#                                                                             #
#                        Centreon Gorgone daemon module                       #
#                                                                             #
#                                                                             #
###############################################################################


Please read the license.
	Press enter to continue.
Acceptez la licence. L'installation vérifie les prérequis.
Do you accept the license ?
[y/n], default to [n]:
> y
------------------------------------------------------------------------
	Checking all needed binaries
------------------------------------------------------------------------
rm                                                         OK
cp                                                         OK
mv                                                         OK
/usr/bin/chmod                                             OK
/usr/bin/chown                                             OK
echo                                                       OK
more                                                       OK
mkdir                                                      OK
find                                                       OK
/usr/bin/grep                                              OK
/usr/bin/cat                                               OK
/usr/bin/sed                                               OK
Vous pouvez répondre n à la première question, l'installation créera automatiquement les ressources manquantes. J'ai répondu y pour visualiser toutes les étapes, il faudra modifier le dossier par défaut, sur Debian c'est /etc/default.
------------------------------------------------------------------------
	Checking the mandatory folders
------------------------------------------------------------------------

Do you want to be asked for confirmation before creating missing resources ?
[y/n], default to [y]:
> y

Where is your Gorgone log folder
default to [/var/log/centreon-gorgone]
>

Do you want to create this directory ? [/var/log/centreon-gorgone]
[y/n], default to [n]:
> y
Path /var/log/centreon-gorgone                             OK

Where is your Gorgone database folder
default to [/var/lib/centreon-gorgone]
>

Do you want to create this directory ? [/var/lib/centreon-gorgone]
[y/n], default to [n]:
> y
Path /var/lib/centreon-gorgone                             OK

Where is your Gorgone config (etc) folder
default to [/etc/centreon-gorgone]
>

Do you want to create this directory ? [/etc/centreon-gorgone]
[y/n], default to [n]:
> y
Path /etc/centreon-gorgone                                 OK
Creating folder /etc/centreon-gorgone/config.d             OK
Path /etc/centreon-gorgone/config.d                        OK

Where are your Gorgone user's folder
default to [/usr/bin/]
>
Path /usr/bin/                                             OK

Where are your Gorgone's perl files
default to [/usr/share/perl5]
>
Path /usr/share/perl5                                      OK

Where is your sysconfig folder ?
default to [/etc/sysconfig]
> /etc/default
Path /etc/default                                          OK
L'installation va créer le compte centreon-gorgone.
------------------------------------------------------------------------
	Checking the required users
------------------------------------------------------------------------

What is the Gorgone group ?
default to [centreon-gorgone]
>

Do you want to create this group ? [centreon-gorgone]
[y/n], default to [n]:
> y
Creating group centreon-gorgone                            OK

What is the Gorgone user ?
default to [centreon-gorgone]
>

Do you want to create this user ? [centreon-gorgone]
[y/n], default to [n]:
> y
Creating user centreon-gorgone (Gorgone user)              OK

------------------------------------------------------------------------
	Adding Gorgone user to the mandatory folders
------------------------------------------------------------------------
Modify owner of /var/log/centreon-gorgone                  OK
Modify rights of /var/log/centreon-gorgone                 OK
Modify owner of /var/lib/centreon-gorgone                  OK
Modify rights of /var/lib/centreon-gorgone                 OK
------------------------------------------------------------------------
	Installing Gorgone daemon
------------------------------------------------------------------------
Creating and adding rights on gorgoned.service             OK
Creating and adding rights on gorgoned                     OK
Creating and adding rights on gorgoned                     OK
Creating and adding rights on config.yaml                  OK
Creating and adding rights on gorgoned                     OK
Creating and adding rights on gorgone_config_init.pl       OK
------------------------------------------------------------------------
	Starting gorgoned.service
------------------------------------------------------------------------
Created symlink /etc/systemd/system/multi-user.target.wants/gorgoned.service → /etc/systemd/system/gorgoned.service.
Created symlink /etc/systemd/system/centreon.service.wants/gorgoned.service → /etc/systemd/system/gorgoned.service.

###############################################################################
#                                                                             #
#                         Thanks for using Gorgone.                           #
#                          -----------------------                            #
#                                                                             #
#           Please add the configuration in a file in the folder :            #
#                           /etc/centreon-gorgone/config.d                             #
#                     Then start the gorgoned.service                         #
#                                                                             #
#                You can read the documentation available here :              #
#      https://github.com/centreon/centreon-gorgone/blob/master/README.md     #
#                                                                             #
#      ------------------------------------------------------------------     #
#                                                                             #
#     Report bugs at https://github.com/centreon/centreon-gorgone/issues      #
#                                                                             #
#                        Contact : contact@centreon.com                       #
#                          http://www.centreon.com                            #
#                                                                             #
#                          -----------------------                            #
#              For security issues, please read our security policy           #
#           https://github.com/centreon/centreon-gorgone/security/policy      #
#                                                                             #
###############################################################################
Le compte centreon-gorgone doit être dans le groupe centreon-engine, centreon-broker et centreon. Le compte centreon doit appartenir au groupe centreon-gorgone.
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
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-20.04.5.tar.gz
tar xzf centreon-web-20.04.5.tar.gz
cd centreon-web-20.04.5
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-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/*
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
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
Sélectionnez Add a Centreon Poller, cliquez sur Next
Stacks Image 987370
Saisir le nom du poller, l'adresse IP du poller et l'adresse IP du serveur Central.
Stacks Image 987373
Cliquez sur Apply.
Stacks Image 987378
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
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
Event broker directive : /usr/lib/centreon-broker/cbmod.so /etc/centreon-broker/poller1-module.json
Event broker directive : /usr/lib/centreon-engine/externalcmd.so

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
Appliquez la configuration du poller1, sélectionnez Configuration / Pollers. cochez le poller1 et cliquez sur Export Configuration
Stacks Image 987420
Cochez les cases d’options, sélectionnez Restart pour la premier démarrage. Puis cliquez sur Export.
Stacks Image 987425
Après quelques secondes, vous devriez voir votre poller actif.
Stacks Image 987430
Avec la configuration réalisée précédemment avec le Central, vous pouvez ajoutez facilement votre poller.
Stacks Image 987435
comments powered by Disqus
 Vous êtes ici: