1246 lines
111 KiB
ReStructuredText
1246 lines
111 KiB
ReStructuredText
***********
|
|
Description
|
|
***********
|
|
|
|
"centreon-plugins" est un projet gratuit et open source de supervision des systèmes.
|
|
Ce projet peut être utilisé avec Centreon, Icinga et tout autre logiciel de supervision compatible avec les plugins Nagios.
|
|
|
|
La dernière version est disponible sur le dépôt git suivant: https://github.com/centreon/centreon-plugins.git
|
|
|
|
************
|
|
Installation
|
|
************
|
|
|
|
-------------
|
|
Debian Wheezy
|
|
-------------
|
|
|
|
Télécharger la dernière version de "centreon-plugins" depuis le dépôt :
|
|
::
|
|
|
|
# aptitude install git
|
|
# git clone https://github.com/centreon/centreon-plugins.git
|
|
|
|
Pour superviser les systèmes SNMP, vous devez installer les paquets suivants :
|
|
::
|
|
|
|
# aptitude install perl libsnmp-perl
|
|
|
|
Vous pouvez installer d'autres paquets pour utiliser plus de plugins :
|
|
::
|
|
|
|
# aptitude 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
|
|
|
|
Pour utiliser la fonctionnalité 'memcached', vous devez installer le module CPAN suivant (pas de paquet debian): http://search.cpan.org/~wolfsage/Memcached-libmemcached-1.001702/libmemcached.pm
|
|
|
|
-------------
|
|
Centos/Rhel 6
|
|
-------------
|
|
|
|
Télécharger la dernière version de "centreon-plugins" depuis le dépôt :
|
|
::
|
|
|
|
# yum install git
|
|
# git clone https://github.com/centreon/centreon-plugins.git
|
|
|
|
Pour superviser les systèmes SNMP, vous devez installer les paquets suivants :
|
|
::
|
|
|
|
# yum install perl net-snmp-perl
|
|
|
|
Vous pouvez installer d'autres paquets pour utiliser plus de plugins :
|
|
::
|
|
|
|
# yum install 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
|
|
|
|
Pour utiliser la fonctionnalité 'memcached', vous devez installer le module CPAN suivant (paquet disponible dans 'rpmforge'): http://search.cpan.org/~wolfsage/Memcached-libmemcached-1.001702/libmemcached.pm
|
|
|
|
*******************
|
|
Utilisation basique
|
|
*******************
|
|
|
|
Nous allons utiliser un exemple basique pour montrer comment superviser un système. J'ai terminé la partie installation et je veux superviser un système Linux par SNMP.
|
|
Tout d'abord, j'ai besoin de trouver le plugin à utiliser dans la liste :
|
|
::
|
|
|
|
$ perl centreon_plugins.pl --list-plugin | grep -i linux | grep 'PLUGIN'
|
|
PLUGIN: os::linux::local::plugin
|
|
PLUGIN: os::linux::snmp::plugin
|
|
|
|
Il semblerait que 'os::linux::snmp::plugin' est le bon donc je vérifie avec l'option ``--help`` pour être sûr :
|
|
::
|
|
|
|
$ perl centreon_plugins.pl --plugin=os::linux::snmp::plugin --help
|
|
...
|
|
Plugin Description:
|
|
Check Linux operating systems in SNMP.
|
|
|
|
C'est exactement ce dont j'ai besoin. Maintenant je vais utiliser l'option ``--list-mode`` pour connaître ce que je peux faire avec celui-ci :
|
|
::
|
|
|
|
$ perl centreon_plugins.pl --plugin=os::linux::snmp::plugin --list-mode
|
|
...
|
|
Modes Available:
|
|
cpu
|
|
cpu-detailed
|
|
disk-usage
|
|
diskio
|
|
inodes
|
|
interfaces
|
|
list-diskspath
|
|
list-interfaces
|
|
list-storages
|
|
load
|
|
memory
|
|
processcount
|
|
storage
|
|
swap
|
|
tcpcon
|
|
time
|
|
uptime
|
|
|
|
J'aimerais tester le mode 'load':
|
|
::
|
|
|
|
$ perl centreon_plugins.pl --plugin=os::linux::snmp::plugin --mode=load
|
|
UNKNOWN: Missing parameter --hostname.
|
|
|
|
Il ne fonctionne pas car certaines options sont manquantes. Je peux avoir une description du mode et ses options avec l'option ``--help`` :
|
|
::
|
|
|
|
$ perl centreon_plugins.pl --plugin=os::linux::snmp::plugin --mode=load --help
|
|
|
|
Je dois éventuellement configurer certaines options SNMP :
|
|
::
|
|
|
|
$ perl centreon_plugins.pl --plugin=os::linux::snmp::plugin --mode=load --hostname=127.0.0.1 --snmp-version=2c --snmp-community=public
|
|
OK: Load average: 0.00, 0.00, 0.00 | 'load1'=0.00;;;0; 'load5'=0.00;;;0; 'load15'=0.00;;;0;
|
|
|
|
Je peux spécifier des seuils avec les options ``--warning`` et ``--critical``:
|
|
::
|
|
|
|
$ perl centreon_plugins.pl --plugin=os::linux::snmp::plugin --mode=load --hostname=127.0.0.1 --snmp-version=2c --snmp-community=public --warning=1,2,3 --critical=2,3,4
|
|
OK: Load average: 0.00, 0.00, 0.00 | 'load1'=0.00;0:1;0:2;0; 'load5'=0.00;0:2;0:3;0; 'load15'=0.00;0:3;0:4;0;
|
|
|
|
***
|
|
FAQ
|
|
***
|
|
|
|
----------------------------------
|
|
Qu'est ce que je peux superviser ?
|
|
----------------------------------
|
|
|
|
L'option ``--list-plugin`` peut être utilisée pour obtenir la liste des plugins, ainsi qu'une courte description.
|
|
|
|
Les en-têtes du tableau signifient :
|
|
|
|
* Transport : Le point de contrôle a des options internes pour le transport.
|
|
* Protocole : qu'est-ce qui est utilisé pour obtenir les informations de supervision ?
|
|
* Expérimental : Le point de contrôle est en cours de développement.
|
|
|
|
+----------------+--------------------+----------------------------+--------------------------------------------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | | Transport | Protocole | | | |
|
|
| Categorie | Contrôle +-------+----------+---------+--------+--------+-------+-------+----------+ Experimental | Comment | Dépendances Perl |
|
|
| | | SSH | TELNET | WSMAN | SNMP | HTTP | WMI | JMX | custom | | | |
|
|
+================+====================+=======+==========+=========+========+========+=======+=======+==========+==============+===============================================================+========================================================================+
|
|
| | Active Directory | | | | | | | | * | | Utilise la commande 'dcdiag'. Doit être installée sur Windows.| Win32::Job |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Apache | | | | | * | | | | | Requiert le module Apache 'mod_status'. | LWP::UserAgent, URI, HTTP::Cookies |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Apc | | | | | * | | | | | | LWP::UserAgent, URI, HTTP::Cookies |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Apcupsd | * | | | | | | | * | | UUtilise les commandes 'apcupsd'. | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Bluemind | | | | | * | | | | | Utilise l'API 'influxdb'. | JSON, LWP::UserAgent, URI, HTTP::Cookies |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Checkmyws | | | | | * | | | | | | JSON, LWP::UserAgent, URI, HTTP::Cookies |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Elasticsearch | | | | | * | | | | | | JSON, LWP::UserAgent, URI, HTTP::Cookies |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Exchange | | | | | | | | * | | Utilise un script powershell. Doit être installé sur Windows. | Win32::Job |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Github | | | | | * | | | | | Utilise l'API 'github'. | JSON, LWP::UserAgent, URI, HTTP::Cookies, DateTime |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Hddtemp | | | | | | | | * | | Ouvre une connexion TCP personnalisée. | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | | | | | | | * | | | | Doit être installé sur Windows. | Win32::OLE |
|
|
| | IIS +-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| Application | | | | * | | | * | | | * | | openwsman, MIME::Base64 |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Jenkins | | | | | * | | | | | | JSON, LWP::UserAgent, URI, HTTP::Cookies |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Kayako | | | | | * | | | | | Utilise l'API 'kayako'. | XML::XPath, Digest::SHA, LWP::UserAgent, URI, HTTP::Cookies |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Lmsensors | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Msmq | | | | | | | | * | * | Doit être installé sur Windows. Pas encore développé. | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Nginx | | | | | * | | | | | Requiert le module 'HttpStubStatusModule'. | LWP::UserAgent, URI, HTTP::Cookies |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Pacemaker | * | | | | | | | * | | Utilise la commande 'crm_mon'. | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Pfsense | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Selenium | | | | | | | | * | | Se connecte à un serveur Selenium pour jouer un scenario. | XML::XPath, WWW::Selenium |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Tomcat | | | | | * | | | | | Requiert tomcat webmanager. | XML::XPath, LWP::UserAgent, URI, HTTP::Cookies |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Varnish | * | | | | | | | * | | Utilise les commandes varnish. | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | VMWare | | | | | | | | * | | Requiert le connecteur 'centreon-vmware' de Centreon. | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Pfsense | | | | * | | | | | | | |
|
|
+----------------+--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Bgp | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Dhcp | | | | | | | | * | | | Net::DHCP::Packet, Net::Subnet |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Dns | | | | | | | | * | | | Net::DNS |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Ftp | | | | | | | | * | | | Net::FTP, Net::FTPSSL |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Http | | | | | * | | | | | | LWP::UserAgent, URI, HTTP::Cookies, JSON, JSON::Path, XML::XPath |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Ftp | | | | | | | | * | | | Net::FTP, Net::FTPSSL |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Imap | | | | | | | | * | | | Net::IMAP::Simple |
|
|
| Protocoles +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Jmx | | | | | | | * | | | | JSON::Path, JMX::Jmx4Perl |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Ldap | | | | | | | | * | | | Net::LDAP |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Ntp | | | | | | | | * | | | Net::NTP |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Radius | | | | | | | | * | | | Authen::Radius |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Smtp | | | | | | | | * | | | Email::Send::SMTP::Gmail |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Tcp | | | | | | | | * | | | IO::Socket::SSL |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Udp | | | | | | | | * | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | x509 | | | | | | | | * | | | IO::Socket::SSL |
|
|
+----------------+--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Informix | | | | | | | | * | | | DBI, DBD::Informix |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Firebird | | | | | | | | * | | | DBI, DBD::Firebird |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | MS SQL | | | | | | | | * | | | DBI, DBD::Sybase |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| Bases de | MySQL | | | | | | | | * | | | DBI, DBD::mysql |
|
|
| données +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Oracle | | | | | | | | * | | | DBI, DBD::oracle, DateTime |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Postgres | | | | | | | | * | | | DBI, DBD::Pg |
|
|
+----------------+--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | ATS Apc | | | | * | | | | | * | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | PDU Apc | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | PDU Eaton | | | | * | | | | | * | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | PDU Raritan | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Standard Printers | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Hwgste | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Sensorip | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Sensormetrix Em01 | | | | | * | | | | | | LWP::UserAgent, URI, HTTP::Cookies |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Serverscheck | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Cisco UCS | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Dell CMC | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Dell iDrac | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| Matériel | Dell Openmanage | | | | * | | | | | | Requiert "l'agent openmanage" sur le système d'exploitation. | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | HP Proliant | | | | * | | | | | | Requiert "l'agent HP Insight" sur le système d'exploitation. | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | HP Blade Chassis | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | IBM BladeCenter | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | IBM HMC | * | | | | | | | * | * | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | IBM IMM | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Sun hardware | * | * | | * | | | | * | | Peut superviser plusieurs types de matériel Sun. | Net::Telnet, SNMP |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | UPS APC | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | UPS Mge | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | UPS Standard | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | UPS Powerware | | | | * | | | | | | | |
|
|
+----------------+--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | 3com | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Alcatel Omniswitch | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Arkoon | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Aruba | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Bluecoat | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Brocade | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Checkpoint | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Cisco | | | | * | | | | | | Many cisco (2800, Nexus, Wlc, Ironport,...) | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Citrix Netscaler | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Dell Powerconnect | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Dlink | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Extreme | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | F5 Big-Ip | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Fortinet Fortigate | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Fritzbox | | | | * | | | | | | | |
|
|
| Réseau +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | H3C | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Hirschmann | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | HP Procurve | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | HP Virtual Connect | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Juniper | | | | * | | | | | | Peut superviser: 'SSG', 'SA', 'SRX', 'MAG', 'EX', 'Ggsn'. | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Palo Alto | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Netasq | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Oneaccess | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Radware Alteon | | | | * | | | | | * | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Redback | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Riverbed | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Ruggedcom | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Securactive | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Stonesoft | | | | * | | | | | | | |
|
|
+----------------+--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | | * | | | | | | | * | | Utilise les commandes AIX. | |
|
|
| | AIX +-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | | | | | | | * | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Freebsd | | | | * | | | | | | Utilise l'agent 'bsnmpd'. | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | | * | | | | | | | * | | Utilise les commandes Linux. | |
|
|
| Systèmes | Linux +-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | | * | | | | | | | * | | Utilise les commandes Solaris. | |
|
|
| | Solaris +-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | | | | | | | * | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | | | | | * | | | | | | | |
|
|
| | Windows +-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | | | | * | | | * | | | * | | |
|
|
+----------------+--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Dell EqualLogic | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Dell MD3000 | | | | | | | | * | | Requiert la commande 'SMcli'. | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Dell TL2000 | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Dell ML6000 | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | EMC Celerra | * | | | | | | | * | | Utilise les commandes de l'appliance. | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | EMC Clariion | | | | | | | | * | | Requiert la commande 'navisphere'. | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | EMC DataDomain | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | EMC Recoverypoint | * | | | | | | | * | | Utilise les commandes de l'appliance. | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | EMC Vplex | | | | | | * | | | | Utilise l'API JSON. | JSON, LWP::UserAgent, URI, HTTP::Cookies |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | EMC Xtremio | | | | | | * | | | | Utilise l'API JSON. | JSON, LWP::UserAgent, URI, HTTP::Cookies |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Fujitsu Eternus DX | * | | | | | | | * | | Utilise les commandes de l'appliance. | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | HP 3par | * | | | | | | | * | | Utilise les commandes de l'appliance. | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | HP Lefthand | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | HP MSA2000 | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| Stockage | HP p2000 | | | | | | * | | | | Utilise l'API XML. | XML::XPath, LWP::UserAgent, URI, HTTP::Cookies |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | IBM DS3000 | | | | | | | | * | | Utilise la commande 'SMcli'. | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | IBM DS4000 | | | | | | | | * | | Utilise la commande 'SMcli'. | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | IBM DS5000 | | | | | | | | * | | Utilise la commande 'SMcli'. | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | IBM TS3100 | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | IBM TS3200 | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Netapp | | | | * | | | | | | | DateTime |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Nimble | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Panzura | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Qnap | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Synology | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Violin 3000 | | | | * | | | | | | | |
|
|
+----------------+--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+---------------------------------------------------------------+------------------------------------------------------------------------+
|
|
|
|
------------------------------------------------------
|
|
Comment puis-je supprimer les données de performance ?
|
|
------------------------------------------------------
|
|
|
|
Par exemple, je vérifie les connexions TCP d'un serveur Linux par SNMP avec la commande suivante :
|
|
::
|
|
|
|
$ perl centreon_plugins.pl --plugin=os::linux::snmp::plugin --mode=tcpcon --hostname=127.0.0.1 --snmp-version=2c --snmp-community=public
|
|
OK: Total connections: 1 | 'total'=1;;;0; 'con_closed'=0;;;0; 'con_closeWait'=0;;;0; ' con_synSent'=0;;;0; 'con_established'=1;;;0; 'con_timeWait'=0;;;0; 'con_lastAck'=0;;;0 ; 'con_listen'=5;;;0; 'con_synReceived'=0;;;0; 'con_finWait1'=0;;;0; 'con_finWait2'=0; ;;0; 'con_closing'=0;;;0;
|
|
|
|
Il y a trop de données de performances et je veux seulement garder la donnée de performance 'total'. J'utilise l'option ``--filter-perfdata='total'`` :
|
|
::
|
|
|
|
$ perl centreon_plugins.pl --plugin=os::linux::snmp::plugin --mode=tcpcon --hostname=127.0.0.1 --snmp-version=2c --snmp-community=public --filter-perfdata='total'
|
|
OK: Total connections: 1 | 'total'=1;;;0;
|
|
|
|
Je peux utiliser une expression régulière dans l'option ``--filter-perfdata``. Donc je peux exclure les données de performance commençant par 'total' :
|
|
::
|
|
|
|
$ perl centreon_plugins.pl --plugin=os::linux::snmp::plugin --mode=tcpcon --hostname=127.0.0.1 --snmp-version=2c --snmp-community=public --filter-perfdata='^(?!(total))'
|
|
OK: Total connections: 1 | 'con_closed'=0;;;0; 'con_closeWait'=0;;;0; 'con_synSent'=0;;;0; 'con_established'=1;;;0; 'con_timeWait'=0;;;0; 'con_lastAck'=0;;;0; 'con_listen'=5;;;0; 'con_synReceived'=0;;;0; 'con_finWait1'=0;;;0; 'con_finWait2'=0;;;0; 'con_closing'=0;;;0;
|
|
|
|
----------------------------------------------------------
|
|
Comment puis-je ajuster un seuil: critique si valeur < X ?
|
|
----------------------------------------------------------
|
|
|
|
"centreon-plugins" gère les seuils Nagios : https://nagios-plugins.org/doc/guidelines.html#THRESHOLDFORMAT
|
|
Par exemple, je veux vérifier que 'crond' fonctionne (s'il y a moins de 1 processus, critique). J'ai deux solutions :
|
|
::
|
|
|
|
$ perl centreon_plugins.pl --plugin=os::linux::snmp::plugin --mode=processcount --hostname=127.0.0.1 --snmp-version=2c --snmp-community=public --process-name=crond --critical=1:
|
|
CRITICAL: Number of current processes running: 0 | 'nbproc'=0;;1:;0;
|
|
|
|
$ perl centreon_plugins.pl --plugin=os::linux::snmp::plugin --mode=processcount --hostname=127.0.0.1 --snmp-version=2c --snmp-community=public --process-name=crond --critical=@0:0
|
|
CRITICAL: Number of current processes running: 0 | 'nbproc'=0;;@0:0;0;
|
|
|
|
-------------------------------------------------------
|
|
Comment puis-je vérifier des équipements ipv6 en SNMP ?
|
|
-------------------------------------------------------
|
|
|
|
Vous pouvez vérifier des équipements ipv6 en SNMP via la syntaxe suivante (``udp6:[xxxx]``):
|
|
::
|
|
|
|
$ perl centreon_plugins.pl --plugin=os::linux::snmp::plugin --hostname='udp6:[fe80::250:56ff:feb5:6ae0]' --mode=storage --snmp-version=2c --snmp-community=public
|
|
|
|
------------------------------------------------------------
|
|
Comment puis-je vérifier la valeur d'un OID SNMP générique ?
|
|
------------------------------------------------------------
|
|
|
|
Il y a un plugin SNMP générique pour vérifier cela. Voici un exemple pour obtenir l'OID SNMP 'SysUptime' :
|
|
::
|
|
|
|
$ perl centreon_plugins.pl --plugin=apps::protocols::snmp::plugin --mode=numeric-value --oid='.1.3.6.1.2.1.1.3.0' --hostname=127.0.0.1 --snmp-version=2c --snmp-community=public
|
|
|
|
---------------------------------------------------------------------
|
|
Comment utiliser un serveur memcached pour la rétention des données ?
|
|
---------------------------------------------------------------------
|
|
|
|
Quelques plugins ont besoin de stocker des données. Il y a deux solutions pour cela :
|
|
|
|
* Un fichier sur le disque (par defaut).
|
|
* Un serveur memcached.
|
|
|
|
Pour utiliser 'memcached', vous devez avoir un serveur memcached et le module CPAN 'Memcached::libmemcached' installé.
|
|
Vous pouvez renseigner le serveur memcached avec l'option ``--memcached``:
|
|
::
|
|
|
|
$ perl centreon_plugins.pl --plugin=os::linux::snmp::plugin --mode=interfaces --hostname=127.0.0.1 --snmp-version=2c --snmp-community=public --verbose --add-traffic --memcached=127.0.0.1
|
|
OK: All traffic are ok | 'traffic_in_lo'=197.40b/s;;;0;10000000 'traffic_out_lo'=197.40b/s;;;0;10000000 'traffic_in_eth0'=14539.11b/s;;;0;1000000000 'traffic_out_eth0'=399.59b/s;;;0;1000000000 'traffic_in_eth1'=13883.82b/s;;;0;1000000000 'traffic_out_eth1'=1688.66b/s;;;0;1000000000
|
|
Interface 'lo' Traffic In : 197.40b/s (0.00 %), Out : 197.40b/s (0.00 %)
|
|
Interface 'eth0' Traffic In : 14.54Kb/s (0.00 %), Out : 399.59b/s (0.00 %)
|
|
Interface 'eth1' Traffic In : 13.88Kb/s (0.00 %), Out : 1.69Kb/s (0.00 %)
|
|
|
|
.. tip::
|
|
Un fichier local est utilisé si le serveur memcached ne répond pas.
|
|
|
|
--------------------------------------------
|
|
Quel est l'usage de l'option ``--dyn-mode`` ?
|
|
--------------------------------------------
|
|
|
|
Avec cette option, vous pouvez utiliser un mode avec un plugin. Cela est couramment utilisé pour les bases de données.
|
|
Par exemple, j'ai une application qui stocke des informations de supervision dans une base de données. Le développeur peut utiliser un autre plugin pour créer le point de contrôle
|
|
(pas besoin de faire les connexions SQL,... cela fait gagner du temps) :
|
|
::
|
|
|
|
$ perl centreon_plugins.pl --plugin=database::mysql::plugin --dyn-mode=apps::centreon::mysql::mode::pollerdelay --host=10.30.3.75 --username='test' --password='testpw' --verbose
|
|
OK: All poller delay for last update are ok | 'delay_Central'=2s;0:300;0:600;0; 'delay_Poller-Engine'=2s;0:300;0:600;0;
|
|
Delay for last update of Central is 2 seconds
|
|
Delay for last update of Poller-Engine is 2 seconds
|
|
|
|
.. warning::
|
|
Un mode utilisant le système suivant doit le notifier (dans l'aide associée). Donc vous devriez ouvrir un fichier dans éditeur et lire à la fin de la description.
|
|
|
|
-----------------------------------------------
|
|
Comment puis-je vérifier la version du plugin ?
|
|
-----------------------------------------------
|
|
|
|
Vous pouvez vérifier la version des plugins et des modes avec l'option ``--version`` :
|
|
::
|
|
|
|
$ perl centreon_plugins.pl --version
|
|
Global Version: 20160524
|
|
$ perl centreon_plugins.pl --plugin=os::linux::snmp::plugin --version
|
|
Plugin Version: 0.1
|
|
$ perl centreon_plugins.pl --plugin=os::linux::snmp::plugin --mode=storage --version
|
|
Mode Version: 1.0
|
|
|
|
Vous pouvez également utiliser l'option ``--mode-version`` pour exécuter le mode seulement s'il est dans la bonne version.
|
|
Par exemple, nous voulons exécuter le mode seulement si sa version >= 2.x :
|
|
::
|
|
|
|
$ perl centreon_plugins.pl --plugin=os::linux::snmp::plugin --mode=storage --hostname=127.0.0.1 --snmp-version=2c --snmp-community=public --verbose --mode-version='2.x'
|
|
UNKNOWN: Not good version for plugin mode. Excepted at least: 2.x. Get: 1.0
|
|
|
|
--------------------------------------------
|
|
Comment puis-je avoir un seul fichier Perl ?
|
|
--------------------------------------------
|
|
|
|
Nous avons réalisé des tests et le temps d'éxecution est augmenté d'environ 4%. Nous allons créer un fichier unique pour la sonde Linux SNMP.
|
|
|
|
Télécharger le module Perl ``App::FatPacker`` sur metacpan:
|
|
::
|
|
|
|
# tar zxvf App-FatPacker-0.010005.tar.gz
|
|
# cd App-FatPacker-0.010005
|
|
# perl Makefile.PL && make && make install
|
|
|
|
Créer un répertoire de construction:
|
|
::
|
|
|
|
# mkdir -p build/plugin
|
|
# cd build
|
|
|
|
Cloner ``centreon-plugins``:
|
|
::
|
|
|
|
# git clone https://github.com/centreon/centreon-plugins.git
|
|
|
|
``fatpack`` inclut les fichiers ``pm`` présent dans le répertoire ``lib``:
|
|
::
|
|
|
|
# mkdir plugin/lib && cd centreon-plugins
|
|
|
|
Copier les fichiers communs à l'ensemble des sondes:
|
|
::
|
|
|
|
# find . -name "*.pm" -exec sed -i ' /__END__/d' \{\} \;
|
|
# cp -R --parent centreon/plugins/{misc,mode,options,output,perfdata,script,statefile,values}.pm centreon/plugins/templates/ centreon/plugins/alternative/ ../plugin/lib/
|
|
# cp centreon_plugins.pl ../plugin
|
|
# sed -i 's/alternative_fatpacker = 0/alternative_fatpacker = 1/' ../plugin/lib/centreon/plugins/script.pm
|
|
|
|
Copier les fichiers pour la sonde Linux SNMP:
|
|
::
|
|
|
|
# cp -R --parent centreon/plugins/{script_snmp,snmp}.pm os/linux/snmp/ snmp_standard/mode/{cpu,cpudetailed,diskio,diskusage,inodes,interfaces,loadaverage,listdiskspath,listinterfaces,liststorages,memory,processcount,storage,swap,ntp,tcpcon,uptime}.pm ../plugin/lib/
|
|
|
|
Construire le fichier Perl unique:
|
|
::
|
|
|
|
# cd ../plugin
|
|
# fatpack file centreon_plugins.pl > centreon_linux_snmp.pl
|
|
|
|
La sonde fonctionne de la même façon:
|
|
::
|
|
|
|
# perl centreon_linux_snmp.pl --plugin os::linux::snmp::plugin --mode=processcount --snmp-community public --snmp-version 2c --hostname=127.0.0.1 --process-name='' --process-status='' --process-args=''
|
|
|
|
------------------------------------------
|
|
Comment puis-je créer un binaire Windows ?
|
|
------------------------------------------
|
|
|
|
Cette procédure permet d'utiliser les sondes sans installer installer Perl sur le système Windows.
|
|
|
|
* Installer Strawberry Perl 5.24.x sur un Windows (Télécharger sur http://strawberryperl.com/)
|
|
* Récupérer la dernière version des centreon-plugins (Télécharger https://github.com/centreon/centreon-plugins/archive/master.zip)
|
|
|
|
Après les installations, installer le module ``PAR::Packer`` (remplacer ``<PERL_INSTALL_DIR>``):
|
|
::
|
|
|
|
cmd> <PERL_INSTALL_DIR>\perl\bin\cpan.bat
|
|
cpan> install PAR::Packer
|
|
|
|
L'installation peut prendre plusieurs minutes.
|
|
|
|
Dans un dossier contenant le répertoire ``centreon-plugins``, créer un fichier ``build.bat`` (remplacer ``<PERL_INSTALL_DIR>``).
|
|
Nous excluons le module ``IO::Socket::INET6`` (Perl 5.14 intègre la fonctionnalité IPv6 en natif).
|
|
|
|
::
|
|
|
|
set PERL_INSTALL_DIR=<PERL_INSTALL_DIR>
|
|
|
|
chdir /d %~dp0
|
|
set PAR_VERBATIM=1
|
|
|
|
cmd /C %PERL_INSTALL_DIR%\perl\site\bin\pp --lib=centreon-plugins\ -o centreon_plugins.exe centreon-plugins\centreon_plugins.pl ^
|
|
--unicode ^
|
|
-X IO::Socket::INET6 ^
|
|
--link=%PERL_INSTALL_DIR%\c\bin\libxml2-2__.dll ^
|
|
--link=%PERL_INSTALL_DIR%\c\bin\libiconv-2__.dll ^
|
|
--link=%PERL_INSTALL_DIR%\c\bin\liblzma-5__.dll ^
|
|
--link=%PERL_INSTALL_DIR%\c\bin\zlib1__.dll ^
|
|
--link=%PERL_INSTALL_DIR%\c\bin\libcrypto-1_1-x64__.dll ^
|
|
--link=%PERL_INSTALL_DIR%\c\bin\libssl-1_1-x64__.dll ^
|
|
-M IO::Socket::SSL ^
|
|
-M Win32::Job ^
|
|
-M Email::Send::SMTP::Gmail ^
|
|
-M HTTP::ProxyPAC ^
|
|
-M JE ^
|
|
-M Tie::RefHash::Weak ^
|
|
-M XML::LibXML::SAX ^
|
|
-M Net::FTPSSL ^
|
|
-M Authen::NTLM ^
|
|
-M JSON::XS ^
|
|
-M apps::backup::netbackup::local::plugin ^
|
|
-M apps::backup::netbackup::local::mode::dedupstatus ^
|
|
-M apps::backup::netbackup::local::mode::drivecleaning ^
|
|
-M apps::backup::netbackup::local::mode::drivestatus ^
|
|
-M apps::backup::netbackup::local::mode::jobstatus ^
|
|
-M apps::backup::netbackup::local::mode::listpolicies ^
|
|
-M apps::backup::netbackup::local::mode::tapeusage ^
|
|
-M apps::backup::veeam::local::plugin ^
|
|
-M apps::backup::veeam::local::mode::jobstatus ^
|
|
-M apps::backup::veeam::local::mode::listjobs ^
|
|
-M apps::backup::veeam::local::mode::tapejobs ^
|
|
-M apps::centreon::local::plugin ^
|
|
-M apps::centreon::local::mode::downtimetrap ^
|
|
-M apps::centreon::local::mode::centreonpluginsversion ^
|
|
-M apps::citrix::local::plugin ^
|
|
-M apps::citrix::local::mode::license ^
|
|
-M apps::citrix::local::mode::session ^
|
|
-M apps::citrix::local::mode::zone ^
|
|
-M apps::citrix::local::mode::folder ^
|
|
-M apps::microsoft::activedirectory::local::plugin ^
|
|
-M apps::microsoft::activedirectory::local::mode::dcdiag ^
|
|
-M apps::microsoft::activedirectory::local::mode::dfsrbacklog ^
|
|
-M apps::microsoft::activedirectory::local::mode::netdom ^
|
|
-M apps::microsoft::exchange::local::plugin ^
|
|
-M apps::microsoft::exchange::local::mode::activesyncmailbox ^
|
|
-M apps::microsoft::exchange::local::mode::databases ^
|
|
-M apps::microsoft::exchange::local::mode::listdatabases ^
|
|
-M apps::microsoft::exchange::local::mode::imapmailbox ^
|
|
-M apps::microsoft::exchange::local::mode::mapimailbox ^
|
|
-M apps::microsoft::exchange::local::mode::outlookwebservices ^
|
|
-M apps::microsoft::exchange::local::mode::owamailbox ^
|
|
-M apps::microsoft::exchange::local::mode::queues ^
|
|
-M apps::microsoft::exchange::local::mode::replicationhealth ^
|
|
-M apps::microsoft::exchange::local::mode::services ^
|
|
-M apps::microsoft::hyperv::2012::local::plugin ^
|
|
-M apps::microsoft::hyperv::2012::local::mode::listnodevms ^
|
|
-M apps::microsoft::hyperv::2012::local::mode::scvmmintegrationservice ^
|
|
-M apps::microsoft::hyperv::2012::local::mode::scvmmsnapshot ^
|
|
-M apps::microsoft::hyperv::2012::local::mode::scvmmvmstatus ^
|
|
-M apps::microsoft::hyperv::2012::local::mode::nodeintegrationservice ^
|
|
-M apps::microsoft::hyperv::2012::local::mode::nodereplication ^
|
|
-M apps::microsoft::hyperv::2012::local::mode::nodesnapshot ^
|
|
-M apps::microsoft::hyperv::2012::local::mode::nodevmstatus ^
|
|
-M apps::microsoft::iis::local::plugin ^
|
|
-M apps::microsoft::iis::local::mode::listapplicationpools ^
|
|
-M apps::microsoft::iis::local::mode::applicationpoolstate ^
|
|
-M apps::microsoft::iis::local::mode::listsites ^
|
|
-M apps::microsoft::iis::local::mode::webservicestatistics ^
|
|
-M apps::microsoft::mscs::local::plugin ^
|
|
-M apps::microsoft::mscs::local::mode::listnodes ^
|
|
-M apps::microsoft::mscs::local::mode::listresources ^
|
|
-M apps::microsoft::mscs::local::mode::networkstatus ^
|
|
-M apps::microsoft::mscs::local::mode::nodestatus ^
|
|
-M apps::microsoft::mscs::local::mode::resourcestatus ^
|
|
-M apps::microsoft::mscs::local::mode::resourcegroupstatus ^
|
|
-M apps::microsoft::sccm::local::plugin ^
|
|
-M apps::microsoft::sccm::local::mode::databasereplicationstatus ^
|
|
-M apps::microsoft::sccm::local::mode::sitestatus ^
|
|
-M apps::microsoft::wsus::local::plugin ^
|
|
-M apps::microsoft::wsus::local::mode::computersstatus ^
|
|
-M apps::microsoft::wsus::local::mode::updatesstatus ^
|
|
-M apps::microsoft::wsus::local::mode::synchronisationstatus ^
|
|
-M apps::microsoft::wsus::local::mode::serverstatistics ^
|
|
-M apps::protocols::ldap::plugin ^
|
|
-M apps::protocols::ldap::mode::login ^
|
|
-M apps::protocols::ldap::mode::search ^
|
|
-M apps::protocols::ftp::plugin ^
|
|
-M apps::protocols::ftp::mode::commands ^
|
|
-M apps::protocols::ftp::mode::date ^
|
|
-M apps::protocols::ftp::mode::filescount ^
|
|
-M apps::protocols::ftp::mode::login ^
|
|
-M apps::protocols::http::plugin ^
|
|
-M apps::protocols::http::mode::expectedcontent ^
|
|
-M apps::protocols::http::mode::response ^
|
|
-M apps::protocols::tcp::plugin ^
|
|
-M apps::protocols::tcp::mode::responsetime ^
|
|
-M apps::protocols::x509::plugin ^
|
|
-M apps::protocols::x509::mode::certificate ^
|
|
-M apps::protocols::x509::mode::validity ^
|
|
-M centreon::common::protocols::ldap::lib::ldap ^
|
|
-M centreon::common::powershell::exchange::powershell ^
|
|
-M centreon::common::powershell::functions ^
|
|
-M centreon::common::powershell::hyperv::2012::listnodevms ^
|
|
-M centreon::common::powershell::hyperv::2012::nodeintegrationservice ^
|
|
-M centreon::common::powershell::hyperv::2012::nodereplication ^
|
|
-M centreon::common::powershell::hyperv::2012::nodesnapshot ^
|
|
-M centreon::common::powershell::hyperv::2012::nodevmstatus ^
|
|
-M centreon::common::powershell::hyperv::2012::scvmmintegrationservice ^
|
|
-M centreon::common::powershell::hyperv::2012::scvmmsnapshot ^
|
|
-M centreon::common::powershell::hyperv::2012::scvmmvmstatus ^
|
|
-M centreon::common::powershell::sccm::databasereplicationstatus ^
|
|
-M centreon::common::powershell::sccm::sitestatus ^
|
|
-M centreon::common::powershell::veeam::jobstatus ^
|
|
-M centreon::common::powershell::veeam::listjobs ^
|
|
-M centreon::common::powershell::veeam::tapejobs ^
|
|
-M centreon::common::powershell::windows::liststorages ^
|
|
-M centreon::common::powershell::wsus::computersstatus ^
|
|
-M centreon::common::powershell::wsus::updatesstatus ^
|
|
-M centreon::common::powershell::wsus::synchronisationstatus ^
|
|
-M centreon::common::powershell::wsus::serverstatistics ^
|
|
-M centreon::plugins::alternative::Getopt ^
|
|
-M centreon::plugins::backend::http::lwp ^
|
|
-M centreon::plugins::backend::http::curl ^
|
|
-M centreon::plugins::backend::http::curlconstants ^
|
|
-M centreon::plugins::script ^
|
|
-M hardware::devices::safenet::hsm::protecttoolkit::plugin ^
|
|
-M hardware::devices::safenet::hsm::protecttoolkit::mode::hardware ^
|
|
-M hardware::devices::safenet::hsm::protecttoolkit::mode::components::temperature ^
|
|
-M hardware::devices::safenet::hsm::protecttoolkit::mode::components::hwstatus ^
|
|
-M hardware::devices::safenet::hsm::protecttoolkit::mode::components::memory ^
|
|
-M os::windows::local::plugin ^
|
|
-M os::windows::local::mode::cmdreturn ^
|
|
-M os::windows::local::mode::ntp ^
|
|
-M os::windows::local::mode::pendingreboot ^
|
|
-M os::windows::local::mode::sessions ^
|
|
-M os::windows::local::mode::liststorages ^
|
|
-M storage::dell::compellent::local::plugin ^
|
|
-M storage::dell::compellent::local::mode::hbausage ^
|
|
-M storage::dell::compellent::local::mode::volumeusage ^
|
|
--verbose
|
|
|
|
pause
|
|
|
|
Lancer le fichier "build.bat" pour créer le binaire "centreon_plugins.exe".
|
|
|
|
Pour changer la version et l'icône du binaire, ajouter le code suivant après ``PERL_INSTALL_DIR`` (première ligne) :
|
|
::
|
|
|
|
set ICO_FILE=centreon.ico
|
|
set RC_FILE=centreon.rc
|
|
|
|
chdir /d %~dp0
|
|
|
|
for /f "tokens=4 delims= " %%i in ('type centreon-plugins\centreon\plugins\script.pm ^| findstr global_version ^| findstr my') do set "VERSION_PLUGIN=%%i"
|
|
set VERSION_PLUGIN=%VERSION_PLUGIN:~1,8%
|
|
|
|
(
|
|
echo #define PP_MANIFEST_FILEFLAGS 0
|
|
echo #include ^<windows.h^>
|
|
echo.
|
|
echo CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "winres\\pp.manifest"
|
|
echo.
|
|
echo VS_VERSION_INFO VERSIONINFO
|
|
echo FILEVERSION 0,0,0,0
|
|
echo PRODUCTVERSION 0,0,0,0
|
|
echo FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
|
|
echo FILEFLAGS PP_MANIFEST_FILEFLAGS
|
|
echo FILEOS VOS_NT_WINDOWS32
|
|
echo FILETYPE VFT_APP
|
|
echo FILESUBTYPE VFT2_UNKNOWN
|
|
echo BEGIN
|
|
echo BLOCK "StringFileInfo"
|
|
echo BEGIN
|
|
echo BLOCK "000004B0"
|
|
echo BEGIN
|
|
echo VALUE "CompanyName", "Centreon\0"
|
|
echo VALUE "FileDescription", " \0"
|
|
echo VALUE "FileVersion", "1.0.0.0\0"
|
|
echo VALUE "InternalName", " \0"
|
|
echo VALUE "LegalCopyright", " \0"
|
|
echo VALUE "LegalTrademarks", " \0"
|
|
echo VALUE "OriginalFilename", " \0"
|
|
echo VALUE "ProductName", "centreon-plugins\0"
|
|
echo VALUE "ProductVersion", "%VERSION_PLUGIN%.0\0"
|
|
echo END
|
|
echo END
|
|
echo BLOCK "VarFileInfo"
|
|
echo BEGIN
|
|
echo VALUE "Translation", 0x00, 0x04B0
|
|
echo END
|
|
echo END
|
|
echo.
|
|
echo WINEXE ICON winres\\pp.ico
|
|
)> %RC_FILE%
|
|
|
|
for /f "delims=" %%i in ('dir /ad /B %PERL_INSTALL_DIR%\cpan\build\PAR-Packer-*') do set "PAR_PACKER_DIRNAME=%%i"
|
|
SET PAR_PACKER_SRC=%PERL_INSTALL_DIR%\cpan\build\%PAR_PACKER_DIRNAME%
|
|
|
|
copy /Y %ICO_FILE% %PAR_PACKER_SRC%\myldr\winres\pp.ico
|
|
copy /Y centreon.rc %PAR_PACKER_SRC%\myldr\winres\pp.rc
|
|
del %PAR_PACKER_SRC%\myldr\ppresource.coff
|
|
cd /D %PAR_PACKER_SRC%\myldr\ && perl Makefile.PL
|
|
cd /D %PAR_PACKER_SRC%\myldr\ && dmake boot.exe
|
|
cd /D %PAR_PACKER_SRC%\myldr\ && dmake Static.pm
|
|
attrib -R %PERL_INSTALL_DIR%\perl\site\lib\PAR\StrippedPARL\Static.pm
|
|
copy /Y %PAR_PACKER_SRC%\myldr\Static.pm %PERL_INSTALL_DIR%\perl\site\lib\PAR\StrippedPARL\Static.pm
|
|
|
|
Il est possible de compiler un binaire 32 bits depuis une version 64 bits Windows :
|
|
|
|
* Installer Strawberry Perl 5.24.x version 32 bits sur un Windows (Télécharger sur http://strawberryperl.com/)
|
|
* Installer le module cpan "PAR::Packer"
|
|
* Ajouter la ligne suivante au début du script : PATH=%PERL_INSTALL_DIR%\c\bin;%PERL_INSTALL_DIR%\perl\bin;C:\Windows\System32
|
|
|
|
|
|
*********
|
|
Dépannage
|
|
*********
|
|
|
|
----
|
|
SNMP
|
|
----
|
|
|
|
J'ai l'erreur SNMP: 'UNKNOWN:.* (tooBig).*'
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
L'erreur suivante peut se produire avec certains équipements.
|
|
Vous pouvez la résoudre si vous paramétrez les options suivantes :
|
|
|
|
* ``--subsetleef=20`` ``--maxrepetitions=20``
|
|
|
|
J'ai l'erreur SNMP: 'UNKNOWN:.*Timeout'
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
L'erreur suivante signifie :
|
|
|
|
* Pas d'accès réseau vers le serveur SNMP cible (un pare-feu peut bloquer le port UDP 161).
|
|
* La communauté ou la version SNMP paramétrées n'est pas correcte.
|
|
|
|
J'ai l'erreur SNMP: 'UNKNOWN:.*Cant get a single value'
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
L'erreur suivante signifie: l'accès SNMP fonctionne mais vous ne pouvez pas récupérer les valeurs SNMP.
|
|
Plusieurs raisons possibles :
|
|
|
|
* La valeur SNMP n'est pas encore renseignée (peut se produire lorsqu'un serveur SNMP vient juste de démarrer).
|
|
* La valeur SNMP n'est pas implémentée par le constructeur.
|
|
* La valeur SNMP est renseignée sur un firmware ou OS spécifique.
|
|
|
|
Il semblerait que le contrôle de processus ne fonctionne pas avec certains filtres sur les arguments
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
Avec le SNMP, il y a une limite pour la longueur des arguments qui est fixée à 128 caractères.
|
|
Donc, si vous essayez de filtrer avec un argument après 128 caractères, cela ne fonctionnera pas. Cela peut arriver avec les arguments Java.
|
|
Pour résoudre le problème, vous devez privilégier le contrôle via NRPE.
|
|
|
|
Pas d'accès en SNMP v3
|
|
^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
Tout d'abord, vous devez valider la connexion SNMP v3 avec snmpwalk. Lorsque cela fonctionne, renseignez alors les options SNMP v3 en ligne de commande.
|
|
L'association entre les options 'snmpwalk' et les options "centreon-plugins" :
|
|
|
|
* -a => ``--authprotocol``
|
|
* -A => ``--authpassphrase``
|
|
* -u => ``--snmp-username``
|
|
* -x => ``--privprotocol``
|
|
* -X => ``--privpassphrase``
|
|
* -l => non nécessaire (automatique)
|
|
* -e => ``--securityengineid``
|
|
* -E => ``--contextengineid``
|
|
|
|
------
|
|
Divers
|
|
------
|
|
|
|
J'ai l'erreur: "UNKNOWN: Need to specify '--custommode'."
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
Certains plugins ont besoin de renseigner l'option ``--custommode``. Vous pouvez connaître la valeur à renseigner avec l'option ``--list-custommode``.
|
|
Un exemple :
|
|
::
|
|
|
|
$ perl centreon_plugins.pl --plugin=storage::ibm::DS3000::cli::plugin --list-custommode
|
|
...
|
|
Custom Modes Available:
|
|
smcli
|
|
|
|
$ perl centreon_plugins.pl --plugin=storage::ibm::DS3000::cli::plugin --custommode=smcli --list-mode
|
|
|
|
J'ai l'erreur: "UNKNOWN: Cannot write statefile .*"
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
Vous devez créer le dossier (avec les droits d'écriture) pour autoriser le plugin à stocker certaines données sur le disque.
|
|
|
|
J'ai l'erreur: "UNKNOWN: Cannot load module 'xxx'."
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
Le problème peut être:
|
|
|
|
* Un module CPAN prérequis est manquant. Vous devez l'installer.
|
|
* Le module CPAN ne peut pas être chargé en raison de son chemin d'accès. Les modules Perl doivent être installés dans des chemins spécifiques.
|
|
|
|
Je ne peux pas voir les messages d'aide
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
Les fichiers "centreon-plugins" doivent être sous format Unix (pas de retour à la ligne Windows). Vous pouvez les modifier avec la commande suivante :
|
|
::
|
|
|
|
$ find . -name "*.p[ml]" -type f -exec dos2unix \{\} \;
|
|
|
|
.. Warning:: Exécuter cette commande dans le dossier "centreon-plugins".
|
|
|
|
*********************
|
|
Examples de commandes
|
|
*********************
|
|
|
|
-------
|
|
Windows
|
|
-------
|
|
|
|
Contrôler tous les disques en SNMP
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
Dégradé si l'espace utilisé > 80% et critique sur l'espace utilisé > 90% :
|
|
::
|
|
|
|
$ perl centreon_plugins.pl --plugin=os::windows::snmp::plugin --mode=storage --hostname=xxx.xxx.xxx.xxx --snmp-version=2c --snmp-public=community --verbose --storage='.*' --name --regexp --display-transform-src='(..).*' --display-transform-dst='$1' --warning=80 --critical=90
|
|
OK: All storages are ok. | used_C:'=38623698944B;0:108796887040;0:122396497920;0;135996108800 used_D:'=38623698944B;0:108796887040;0:122396497920;0;135996108800
|
|
Storage 'C:' Total: 126.66 GB Used: 35.97 GB (28.40%) Free: 90.69 GB (71.60%)
|
|
Storage 'D:' Total: 126.66 GB Used: 35.97 GB (28.40%) Free: 90.69 GB (71.60%)
|
|
|
|
Dégradé si l'espace disponible < 5G et critique si l'espace disponible < 2G :
|
|
::
|
|
|
|
$ perl centreon_plugins.pl --plugin=os::windows::snmp::plugin --mode=storage --hostname=xxx.xxx.xxx.xxx --snmp-version=2c --snmp-public=community --verbose --storage='.*' --name --regexp --display-transform-src='(..).*' --display-transform-dst='$1' --warning=5497558138880: --critical=2199023255552: --units='B' --free
|
|
OK: All storages are ok. | 'free_C:'=97372344320B;0:5497558138880;0:2199023255552;0;135996108800 'free_D:'=97372344320B;0:5497558138880;0:2199023255552;0;135996108800
|
|
Storage 'C:' Total: 126.66 GB Used: 35.97 GB (28.40%) Free: 90.69 GB (71.60%)
|
|
Storage 'D:' Total: 126.66 GB Used: 35.97 GB (28.40%) Free: 90.69 GB (71.60%)
|
|
|
|
-----
|
|
Linux
|
|
-----
|
|
|
|
Contrôler le trafic de toutes les interfaces en SNMP
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
Dégradé si le trafic entrant/sortant utilisé > 80% et critique si le trafic entrant/sortant utilisé > 90% :
|
|
::
|
|
|
|
$ perl centreon_plugins.pl --plugin=os::linux::snmp::plugin --mode=interfaces --hostname=127.0.0.1 --snmp-version=2c --snmp-community=public --verbose --interface='.*' --name --add-traffic --warning-in-traffic=80 --critical-in-traffic=90 --warning-out-traffic=80 --critical-out-traffic=90
|
|
OK: All traffic are ok | 'traffic_in_lo'=126.58b/s;0.00:8000000.00;0.00:9000000.00;0;10000000 'traffic_out_lo'=126.58b/s;0.00:8000000.00;0.00:9000000.00;0;10000000 'traffic_in_eth0'=1872.00b/s;0.00:800000000.00;0.00:900000000.00;0;1000000000 'traffic_out_eth0'=266.32b/s;0.00:800000000.00;0.00:900000000.00;0;1000000000 'traffic_in_eth1'=976.65b/s;0.00:800000000.00;0.00:900000000.00;0;1000000000 'traffic_out_eth1'=1021.68b/s;0.00:800000000.00;0.00:900000000.00;0;1000000000
|
|
Interface 'lo' Traffic In : 126.58b/s (0.00 %), Out : 126.58b/s (0.00 %)
|
|
Interface 'eth0' Traffic In : 1.87Kb/s (0.00 %), Out : 266.32b/s (0.00 %)
|
|
Interface 'eth1' Traffic In : 976.65b/s (0.00 %), Out : 1.02Kb/s (0.00 %)
|
|
|
|
--------------
|
|
Protocole HTTP
|
|
--------------
|
|
|
|
Contrôler l'authentification à une application (requête POST)
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
Voici un exemple pour le formulaire d'authentification de ``demo.centreon.com`` :
|
|
::
|
|
|
|
$ perl centreon_plugins.pl --plugin=apps::protocols::http::plugin --mode=expected-content --hostname=demo.centreon.com --method='POST' --post-param='useralias=admin' --post-param='password=centreon' --cookies-file='/tmp/lwp_cookies.dat' --urlpath='/centreon/index.php' --expected-string='color_UNREACHABLE'
|
|
OK: 'color_UNREACHABLE' is present in content. | 'time'=0.575s;;;0; 'size'=20708B;;;0;
|
|
|
|
----------------
|
|
Protocole Modbus
|
|
----------------
|
|
|
|
Contrôler 3 registres holding
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
Le contenu du fichier ``modbus.json`` peut être spécifié directement dans l'option ``--config`` (exemple: ``--config='{ "selection": { "metric1":{...'``).
|
|
L'attribut ``type`` peut avoir les valeurs suivantes :
|
|
|
|
* holding (défaut)
|
|
* coils
|
|
* discrete
|
|
* input
|
|
|
|
::
|
|
|
|
{
|
|
"selection":{
|
|
"metric1":{
|
|
"address": 1,
|
|
"quantity": 1,
|
|
"type": "holding",
|
|
"display": true
|
|
},
|
|
"metric2":{
|
|
"address": 2,
|
|
"quantity": 1,
|
|
"type": "holding",
|
|
"display": true
|
|
},
|
|
"metric3":{
|
|
"address": 3,
|
|
"quantity": 1,
|
|
"type": "holding",
|
|
"display": true
|
|
}
|
|
}
|
|
}
|
|
|
|
Le résultat de la commande :
|
|
::
|
|
|
|
$ perl centreon_plugins.pl --plugin=apps/protocols/modbus/plugin.pm --mode=numeric-value --tcp-host=10.0.0.1 --config=modbus.json --verbose
|
|
OK: All metrics are OK | 'metric1'=0;;;; 'metric2'=41291;;;; 'metric3'=42655;;;;
|
|
Metric 'metric1' value is '0'
|
|
Metric 'metric2' value is '41291'
|
|
Metric 'metric3' value is '42655'
|
|
|
|
Comment modifier la sortie ?
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
Il existe une section pour modifier la sortie de manière globale. Il est aussi possible de surcharger une métrique spécifiquement :
|
|
::
|
|
|
|
{
|
|
"selection":{
|
|
"metric1":{
|
|
"address": 1,
|
|
"quantity": 1,
|
|
"type": "holding",
|
|
"display": true
|
|
},
|
|
"metric2":{
|
|
"address": 2,
|
|
"quantity": 1,
|
|
"type": "holding",
|
|
"display": true
|
|
},
|
|
"metric3":{
|
|
"address": 3,
|
|
"quantity": 1,
|
|
"type": "holding",
|
|
"display": true,
|
|
"formatting": {
|
|
"printf_msg": "Override '%s' value is %.2f",
|
|
"printf_var": "$self->{result_values}->{instance}, $self->{result_values}->{value}"
|
|
}
|
|
}
|
|
},
|
|
"formatting": {
|
|
"printf_msg": "My metric '%s' value is %.2f",
|
|
"printf_var": "$self->{result_values}->{instance}, $self->{result_values}->{value}"
|
|
}
|
|
}
|
|
|
|
Le résultat de la commande :
|
|
::
|
|
|
|
$ perl centreon_plugins.pl --plugin=apps/protocols/modbus/plugin.pm --mode=numeric-value --tcp-host=10.0.0.1 --config=modbus.json --verbose
|
|
OK: All metrics are OK | 'metric1'=0;;;; 'metric2'=41291;;;; 'metric3'=42655;;;;
|
|
My Metric 'metric1' value is 0.00
|
|
My Metric 'metric2' value is 41291.00
|
|
Override 'metric3' value is 42655.00
|
|
|
|
Comment moyenner 4 registres ?
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
Nous créons les valeurs moyennées suivantes : ``[x1 + x2 / 2 = y]`` ``[x3 + x4 / 2 = z]``.
|
|
Avec l'attribut ``pattern``, il est possible de sélectionner les valeurs. Dans notre cas, nous récupérons 4 valeurs en 1 seule sélection.
|
|
Les valeurs sélectionnées se nomment : ``metrics.0``, ``metrics.1``, ``metrics.2``, ``metrics.3`` (order is preserved).
|
|
|
|
L'attribut ``aggregation`` peut avoir les valeurs suivantes :
|
|
|
|
* avg: retourne la moyenne des valeurs.
|
|
* sum: retourne la somme des valeurs.
|
|
* min: retourne la plus petite valeur numérique des valeurs.
|
|
* max: retourne la plus grande valeur numérique des valeurs.
|
|
|
|
::
|
|
|
|
{
|
|
"selection":{
|
|
"metrics":{
|
|
"address": 1,
|
|
"quantity": 4,
|
|
"type": "holding",
|
|
"display": false
|
|
}
|
|
},
|
|
"virtualcurve":{
|
|
"avg1":{
|
|
"pattern": "metrics\\.[01]$",
|
|
"aggregation": "avg",
|
|
"unit": "con"
|
|
},
|
|
"avg2":{
|
|
"pattern": "metrics\\.[23]$",
|
|
"aggregation": "avg",
|
|
"unit": "con"
|
|
}
|
|
}
|
|
}
|
|
|
|
Le résultat de la commande :
|
|
::
|
|
|
|
$ perl centreon_plugins.pl --plugin=apps/protocols/modbus/plugin.pm --mode=numeric-value --tcp-host=10.0.0.1 --config=modbus.json --verbose
|
|
OK: Global metrics are OK | 'avg1'=42192con;;;; 'avg2'=40574con;;;;
|
|
Metric 'avg1' value is '42192'
|
|
Metric 'avg2' value is '40574'
|
|
|
|
Appliquer un calcul spécifique
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
L'attribut ``custom`` permet d'appliquer des modifications à la valeur :
|
|
::
|
|
|
|
{
|
|
"selection":{
|
|
"metrics":{
|
|
"address": 1,
|
|
"quantity": 4,
|
|
"type": "holding",
|
|
"display": false
|
|
}
|
|
},
|
|
"virtualcurve":{
|
|
"avg":{
|
|
"aggregation": "avg",
|
|
"custom": " / 10",
|
|
"unit": "con"
|
|
}
|
|
}
|
|
}
|
|
|
|
Le résultat de la commande :
|
|
::
|
|
|
|
$ perl centreon_plugins.pl --plugin=apps/protocols/modbus/plugin.pm --mode=numeric-value --tcp-host=10.0.0.1 --config=modbus.json --verbose
|
|
OK: Metric 'avg' value is '3072.3' | 'avg'=3072.3con;;;;
|
|
Metric 'avg' value is '3072.3'
|
|
|
|
--------------------
|
|
Multi-service plugin
|
|
--------------------
|
|
|
|
Ce mode permet de compiler/aggréger le résultat de plusieurs checks dans un seul. Il peut aussi être utilisé pour réaliser des aggregations dans des groupes logiques, il a été pensé pour récupérer au travers de réseaux bas débit des résultats de contrôle sur des Centreon distants, mais il peut aussi permettre d'éviter de vérifier deux fois les ressources dans deux Centreon différents.
|
|
|
|
Format du fichier de configuration
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
::
|
|
|
|
{
|
|
"mode":"sqlmatching",
|
|
"selection":{
|
|
"ESX":{
|
|
"host_name_filter":"%clus-esx-n%",
|
|
"service_name_filter":"Esx-Status"
|
|
},
|
|
"XIVO":{
|
|
"host_name_filter":"%xivo%",
|
|
"service_name_filter":"Ping"
|
|
}
|
|
},
|
|
"counters":{
|
|
"totalservices":true,
|
|
"totalhosts":true,
|
|
"groups":true
|
|
},
|
|
"formatting":{
|
|
"groups_global_msg":"Nothing special on groups",
|
|
"host_service_separator":"/",
|
|
"display_details":true
|
|
}
|
|
}
|
|
|
|
* mode (obligatoire) : valeurs possibles: 'sqlmatching' or 'exactmatch'. Liés au format du bloc "selection" ;
|
|
* selection (obligatoire) : Lorsque le mode 'sqlmatching' est choisi, on va alors définir les filtres comme ci-dessus (host/service_name_filter). Au contraire, si l'on utilise le mode "exactmatch", alors on passe des clés valeurs correspondant à host/service. (Exemple avec deux aggregations logiques "groups" esx-status/load ci-dessous)
|
|
|
|
::
|
|
|
|
"selection":{
|
|
"esx-status":{
|
|
"esx-n1":"Esx-Status",
|
|
"esx-n2":"Esx-Status",
|
|
"esx-n3":"Esx-Status"
|
|
},
|
|
"esx-load":{
|
|
"esx-n1":"Esx-Memory",
|
|
"esx-n2":"Esx-Memory",
|
|
"esx-n3":"Esx-Memory",
|
|
"esx-n1":"Esx-Cpu",
|
|
"esx-n2":"Esx-Cpu",
|
|
"esx-n3":"Esx-Cpu"
|
|
}
|
|
},
|
|
|
|
* counters (optionnel) : Contiens trois booléens, à configurer en 'true' ou 'false' selon les compteurs que l'on veut utiliser et considérer (totalservices, totalhosts, groups).
|
|
* formatting (optionnel) : Contient trois clés/valeurs, 'groups_global_msg' pour définir un statut global lorsque tout va bien, 'host_service_separator' pour choisir le séparateur entre le nom de l'hôte et celui du service dans les éléments de l'output, 'display_details' afin de définir si le plugin doit détailler les hôtes et/ou services en erreur dans l'output étendu (mode verbose)
|
|
|
|
Ligne de commande, output, seuils
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
Exemple de commande :
|
|
|
|
::
|
|
|
|
/usr/lib/nagios/plugins/centreon_plugins.pl --plugin database::mysql::plugin --dyn-mode apps::centreon::sql::mode::multiservices --host localhost --username centreon --password c3ntreon --config-file '/root/global-services.json' --verbose
|
|
|
|
Example de sortie :
|
|
|
|
::
|
|
|
|
OK: Hosts state summary [up:4][down:2][unreachable:0] - Services state summary [ok:4][warning:0][critical:2][unknown:0] - Nothing special on groups |
|
|
|
|
Données de performance :
|
|
|
|
::
|
|
|
|
'total_host_up'=4;;;0; 'total_host_down'=2;;;0; 'total_host_unreachable'=0;;;0; 'total_host_ok'=4;;;0; 'total_host_warning'=0;;;0; 'total_host_critical'=2;;;0; 'total_host_unknown'=0;;;0; 'host_up_ESX'=4;;;0; 'host_down_ESX'=0;;;0; 'host_unreachable_ESX'=0;;;0; 'service_ok_ESX'=4;;;0; 'service_warning_ESX'=0;;;0; 'service_critical_ESX'=0;;;0; 'service_unknown_ESX'=0;;;0; 'host_up_XIVO'=0;;;0; 'host_down_XIVO'=2;;;0; 'host_unreachable_XIVO'=0;;;0; 'service_ok_XIVO'=0;;;0; 'service_warning_XIVO'=0;;;0; 'service_critical_XIVO'=2;;;0; 'service_unknown_XIVO'=0;;;0;
|
|
|
|
Mode verbeux (avec l'affichage détaillé d'activé) :
|
|
|
|
::
|
|
|
|
Group 'ESX': HOSTS: [up: 4 (clus-esx-n1.com - clus-esx-n2.com - clus-esx-n3.com - clus-esx-n4.com)][down: 0][unreachable: 0] - SERVICES: [ok: 4 (clus-esx-n1.com/Esx-Status - clus-esx-n2.com/Esx-Status - clus-esx-n3.com/Esx-Status - clus-esx-n4.com/Esx-Status)][warning: 0][critical: 0][unknown: 0]
|
|
Group 'XIVO': HOSTS: [up: 0][down: 2 (srvi-xivo-n1 - srvi-xivo-n2)][unreachable: 0] - SERVICES: [ok: 0][warning: 0][critical: 2 (srvi-xivo-n1/Ping - srvi-xivo-n2/Ping)][unknown: 0]
|
|
|
|
Voici la manière de définir les seuils (total_statut pour les warning/critical-total et définition de l'instance et du décompte du nombre de statut pour les seuils par "groupes logiques") :
|
|
|
|
::
|
|
|
|
--critical-total '%{total_down} > 4' --critical-groups '%{instance} eq 'ESX' && %{unknown} > 5'
|
|
|
|
--------
|
|
NSClient
|
|
--------
|
|
|
|
Vous pouvez superviser des systèmes Windows/Linux via l'API Rest de NSClient. Les commandes et arguments sont les mêmes que via NRPE (veuillez lire la documentation NSClient pour plus d'informations) :
|
|
|
|
::
|
|
|
|
$ perl centreon_plugins.pl --plugin=apps::nsclient::restapi::plugin --mode=query --hostname="10.30.2.10" --port=443 --legacy-password=centreon --command=check_drivesize --arg="drive=*" --arg="perf-config=used(unit:B)used %(ignored:true)" --arg="filter=type = 'fixed' and name not regexp '.*yst.*'" --arg="warning=total_used>80%" --arg="critical=total_used>90%"
|
|
OK All 2 drive(s) are ok | '\\?\Volume{7cd2d555-9868-11e7-8199-806e6f6e6963}\ used'=289468416.000B;293598003.000;330297753.000;0.000;366997504.000 'C:\ used'=23285907456.000B;42654390681.000;47986189516.000;0.000;53317988352.000
|