- Suite à l'arrêt du service Bintray pour Conan le 1er mai 2021, ce tutoriel ne fonctionne pas.
Voici une nouvelle version d'installation automatisée, avec compilation des sources optimisée, pour Raspbian. Nous utilisons la dernière version de Centreon-Web 20.04 sur une Raspbian Buster. J'ai repris le travail de Rémy en l'adaptant pour cette nouvelle version.
Deux scripts sont disponibles, un pour l'installation d'un Central et l'autre pour l'installation d'un poller. Un troisième script permet d'installer un exemple de monitoring du Central. On utilise les plugins fastpacked de Centreon.
Nouveauté, le script du Central incorpore le pack d'icônes de Pixelabs. Merci à lui pour cette contribution sans oublier Hugues Ruelle pour sa participation.
Ce script a été testé sur PI 4.
Deux scripts sont disponibles, un pour l'installation d'un Central et l'autre pour l'installation d'un poller. Un troisième script permet d'installer un exemple de monitoring du Central. On utilise les plugins fastpacked de Centreon.
Nouveauté, le script du Central incorpore le pack d'icônes de Pixelabs. Merci à lui pour cette contribution sans oublier Hugues Ruelle pour sa participation.
Ce script a été testé sur PI 4.
Nous prendrons comme base de travail, une ISO Raspberry OS Pi Lite (anciennement Rapbian), seul ssh est activé ainsi que les paramètres régionaux. J'insiste bien sur le fait que la machine est vierge de toute autre programme qui pourrait compromettre le déroulement de l'installation. Il est possible néanmoins, d'installer sur une ISO avec Desktop sans problème.
Cette installation est conforme en tout point à l'installation d'une Full Centreon 20.04.x sur Raspberry OS Pi. Les sondes historiques sont placés dans le dossier /usr/lib/nagios/plugins et les nouvelles sondes Centreon sont placées dans le le dossier /usr/lib/centreon/plugins.
Cette installation est conforme en tout point à l'installation d'une Full Centreon 20.04.x sur Raspberry OS Pi. Les sondes historiques sont placés dans le dossier /usr/lib/nagios/plugins et les nouvelles sondes Centreon sont placées dans le le dossier /usr/lib/centreon/plugins.
Attention, choisissez bien votre support de stockage en fonction de votre installation :
- Pour un poller, une carte bonne SDram peut suffire.
- Pour un Central privilégier un SSD sur l'USB 3 ou éventuellement une clé USB de bonne qualité. Il est possible de booter directement sur un support USB sans besoin d'installer de SDram avec le PI4.
Le temps d'installation peut varier en fonction du support. Avec une clé USB de moyenne qualité (SanDisk Ultra 32 Go), il faut environ 2 heures d'installation alors qu'avec un SSD Crucial BX200 il faut environ une heure d'installation.
1 Procédures d'installation
1.1 Central
1.1a Installation par git
L'installation par git est fortement conseillé pour récupérer tous les fichiers nécessaire à l'installation. Ouvrir une session terminal avec l'utilisateur pi. Elevez vos privilèges en root. Installez git et cloner le dépôt. Rendre le fichier exécutable.
sudo su apt-get update apt-get install git -y git clone https://github.com/kermith72/auto_install.git cd auto_install/debian10
1.1b Vérification de l'exécution en live
Si vous voulez suivre les logs de votre installation en direct, créez le fichier de logs en fonction de la variable INSTALL_LOG.
touch /usr/local/src/centreon-install.log
Avant de démarrer l'installation, il faut ouvrir un second terminal et lancez la commande :
tail -f /usr/local/src/centreon-install.log
Vous pouvez suivre le déroulement de l'installation.
1.1c lancement de l'installation
Lancez le script.
./centreon_central_raspbian_2004.sh
Vous pouvez, depuis la version 1.28, installez le plugin NRPE 3.2.1 avec la commande suivante
./centreon_central_raspbian_2004.sh -n=yes
Un mode verbose (-v ou —verbose) est disponible depuis la version Stretch.
./centreon_central_raspbian_2004.sh -v
Cette option permettant un suivi plus précis de l'installation. Exemple :
./centreon_central_raspbian_2004.sh -v
================| Centreon Central Install details v 1.58 |============
MariaDB : 10.0
Clib : 20.04.0
Connector : 20.04.0
Engine : 20.04.7
Plugins : 2.3 & 20201006
Broker : 20.04.10
Gorgone : 20.04.8
Centreon : 20.04.7
Install dir: /usr/share
Source dir : /usr/local/src
======================================================================
======================================================================
Install MariaDB
======================================================================
Step1 => MariaDB Install [ OK ]
======================================================================
Install Clib
======================================================================
====> Compilation
Step2 => Clib install [ OK ]
======================================================================
Install Centreon Perl connectors
======================================================================
====> Compilation
======================================================================
Install Centreon SSH connectors
======================================================================
====> Compilation
Step3 => Centreon Perl and SSH connectors install [ OK ]
L'installation se réalise en mode silencieux. Très propre, elle affiche un minimum d'information comme ci-dessous.
================| Centreon Central Install details v 1.58 |============ MariaDB : 10.0 Clib : 20.04.0 Connector : 20.04.0 Engine : 20.04.7 Plugins : 2.3 & 20201006 Broker : 20.04.10 Gorgone : 20.04.8 Centreon : 20.04.7 Install dir: /usr/share Source dir : /usr/local/src ====================================================================== Step1 => MariaDB Install [ OK ] Step2 => Clib install [ OK ] Step3 => Centreon Perl and SSH connectors install [ OK ] Step4 => Centreon Engine install [ OK ] Step5 => Monitoring plugins install [ OK ] Step6 => Centreon plugins install [ OK ] Step7 => Centreon Broker install [ OK ] Step8 => Php-fpm install [ OK ] Step9 => Centreon Gorgone install [ OK ] Step10 => Centreon template generation [ OK ] Step11 => Centreon web interface install [ OK ] Step12 => Post install install [ OK ] Step13 => Widgets install [ OK ] ##### Install completed ##### Go to http://192.168.1.46/centreon to complete the setup
Attention, si vous n'avez pas tous les OK chaque étape, recherchez la cause du problème avec de continuer l'installation. Maintenant, il reste à finir la configuration sur l'interface Web. Les paramètres suivants sont les paramètres par défaut.
1.2 Poller Raspberry
Il est possible d'installer un poller, utilisez le script centreon_poller.sh que vous trouverez sur le GitHub ou téléchargez le dépôt comme indiqué dans le paragraphe 1.1a. Ouvrir une session terminal en mode root. Installez git et cloner le dépôt. Rendre le fichier exécutable.
sudo su apt-get update apt-get install git -y git clone https://github.com/kermith72/auto_install.git cd auto_install/debian10
Lancez le script.
./centreon_poller_raspbian_2004.sh
Vous pouvez, depuis la version 1.38, installez le plugin NRPE 3.2.1 avec la commande suivante
./centreon_poller_raspbian_2004.sh -n=yes
L'installation se réalise en mode silencieux. Très propre, elle affiche un minimum d'information comme ci-dessous. Le mode verbose est disponible pour la version Buster.
================| Centreon Poller Install details v 1.58 |============ Clib : 20.04.0 Connector : 20.04.0 Engine : 20.04.7 Plugins : 2.3 & 20201006 Broker : 20.04.10 Gorgone : 20.04.8 Centreon : 20.04.7 Install dir: /usr/share Source dir : /usr/local/src ====================================================================== Step1 => Clib install [ OK ] Step2 => Centreon Perl and SSH connectors install [ OK ] Step3 => Centreon Engine install [ OK ] Step4 => Monitoring plugins install [ OK ] Step5 => Centreon plugins install [ OK ] Step6 => Centreon Broker install [ OK ] Step7 => Centreon Gorgone install [ OK ] Step8 => Centreon template generation [ OK ] Step9 => Centreon web interface install [ OK ] Step10 => Post install install [ OK ] Step11 => Nrpe install [ OK ] ##### Install completed ##### Go to http://192.168.1.46/centreon to complete the setup
La configuration est terminée sur le poller. Il faudra ajouter le poller dans la configuration du serveur Central Centreon ( voir le chapitre 4 de la configuration distribuée).
2 Configuration du Central Centreon
Utilisez un navigateur internet récent et saisissez l’url suivante :
http://ip du serveur centreon/centreon/
http://ip du serveur centreon/centreon/
2.1 Synchronisation des médias
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.
2.2 Application de la configuration
Avant de se connecter, lancez les services suivants :
systemctl restart gorgoned && systemctl start cbd && systemctl start centreontrapd
Cette nouvelle version ne contient plus d'exemple de configuration car elle a été développé pour les nouveaux plugins-pack. Vous avez le minimum vital : quelques contacts, périodes temporelles, macro ressources, les traps SNMP et la configuration du poller pour le Central.
J'ai rajouté un script clapi pour vous procurer un minimum de configuration. Ce script bash se nomme create_config_initialV9.sh. Il utilise les plugins Centreon fastpacked avec le plugin os::linux::local::plugin pour le serveur Central avec les best pratices de Centreon (commandes et templates unitaires, utilisation des templates d'hôtes et services). Ce plugin n'utilise pas le service SNMP. Une option -s est proposée pour superviser les systèmes de fichiers montés (détection automatique). On utilise de plus le plugin database::mysql::plugin pour superviser la base mysql de centreon. Il n'est plus nécessaire d'associer le contact admin aux deux commandes de notifications, le script le fait automatiquement. J'ai rajouté un template minimal pour configurer un hôte en SNMP.
Attention avec la version 9, il faut autoriser la création de l'hôte Central avec la paramètre -t=yes. Cette option a été créée pour permettre la supervision croisée dans le cadre d'une architecture distribuée.
On lancera la commande suivante :
J'ai rajouté un script clapi pour vous procurer un minimum de configuration. Ce script bash se nomme create_config_initialV9.sh. Il utilise les plugins Centreon fastpacked avec le plugin os::linux::local::plugin pour le serveur Central avec les best pratices de Centreon (commandes et templates unitaires, utilisation des templates d'hôtes et services). Ce plugin n'utilise pas le service SNMP. Une option -s est proposée pour superviser les systèmes de fichiers montés (détection automatique). On utilise de plus le plugin database::mysql::plugin pour superviser la base mysql de centreon. Il n'est plus nécessaire d'associer le contact admin aux deux commandes de notifications, le script le fait automatiquement. J'ai rajouté un template minimal pour configurer un hôte en SNMP.
Attention avec la version 9, il faut autoriser la création de l'hôte Central avec la paramètre -t=yes. Cette option a été créée pour permettre la supervision croisée dans le cadre d'une architecture distribuée.
On lancera la commande suivante :
./create_config_initialV9.sh -u=admin -p=password -d=centreon -w=pwdatabase -s=yes -m=restart -i=yes -t=yes
Les options de cette commande :
./create_config_initialV9.sh -h Usage: create_config_initialV9.sh -u=-p= -d= -w= -s=[yes|no] -t=[yes|no] -m=[restart|reload] -db=[yes|no] This program create initial configuration -u|--user User Centreon. -p|--password Password Centreon. -d|--userdatabase User Database Centreon -w|--passworddatabase Password Database Centreon. -s|--storage Create Storage service (yes/no) -m|--method Method start engine -i|--icone Add icones -t|--without without host configuration -db|--debug print command -h|--help help
Vous devriez avoir ce résultat par exemple pour create_config_initialV9.sh :
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 - windows snmp - windows nrpe - cisco - gorgone - proxmox - lm-sensors Create Central add storage Restart cbd... Configuration OK !
En sélectionnant Monitoring -> Status Détail -> Services, vous devriez avec les services en état pending.
Et voilà, votre supervision est opérationnelle.
3 Configuration du Poller distant
Si vous avez configuré votre poller distant comme décrit dans le paragraphe 1.2, nous allons utiliser le nouveau mécanisme centreon-gorgone (liaison ZMQ) pour réaliser la liaison entre les deux serveurs.
3.1 Configuration du poller avec l’interface de Centreon
Nous passons à la configuration du poller avec l'interface Web de Centreon. Ajoutez une instance nommé poller1 pour le serveur Poller, sélectionnez Configuration / Pollers. Nous utiliserons le wizard.
Il faudra modifier deux paramètres dans la configuration du moteur. Sélectionnez Configuration -> Pollers -> Engine Configuration. Cliquez sur le poller1.
Onglet Data, il faut modifier les chemins suivants :
Saisir les informations suivantes, modifier la première ligne et ajouter la seconde.
/usr/lib/centreon-engine/externalcmd.so
/usr/lib/centreon-broker/cbmod.so /etc/centreon-broker/poller1-module.xml
Sous Raspbian, les plugins historiques sont stockés dans le dossier /usr/lib/nagios/plugins. Sous CentOS, ils sont stockés dans le dossier /usr/lib64/nagios/plugins. Si vous ajouter un poller Raspbian sur un Centreon sous CentOS, vous aurez un souci avec la macro ressource $USER1$ configuré pour CentOS et non pour Raspbian. Rajouter une deuxième macro n'est pas souhaitable, ce qui supposerai ajouter des commandes spécifiques pour le raspberry.
La solution la plus judicieuse est de réaliser un lien symbolique sur le Raspberry qui simule l'installation des plugins comme une distribution CentOS.
mkdir -p /usr/lib64/nagios
ln -s /usr/lib/nagios/plugins /usr/lib64/nagios/plugins
Créez votre hôte poller1. Utilisez les templates htpl_App-centreon-poller et htpl_OS-linux-SNMP. Saisissez la bonne configuration SNMP (public et 2c). Assurez-vous que le poller1 accepte les requêtes SNMP d'un agent SNMP distant. Le poller1 sera supervisé par le Central.
N'oubliez pas d'autoriser l'accès au SNMP pour le serveur Central. Modifier le fichier /etc/snmp/snmpd.conf du poller.
agentAddress udp:161 rocommunity publicredémarrez le service
systemctl restart snmpd
3.2 Activaction de la liaison ZMQ
Nous allons activer la liaison ZMQ, sélectionnez Configuration -> Pollers
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.
Copiez la commande et l'appliquez sur le poller distant. Cette action va créer le fichier /etc/centreon-gorgone/config.d/40-gorgoned.yaml.
cat <<EOF > /etc/centreon-gorgone/config.d/40-gorgoned.yaml name: gorgoned-poller1 description: Configuration for poller poller1 gorgone: gorgonecore: id: 2 external_com_type: tcp external_com_path: "*:5556" authorized_clients: - key: 7TRjbY3ECq1u29zdFJWVmhGvGozpErGEcOdNr7a5F8Q 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.
systemctl restart gorgoned
Relancez le processus centreon-gorgone sur le central afin qu'il prenne en compte le nouveau poller distant.
systemctl restart gorgoned
Appliquez la configuration sur le poller1.
N'oubliez pas de sélectionner la méthode restart pour le démarrage du poller distant.
Je rencontre une erreur de communication, lors de la première exportation avec les messages suivants :
tail -f /var/log/centreon-gorgone/gorgoned
corrupted double-linked list (not small)…
2020-12-20 20:57:09 - INFO - [proxy] Ping timeout from '2'
Après un redémarrage de centreon-gorgone, la communication et l'exportation fonctionne.
systemctl restart gorgoned
Les deux pollers sont opérationnels
La supervision du poller distant fonctionne.
Pour avoir les statistiques du moteur du poller distant, paramétrez centcore. Sélectionnez le menu Administration -> Parameters -> Gorgone. Cochez la fonctionnalité "Enable Broker Statistics Collection"
Il vous reste à découvrir toutes les fonctionnalités de Centreon !