Vous êtes ici:

Menu


Stacks Image 15502
Nous allons découvrir les nouveaux plugins Centreon suite à l'article sur le blog de Centreon. Ces plugins vont remplacer à terme les plugins livrés avec Centreon Web. Ces plugins sont basés essentiellement sur le PERL, ils utilisent, entre autres, les librairies SNMP, XML, JSON et Memcached.
Tout d'abord nous aborderons les pré requis avec une distribution DEBIAN et l'installation des plugins, puis nous verrons quelques exemples de fonctionnement et enfin les paramétrages nécessaires sur l'interface Web de Centreon.
MAJ 17-09-2014 Beaucoup de progrès depuis la création de cet article, les plugins Centreon se sont étoffés de nombreux modules comme nous allons essayer d'aborder tout au long de ces articles. Dernière modification en date, l'option remote du module os::linux::local::plugin permettant la supervision d'hôte distant avec le protocole ssh.
MAJ 21-09-2014 Nouvel article sur le module os::linux::snmp::plugin.
MAJ 16-06-2017 Mise à jour de l'article.
Je vous invite à consulter la documentation officielle de Centreon sur les plugins.
Stacks Image 1287666
Les plugins sur la distribution Centreon
Les plugins Centreon sont installés différemment sur la distribution open-source Centreon. Il n'y a pas un seul fichier de commande comme je le décrit
s ci-dessous mais un fichier de commande par plugin-pack. En effet, pour adapter les plugins Centreon au mécanisme de Centreon IMP, les plugins ont été packagés d'une autre manière. Dans la version open-source des plugins, les librairies nécessaires au fonctionnement, sont présentes dans des dossiers situés à la racine du fichier unique de commande. Dans les versions plugin-pack, les librairies sont packagées directement dans le fichier de commande, ce qui implique un fichier de commande par pack. L'avantage des librairies packagées est la simplicité dans les mises à jour des plugins.
Stacks Image 1287669
Les plugins Centreon livrés avec la distribution Centreon et les modes associés

1 Pré requis

Avant d'installer nos plugins, assurez-vous d'avoir les librairies suivantes. Ceci est valable pour Debian 6 et 7
apt-get install libxml-libxml-perl libjson-perl libwww-perl libxml-xpath-perl libnet-telnet-perl libnet-ntp-perl libnet-dns-perl libdbi-perl libdbd-mysql-perl libdbd-pg-perl -y
Pour les modules os::linux::snmp::plugin et os::windows::snmp::plugin avec le mode time, installez ce package Debian.
apt-get install libdatetime-perl
La première version était téléchargeable à partir du blog de Centreon mais aujourd'hui les sources sont sur le GitHub de Centreon. Nous allons profiter des nombreuses améliorations en récupérant le dépôt du projet Centreon-Plugin. Installons le paquet git-core.
apt-get install git-core

2 Installation

Nous devons récupérer le dépôt git du projet dans le dossier de votre choix.
git clone https://github.com/centreon/centreon-plugins.git
Avant de copier les fichiers dans le dossier des plugins, rendre exécutable le script principal.
cd centreon-plugins
chmod +x centreon_plugins.pl
Adaptez l’emplacement de la cible en fonction de votre configuration. Ma configuration préférée, une installation Full Centreon, privilégiez le nouveau dossier /usr/lib/centreon/plugins.
cp -R * /usr/lib/centreon/plugins/
Pour une installation dans le dossier /usr/local (compilation par défaut).
cp -R * /usr/local/plugins/libexec/
Et enfin, si vous avez encore le moteur historique Nagios.
cp -R * /usr/lib/nagios/plugins/
Nous utiliserons par défaut le chemin d’une distribution Full Centreon, c’est à dire ce chemin /usr/lib/centreon/plugins. Adaptez le chemin le cas échéant.

2.1 Version de Centreon-Plugins

Pour vérifier la version de votre librairie Centreon-plugins, une commande bien utile. Celle-ci vous retourne la date de la mise à jour de ces plugins.
/usr/lib/centreon/plugins/centreon_plugins.pl --version
Global Version: 20170613

3 Principes de fonctionnement

L'utilisation des plugins Centreon est axée autour du fichier centreon_plugins.pl. Celui-ci appellera d'autres modules Perl en fonction du choix de l'option plugin. Ensuite il appliquera la méthode de supervision du module choisi avec l'option mode.
Stacks Image 15716
centreon_plugin est un plugin très modulaire
Comme indiqué sur la documentation officielle, pour connaître les plugins installés, vous devez exécuter la commande suivante :
/usr/lib/centreon/plugins/centreon_plugins.pl --list-plugin

exemple
./centreon_plugins.pl --list-plugin

-----------------
PLUGIN: hardware::ups::mge::snmp::plugin
DESCRIPTION:
Check UPS MerlinGerin in SNMP.

-----------------
PLUGIN: network::stonesoft::snmp::plugin
DESCRIPTION:
Check Stonesoft firewall in SNMP.

-----------------
PLUGIN: apps::pacemaker::local::plugin
DESCRIPTION:
Check Pacemaker through local commands (the plugin can use SSH).

…………………………
Pour trouver un plugin spécifique, vous pouvez utilisez la commande suivante :
exemple pour http
./centreon_plugins.pl --list-plugin | grep http | grep PLUGIN
PLUGIN: apps::protocols::http::plugin

exemple pour linux
./centreon_plugins.pl --list-plugin | grep linux | grep PLUGIN
PLUGIN: os::linux::snmp::plugin
PLUGIN: os::linux::local::plugin
Comme indiqué sur le blog de Centreon, pour connaître les mode de supervision de chaque module, vous devez exécuter la commande suivante :
/usr/lib/centreon/plugins/centreon_plugins.pl --plugin=[type de plugin] --list-mode

exemple
./centreon_plugins.pl --plugin=os::freebsd::snmp::plugin --list-mode
Pour obtenir des détails sur un mode de supervision, saisissez la commande suivante :
/usr/lib/centreon/plugins/centreon_plugins.pl --plugin=[type de plugin] --mode=[mode de supervision] --help

exemple
./centreon_plugins.pl --plugin=hardware::printers::standard::rfc3805::plugin --mode=marker-impression --help
Vous obtiendrez l'aide suivante :
Une courte description du plugin
Plugin Description:
Check printers compatible RFC3805 (Printer MIB v2) in SNMP. Don't know
if you can have multiple printer devices at once. So it's not managed
yet.

L'aide des options globales
Global Options:
--mode Choose a mode.

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

--list-mode
List available modes.

--version
Display plugin version.

L'aide des options d'affichage du résultat
Output Options:
--verbose
Display long output.

--filter-perfdata
Filter perfdata that match the regexp.

--opt-exit
Exit code for an option error, usage (default: unknown).

--output-xml
Display output in XML Format.

--output-json
Display output in JSON Format.

--disco-format
Display discovery arguments (if the mode manages it).

--disco-show
Display discovery values (if the mode manages it).

L'aide éventuelle pour le SNMP
Snmp Options:
--hostname
Hostname to query (required).

--snmp-community
Read community (defaults to public).

--snmp-version
Version: 1 for SNMP v1 (default), 2 for SNMP v2c, 3 for SNMP v3.

--snmp-port
Port (default: 161).

--snmp-timeout
Timeout in secondes (default: 1) before retries.

--snmp-retries
Set the number of retries (default: 5) before failure.

--maxrepetitions
Max repititions value (default: 50) (only for SNMP v2 and v3).

--subsetleef
How many oid values per SNMP request (default: 50) (for get_leef
method. Be cautious whe you set it. Prefer to let the default
value).

--snmp-username
Security name (only for SNMP v3).

--authpassphrase
Authentication protocol pass phrase.

--authprotocol
Authentication protocol (MD5|SHA)

--privpassphrase
Privacy protocol pass phrase

--privprotocol
Privacy protocol (DES|AES)

--contextname
Context name

--contextengineid
Context engine ID

--securityengineid
Security engine ID

--snmp-errors-exit
Exit code for SNMP Errors (default: unknown)

L'aide éventuelle sur le cache pour les données temporaires utilisées par le plugin
Retention Options:
--memcached
Memcached server to use (only one server).

--statefile-dir
Directory for statefile (Default:
'/var/lib/centreon/centplugins').

--statefile-concat-cwd
Concat current working directory with option '--statefile-dir'.
Useful on Windows when plugin is compiled.

Et enfin l'aide proprement dite du mode de supervision
Mode:
Check marker impressions between two checks.

--warning
Threshold warning.

--critical
Threshold critical.

4 Des plugins, en veux-tu ? en voilà !

Les modules sont organisés par dossiers :
- cloud pour les applications de type cloud (docker, ans)
- storage pour le matériel type NAS, lecteur de bande,
- snmp_standard pour les requêtes SNMP standard,
- os pour les systèmes d'exploitation,
- network pour tout le matériel actif réseau,
- hardware pour les serveurs, imprimantes et onduleurs,
- example pour pouvoir créer ses plugins,
- database pour les bases de données,
- centreon librairie commune pour les modules,
- apps pour les applications, les protocoles.
Voici un extrait de la richesse des plugins.
Stacks Image 15858
Extrait des nombreux modules de centreon_plugins
Voici plusieurs exemples et configuration des plugins sur une installation full centreon.
   Voir en détail le module os
   Voir en détail le module apps
   Voir en détail le module Database

4.1 Exemples

Stacks Image 15885
Résultat des plugins pour Linux
Stacks Image 15904
Résultat des plugins pour Windows
comments powered by Disqus
 Vous êtes ici: