Voici une nouvelle version d'installation automatisée avec compilation des sources. Nous utilisons la dernière version de Centreon-Web sur une Debian Buster, actuellement la version 20.10. 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.
Le script du Central incorpore le pack d'icônes de Pixelabs. Merci à lui pour cette contribution sans oublier Hugues Ruelle pour sa participation.
Dernière nouveauté, un script permettant l'installation de Nagvis après avoir installé et configuré le Central.
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.
Le script du Central incorpore le pack d'icônes de Pixelabs. Merci à lui pour cette contribution sans oublier Hugues Ruelle pour sa participation.
Dernière nouveauté, un script permettant l'installation de Nagvis après avoir installé et configuré le Central.
Nous prendrons comme base de travail, une VM debian Buster (fresh install) avec une installation minimum, seul le paquet ssh est installé. J'insiste bien sur le fait que la machine est vierge de toute autre programme qui pourrait compromettre le déroulement de l'installation. Connectez-vous sur ce serveur et copiez le script centreon_central que vous trouverez sur mon GitHub https://github.com/kermith72/auto_install
Cette installation est conforme en tout point à l'installation d'une Full Centreon 20.10.x sur une Debian. 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.10.x sur une Debian. 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.
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.
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 en mode root. Installez git et cloner le dépôt. Nouveauté, tous les scripts sont désormais exécutables.
apt update apt 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 Nouveauté, utilisation optimale des processeurs
Afin d'optimiser la compilation, j'ai activé la parallélisation de la compilation avec l'option j de make. Voici mes constatations avec un Lenovo P52 processeur i7-8850H 6 coeurs, la vm est installée sur Virtual-Box
2 Go RAM 1 vcpu temps d'installation : environ 10 minutes 2 Go RAM 4 vcpu temps d'installation : environ 8 minutes
Nous avons donc gagné 2 minutes pour l'installation. Bien sur ces temps sont approximatifs car il faut tenir compte de votre accès Internet et votre matériel. Je vous conseille d'ajouter au moins 2 voir 4 vcpu pour votre maquette.
1.1d lancement de l'installation
Lancez le script.
./centreon_central_2010.sh
Vous pouvez, depuis la version 1.28, installez le plugin NRPE 3.2.1 avec la commande suivante
./centreon_central_2010.sh -n=yes
Un mode verbose (-v ou —verbose) est disponible avec la version Buster.
./centreon_central_2010.sh -v
Cette option permettant un suivi plus précis de l'installation. Exemple :
./centreon_central_2010.sh -v -n=yes
================| Centreon Central Install details v 1.57 |============
MariaDB : 10.0
Clib : 20.10.0
Connector : 20.10.0
Engine : 20.10.0
Plugins : 2.2 & 20201006
Broker : 20.10.1
Gorgone : 20.10.0
Centreon : 20.10.1
Install dir: /usr/share
Source dir : /usr/local/src
======================================================================
======================================================================
Add Buster repo for non-free
======================================================================
Step1 => repo non-free on Buster Install [ OK ]
======================================================================
Install MariaDB
======================================================================
====> Configure mariadb
Step2 => MariaDB Install [ OK ]
======================================================================
Install Clib
======================================================================
====> Compilation
Step3 => Clib install [ OK ]
======================================================================
Install Centreon Connectors
======================================================================
====> Compilation
Step4 => Centreon Perl and SSH connectors install [ OK ]
======================================================================
Install Centreon Engine
======================================================================
====> Compilation
Step5 => Centreon Engine install [ OK ]
======================================================================
Install Monitoring Plugins
======================================================================
====> Compilation
Step6 => Monitoring plugins install [ OK ]
=======================================================================
Install Centreon Plugins
=======================================================================
Step7 => Centreon plugins install [ OK ]
======================================================================
Install Centreon Broker
======================================================================
====> Compilation broker
Step8 => Centreon Broker 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.62 |============ MariaDB : 10.0 Clib : 20.10.0 Connector : 20.10.0 Engine : 20.10.2 Plugins : 20210317 Broker : 20.10.3 Gorgone : 20.10.3 Centreon : 20.10.5 Install dir: /usr/share Source dir : /usr/local/src ====================================================================== Step1 => repo non-free on Buster Install [ OK ] Step2 => MariaDB Install [ OK ] Step3 => Clib install [ OK ] Step4 => Centreon Perl and SSH connectors install [ OK ] Step5 => Centreon Engine install [ OK ] Step6 => Monitoring plugins install [ OK ] Step7 => Centreon plugins install [ OK ] Step8 => Centreon Broker install [ OK ] Step9 => Php-fpm install [ OK ] Step10 => Centreon Gorgone install [ OK ] Step11 => Centreon template generation [ OK ] Step12 => Centreon web interface install [ OK ] Step13 => Post install install [ OK ] Step14 => Widgets install [ OK ] ##### Install completed ##### Go to http://192.168.1.31/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 Debian
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.
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_2010.sh
Vous pouvez, depuis la version 1.38, installez le plugin NRPE 3.2.1 avec la commande suivante
./centreon_poller_2010.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.62 |============ Clib : 20.10.0 Connector : 20.10.0 Engine : 20.10.2 Plugins : 20210317 Broker : 20.10.3 Gorgone : 20.10.3 Centreon : 20.10.5 Install dir: /usr/share Source dir : /usr/local/src ====================================================================== Step1 => repo non-free on Buster Install [ OK ] Step2 => Clib install [ OK ] Step3 => Centreon Perl and SSH connectors install [ OK ] Step4 => Centreon Engine install [ OK ] Step6 => Monitoring plugins install [ OK ] Step6 => Centreon plugins install [ OK ] Step7 => Centreon Broker install [ OK ] Step8 => Centreon Gorgone install [ OK ] Step9 => Centreon template generation [ OK ] Step10 => Centreon web interface install [ OK ] Step11 => Post install [ OK ] Go to Central Server for configuration
La configuration est terminée sur le poller. Il faudra ajouter le poller dans la configuration du serveur Central Centreon. Voir la procédure Configuration du Poller distant
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 --help 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 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 templates host - base - linux local - linux snmp - poller - central - mysql - windows snmp - windows nrpe - cisco - gorgone - proxmox Create Central add storage Configuration OK !
En sélectionnant Home -> Resources status , vous devriez avec les services en état pending et ok au bout de quelques secondes.
Et voilà, votre supervision est opérationnelle et tout ça en moins d'un quart d'heure !
2.3 Modèles d'hôtes à disposition
Plusieurs modèles d'hôtes sont disponibles grâce au script create_config_initialV9.sh :
- modèle pour Centreon Central et Poller
- modèle pour MySQL
- modèle pour un switch cisco en SNMP
- modèle pour un Linux en mode local
- modèle pour un Linux en SNMP
- modèle pour Linux en remote SSH (voir Configuration du module os::linux::local::plugin avec l'option remote)
- modèle pour un serveur Windows en SNMP
- modèle pour un serveur Windows avec NSClient++
- modèle pour un serveur Proxmox
- modèle pour Centreon Central et Poller
- modèle pour MySQL
- modèle pour un switch cisco en SNMP
- modèle pour un Linux en mode local
- modèle pour un Linux en SNMP
- modèle pour Linux en remote SSH (voir Configuration du module os::linux::local::plugin avec l'option remote)
- modèle pour un serveur Windows en SNMP
- modèle pour un serveur Windows avec NSClient++
- modèle pour un serveur Proxmox
2.3a Modèle Windows NRPE
Exemple du modèle Windows NRPE, création de l'hôte.
Application du template
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 colleur distant 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.json
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. Dans notre exemple, le poller1 sera supervisé par le collecteur distant. Les bonnes pratiques de Centreon conseillent la supervision croisée du Central et du poller.
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 </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: 9lc-aGwp0R1bfKyQQ2_5BCH8JXBLlK58We1QP7xfYUE 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.
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"
4 Installation de Nagvis
Dernière nouveauté, un script pour l'installation de Nagvis. Il permet l'installation de Nagvis, le connecteur backend, la configuration de Nagvis et l'ajout de cartes spécialement adaptés à cet installation.
Attention, le Central doit être configuré avec le script create_config_initialV9.sh et fonctionnel avant d'installer Nagvis. Pour une meilleure expérience, vérifiez que vos services soient tous en état OK.
4.1 Installation
Lancez le script se trouvant dans le dossier debian10
./centreon_install_nagvis.sh ====================| Nagvis Install details v 1.61 |================= Nagvis : 1.9.25 ====================================================================== Step1 => Nagvis Install [ OK ] Step2 => Apache Configuration [ OK ] Step3 => Connector-Backend Installation [ OK ] Step3 => Nagvis configuration [ OK ] Step3 => Nagvis Module install [ OK ] Go to http://192.168.1.31/nagvis to complete the setup
4.2 Configuration Nagvis
Connectez-vous à l'interface Nagvis avec l'adresse suivante http://<IP Central>/nagvis. Utilisateur admin et admin par défaut.
Les cartes sont prêtes à être utilisées. Il faut créer l'utilisateur qui fera le lien entre Nagvis et Centreon. Celui-ci pourra visualiser toutes les cartes en lecture seule.
Ajoutons un utilisateur que nous nommerons centreon_nagvis. Connectez-vous sur l’interface de Nagvis. Sélectionnez Menu Personnel / Gérez les utilisateurs
Saisir un mot de passe obligatoire pour la création mais il ne servira pas pour la suite. Affectez le rôle Users(read-Only) à notre utilisateur.
Vous pouvez vous déconnectez de Nagvis et connectez-vous sur Centreon. Sélectionnez Administration / Extensions / Gestionnaire
Nagvis doit être configuré sur votre plateforme. Sélectionnez Monitoring -> Nagis
Vous avez une deuxième carte en cliquant sur l'icône Fonctionnement Centreon.
Il vous reste à découvrir toutes les fonctionnalités de Centreon !