Installation/Mise à jour Centreon Plugin Packs

Hello, je vous propose de découvrir dans cet article Centreon Plugin Packs. Nous allons voir comment installer et configurer Centreon Plugin Packs sur votre plate-forme de supervision.

Ce qu’il vous faut :

Centreon Plugin Packs :

Remarque : ne pas oublier de mettre à jour les plugins de temps en temps. Voir tout en bas de l’article comment mettre à jour les plugins.

Voir mes articles sur la supervision :

Centreon Plugins Monitoring

Tout d’abord, télécharger les plugins Centreon depuis Github à l’aide des commandes ci-dessous :

[root@pixelabs ]# yum install git -y

Les plugins Centreon (Gratuit) sont normalement déjà présent dans : /usr/lib/centreon/plugins. Si le répertoire n’existe pas :

[root@pixelabs ]# mkdir -p /usr/lib/centreon/plugins
[root@pixelabs ]# cd /usr/lib/centreon

Télécharger les plugins via la commande git clone

[root@pixelabs centreon]# git clone https://github.com/centreon/centreon-plugins
Initialized empty Git repository in /usr/lib/centreon/plugins/centreon-plugins/.git/
remote: Counting objects: 35131, done.
remote: Compressing objects: 100% (18/18), done.
remote: Total 35131 (delta 7), reused 23 (delta 7), pack-reused 35105
Receiving objects: 100% (35131/35131), 9.33 MiB | 1.63 MiB/s, done.
Resolving deltas: 100% (19536/19536), done.
[root@pixelabs centreon]#

Si vous avez l’erreur suivant :

[root@pixelabs centreon]# git clone https://github.com/centreon/centreon-plugins
Cloning into 'centreon-plugins'...
fatal: unable to access 'https://github.com/centreon/centreon-plugins/': Peer's certificate issuer has been marked as not trusted by the user.
[root@pixelabs centreon]#

Solution : désactiver la vérification SSL :

[root@pixelabs centreon]# git config --global http.sslverify false 
[root@pixelabs centreon]#
[root@pixelabs centreon]# ll
total 8
drwxr-xr-x 17 root root 4096 15 mars 17:35 centreon-plugins
drwxr-xr-x. 2 root root 4096 15 mars 17:41 plugins

Renommer l’ancien dossier plugins :

[root@pixelabs plugins]# mv plugins/ plugins.old

Renommer le nouveau dossier centreon-plugins :

[root@pixelabs plugins]# mv centreon-plugins/ plugins
[root@pixelabs plugins]# cd plugins

Modifier les droits :

[root@pixelabs centreon]# chmod 775 -Rf /usr/lib/centreon/plugins

Remarque : voir tout en bas pour mettre à jour les plugins centreon.

Se connecter à l’interface web de Centreon. Allez dans : Configuration  >  Collecteurs  >  Ressources

Désactiver la macro $CENTREONPLUGINS$ > et créer une nouvelle nommée $USER2$ pour avoir ceci :

Vous pouvez parfaitement laisser $CENTREONPLUGIN$ et l’utiliser également.

$USER2$ > /usr/lib/centreon/plugins
$USER1$ > /usr/lib/nagios/plugins

vous pouvez en faire d’autres si vous le souhaitez. C’est juste une histoire d’organisation. Exemple :

$USER3$ > /usr/lib/linux/plugins >  Central > Linux Plugins Path
$USER4$ > /usr/lib/windows/plugins >  Central > Windows Plugins Path

Recherche de Plugins

Alors, comment ça marche ? C’est assez simple. Nous allons commencer par découvrir les plugins en ligne de commande.

  1. Recherche de plugin
  2. Afficher les modes disponibles
  3. Afficher de l’aide une fois le mode sélectionné
  4. Passe à la supervision

Depuis votre serveur Centreon, faire une recherche de plugins pour Windows par exemple :

[root@pixelabs centreon]# cd /usr/lib/centreon/plugins
[root@pixelabs centreon]# ./centreon_plugins.pl --list-plugin | grep windows | grep PLUGIN
PLUGIN: os::windows::wsman::plugin
PLUGIN: os::windows::snmp::plugin
PLUGIN: os::windows::local::plugi
[root@pixelabs plugins]#

On en a donc 3 plugins disponibles pour Windows, celui qui nous intéresse pour le moment c’est le plugin SNMP :

PLUGIN:os::windows::snmp::plugin

Afficher les Modes disponibles

Maintenant, il faut afficher les modes que nous propose ce plugin :

[root@centreon plugins]# ./centreon_plugins.pl --plugin=os::windows::snmp::plugin --list-mode

Plugin Description:
    Check Windows operating systems in SNMP.

Global Options:
    --mode  Choose a mode.

    --dyn-mode
            Specify a mode with the path (separated by '::').

    --list-mode
            List available modes.

    --mode-version
            Check minimal version of mode. If not, unknown error.

    --version
            Display plugin version.

    --pass-manager
            Use a password manager.

#Modes Available:
   cpu
   interfaces
   list-interfaces
   list-storages
   memory
   processcount
   service
   storage
   swap
   time
   uptime
[root@centreon plugins]#

Les modes disponibles pour superviser un hôte Windows. Nous allons utiliser le mode CPU et on commence par afficher de l’aide pour voir les arguments à utiliser.

[root@pixelabs plugins]# ./centreon_plugins.pl --plugin=os::windows::snmp::plugin --mode=cpu --help

Le plugin affiche :

  • Global Options : les options globales
  • Output Options : les options de sortie
  • Snmp Options : Les options SNMP (Communauté, version….)
  • Mode : les arguments que l’on peut rajouter lors de la vérification

Mode CPU

Aller, on commence par le CPU : (Windows Server 2016 – N’oubliez pas d’installer SNMP et le configurer : configuration-snmp-windows-linux-esxi-cisco/ ) et de désactiver le pare-feu si possible, sinon, autoriser le port 161 (SNMP).

[root@pixelabs plugins]#
[root@pixelabs plugins]# ./centreon_plugins.pl --plugin=os::windows::snmp::plugin --snmp-community=pixelabs --snmp-version=2 --mode=cpu --hostname=192.168.1.20
OK: 1 CPU(s) average usage is: 10.00% | 'cpu0'=10.00%;;;0;100 'total_cpu_avg'=10.00%;0:80;0:90;0;100
[root@pixelabs plugins]#

On peut éventuellement rajouter : --warning-average=90 --critical-average=95 (en %)

Mode Interface (Traffic)

Il faut d’abord connaître l’ID de l’interface utilisée. Vous pouvez lister les interfaces disponible avec le le mode :  mode=list-interfaces

[root@pixelabs plugins]# ./centreon_plugins.pl --plugin=os::windows::snmp::plugin --mode=list-interfaces --hostname=192.168.1.20 --oid-filter=ifDesc --oid-display=ifDesc                         
List interfaces:
'Software Loopback Interface 1' [speed = 1073.74, status = up, id = 1]
'WAN Miniport (IP)' [speed = , status = notPresent, id = 10]
'WAN Miniport (IPv6)' [speed = , status = notPresent, id = 11]
'WAN Miniport (L2TP)' [speed = , status = notPresent, id = 12]
'WAN Miniport (GRE)' [speed = , status = notPresent, id = 13]
'WAN Miniport (IKEv2)' [speed = , status = notPresent, id = 14]
'Intel(R) 82574L Gigabit Network Connection-WFP Native MAC Layer LightWeight Filter-0000' [speed = 1000, status = up, id = 15]
'Intel(R) 82574L Gigabit Network Connection-QoS Packet Scheduler-0000' [speed = 1000, status = up, id = 16]
'Intel(R) 82574L Gigabit Network Connection-WFP 802.3 MAC Layer LightWeight Filter-0000' [speed = 1000, status = up, id = 17]
'WAN Miniport (SSTP)' [speed = , status = notPresent, id = 2]
'Microsoft ISATAP Adapter #2' [speed = , status = notPresent, id = 3]
'WAN Miniport (Network Monitor)' [speed = , status = notPresent, id = 4]
'Microsoft Kernel Debug Network Adapter' [speed = , status = notPresent, id = 5]
'WAN Miniport (PPPOE)' [speed = , status = notPresent, id = 6]
'Microsoft ISATAP Adapter' [speed = 0.1, status = down, id = 7]
'Intel(R) 82574L Gigabit Network Connection' [speed = 1000, status = up, id = 8]
'WAN Miniport (PPTP)' [speed = , status = notPresent, id = 9]
[root@pixelabs plugins]#

Lancez la commande : préparez-vous, la commande est longue !

[root@pixelabs plugins]# ./centreon_plugins.pl --plugin=os::windows::snmp::plugin --snmp-community=pixelabs --snmp-version=2 --mode=interfaces --interface=6 --hostname=192.168.1.20 --add-traffic
OK: Interface 'ethernet_32768' Traffic In : Buffer creation, Traffic Out : Buffer creation |
[root@pixelabs plugins]#

Patientez quelques secondes pour la création du Buffer puis relancez la commande :

[root@pixelabs plugins]#
[root@pixelabs plugins]# ./centreon_plugins.pl --plugin=os::windows::snmp::plugin --snmp-community=pixelabs --snmp-version=2 --mode=interfaces --interface=6 --hostname=192.168.1.20 --add-traffic
OK: Interface 'ethernet_32768' Traffic In : 10.19Kb/s (0.00%), Traffic Out : 237.89b/s (0.00%) | 'traffic_in'=10194.53b/s;;;0;1000000000 'traffic_out'=237.89b/s;;;0;1000000000
[root@pixelabs plugins]#

Amusez-vous à tester d’autres arguments : --speed-in=1000 --speed-out=1000 --add-status tout est expliqué en affichant de l’aide :

[root@pixelabs plugins]# ./centreon_plugins.pl --plugin=os::windows::snmp::plugin --snmp-community=pixelabs --snmp-version=2 --mode=interfaces --interface=6 --hostname=192.168.1.20 --help

Afficher de l’aide à tout moment, il suffit de rajouter à la fin de la commande : --help

Mode Memory

Vérifier la mémoire RAM :

[root@pixelabs plugins]#
[root@pixelabs plugins]# ./centreon_plugins.pl --plugin=os::windows::snmp::plugin --snmp-community=pixelabs --snmp-version=2 --mode=memory --hostname=192.168.1.20 --warning-memory=80 --critical-memory=90
OK: RAM Total: 2.00GB Used: 1.13GB (56.52%) Free: 890.31MB (43.48%) | 'used'=1213399040B;0:1717567488;0:1932263424;0;2146959360
[root@pixelabs plugins]#

Bon, je suis sur que vous savez maintenant comment procéder 🙂 aller encore un et on passe à autre chose.

Mode Processcount

Pour un process, on peut connaitre la mémoire occupé par ce process et l’usage du CPU. (–help)

[root@pixelabs plugins]#
[root@pixelabs plugins]# ./centreon_plugins.pl --plugin=os::windows::snmp::plugin --snmp-community=pixelabs --snmp-version=2 --mode=memory --hostname=192.168.1.20 --process-name=svchost.exe --memory --cpu
OK: Number of current processes running: 17 - Total memory usage: 308.64 MB - Average memory usage: 18.16 MB - Total CPU usage: 0.00 % | 'nbproc'=17;;;0; 'mem_total'=323637248B;;;0; 'mem_avg'=19037485.18B;;;0; 'cpu_total'=0.00%;;;0;
[root@pixelabs plugins]#

On peut rajouter :  --warning=16 et --critical=0 (en %)

Commande de supervision

Les macros standards sont prédéfinies dans le code source des moteurs de supervision. Ces différentes macros permettent de récupérer la valeur de différents objets au sein des commandes. Une macro commence et se termine toujours par le signe $. Exemple : La macro $HOSTADDRESS$ permet de récupérer l’adresse IP d’un hôte. Il y a une liste complète des macros disponible à cette adresse.

Se connecter à l’interface web de Centreon et allez dans Configuration > Collecteurs > Ressourcesc’est ici qu’il faut créer les macros. Alors de quoi a-t-on besoin exactement ? 

Cela dépend de ce que l’on veut superviser, mais on peut en créer beaucoup de macros et les utiliser quand on veut.

Macros personnalisées

Cliquez sur Ajouter :

  • Nom de la ressource : $_SERVICEPLUGIN$
  • Valeur de la ressource : 0
  • Lié au collecteur : Central
  • Statut : Activé
  • Commentaire : Macro personnalisée

Ajoutez également les macros suivantes :

  • $_SERVICEMODE$
  • $_SERVICEDISK$
  • $_SERVICEHOST$
  • $_SERVICEINTERFACE$
  • $_SERVICEOPTION$
  • $_SERVICEUSERNAME$
  • $_SERVICEPASSWORD$
  • $_SERVICEPORT$
  • $_SERVICEPROCESS$
  • $_SERVICESID$
  • $_SERVICECOMMAND$
  • $_SERVICESUBCOMMAND$
  • $_SERVICETIMEOUT$
  • $_SERVICEWARNING$
  • $_SERVICEWARNINGIN$
  • $_SERVICEWARNINGOUT$
  • $_SERVICECRITICAL$
  • $_SERVICECRITICALIN$
  • $_SERVICECRITICALOUT$

Retrouver tous les macros que j’utilise actuellement ici : centreon-clapi-commande-line-api/

Création de commande

Nous allons maintenant créer une commande en utilisant les macros afin du superviser le trafic réseau via le mode interfaces.

  • Allez dans : Configuration > Commandes > Ajouter
  • Nom de commande : Check-Traffic

La commande doit commencer par la macro $USER2$ (plugin centreon), suivi du plugin Centreon et tous le reste. Voici la commande :

$USER2$/centreon_plugins.pl --plugin=$_SERVICEPLUGIN$ --hostname=$HOSTADDRESS$ --snmp-version=$_HOSTSNMPVERSION$ --snmp-community=$_HOSTSNMPCOMMUNITY$ --mode=$_SERVICEMODE$ --interface=$_SERVICEINTERFACE$ --warning-in-traffic=$_SERVICEWARNINGIN$ --warning-out-traffic=$_SERVICEWARNINGOUT$ --critical-in-traffic=$_SERVICECRITICALIN$ --critical-out-traffic=$_SERVICECRITICALOUT$ $_SERVICEOPTION$

Il y a encore plus long que ça !

Explication des diffirents paramètres :

  • $USER2$/centreon_plugins.pl : le plugin centreon
  • --plugin = $_SERVICEPLUGIN$ : le nom du plugin que nous allons utiliser. Ici Windows trafic : os::windows::snmp::plugin
  • --hostname = $HOSTADDRESS$: permet de récupérer l’adresse IP d’un hôte
  • --snmp-version = $_HOSTSNMPVERSION$: permet de récupérer la version SNMP
  • --snmp-community = $_HOSTSNMPCOMMUNITY$ : permet de récupérer la communauté SNMP
  • --mode = $_SERVICEMODE$: mode à utiliser, dans notre cas, ce sera le mode=interfaces
  • --interface$_SERVICEINTERFACE$ : le NOM de l’interface à superviser OU l’ID de l’interface.
  • --warning-in-traffic = $_SERVICEWARNINGIN$ : valeur Warning pour le trafic ENTRANT
  • --warning-out-traffic = $_SERVICEWARNINGOUT$: valeur Warning pour le trafic SORTANT
  • --critical-in-traffic = $_SERVICECRITICALIN$ : valeur Critical pour le trafic ENTRANT
  • --critical-out-traffic = $_SERVICECRITICALOUT$: valeur Critical pour le trafic SORTANT
  • $_SERVICEOPTION$ : permet de rajouter plus d’option si besoin.

Cliquez ensuite sur Décrire les macros et donnez un nom à vos Macros comme sur l’image ci-dessous puis sélectionnez le modèle graphique (traffic)

Enregistrez votre commande.

Création d’hôte

Exemple, ajout d’un hôte Windows :

  • Ajouter un hôte depuis le menu : Configuration > hôte > Ajouter
    • Nom : Nom de votre serveur (nom DNS)
    • Alias : Ajouter une description
    • Ajouter le nom de la communauté SNMP (public, private…etc.), et choisir la version 2c : ces deux paramètres sont très importants.
    • Surveillé depuis le collecteur : En cas d’un collecteur satellite. On a que Central pour le moment.
    • Fuseau horaire / Localisation : Europe/Paris (important pour Centreon CLAPI = Export/Import)
    • Commande de vérification : Sélectionnez Check-Ping dans la liste, des arguments apparaissent dans la case grisée, cliquez sur la flèche bleue pour les appliquer en face.
    • Période de contrôle : En PROD il est préférable de mettre « workhours » (horaires de travail = du lundi au vendredi) la supervision s’arrête le weekend.
      • C’est modifiable bien sûr : Configuration > Utilisateurs > Périodes temporelles

Remarque : la commande de vérification Check-Ping est ici : /#Commande_Check-ICMP

  • Consultez les onglets (facultatif pour le moment) : Notification, Relation, Traitement de données, Informations détaillées de l’hôte.
  • Validez la création de l’hôte.
  • Redémarrer les collecteurs Central  depuis le menu Configuration > Collecteurs (Pollers) pour prendre en compte ce qu’on vient de réaliser 

Création de Service

Passons à la création d’un service trafic windows : Configuration > Services > Ajouter

  • Description : Check-Traffic
  • Lié aux hôtes : Sélectionnez un hôte Windows = ad-server12
  • Modèle : Nothing pour le moment
  • Commande de vérification : Check-traffic
    • Des champs vont apparaître, mettez les valeurs que l’on a utilisées en ligne de commande.
    • plugin = os::windows::snmp::plugin
    • mode = interfaces
    • interface = 6
    • warning-in-traffic = 80
    • warning-out-traffic = 80
    • critical-in-traffic = 90
    • critical-out-traffic = 90
    • option = --add-traffic --oid-display=ifDesc --oid-filter=ifDesc

  • Ajoutez une période de contrôle : Workhours
  • Ajoutez le modèle graphique traffic depuis l’onglet  Informations complémentaires (Extended Info)
    • Modèle de graphique : Traffic
    • Catégires : Traffic
  • Validez et relancez le collecteur Central. Voir ici.

Après quelques secondes, le service Check-traffic passe en état OK.

Cliquez dessus pour avoir plus d’information :

Si vous avez l’erreur :

[root@pixelabs plugins]# UNKNOWN: Cannot write statefile /var/lib/centreon/centplugins/cache_snmpstandard_192.168.254.2_161_interfaces. Need write permissions on file

Videz le répertoire suivant ou supprimer le fichier en question :

[root@pixelabs plugins]# /var/lib/centreon/centplugins/

Comment trouver les plugins

Par catégorie :

[root@pixelabs centreon]# ./centreon_plugins.pl --list-plugin | grep apps | grep PLUGIN
[root@pixelabs centreon]# ./centreon_plugins.pl --list-plugin | grep protocols | grep PLUGIN
[root@pixelabs centreon]# ./centreon_plugins.pl --list-plugin | grep centreon | grep PLUGIN
[root@pixelabs centreon]# ./centreon_plugins.pl --list-plugin | grep cloud | grep PLUGIN
[root@pixelabs centreon]# ./centreon_plugins.pl --list-plugin | grep database | grep PLUGIN
[root@pixelabs centreon]# ./centreon_plugins.pl --list-plugin | grep hardware | grep PLUGIN
[root@pixelabs centreon]# ./centreon_plugins.pl --list-plugin | grep network | grep PLUGIN
[root@pixelabs centreon]# ./centreon_plugins.pl --list-plugin | grep os | grep PLUGIN
[root@pixelabs centreon]# ./centreon_plugins.pl --list-plugin | grep storage | grep PLUGIN
[root@pixelabs centreon]# ./centreon_plugins.pl --list-plugin | grep notification | grep PLUGIN

Exemple ci-dessous :

Plugins pour Linux

[root@pixelabs plugins]# ./centreon_plugins.pl --list-plugin | grep linux | grep PLUGIN
[root@pixelabs plugins]#
[root@pixelabs plugins]# ./centreon_plugins.pl --list-plugin | grep linux | grep PLUGIN
---
PLUGIN: os::linux::snmp::plugin
PLUGIN: os::linux::local::plugin
---
[root@pixelabs plugins]#

Il suffit de taper le mot clé pour vérifier si un plugins existe ou pas :

Plugins pour IBM

[root@pixelabs plugins]# ./centreon_plugins.pl --list-plugin | grep ibm | grep PLUGIN
PLUGIN: storage::ibm::storwize::ssh::plugin
PLUGIN: storage::ibm::DS3000::cli::plugin
PLUGIN: storage::ibm::ts3500::snmp::plugin
PLUGIN: hardware::server::ibm::mgmt_cards::imm::snmp::plugin
PLUGIN: storage::ibm::ts3100::snmp::plugin
PLUGIN: hardware::server::ibm::bladecenter::snmp::plugin
PLUGIN: storage::ibm::DS4000::cli::plugin
PLUGIN: storage::ibm::ts3200::snmp::plugin
...
[root@pixelabs plugins]#

Plugins pour le Cloud (AWS, OVH…)

[root@pixelabs plugins]# ./centreon_plugins.pl --list-plugin | grep cloud | grep PLUGIN
PLUGIN: cloud::nutanix::snmp::plugin
PLUGIN: cloud::ovh::restapi::plugin
PLUGIN: network::cisco::meraki::cloudcontroller::snmp::plugin
PLUGIN: cloud::aws::plugin
PLUGIN: cloud::docker::restapi::plugin
[root@pixelabs plugins]#

Plugins les Base de données

[root@pixelabs plugins]# ./centreon_plugins.pl --list-plugin | grep database| grep PLUGIN
[root@pixelabs plugins]# ./centreon_plugins.pl --list-plugin | grep database | grep PLUGIN
PLUGIN: database::postgres::plugin
PLUGIN: database::sap::hana::plugin
PLUGIN: database::oracle::plugin
PLUGIN: database::mssql::plugin
PLUGIN: database::sybase::plugin
PLUGIN: database::mysql::plugin
PLUGIN: database::firebird::plugin
PLUGIN: database::informix::plugin
[root@pixelabs plugins]#

Plugins les OS

[root@pixelabs plugins]# ./centreon_plugins.pl --list-plugin | grep os | grep PLUGIN
[root@pixelabs plugins]# ./centreon_plugins.pl --list-plugin | grep os | grep PLUGIN
PLUGIN: os::windows::wsman::plugin
PLUGIN: network::sophos::es::snmp::plugin
PLUGIN: database::postgres::plugin
PLUGIN: network::nokia::timos::snmp::plugin
PLUGIN: apps::java::jboss::jmx::plugin
PLUGIN: os::freebsd::snmp::plugin
PLUGIN: os::solaris::snmp::plugin
...
[root@pixelabs plugins]#

Plugins pour le Stockage

[root@pixelabs plugins]# ./centreon_plugins.pl --list-plugin | grep storage | grep PLUGIN
[root@pixelabs plugins]# ./centreon_plugins.pl --list-plugin | grep storage | grep PLUGIN
PLUGIN: storage::hp::msa2000::snmp::plugin
PLUGIN: storage::emc::vplex::restapi::plugin
PLUGIN: storage::hp::storeonce::ssh::plugin
PLUGIN: storage::fujitsu::eternus::dx::ssh::plugin
PLUGIN: storage::hp::storeonce::restapi::plugin
PLUGIN: storage::ibm::storwize::ssh::plugin
PLUGIN: storage::ibm::DS3000::cli::plugin
PLUGIN: storage::netapp::snmp::plugin
...
[root@pixelabs plugins]#

Plugins pour le Réseau

[root@pixelabs plugins]# ./centreon_plugins.pl --list-plugin | grep network | grep PLUGIN
[root@pixelabs plugins]# ./centreon_plugins.pl --list-plugin | grep network | grep PLUGIN
PLUGIN: network::juniper::mseries::plugin
PLUGIN: network::citrix::netscaler::snmp::plugin
PLUGIN: network::cyberoam::snmp::plugin
PLUGIN: network::cisco::WaaS::plugin
PLUGIN: network::hp::procurve::snmp::plugin
PLUGIN: network::alcatel::oxe::snmp::plugin
PLUGIN: network::juniper::sa::plugin
PLUGIN: network::ruckus::ap::snmp::plugin
...
[root@pixelabs plugins]#

Plugins pour les Apps

[root@pixelabs plugins]# ./centreon_plugins.pl --list-plugin | grep apps | grep PLUGIN
[root@pixelabs plugins]# ./centreon_plugins.pl --list-plugin | grep apps | grep PLUGIN
PLUGIN: apps::voip::cisco::meetingplace::plugin
PLUGIN: apps::selenium::plugin
PLUGIN: apps::nginx::serverstatus::plugin
PLUGIN: apps::protocols::ftp::plugin
PLUGIN: apps::redis::restapi::plugin
PLUGIN: apps::backup::veeam::local::plugin
PLUGIN: apps::lotus::snmp::plugin
...
[root@pixelabs plugins]#

Mise à jour Centreon Plugin Packs

Pour mettre à jour les plugins, c’est simple. Commencez par télécharger les nouveaux depuis Github Centreon dans /usr/lib/centreon :

[root@pixelabs ]# cd /usr/lib/centreon
[root@pixelabs centreon]# git clone https://github.com/centreon/centreon-plugins
[root@pixelabs centreon]#
[root@pixelabs centreon]# ll
total 8
drwxr-xr-x 17 root root 4096 15 mars 17:35 centreon-plugins
drwxr-xr-x. 2 root root 4096 15 mars 17:41 plugins

Renommer l’ancien dossier plugins >> plugins.old :

[root@pixelabs centreon]# mv plugins/ plugins.old

Renommer le nouveau dossier  centreon-plugins >> plugins :

[root@pixelabs plugins]# mv centreon-plugins/ plugins
[root@pixelabs plugins]# cd plugins

Ajouter les droits nécessaire :

[root@pixelabs plugins]# chmod -R 775 /usr/lib/centreon/plugins

Voilà, c’est terminé.

Supervision Systèmes & Réseaux

Voir mes articles sur la supervision systèmes & réseaux :

Des questions ? besoin d’aide ? n’hésitez surtout pas, si je peux aider, c’est avec plaisir.

Bonne journée et à bientôt.

45 Responses

  1. Tarbasaure dit :

    Bonjour, j’ai mis à jour tous les plugins de mon centreon et je me retrouve avec ces erreurs sur mes hosts en supervision :
    Unknown option: warning-core-5s at /usr/lib/centreon/plugins/centreon_cisco_standard_snmp.pl line 4283.
    et
    Unknown option: warning-average at /usr/lib/centreon/plugins/centreon_windows_snmp.pl line 142.

    Que dois-je faire ? Merci.

    • sysadmin dit :

      Bonjour,
      Pas de panique, c’est normal.
      Avec les nouveaux plugins, certains nom d’option changent.
      Il faut que tu me modifies ta commande de supervision et mettre le bon nom. Tu peux voir le nom des options en affichant de l’aide --help
      Exemple pour le plugin Windows (Mémoire) :

      /usr/lib/centreon/plugins/centreon_windows_snmp.plcentreon_plugins.pl --plugin=os::windows::snmp::plugin --snmp-community=pixelabs --snmp-version=2 --mode=memory --hostname=192.168.1.20 --help

      Ensuite tu regardes le nom des seuils et le changer dans ta commande (centreon web).

      • Tarbasaure dit :

        Merci pour ton aide ! Mais c’est bon j’ai résolu le problème en mettant à jour les fichiers .pl concernés (en soit c’est plus ou moins la même chose que ce que tu me proposes ça à mis à jour les commandes).

  2. Pit dit :

    Bonjour,

    Après avoir suivi la procédure concernant le service Check Traffic j’ai l’erreur suivante : Unknown option: warning-in-traffic at /usr/lib/centreon/plugins/centreon/plugins/alternative/Getopt.pm line 67.

    Est-ce que vous avez déjà eu ce type d’erreur?

    • sysadmin dit :

      Salut, oui avec la mise à jour des plugins, certains paramètres n’existent pas. Il faut afficher de l’aide pour voir les bons paramètres.

      --help

  3. nac dit :

    bonjour, après avoir suivi votre procédure j’ai tout perdu

  4. wackou dit :

    J’ai trouvé 🙂
    Il faut mettre le format suivant : C:.Program Files .x86..Internet Explorer
    Merci beaucoup.

  5. wackou dit :

    Bonjour,
    pour le mode processcount, il existe l’option –process-path
    Ça donne ceci :

    perl centreon_plugins.pl --plugin=os::windows::snmp::plugin --mode=processcount --hostname=SERVER --snmp-version='2c' --snmp-community='TEST' --process-name='win32calc.exe' --process-path='C:\Windows\System32' --regexp-name --regexp-path --warning='' --critical='1:' --verbose

    Cependant, je n’arrive pas à le faire fonctionner correctement, je pense que le chemin n’est pas bon et je n’arrive pas à trouver le bon format.
    C’est indiqué ici : https://github.com/centreon/centreon-plugins/issues/1204
    « replace backslashs by dots. » mais ca ne donne rien

    Une idée ?

    Merci d’avance

    • sysadmin dit :

      Salut,
      Si le process win32calc.exe est exécuté et se trouve dans le gestionnaire de tâche, ce n’est pas la peine de mettre le chemin :
      Exemple : j’ai lancé DXDIAG.EXE qui se trouve dans ‘C:\Windows\System32’ :

      Je peux maintenant le surveiller sans mettre le chemin : (si quelqu’un ferme la fenêtre DXDIAG, ça passe en CRITICAL)

      [root@centreon plugins]# ./centreon_plugins.pl --plugin=os::windows::snmp::plugin --mode=processcount --hostname=server-ad --process-name='dxdiag.exe' --regexp-name --critical='1:' --verbose
      OK: Number of current processes running: 1 | 'nbproc'=1;;1:;0;
      Process '53748' [status: running] [name: dxdiag.exe]
      [root@centreon plugins]#

      J’espère que j’ai répondu à ta question.
      Bonne journée.
      -sysadmin

      • wackou dit :

        Salut,
        En faite mon problème est que je dois avoir plusieurs process win32calc.exe (c’est un exemple) qui tourne mais depuis plusieurs emplacement (DEV/TEST/PROD).
        Et je pense que le paramètre –process-path est justement fait pour cela, mais je n’arrive pas à trouver le bon format du chemin 🙁

        Bonne journée

        • sysadmin dit :

          Salut,
          Si tu veux utiliser le paramètre --process-path ce n’est pas la peine d’utiliser --process-name
          Pour le format, voici un exemple qui fonctionne chez moi :

          [root@centreon plugins]# ./centreon_plugins.pl --plugin=os::windows::snmp::plugin --mode=processcount --hostname=serv-exchange --process-path='C:.Program Files.Microsoft.Exchange Server.V15.Bin.Search.Ceres.ParserServer' --regexp-path --verbose
          OK: Number of current processes running: 3 | 'nbproc'=3;;;0;
          Process '39552' [status: running] [path: C:\Program Files\Microsoft\Exchange Server\V15\Bin\Search\Ceres\ParserServer\]
          Process '13396' [status: running] [path: C:\Program Files\Microsoft\Exchange Server\V15\Bin\Search\Ceres\ParserServer\]
          Process '15856' [status: running] [path: C:\Program Files\Microsoft\Exchange Server\V15\Bin\Search\Ceres\ParserServer\]
          [root@centreon plugins]#

          Mettre des « POINTS » à la place des back Slash.
          Si tu veux superviser les trois d’un seul coup, tu rajoutes un autre paramètre --process-path=... --process-path=... --process-path=...

          Bonne journée.
          -sysadmin

          • wackou dit :

            Salut,
            je viens d’essayer, par exemple depuis C:\Windows\System32 ou bien C:\Program Files\Mozilla Firefox en changent les \ par des . (points), ça fonctionne merci 🙂
            Cependant, mon application se trouve dans C:\Program Files (x86)\Internet Explorer (exemple), et je pense que le ( et ) ne passe pas correctement 🙁 🙁

          • sysadmin dit :

            Testes avec une autre application dans le même répertoire si possible.
            Du moment que tu remplaces les back slash par des « point », ça ne pose aucun problème normalement…
            Sinon, je n’ai pas d’autres idées désolé :-/
            Si tu trouves, n’hésites pas à me faire un retour 🙂

  6. Singman dit :

    Bonjour,
    Je ne comprends toujours pas pourquoi vouloir remplacer la macro $CENTREONPLUGINS$, sinon pour casser toute la compatibilité. J’ai toujours fait avec une macro perso pour les plugins Github et je créé mes commandes avec. Bien plus simple à mon avis.

    • sysadmin dit :

      Salut,
      oui, je pense que c’est propre de laisser la macro CENTREONPLUGINS et créer une macro pour les plugins packs.
      sinon, ça ne casse en rien la compatibilité, je n’ai jamais eu de problème en tous cas.
      (puisque tu m’a fait la remarque, j’ai l’impression que ça perturbe. Je mettrais à jour l’article prochainement)
      Merci 🙂

  7. sysadmin dit :

    Mise à jour de l’article : GitHub SSL Erreur !

  8. sysadmin dit :

    Mise à jour :
    – Création d »hôte Windows détaillé
    -Pixel.

  9. sysadmin dit :

    Mise à jour de l’article.

  10. Dero dit :

    Bonjour,
    Merci beaucoup, ça fonctionne parfaitement !! J’ai simplement du rajouter l’option –snmp-autoreduce à la fin de la commande OPTION, mes serveurs n’acceptent pas le check du traffic sans ça, je ne sais pas pourquoi… M’enfin ça marche !!
    J’ai fait un tour sur tout votre site, il m’est très très utile !! (Ajout dans les favoris 😉 ) Merci encore mille fois !

  11. Ayman dit :

    la commande :

    ./centreon_plugins.pl --plugin=os::windows::snmp::plugin --snmp-community=public --snmp-version=2c --mode=list-interfaces --hostname=192.168.1.100 –oid-filter=ifDesc –oid-display=ifDesc
    argument –oid-display=ifDesc alone at /usr/lib/centreon/plugins/centreon/plugins/alternative/Getopt.pm line 93.
  12. sysadmin dit :

    Je viens de mettre à jour la commande. Voir : #Mode_Interface_Traffic

    N’oublie pas de configurer le chemin des plugins Centreon : $USER2$ qui correspond à /usr/lib/centreon/plugins

    et aussi SNMP sous Windows.

  13. Ayman dit :

    je ne peux pas trouver l’interface réseau lorsque fait la commande tout les interfaces sont Ethernet de 0 a 16 et des interfaces tunnel et ppp.
    Merci de me repondre;)

    • sysadmin dit :

      Bonjour Ayman,

      Pour afficher les noms des interfaces tu rajoutes les paramètres suivant : --oid-filter=ifDesc --oid-display=ifDesc

      ce qui donne :

      ./centreon_plugins.pl --plugin=os::windows::snmp::plugin --snmp-community=pixelabs --snmp-version=2 --mode=list-interfaces --hostname=HOST --oid-filter=ifDesc --oid-display=ifDesc

      -Pixel

      • Ayman dit :

        Il affiche ce message:

        argument -–oid-display=ifDesc alone at /usr/lib/centreon/plugins/centreon/plugins/alternative/Getopt.pm line 93.
        • sysadmin dit :

          Peux-tu me montrer la commande complète que tu lances ? sous Windows ou Linux ?

          • Ayman dit :

            j’ai une erreur :

            ./centreon_plugins.pl --plugin=os::windows::snmp::plugin --snmp-community=public --snmp-version=2 --mode=list-interfaces --hostname=HOST-NAME –oid-filter=ifDesc –oid-display=ifDesc
            UNKNOWN: Need to specify '--plugin' option.
          • LLFT dit :

            Là c’est une simple erreur de saisie il manque le double tiret devant le paramètre.

            /usr/lib/centreon/centreon-plugins/centreon_plugins.pl --plugin=os::windows::snmp::plugin --mode=list-interfaces --hostname=HOST-IP --snmp-version=2c --snmp-community=HOST-COM
  14. LEFEBVRE julien dit :

    Encore une fois réponse parfaite, cela fonctionne !
    merci de votre réactivité ainsi que de prendre le temps de me répondre
    a bientôt (;
    bonne journée

  15. LEFEBVRE julien dit :

    bonjour
    Petite question y aurait -il un moyen de mettre des warning par rapport au poids (GB) de la bdd est non a un pourcentage car sur serveur sqlexpress espace réservé=espace utilisé toujours a 100% ?
    Donc mettre genre, des que la base de données atteint 9GB mettre en warning
    Et l’article sur la supervision des bases de données est-il tout neuf ? ou je ne l’avais pas vu avant ?
    merci d’avance
    Cordialement

    • sysadmin dit :

      Bonjour Julien,

      Je ne sais pas du tout si on peut mettre des valeurs en GB à la place des pourcentages. Mais, voici deux exemple que tu peux exploiter :

      Base master fait : 4.75 MB
      —————
      Au dessous de 1000000 byte, l’alerte se déclenche :

       ./centreon_plugins.pl --plugin=database::mssql::plugin --mode=databases-size --hostname=SQL-SERVER --username=USER --password=PASS --port=1433 --filter-database='master' --free --units='B' --critical-database='1000000:'
      OK: Database 'master' Total: 4.75 MB Used: 4.50 MB (94.74%) Free: 256.00 KB (5.26%) | 'used'=4718592B;;1024:;0;4980736

      —————
      Si j’augmente la valeur 1000000 Byte à 5000000 Byte, l’alerte CRITICAL se déclenche :

      ./centreon_plugins.pl --plugin=database::mssql::plugin --mode=databases-size --hostname=SQL-SERVER --username=USER --password=PASS --port=1433 --filter-database='master' --free --units='B' --critical-database='5000000:'
      CRITICAL: Database 'master' Total: 4.75 MB Used: 4.50 MB (94.74%) Free: 256.00 KB (5.26%) | 'used'=4718592B;;5368709120:;0;4980736

      —————
      Il faut absolument rajouter : --free --units='B'

      Et désolé, je sais que c’est flou mais, je ne sais pas du tout si les valeurs sont en BIT, BYTE, MB…
      Tu as un exemple avec le plugin Linux ici : https://documentation.centreon.com/docs/centreon-plugins/en/latest/user/guide.html
      (Fait CTRL+F et cherche : critical=21990232555)

      L’article est tout neuf oui 🙂

      Bonne journée,
      -Pixel

  16. LEFEBVRE julien dit :

    Dsl effectivement cela marche j’avais fait une belle bourde j’avais omis le i en majuscule donc il ne trouvé pas ma BDD cela fonctionne parfaitement
    Je vous remercie infiniment pour votre votre réactivité et le temps pris pour me répondre votre site est excellent et VOUS ete excellent et extrêmement compétent je pense que j’ai trouvé mon bonheur sur ce site et reviendrais vers vous si besoin
    encore merci
    Cordialement

    • sysadmin dit :

      Super 🙂
      avec plaisir, je suis content de t’avoir aidé et merci beaucoup pour tes commentaires encourageants.
      N’hésitez pas en cas de besoin.
      Bonne journée.

      -Pixel.

  17. LEFEBVRE julien dit :

    Effectivement cela marche sur la table « master » mais quand je fais cela sur ma base « indexation » il m’indique Ok : All databases are OK
    Plutôt un soucis au niveau de la configuration de la base de donnée ? les bdd sont reliés entre elle ou quelque chose de la sorte ?

  18. LEFEBVRE julien dit :

    Merci pour votre réactivité en tous cas
    la comande est la suivante :

    $USER2$/centreon_plugins.pl --plugin=$_SERVICEPLUGIN$ --hostname=$HOSTADDRESS$ --mode=$_SERVICEMODE$ --username=$_SERVICEUSERNAMES$ --password=$_SERVICEPASSWORD$ --port=$_SERVICEPORT$ --verbose --warning-database=$_SERVICEWARNING$  --filter-database=$_SERVICEDATABASE$

    et dans --filter-database=indexation ou indexation est le nom de ma BDD
    c’est seulement quand je rajoute cette dernière option que le check ne fonctionne plus

    • sysadmin dit :

      Tu dois mettre la base entre les guillemet :

      --filter-database= "master"
      

      ou

      --filter-database='master'
      

      Chez moi cela fonctionne :

      ./centreon_plugins.pl --plugin=database::mssql::plugin --mode=databases-size --hostname=IP --username=USER --password=PASSWORD --port=1433 --filter-database='master' --verbose  
      OK: Database 'master' Total: 4.75 MB Used: 4.50 MB (94.74%) Free: 256.00 KB (5.26%) | 'db_master_used'=4718592B;;;0;4980736
      Database 'master' Total: 4.75 MB Used: 4.50 MB (94.74%) Free: 256.00 KB (5.26%)
      [root@centreon plugins]#
      

      même sur l’interface graphique centreon, dans le champ FILTER DATABASE tu dois mettre « master » ou ‘master’

      n’hésite pas en cas de besoin.
      -Pixel

  19. LEFEBVRE julien dit :

    Bonjour
    Déjà article au top super boulot!
    J’ai une petite question J’utilise le plugin DATABASE::MSSQL::PLUGIn il fonctionne mais e n’arrive pas a filtrer mes database même avec --filter-database il m’affiche quand même les autres bdd (master, model tempdb)
    Pourriez vous me venir en aide sur se point ?
    merci d’avance

    • sysadmin dit :

      Bonjour Julien,

      Je n’ai jamais supervisé les bases de données Microsoft SQL, que du Oracle sous Linux.

      Peux-tu me donner la commande complète que tu utilises ? Je pense qu’il faut filtrer en utilisant des expressions Perl (regex).

      -Pixel.

  20. lyes dit :

    Bonjour,

    Merci pour ton article.
    Petite question, une fois les plugins importés, est il possible de les visualiser sur la console centreon ? par exemple dans Configuration -> Plugin Packs ?

    Merci

    • sysadmin dit :

      Bonjour,

      Non, tu ne peux pas.
      Par contre, tu peux visualiser le catalogue Centreon Plugin Pack (officiel) en activant les deux modules :

      Administration > Extensions > Modules
      centreon-license-manager
      centreon-pp-manager

      Le menu Plugin Pack va donc apparaître et tu auras une liste dans ce genre : https://www.centreon.com/catalogue-plugins-packs/
      Mais attention, il te faut une licence pour utiliser les plugins de cette manière (supervision automatique)

      N’hésite pas si besoin 🙂

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *