Nagios/Centreon: installation automatique
Centréon en français
Centréon: Ajout d’un Host
comment ajouter un satellite (poller) Nagios dans Centreon
centréon: suppression doublon host et service associés
Centréon: Ajout d’un Host
Installer et configurer Centreon Enterprise 3.3
La société Centréon, anciennement Méréthis, met à disposition une image au format ISO qui permet d’installer « out of the box » une plateforme de supervision complète basée sur la distribution GNU/Linux CentOS 64 bits.
Centréon est un logiciel libre et open-source sous licence GNU/GPLv2, qui est composé de 2 sous entités : Centreon Engine et Centreon Broker.
L’image ISo d’installation propose quatres modes d’installation :
- Seveur Centreal avec base de données,
- Serveur Central sans base de données,
- Serveur Satellite (architecture serveurs distribuée),
- Serveur de base de données pour le cas d’un serveur Central sans base de données.
De plus, le serveur de base de données est basé sur MariaDB et non sur Mysql, pour être 100% Libre et Open-source.
Installation de Centréon
- Téléchargement de la dernière image ISO de Centréon :
wget http://iso.download.centreon.com/stable/3.3/ces-standard-3.3-x86_64.iso
dd if=ces-standard-3.3-x86_64.iso of=/dev/sdx bs=4M && sync
- 1 : sélectionner l’interface réseau
- 2 : Cliquer sur modifier
- 3 : Cocher la case pour se connecter automatiquement
- 4 : Sélectionner l’onglet Paramètre IPv4 :
- 5 : Choisir le méthode Manuel
- 6 : Cliquer sur « Ajouter »
- 7 : saisir l’adresse IP, son masque et sa passerelle
- 8 : saisir l’IP du serveur DNS
- 9 : Pour finir cliquer sur « Appliquer »

- Éditer le fichier php.ini :
vi /etc/php.ini
time.zoner = Europe/Paris
service httpd restart
Configuration de Centréon
- Revenir sur le mode console et lancer une mise à jour :
yum update
Si vous être derière un proxy entreprise voir cet article : https://memo-linux.com/configurer-yum-derriere-un-proxy/
yum install centreon-lang-fr_FR
service httpd restart
mysql_secure_installation
service cbd start service centcore start service centreontrapd start
- 1 : cliquer sur Configuration
- 2 : cliquer sur Collecteurs
- 3 : Sélectionner le collecteur Central
- 4 : Cocher les 4 premières cases
- 5 : Sélectionner la méthode « Redémarrer »
- 6 : Cliquer sur « Exporter »
Erreur : exception received : SQLSTATE[42S22]
Si vous rencontrez cette erreur, il suffit de se déconnecter et se connecter à nouveau sur l’interface web.
Ressource
La documentation d’installation officielle : https://documentation.centreon.com/docs/centreon/en/2.7.x/installation/01a.html
Superviser le hardware d’un serveur Dell avec Centréon
Un mémo sur comment mettre en supervision un serveur Dell avec la dernière version de Centréon.
Pour ce faire, il sera installé Openmanage sur les serveurs Dell et auront comme système d’exploitation Debian 8 ou Proxmox 4 dans mon cas.
Pour infos, mes serveurs Dell sont des R730 Intel Xeon E5-2609v3 x2, 32Go RAM et disques SAS 4To en RAID 5.
Installation d’Openmanage (OMSA) sur le serveur Dell sous Debian 8
- Ajout du dépôt Dell :
touch /etc/apt/sources.list.d/linux.dell.com.sources.list echo "deb http://linux.dell.com/repo/community/ubuntu jessie openmanage" > /etc/apt/sources.list.d/linux.dell.com.sources.list
gpg --keyserver-options http-proxy=http://proxy-pro:8080 --keyserver hkp://pool.sks-keyservers.net:80 --recv-key 1285491434D8786F gpg -a --export 1285491434D8786F | apt-key add -
apt update
apt install srvadmin-all
systemctl start dataeng
systemctl status dataeng
● dataeng.service - LSB: Systems Management Data Engine Loaded: loaded (/etc/init.d/dataeng) Active: active (running) since Wed 2016-05-11 10:33:08 CEST; 14s ago Process: 55257 ExecStart=/etc/init.d/dataeng start (code=exited, status=0/SUCCESS) CGroup: /system.slice/dataeng.service ├─55433 /opt/dell/srvadmin//sbin/dsm_sa_datamgrd ├─55473 /opt/dell/srvadmin//sbin/dsm_sa_eventmgrd ├─55500 /opt/dell/srvadmin//sbin/dsm_sa_snmpd └─55518 /opt/dell/srvadmin//sbin/dsm_sa_datamgrd May 11 10:32:50 pve-test dataeng[55257]: Starting Systems Management Device Drivers: May 11 10:32:50 pve-test dataeng[55257]: Starting dell_rbu:. May 11 10:32:51 pve-test dataeng[55257]: Starting ipmi driver: May 11 10:32:51 pve-test dataeng[55257]: Already started. May 11 10:32:51 pve-test dataeng[55257]: Starting Systems Management Data Engine: May 11 10:33:01 pve-test dataeng[55257]: Starting dsm_sa_datamgrd: . May 11 10:33:01 pve-test dataeng[55257]: Starting dsm_sa_eventmgrd: . May 11 10:33:08 pve-test dataeng[55257]: Starting dsm_sa_snmpd: .
Mise en place du package centreon-plugins
Pour rappel, si comme moi vous avez installer Centréon à partir de l’ISO, le système d’exploitation est CentOS.
- Installer les pré-requis :
yum install git perl net-snmp-perl perl-XML-LibXML perl-JSON perl-libwww-perl perl-XML-XPath perl-Net-Telnet perl-Net-DNS perl-DBI perl-DBD-MySQL perl-DBD-Pg
cd /usr/lib/nagios/plugins git clone https://github.com/centreon/centreon-plugins.git chown -R centreon:centreon centreon-plugins/ chmod +x centreon-plugins/centreon_plugins.pl
Création de la commande check_centreon_dell
Se connecter à l’interface web de Centréon, puis aller eu menu Configuration -> Commandes et cliquer sur « Ajouter » :
Ajouter la commande avec le plugin centreon_plugins.pl
comme suit et sauvegarder :
Création du service associé à la commande check_centreon_dell
Aller dans le menu Configuration -> Services -> Modèles -> Ajouter :
Créé le nouveau service avec la commande créée précédemment :
Création d’un modèle pour un hôte Dell
- Aller dans le menu Configuration -> Hôtes -> Modèles -> Ajouter :
- Faire comme suit et cliquer sur l’onglet « Notification » :
- Onglet Notification : activer les notifications comme suit et cliquer sur l’onglet « Relations » :
- Dans l’onglet « Relations », ajouter le service « check_dell_hardware » et cliquer sur « Sauvegarder » :
A savoir, dans mon cas l’OS qui sera installer sur mes serveurs Dell sera uniquement du GNU/Linux, c’est pour cette raison que j’utilise le modèle « Servers-linux », pour hériter de ses services.
Ajout d’un serveur Dell dans Centréon
Dès lors que le terrain a été préparé la première fois, pour les ajout future de serveur Dell, il suffira de faire ce qui va suivre.
- Menu Configuration -> Hôtes -> Ajouter :
- Renseigner les informations concernant ce nouveau hôte et cliquer sur Sauvegarder :
Appliquer la nouvelle configuration dans Centréon
Et pour finir, appliquer les modifications pour le collecteur Central de Centréon.
- Menu Configuration -> Collecteurs -> Appliquer la configuration :
- Sélectionner le Collecteur, puis cocher les 4 premiers case, choisir le méthode Redémarrer et cliquer sur Exporter :
- ce qui donne :
- Après quelques secondes, le nouveau serveur Dell est supervisé par Centréon :
Simulation et test d’alerte avec Centréon
Pour ce qui va suivre, il faut impérativement que le serveur soit configuré pour envoyer des mails et qu’une boite mail a été renseignée lors de l’installation pour le compte admin par défaut. (On verra dans un autre articles, comment créer des groupes d’utilisateurs et gérer les ACL)
Conclusion
Avec ce tutoriel, il est facile de superviser des serveurs Dell et être notifié par mail lors d »un souci au niveau hardware, ce qui est pour moi l’un des critères les plus important (chose que je n’ai pas pu faire sous LibreNMS…). Il me reste à faire la même chose pour quelques serveurs HP Gen8, qui se trouvent dans mon parc serveurs.
Ressource pour le plugin : https://documentation-fr.centreon.com/docs/centreon-plugins/fr/latest/user/guide.html
Superviser un commutateur HP avec Centréon
Ce mémo décrit la mise en œuvre pour superviser un commutateur de la marque HP sous Centréon.
Matériel et objectifs :
- Modèle du commutateur : HP Comware a5120.
- Rôle : commutateur de niveau 3 avec multi vlan.
- Version Centréon : 3.3.
- Plugin Centréon : network::h3c::snmp::plugin.
- Mode à superviser : Cpu, Memoire, Matériel (Température, ventilateur, alimentation) Port (Vlan ,Agrégation et trafic).
Pour installer le pack de plugins Centréon voir : https://memo-linux.com/superviser-le-hardware-dun-serveur-dell-avec-centreon/
Création des différents commandes
Pour commencer, création de 5 commandes pour superviser : Cpu, Memory, Hardware et Interfaces.
- Menu Configuration -> Commandes -> Ajouter :
-
Je montre la capture pour une commande, ensuite je ne donne que la commande en mode text.
- Commande : check_hp_switch_cpu :
La commande en mode text :
$USER1$/centreon-plugins/centreon_plugins.pl --plugin=network::h3c::snmp::plugin --mode=cpu --hostname=$HOSTADDRESS$ --snmp-community=$_HOSTSNMPCOMMUNITY$ --snmp-version=$_HOSTSNMPVERSION$
- Commande : check_hp_switch_memory
$USER1$/centreon-plugins/centreon_plugins.pl --plugin=network::h3c::snmp::plugin --mode=memory --hostname=$HOSTADDRESS$ --snmp-community=$_HOSTSNMPCOMMUNITY$ --snmp-version=$_HOSTSNMPVERSION$
$USER1$/centreon-plugins/centreon_plugins.pl --plugin=network::h3c::snmp::plugin --mode=hardware --hostname=$HOSTADDRESS$ --snmp-community=$_HOSTSNMPCOMMUNITY$ --snmp-version=$_HOSTSNMPVERSION$
$USER1$/centreon-plugins/centreon_plugins.pl --plugin=network::h3c::snmp::plugin --mode=interfaces --hostname=$HOSTADDRESS$ --snmp-community=$_HOSTSNMPCOMMUNITY$ --snmp-version=$_HOSTSNMPVERSION$ --add-traffic --add-status
Création des modèles de service
Création de 5 modèles de services associés aux commandes créées précédemment.
Création d’un modèle Hôte commutateur HP
Cette étape consiste à créer un modèle pour les commutateur HP.
- Menu Configuration -> Hôtes -> Modèles -> Ajouter -> sléectionner Switchs-HP :
- Cliquer sur l’onglet « Relations » :
- Sélectionner les modèles précédemment créés et cliquer sur Sauvegarder :
Mise en supervision d’un commutateur HP avec Centréon
A partir d’ici, il est possible d’ajouter les commutateurs HP pour être supervisés.
- Menu Configuration -> Hôtes -> Ajouter :
- Renseigner les informations concernant le commutateur HP, ne pas oublier d’ajouter le modèle et cliquer sur Sauvegarder Switchs-HP :
- Appliquer les nouvelles configurations et relancer le collecteur :
- Menu Configuration -> Collecteurs -> Appliquer la configuration :
- Recharger les fichiers de configuration du moteur de supervision :
- Sortie de la console :
- Notre commutateur HP dans Centréon : après quelques minutes, il possible de visualiser les états des services et les graphiques
Remerciements
Un grand merci à @n0mism0b et à @kermith72 pour leur aide précieuse !
Centréon : identifier le numéro id des volumes disques pour superviser les différentes partitions
Un mémo sur comment identifier le numéro id des volumes disques d’un serveur et l’appliquer au service de supervision sous Centréon via la commande snmpwalk.
Supervision des volumes disques sous Centréon
Par défaut, sous Centréon il existe différents modèles de services pour superviser des volumes disques :
Chaque modèle de service dépend de la commande de vérification : check_centreon_remote_storage
La commande de vérification check_centreon_remote_storage se présente de la façon suivante :
$USER1$/check_centreon_snmp_remote_storage -H $HOSTADDRESS$ -n -d $ARG1$ -w $ARG2$ -c $ARG3$ -v $_HOSTSNMPVERSION$ -C $_HOSTSNMPCOMMUNITY$
Les valeurs qui identidient le volumes disque sont :
- -n : pour identifier la partition, exemple : /home
- -d : pour identifier le numéro id de la partition correspondant à -n
Cependant, suivant les serveurs, les valeurs -n et -d ne correspondent toujours pas ! Et, dans Centréon on se retrouve avec des erreurs de type : Unknown -d: number expected… try another disk – number
Ma solution consiste à modifier la commande check_centreon_remote_storage pour n’utiliser que l’option -d et lui associer le bon numéro d’id correspondant à la valeur hrStorage de la commande snmpwalk.
Identifier le numéro id des volumes disque d’un serveur avec snmpwalk
A partir du serveur Centréon :
snmpwalk IP hrStorage -v2c -c public | grep STRING
Exemple de sortie :
HOST-RESOURCES-MIB::hrStorageDescr.1 = STRING: Physical memory HOST-RESOURCES-MIB::hrStorageDescr.3 = STRING: Virtual memory HOST-RESOURCES-MIB::hrStorageDescr.6 = STRING: Memory buffers HOST-RESOURCES-MIB::hrStorageDescr.7 = STRING: Cached memory HOST-RESOURCES-MIB::hrStorageDescr.8 = STRING: Shared memory HOST-RESOURCES-MIB::hrStorageDescr.10 = STRING: Swap space HOST-RESOURCES-MIB::hrStorageDescr.31 = STRING: / HOST-RESOURCES-MIB::hrStorageDescr.39 = STRING: /run HOST-RESOURCES-MIB::hrStorageDescr.41 = STRING: /dev/shm HOST-RESOURCES-MIB::hrStorageDescr.42 = STRING: /run/lock HOST-RESOURCES-MIB::hrStorageDescr.43 = STRING: /sys/fs/cgroup HOST-RESOURCES-MIB::hrStorageDescr.61 = STRING: /var/lib/vz HOST-RESOURCES-MIB::hrStorageDescr.63 = STRING: /run/lxcfs/controllers HOST-RESOURCES-MIB::hrStorageDescr.76 = STRING: /run/cgmanager/fs
Si je souhaite superviser l’espace disponible de la partition /var/lib/vz
, j’indiquerais dans ma commande l’id numéro 61. Exemple en ligne de commande :
cd /usr/lib/nagios/plugins ./check_centreon_snmp_remote_storage -H IP -d 61
Sortie de la commande :
Disk OK - /var/lib/vz TOTAL: 10946.315GB USED: 0.031GB (0%) FREE: 10946.284GB (100%)|size=11753516310528B used=32890880B;10578164679475;11165840495001;0;11753516310528
Mise en place de la solution dans Centréon
Dupliquer la commande de vérification check_centreon_remote_storage avant d’apporter les modifications. Aller dans le Menu Configuration puis Commandes :
Sélectionner la nouvelle commande qui se nomme check_centreon_remote_storage_1 et modifier comme suit :
$USER1$/check_centreon_snmp_remote_storage -H $HOSTADDRESS$ -d $ARG1$ -w $ARG2$ -c $ARG3$ -v $_HOSTSNMPVERSION$ -C $_HOSTSNMPCOMMUNITY$
Pour faire simple, j’ai supprimé l’option -n.
Modifier le service sur l’hôte en changeant le modèle de service par « Generic-service » et ajouter la commande de vérification check_centreon_remote_storage_pve avec ses valeurs associées :
Pour la prise en compte des modifications Par Centréon, ne pas oublier d’appliquer la nouvelle configuration en rechargeant le collecteur :
Après quelques secondes, la partiton /var/lib/vz
de mon serveur Proxmox est supervisée par Centréon :
Centreon CES : ajout d’un collecteur satellite (Poller)
Une des fonctionnalités très intéressante et assez facile à mettre en place avec Centréon est la création une architecture de supervision distribuée.
Dans le cas d’une supervision multi-sites, l’architecture de supervision distribuée prend tous son sens car cela permet de réduire les latences et les faux négatifs. De plus, le fait de faire travailler d’autre collecteurs, cela soulage le collecteur central. Pour ce faire, dans chaque site distant, un collecteur satellite sera installé et configuré à superviser tous les éléments actifs du site (Serveur, Commutateur, routeur, etc…) et communiquera les états des services au collecteur central.
Petit schéma de principe d’une architecture distribuée de supervision avec Centréon :
Installation du Collecteur Satellite
Par la suite, j’utiliserai le mot anglais Poller pour désigner le collecteur satellite.
- L’installation d’un Poller est identique à celle d’un serveur Centréon, sauf à l’étape : Quel type de serveur voulez-vous installer ? Il faut choisir Poller Server :
- Une fois l’installation terminée, activer le mot de passe du compte centreon sur le Poller :
passwd centreon
Configuration du Collecteur Central
- Passer sur l’utilisateur Centréon :
su - centreon
ssh-keygen
ssh-copy-id -i ~/.ssh/id_rsa.pub centreon@IP_poller
ssh IP-Poller
Si utilisation de plugins particuliers sur le central, comme Centreon-plugins ne pas oublier de les copier sur le Poller :
scp -r /usr/lib/nagios/plugins/centreon-plugins IP-Poller:/usr/lib/nagios/plugins/
Ajout du Poller dans le Central
- Menu Configuration, Collecteurs puis cliquer sur Ajouter :
- Donner un nom au Poller, renseigner son adresse IP puis cliquer sur Sauvegarder:
- Le poller est ajouté mais pas encore fonctionnel :
- Menu Configuration, Collecteurs puis Configuration de Centreon Broker :
- Cliquer sur Ajouter avec l’assistant :
- Une nouvelle fenêtre s’ouvre, cocher Collecteur uniquement puis clique sur Suivant :
- Saisir un nom pour ce module (ex : poller-demo), sélectionner le collecteur correspondant au poller ajouté, renseigner l’adresse IP du Central et cliquer sur Terminer :
- L’ajout du module est terminée, cliquer sur Revenir au menu de Centreon Broker :
- Le nouveau module est ajouté mais pas activé. Cliquer sur le nom du module pour l’éditer :
- Dans l’onglet Générale, activer le statut et les Statistiques puis aller dans l’onglet Output :
- Dans l’onglet Logger, modifier le nom du journal d’évènements et cliquer sur Sauvegarder :
- Le statut du module qui a été ajouté puis modifié est active :
- L’ajout du module n’est pas suffisant pour le bon fonctionnement du Poller. Il faut encore modifier son moteur de collecte. Menu Configuration, collecteurs puis Configuration du moteur de collecte :
- Cliquer sur le nom du Poller pour l’éditer :
- Dans l’onglet Fichiers, supprimer le répertoire temporaire :
- Dans l’onglet
- La directive du module broker :
- Dans l’onglet Administrateur, supprimer l’interpréteur Perl intégré puis cliquer sur Sauvegarder :
- Ensuite, création d’un Host pour le poller. Menu configuration, Hôtes puis Ajouter :
- Renseigner un nom d’hôtes, son alias, son adresse IP, sélectionner le Poller qui a été ajouté, sélectionner un modèle d’hôte et cocher Oui pour créer aussi les services liés au modèle et cliquer sur Sauvegarder :
- Appliquer la nouvelle configuration. Menu Configuration, Collecteurs, sélectionneur le Poller et cliquer sur Appliquer la configuration :
- Cocher les 4 premières cases, sélectionner Redémarrer pour la méthode puis Exporter :
- Suite à l’application de la nouvelle configuration, le nouveau Poller est fonctionnel :
Données, ajouter le module broker créé précédemment en cliquant sur Ajouter une nouvelle entrée :
Il ne reste plus qu’à ajouter les nouveaux hôtes du site ou ce trouve ce poller…
Ressources
Documentation de Centréon : https://documentation-fr.centreon.com/docs/centreon/fr/2.5.x/architecture/03b.html
L’atelier de Kermith : http://www.sugarbug.web4me.fr/atelier/architectures/ces3x_distribue/configuration_ces33/
Centreon : supprimer Host fantôme
Suite à mon article sur la mise en place d’une architecture de supervision distribuée avec Centréon, impossible de me débarrasser du poller de démonstration malgré qu’il soit supprimé et les collecteurs redémarrer.
A l’époque ou j’avais mis en place ma première plateforme de supervision basée sur le couple Nagios/Centréon, j’avais déjà rencontré un problème similaire avec des hosts en doublons.
En cherchant sur la toile une solution, je n’ai rien trouvé à part d’autres personnes dans le même cas que moi : https://forum.centreon.com/forum/centreon-ui/centreon-web-interface/140374-centreon-2-7-0-suppression-de-poller
Supprimer définitivement un host récalcitrant dans Centréon
Me retrouvant bloqué, j’ai retroussé mes manches et je suis entrée directement dans la base de données centreon_storage et supprimer manuellement le host.
Pour simplifier l’opération, il est possible d’utiliser un outil d’administration de base de donnée comme Adminer.
Une fois connecter à la base de données centreon_storage, sélectionner la table hosts. Ensuite, sélectionner le host à supprimer :
La suppression est immédiatement prise en compte par le collecteur Centréon central.
Centréon : Ajouter un pack d’icônes
Pour rendre encore plus riche l’interface web de Centréon, un pack d’icônes est disponible sur le site d’Icinga, qui se nomme F*Nagios icon pack.
L’ajout du pack d’icônes pour Centréon sera importé automatiquement via la méthode de synchronisation automatique des médias.
Ajouter un pack d’icônes pour Centréon
- Se connecter au serveur Centréon via ssh :
ssh user@domaine.tld
cd /tmp
wget https://exchange.icinga.org/exchange/F%2ANagios+icon+pack+%28Status+Map+and+Host+View+icons%29/files/21/FNagios.tar.gz
tar xzf FNagios.tar.gz
mv hardware /usr/share/centreon/www/img/media/ mv other /usr/share/centreon/www/img/media/ mv vendors /usr/share/centreon/www/img/media/
chown -R centreon: /usr/share/centreon/www/img/media/

via SugarBug
Centreon : superviser les VM d’un cluster Proxmox avec pve-monitor
Le but de l’article est de proposer une supervision avec Centréon des machines virtuelles KVM sous Proxmox.
Le plugin pve-monitor
pve-monitor est un plugin Nagios de supervision de clusters Proxmox. Il permet une supervision des services via l’API de PVE afin d’obtenir une vision claire de l’état du cluster.
Actuellement, le plugin est capable de superviser les éléments suivants:
- Machine virtuelles KVM,
- Conteneurs LXC et OpenVZ
- Espaces de stockage local et distant
- hyperviseurs
Dans mon cas, je souhaite seulement superviser mes machines virtuelles KVM, car les hyperviseurs et le stockage sont déjà superviser par Centréon.
L’installation de pve-monitor est réalisée dans le répertoire suivant : /home/centreon/
Installation des prés-requis sur le serveur Centréon pour pve-monitor
- Centos 6.8 :
yum install perl-CPAN perl-JSON perl-libwww-perl perl-IO-Socket-SSL perl-YAML
apt install git libjson-perl libwww-perl libio-socket-ssl-perl libswitch-perl
Installer le module Perl proxmox-ve-api-perl
- Centos 6.8 :
cpan Net::Proxmox::VE
Debian 8 :
cpan install Net::Proxmox::VE
Installation de pve-monitor
- Clonage :
git clone https://github.com/dpiquet/pve-monitor.git
/usr/lib/nagios/plugins/
:cd pve-monitor cp pve-monitor.pl /usr/lib/nagios/plugins/
Configuration de pve-monitor
- Configuration du fichier
pve-monitor.conf
(à faire pour tous les noeuds Proxmox sauf ceux qui sont en cluster) :
nano pve-monitor.conf
##configuration du nœud proxmox node proxmox-01 { address 10.8.8.216 port 8006 # Optional, default is 8006 monitor_account root monitor_password SuperMDPd3laMort realm pam # Optional, default is pam mem 80 90 # optional, not monitored if not defined cpu 80 95 # optional disk 80 90 # optional } ##Configuration des VMs, attention faut indiquer le nom de la VM et non son numéro d'ID ! et autant de fois qu'il y a de VM qemu centreon { mem 80 90 cpu 80 95 disk 80 90 } qemu fog { mem 80 90 cpu 80 95 disk 80 90 } ##Configuration du stockage storage deb-nfs-01 { disk 80 90 node proxmox-01 }
- Supervision des VMs :
/usr/lib/nagios/plugins/pve-monitor.pl --conf pve-monitor.conf --qemu
centreon (proxmox-01) OK : cpu OK (0.23%), mem OK (33.28%), disk OK (0.00%) uptime 233584 fog (pve-02) OK : cpu OK (1.24%), mem WARNING (81.25%), disk OK (0.00%) uptime 20350
Ici la VM fog est gérée par le 2ème nœud Proxmox.
/usr/lib/nagios/plugins/pve-monitor.pl --conf pve-monitor.conf --storages
deb-nfs-01 (proxmox-01) OK : disk 51.26%
Stockage commun aux deux nœuds Proxmox.
Configuration de pve-monitor dans Centréon
Exemple de configuration simple du plugin pve-monitor dans Centréon :
Centreon : superviser un cluster Ceph
Ce mémo décrit la mise en place d’une supervision basée sur Centreon pour superviser un cluster Ceph haute disponibilité sous Proxmox.
Pour ce faire, j’ai configuré le plugin check-ceph-dash sur Centreon et installé ceph-dash sur chaque nœud qui compose mon cluster Ceph.
Mon choix s’est porté sur cette solution car ce couple de scripts m’apporte une grande souplesse pour la mise en service et me permet d’avoir un tableau de bord sur chacun de mes nœuds en plus de ma plateforme de supervision.
Installation de ceph-dash sur les nœuds du cluster Ceph
- Cloner le script sur chaque nœud :
cd opt/ git clone https://github.com/Crapworks/ceph-dash.git
cd ceph-dash/ ./ceph-dash.py
- Exemple de résultat :
OK: ceph cluster operates with no problems|bytes_total=71872285999104 num_pgs=1088 data_bytes=13828199913 read_op_per_sec=0 bytes_used=40517853184 num_osds=18 num_up_osds=18 num_in_osds=18 write_op_per_sec=0 read_bytes_sec=0 write_bytes_sec=2040 bytes_avail=71831768145920
Créer un service pour exécuter ceph-dash automatiquement sur les nœuds avec systemd
- Se placer dans le répertoire des services :
cd /etc/systemd/system
nano ceph-dash.service
[Unit] Description=Monitoring Cluster Ceph [Service] Type=simple ExecStart=/opt/ceph-dash/ceph-dash.py -d Restart=on-failure [Install] WantedBy=multi-user.target
chmod +x ceph-dash.service
systemctl enable ceph-dash.service
systemctl start ceph-dash.service
systemctl status ceph-dash.service
● ceph-dash.service - Monitoring Cluster Ceph Loaded: loaded (/etc/systemd/system/ceph-dash.service; enabled) Active: active (running) since Wed 2017-03-29 13:21:27 CEST; 1min 9s ago Main PID: 147177 (python) CGroup: /system.slice/ceph-dash.service ├─147177 python /opt/ceph-dash/ceph-dash.py -d └─147182 /usr/bin/python /opt/ceph-dash/ceph-dash.py -d Mar 29 13:21:27 pve-02 systemd[1]: Started Monitoring Cluster Ceph. Mar 29 13:21:27 pve-02 ceph-dash.py[147177]: * Running on http://0.0.0.0:5000/ Mar 29 13:21:27 pve-02 ceph-dash.py[147177]: * Restarting with reloader
Installation du plugin check_ceph_dash sur Centreon
- Installer le paquet
python-argpars
:
yum install python-argparse
cd /usr/lib/nagios/plugins
git clone https://github.com/Crapworks/check_ceph_dash.git
cd check_ceph_dash/ ./check-ceph-dash.py --url http://IP-cluster-01:5000
- Exemple de résultat :
OK: ceph cluster operates with no problems|bytes_total=71872285999104 num_pgs=1088 data_bytes=13828597225 read_op_per_sec=0 bytes_used=40509227008 num_osds=18 num_up_osds=18 num_in_osds=18 write_op_per_sec=0 read_bytes_sec=2040 write_bytes_sec=2040 bytes_avail=71831776772096
Création et configuration d’un service pour superviser un cluster Ceph dans Centreon
comment créer un ticket GLPI à partir de Centreon
Un mémo sur la mise ne place d’une solution de création de ticket GLPI à partir de l’interface web de Centreon.
La solution mise en place est basé sur le plugin WebServices pour GLPI et le plugin centreon-open-tickets pour Centreon.
Dans cet article, je ne traite pas de l’installation de GLPI et ni de Centreon, pour cela voir les liens suivant :
- Pour installer GLPI 0.9.1 sur Debian 8 : https://memo-linux.com/installer-glpi-0-9-1-sous-debian-avec-nginx-et-mariadb/
- Pour installer Centreon : https://memo-linux.com/installer-et-configurer-centreon-enterprise-3-3/
Intervention sur le serveur GLPI
Mon serveur GLPI est sous Debian 8 Jessie.
- Mise en place du plugin WebServices sur le serveur GLPI :
- Installer le paquet
php5-xmlrpc
:
apt install php5-xmlrpc
- Installer le paquet
- Télécharger le plugin WebService :
cd /var/www/html/glpi/plugins/ wget https://downloads.sourceforge.net/project/glpiwebservices/webservices-1.6.1-MOD.tar.gz
tar xzvf webservices-1.6.1-MOD.tar.gz
chown -R www-data:www-data webservices/
Intervention sur le serveur Centreon
Mon serveur Centreon est sous CentOS 6.9 Final.
- Installer le paquet
php-xmlrpc
yum install php-xmlrpc
- Relancer le serveur web :
service httpd restart
centreon-open-tickets
:
- Cloner le plugin à partir de Github :
cd /opt git clone https://github.com/centreon/centreon-open-tickets.git
cd centreon-open-tickets/ chmod +x install.sh
./install.sh -i
Resource
- Documentation de Centreon : https://documentation.centreon.com/docs/centreon-open-tickets/en/latest/about/index.html
Centreon : connexion automatique à l’interface web (autologin)
Un mémo sur comment configurer Centreon pour donner un accès libre à la plateforme de supervision via une connexion automatique sans login et ni mot de passe.
Configuration de Centreon pour l’autologin de l’interface web
- Menu Administration -> Centreon web :
- Aller en bas de page et cocher « Activer la connexion automatique » et « Afficher le raccourci de connexion automatique » puis cliquer sur « Sauvegarde » :
Gestion utilisateur Centreon
- Menu Configuration -> Utilisateurs et choisir « user » ou un autre de votre choix :
- Menu Authentification Centreon et configurer tel quel :
- Autoriser l’utilisateur à se connecter à l’interface web : oui
- Mot de passe : cliquer sur Générer
- Langue par défaut : choisir fr_FR.UTF-8 (ou autre)
- Fuseau horaire / Localisation : Europe/Paris
- Administrateur : Non
- Clé d’auto-connexion : cliquer sur Générer
- Source d’authentification : Centreon
- Pour finir la configuration utilisateur, cliquer sur Sauvegarder
- Activer l’utilisateur : cliquer sur l’icône de couleur verte tout à droite :
Connexion automatique à l’interface web de Centreon
Pour se connecter automatiquement sur l’interface web de Centreon, saisir l’url suivante : https://IP_CENTREON/centreon/main.php?p=1&autologin=1&useralias=[login_user]&token=[value_autologin]
- FQDN_CENTREON : le nom DNS de votre serveur Centreon
- [login_user] : user
- [value_autologin] : mlDux17r60 (ceci est la clé d’auto-connexion générée dans l’interface de l’utilisateur)
Choix de la page d’accueil de l’interface web de Centreon en autologin
Il est possible de personnaliser l’URL pour choisir une page en spécifique en choisissant le bon menu. Exemple dans mon cas, je souhaite que l’utilisateur soit sur la page « Détails des status ». Pour ce faire, je me positionne sur cette page en question et je note le numéro dans l’url : https://FQDN_CENTREON/centreon/main.php?p=202
Je modifie l’url d’auto login comme suit : https://FQDN_CENTREON/centreon/main.php?p=202&o=svc_unhandled&autologin=1&useralias=[login_user]&token=[value_autologin]
Ressource
Le blog de Centreon : http://blog.centreon.com/connexion-automatique-a-linterface-centreon-autologin/?lang=fr
Superviser un onduleur avec Centreon
Un mémo sur comment superviser un onduleur respectant la RFC1628 avec Centreon.
Installation de Centreon-plugins
Pour rappel, si comme moi vous avez installé Centreon à partir de l’ISO, le système d’exploitation est CentOS.
- Installer les pré-requis :
yum install git perl net-snmp-perl perl-XML-LibXML perl-JSON perl-libwww-perl perl-XML-XPath perl-Net-Telnet perl-Net-DNS perl-DBI perl-DBD-MySQL perl-DBD-Pg
cd /usr/lib/nagios/plugins git clone https://github.com/centreon/centreon-plugins.git chown -R centreon:centreon centreon-plugins/ chmod +x centreon-plugins/centreon_plugins.pl
Test du plugin hardware::ups::standard::rfc1628::snmp::plugin
Le supervision de l’onduleur est réalisé avec le plugin hardware::ups::standard::rfc1628::snmp::plugin. Première chose à faire est de changer d’utilisateur pour ne pas effectuer les tests de supervision avec le compte root du serveur.
- Changer pour l’utilisateur centreon :
su centreon
- Lister les modes du plugins :
./centreon_plugins.pl --plugin=hardware::ups::standard::rfc1628::snmp::plugin --list-mode
- Les modes :
- alarms
- battery-status
- input-lines
- output-lines
- output-source
- Les modes :
- Test du plugin avec le mode alarms :
./centreon_plugins.pl --plugin=hardware::ups::standard::rfc1628::snmp::plugin --mode=alarms --hostname=IP-ONDULEUR --snmp-version=v1 --snmp-community=public
- Si tout est OK :
OK: No alarms | 'alarms'=0;;;0;
Création de la commande dans Centreon
Création des modèles de services dans Centreon
Création des services correspondants pour chaque mode du plugin.
- Menu Configuration » -> « Services » -> « Modeles » -> « Ajouter » :
- Ajout du premier modèle pour le mode Alarms :
- Faire de même pour les autres modes :
Création du modèle d’hôte dans Centreon
- Menu « Configuration » -> « Hôtes » -> « Modèles » -> « Ajouer » :
- Renseigner un nom et un modèle puis aller dans l’onglet « Relations » :
Ajout de l’onduleur à superviser dans Centreon
- Menu « Configuration » -> « Hôtes » -> « Ajout » :
- Renseigner les champs sans oublier d’ajouter le modèle d’hôte :
Relance du collecteur pour la prise en compte des changements
Supervision : désactiver le contrôle de la certification des disques par Dell
Un mémo sur comment résoudre les alertes de type Warning Physical Disk status is ‘nonCritical ou is Online, Not Certified lors d’une vérification de l’état des disques d’un serveur Dell supervisé par Centreon.
Ce type d’alerte est dû à une mauvaise version ou absence du firmware du disque dur, qui a été remplacé dans le serveur. Dans le cas présent, quatre disques d’un serveur ont été changés par de plus grandes capacités. Suite au changement de ces disques, une alerte de type Warning est apparu dans ma plateforme de supervision :
nb : la solution que je propose est une alternative à l’opération lourde d’installation ou de mise à jour des firmwares des disques. Si le jour vous êtes amené à appeler le service client de Dell, généralement ils vous répondrons de mettre à jour les firmwares avant toutes interventions de leur part.
- Exemple d’installation d’un firmware via la carte iDRAC : https://memo-linux.com/proxmox-intel-ethernet-10g-2p-x520/
Vérification du statut des disques sur le serveur
A savoir, pour la supervision du matériel d’un serveur Dell, j’utilise le plugin centreon_plugins, qui s’appuie sur Openmanage.
Afin de mieux cerner le problème, je vais réaliser plusieurs tests, car d’après le statut détaillé de l’alerte mes disques sont juste dans un état « nonCritical ».
- Test avec le plugin centreon_plugins.pl :
cd /usr/lib/nagios/plugins/centreon-plugins/ ./centreon_plugins.pl --plugin=hardware::server::dell::openmanage::snmp::plugin --mode=hardware --hostname PVE-77 --component 'physicaldisk'
WARNING:
Physical Disk ‘Physical Disk 0:1:4’ status is ‘nonCritical’ –
Physical Disk ‘Physical Disk 0:1:5’ status is ‘nonCritical’ –
Physical Disk ‘Physical Disk 0:1:6’ status is ‘nonCritical’ –
Physical Disk ‘Physical Disk 0:1:7’ status is ‘nonCritical
Le message n’est pas très parlant, car il n’indique que les disques sont juste dans un état non critique. Comme dans l’interface web, normale vue que c’est ce plugin qui est utilisé.
cd /usr/lib/nagios/plugins/check_openmanage/ ./check_openmanage -H PVE-77
Physical Disk 0:1:4 [Seagate ST4000NM0023, 4.0TB] on ctrl 0 is Online, Not Certified
Physical Disk 0:1:5 [Seagate ST4000NM0023, 4.0TB] on ctrl 0 is Online, Not Certified
Physical Disk 0:1:6 [Seagate ST4000NM0023, 4.0TB] on ctrl 0 is Online, Not Certified
Physical Disk 0:1:7 [Seagate ST4000NM0023, 4.0TB] on ctrl 0 is Online, Not Certified
Le message est plus clair, les disques sont en ligne mais ne sont pas certifiés.
Désactiver la vérification des disques certifiés par Dell sur le serveur à supervisier
Pour désactiver la certification des disques par Dell, il suffit de changer la valeur yes
par no
de la variable NonDellCertifiedFlag
dans le fichier stsvc.in
, puis relancer le service dataeng
.
Ces opération sont à faire sur le serveur à superviser.
- Changer la valeur
yes
parno
dans le fichierstsvc.ini
:sed -i '/^NonDellCertifiedFlag=/s/yes/no/' /opt/dell/srvadmin/etc/srvadmin-storage/stsvc.ini
- Redémarrer le service
dataeng
:systemctl restart dataeng
- ou :
service dataeng restart
./centreon_plugins.pl --plugin=hardware::server::dell::openmanage::snmp::plugin --mode=hardware --hostname PVE-77 --component 'physicaldisk'
OK: All 8 components are ok [8/8 physical disks].
Ressource
Centreon : mettre en place RRDCacheD
Un mémo sur comment mettre en place le processus RRDCacheD sous Centreon afin de limiter les I/O disque lors de la mise à jour des graphiques de performance et/ou des graphiques de statut (fichiers RRDs).
Au lieu d’enregistrer une à une les données issues de la collecte, le module Centreon Broker fait appel au processus RRDCacheD afin de mutualiser les écritures sur disque.
Mettre en place RRDCacheD sous Centreon
RRDCacheD est disponible dans le paquet rrdtool, qui est déjà présent si l’installation de Centreon a été faite à partir de l’ISO.
- Éditer le fichier
/etc/sysconfig/rrdcached
et modifier les informations suivantes :# Settings for rrdcached OPTIONS="-m 664 -l unix:/var/rrdtool/rrdcached/rrdcached.sock -s rrdcached -b /var/rrdtool/rrdcached -w 900 -z 900 -f 1800" RRDC_USER=rrdcached
- -w : Les données sont écrites sur le disques toutes les x secondes (ici 900s donc 15minutes)
- -z : Doit être inférieur ou égale à l’option -w. RRDCacheD utilise une valeur aléatoire ans l’intervalle [0:-z] pour décaler l’écriture d’un fichier afin d’éviter que trop d’écritures soient mises en attente simultanément.
- -f : Correspond à un temps maximum de mise à jour (timeout). Si dans le cache des valeurs sont supérieures ou égales au nombre de secondes définies, alors celle-ci sont automatiquement écrite sur le disque.
Donc choisir les valeurs -w, -z et -f suivant vos besoins.
- Configuration des groupes :
usermod -a -G rrdcached centreon-broker usermod -a -G rrdcached apache usermod -a -G centreon rrdcached usermod -a -G centreon-broker rrdcached
service httpd restart
service rrdcached start
Activation de RRDCacheD dans l’interface web de Centreon
- Menu Administration -> Paramètres -> RRDTool :
- Aller en bas de page, cocher Activer RDDCached et saisir le chemin d’accès au socket Unix
/var/rrdtool/rrdcached/rrdcached.sock
puis cliquer sur Sauvegarder : - Sauvegarder le formulaire du broker rrd :
- Menu Configuration -> Configuration de Centreon Broker -> centreon-broker-master :
- Cliquer dans l’onglet Output, puis choisir RDD File generator dans le menu déroulant et cliquer sur Ajouter :
- Donner un Nom, exemple RDDFILE :
- Aller en bas de page, vérifier la ligne Socket Unix qui doit correspondre à
/var/rrdtool/rrdcached/rrdcached.sock
puis cliquer sur Sauvegarder :
- Exporter la configuration du broker :
- Pour finir, redémarrer le service cbd :
service cbd restart
Ressource
- Documentation Centreon :https://documentation-fr.centreon.com/docs/centreon/en/2.8.x/faq/performance.html#rrdcached