1245 lines
107 KiB
ReStructuredText
1245 lines
107 KiB
ReStructuredText
***********
|
|
Description
|
|
***********
|
|
|
|
"centreon-plugins" is a free and open source project to monitor systems.
|
|
The project can be used with Centreon, Icinga and all monitoring softwares compatible Nagios plugins.
|
|
|
|
The lastest version is available on following git repository: https://github.com/centreon/centreon-plugins.git
|
|
|
|
************
|
|
Installation
|
|
************
|
|
|
|
-------------
|
|
Debian Wheezy
|
|
-------------
|
|
|
|
Get the last version of "centreon-plugins" from the repository:
|
|
::
|
|
|
|
# aptitude install git
|
|
# git clone https://github.com/centreon/centreon-plugins.git
|
|
|
|
To monitor SNMP systems, you need to install the following packages:
|
|
::
|
|
|
|
# aptitude install perl libsnmp-perl
|
|
|
|
You can install other packages to use more 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
|
|
|
|
To use 'memcached' functionality, you need to install the following CPAN module (no debian package): http://search.cpan.org/~wolfsage/Memcached-libmemcached-1.001702/libmemcached.pm
|
|
|
|
-------------
|
|
Centos/Rhel 6
|
|
-------------
|
|
|
|
Get the last version of "centreon-plugins" from the repository:
|
|
::
|
|
|
|
# yum install git
|
|
# git clone https://github.com/centreon/centreon-plugins.git
|
|
|
|
To monitor SNMP systems, you need to install the following packages:
|
|
::
|
|
|
|
# yum install perl net-snmp-perl
|
|
|
|
You can install other packages to use more 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
|
|
|
|
To use 'memcached' functionality, you need to install the following CPAN module (package available in 'rpmforge'): http://search.cpan.org/~wolfsage/Memcached-libmemcached-1.001702/libmemcached.pm
|
|
|
|
***********
|
|
Basic Usage
|
|
***********
|
|
|
|
We'll use a basic example to show you how to monitor a system. I have finished the install section and I want to monitor a Linux in SNMP.
|
|
First, I need to find the plugin to use in the list:
|
|
::
|
|
|
|
$ perl centreon_plugins.pl --list-plugin | grep -i linux | grep 'PLUGIN'
|
|
PLUGIN: os::linux::local::plugin
|
|
PLUGIN: os::linux::snmp::plugin
|
|
|
|
It seems that 'os::linux::snmp::plugin' is the good one. So I verify with the option ``--help`` to be sure:
|
|
::
|
|
|
|
$ perl centreon_plugins.pl --plugin=os::linux::snmp::plugin --help
|
|
...
|
|
Plugin Description:
|
|
Check Linux operating systems in SNMP.
|
|
|
|
It's exactly what I need. Now I'll the option ``--list-mode`` to know what can I do with it:
|
|
::
|
|
|
|
$ 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
|
|
|
|
I would like to test the 'load' mode:
|
|
::
|
|
|
|
$ perl centreon_plugins.pl --plugin=os::linux::snmp::plugin --mode=load
|
|
UNKNOWN: Missing parameter --hostname.
|
|
|
|
It's not working because some options are missing. I can have a description of the mode and options with the option ``--help``:
|
|
::
|
|
|
|
$ perl centreon_plugins.pl --plugin=os::linux::snmp::plugin --mode=load --help
|
|
|
|
Eventually, I have to configure some SNMP options:
|
|
::
|
|
|
|
$ 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;
|
|
|
|
I can set threshold with options ``--warning`` and ``--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
|
|
***
|
|
|
|
--------------------
|
|
What can I monitor ?
|
|
--------------------
|
|
|
|
The option ``--list-plugin`` can be used to get the list of plugins and a short description.
|
|
|
|
Headers of the table mean:
|
|
|
|
* Transport: The check has internal options for the transport.
|
|
* Protocol: what is used to get the monitoring datas.
|
|
* Experimental: The check is still in development.
|
|
|
|
+-------------+--------------------+----------------------------+--------------------------------------------+--------------+-------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | | Transport | Protocol | | | |
|
|
| Category | Check +-------+----------+---------+--------+--------+-------+-------+----------+ Experimental | Comment | Perl dependencies |
|
|
| | | SSH | TELNET | WSMAN | SNMP | HTTP | WMI | JMX | custom | | | |
|
|
+=============+====================+=======+==========+=========+========+========+=======+=======+==========+==============+=============================================================+========================================================================+
|
|
| | Active Directory | | | | | | | | * | | Use 'dcdiag' command. Must be installed on Windows. | Win32::Job |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+-------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Apache | | | | | * | | | | | Need Apache 'mod_status' module. | LWP::UserAgent, URI, HTTP::Cookies |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+-------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Apc | | | | | * | | | | | | LWP::UserAgent, URI, HTTP::Cookies |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+-------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Apcupsd | * | | | | | | | * | | Use 'apcupsd' commands. | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+-------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Bluemind | | | | | * | | | | | Use 'influxdb' API. | JSON, LWP::UserAgent, URI, HTTP::Cookies |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+-------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Checkmyws | | | | | * | | | | | | JSON, LWP::UserAgent, URI, HTTP::Cookies |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+-------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Elasticsearch | | | | | * | | | | | | JSON, LWP::UserAgent, URI, HTTP::Cookies |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+-------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Exchange | | | | | | | | * | | Use powershell script. Must be installed on Windows. | Win32::Job |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+-------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Github | | | | | * | | | | | Use 'github' API. | JSON, LWP::UserAgent, URI, HTTP::Cookies, DateTime |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+-------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Hddtemp | | | | | | | | * | | Open a TCP custom communication | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+-------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | | | | | | | * | | | | Must be installed on Windows. | Win32::OLE |
|
|
| | IIS +-------+----------+---------+--------+--------+-------+-------+----------+--------------+-------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| Application | | | | * | | | * | | | * | | openwsman, MIME::Base64 |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+-------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Jenkins | | | | | * | | | | | | JSON, LWP::UserAgent, URI, HTTP::Cookies |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+-------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Kayako | | | | | * | | | | | Use 'kayako' API. | XML::XPath, Digest::SHA, LWP::UserAgent, URI, HTTP::Cookies |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+-------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Lmsensors | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+-------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Msmq | | | | | | | | * | * | Must be installed on Windows. Not developed yet. | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+-------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Nginx | | | | | * | | | | | Need 'HttpStubStatusModule' module. | LWP::UserAgent, URI, HTTP::Cookies |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+-------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Pacemaker | * | | | | | | | * | | Use 'crm_mon' command. | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+-------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Pfsense | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+-------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Selenium | | | | | | | | * | | Connect to a selenium server to play a scenario. | XML::XPath, WWW::Selenium |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+-------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Tomcat | | | | | * | | | | | Need tomcat webmanager. | XML::XPath, LWP::UserAgent, URI, HTTP::Cookies |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+-------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Varnish | * | | | | | | | * | | Use varnish commands. | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+-------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | VMWare | | | | | | | | * | | Need 'centreon-vmware' connector from 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 |
|
|
| Protocols +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+-------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | 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 |
|
|
| Database +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+-------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | MySQL | | | | | | | | * | | | DBI, DBD::mysql |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+-------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | 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 | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+-------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| Hardware | Dell Openmanage | | | | * | | | | | | Need 'openmanage agent' on the operating system. | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+-------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | HP Proliant | | | | * | | | | | | Need 'HP Insight agent' on the operating system. | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+-------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | HP Blade Chassis | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+-------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | IBM BladeCenter | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+-------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | IBM HMC | * | | | | | | | * | * | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+-------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | IBM IMM | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+-------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Sun hardware | * | * | | * | | | | * | | Can monitor many sun hardware. | 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 | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+-------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| Network | F5 Big-Ip | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+-------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Fortinet Fortigate | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+-------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Fritzbox | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+-------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | H3C | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+-------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Hirschmann | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+-------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | HP Procurve | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+-------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | HP Virtual Connect | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+-------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Juniper | | | | * | | | | | | Can monitor 'SSG', 'SA', 'SRX', 'MAG', 'EX', 'Ggsn'. | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+-------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Netasq | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+-------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Oneaccess | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+-------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Palo Alto | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+-------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Radware Alteon | | | | * | | | | | * | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+-------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Redback | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+-------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Riverbed | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+-------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Ruggedcom | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+-------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Securactive | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+-------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Stonesoft | | | | * | | | | | | | |
|
|
+-------------+--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+-------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | | * | | | | | | | * | | Use AIX commands. | |
|
|
| | AIX +-------+----------+---------+--------+--------+-------+-------+----------+--------------+-------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | | | | | | | * | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+-------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Freebsd | | | | * | | | | | | Need 'bsnmpd' agent. | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+-------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| Operating | | * | | | | | | | * | | Use Linux commands. | |
|
|
| System | Linux +-------+----------+---------+--------+--------+-------+-------+----------+--------------+-------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+-------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | | * | | | | | | | * | | Use Solaris commands. | |
|
|
| | Solaris +-------+----------+---------+--------+--------+-------+-------+----------+--------------+-------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | | | | | | | * | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+-------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | | | | | * | | | | | | | |
|
|
| | Windows +-------+----------+---------+--------+--------+-------+-------+----------+--------------+-------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | | | | * | | | * | | | * | | |
|
|
+-------------+--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+-------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Dell EqualLogic | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+-------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Dell MD3000 | | | | | | | | * | | Need 'SMcli' command. | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+-------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Dell TL2000 | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+-------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Dell ML6000 | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+-------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | EMC Celerra | * | | | | | | | * | | Use appliance commands. | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+-------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | EMC Clariion | | | | | | | | * | | Need 'navisphere' command. | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+-------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | EMC DataDomain | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+-------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | EMC Recoverypoint | * | | | | | | | * | | Use appliance commands. | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+-------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | EMC Vplex | | | | | | * | | | | Use the JSON API. | JSON, LWP::UserAgent, URI, HTTP::Cookies |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+-------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | EMC Xtremio | | | | | | * | | | | Use the JSON API. | JSON, LWP::UserAgent, URI, HTTP::Cookies |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+-------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Fujitsu Eternus DX | * | | | | | | | * | | Use appliance commands. | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+-------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | HP 3par | * | | | | | | | * | | Use appliance commands. | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+-------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | HP Lefthand | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+-------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | HP MSA2000 | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+-------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| Storage | HP p2000 | | | | | | * | | | | Use the XML API. | XML::XPath, LWP::UserAgent, URI, HTTP::Cookies |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+-------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | IBM DS3000 | | | | | | | | * | | Use 'SMcli' command. | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+-------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | IBM DS4000 | | | | | | | | * | | Use 'SMcli' command. | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+-------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | IBM DS5000 | | | | | | | | * | | Use 'SMcli' command. | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+-------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | IBM TS3100 | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+-------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | IBM TS3200 | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+-------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Netapp | | | | * | | | | | | | DateTime |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+-------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Nimble | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+-------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Panzura | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+-------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Qnap | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+-------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Synology | | | | * | | | | | | | |
|
|
| +--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+-------------------------------------------------------------+------------------------------------------------------------------------+
|
|
| | Violin 3000 | | | | * | | | | | | | |
|
|
+-------------+--------------------+-------+----------+---------+--------+--------+-------+-------+----------+--------------+-------------------------------------------------------------+------------------------------------------------------------------------+
|
|
|
|
----------------------------
|
|
How can I remove perfdatas ?
|
|
----------------------------
|
|
|
|
For example, I check TCP connections from a linux in SNMP with following command:
|
|
::
|
|
|
|
$ 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;
|
|
|
|
There are too many perfdatas and I want to keep 'total' perfdata only. I use the 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;
|
|
|
|
I can use regexp in ``--filter-perfdata`` option. So, I can exclude perfdata beginning by '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;
|
|
|
|
------------------------------------------------
|
|
How can I set threshold: critical if value < X ?
|
|
------------------------------------------------
|
|
|
|
"centreon-plugins" can manage Nagios threshold ranges: https://nagios-plugins.org/doc/guidelines.html#THRESHOLDFORMAT
|
|
|
|
For example, I want to check that 'crond' is running (if there is less than 1 process, critical). I have two ways:
|
|
::
|
|
|
|
$ 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;
|
|
|
|
------------------------------------------
|
|
How can I check a generic SNMP OID value ?
|
|
------------------------------------------
|
|
|
|
There is a generic SNMP plugin to check it. An example to get 'SysUptime' SNMP OID:
|
|
::
|
|
|
|
$ 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
|
|
|
|
----------------------------------------
|
|
How can I check ipv6 equipment in SNMP ?
|
|
----------------------------------------
|
|
|
|
To check ipv6 equipment, use the following syntax (``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
|
|
|
|
-------------------------------------------------
|
|
How to use memcached server for retention datas ?
|
|
-------------------------------------------------
|
|
|
|
Some plugins need to store datas. Two ways to store it:
|
|
|
|
* File on a disk (by default).
|
|
* Memcached server.
|
|
|
|
To use 'memcached', you must have a memcached server and the CPAN 'Memcached::libmemcached' module installed.
|
|
You can set the memcached server with the 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::
|
|
Local file is used if the memcached server is not responding.
|
|
|
|
------------------------------------
|
|
What does ``--dyn-mode`` option do ?
|
|
------------------------------------
|
|
|
|
With the option, you can use a mode with a plugin. It is commonly used for database checks.
|
|
For example, I have an application which stores some monitoring information on a database. The developer can use another plugin to create the check (no need to do the SQL connections,... It saves time):
|
|
::
|
|
|
|
$ 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::
|
|
A mode using the following system must notice it (in the help description). So you should open the file with an editor and read at the end the description.
|
|
|
|
------------------------------------
|
|
How can I check the plugin version ?
|
|
------------------------------------
|
|
|
|
You can check the version of plugins and modes with 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
|
|
|
|
You can also use the option ``--mode-version`` to execute the mode only if there is the good version.
|
|
For example, we want to execute the mode only if the 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
|
|
|
|
-------------------------------------
|
|
Can I have one standalone Perl file ?
|
|
-------------------------------------
|
|
|
|
We have done some tests and it will cost around 4% more of execution time. We are going to create a standalone Linux SNMP plugin.
|
|
|
|
Download the Perl module ``App::FatPacker`` on metacpan:
|
|
::
|
|
|
|
# tar zxvf App-FatPacker-0.010005.tar.gz
|
|
# cd App-FatPacker-0.010005
|
|
# perl Makefile.PL && make && make install
|
|
|
|
Create a directory to build it:
|
|
::
|
|
|
|
# mkdir -p build/plugin
|
|
# cd build
|
|
|
|
Clone ``centreon-plugins``:
|
|
::
|
|
|
|
# git clone https://github.com/centreon/centreon-plugins.git
|
|
|
|
``fatpack`` includes ``pm`` files under the directory ``lib``:
|
|
::
|
|
|
|
# mkdir plugin/lib && cd centreon-plugins
|
|
|
|
Copy the common files for all plugins:
|
|
::
|
|
|
|
# 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
|
|
|
|
Copy files for Linux SNMP plugin:
|
|
::
|
|
|
|
# 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/
|
|
|
|
Build the standalone Perl file:
|
|
::
|
|
|
|
# cd ../plugin
|
|
# fatpack file centreon_plugins.pl > centreon_linux_snmp.pl
|
|
|
|
The plugin works in the same way:
|
|
::
|
|
|
|
# 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=''
|
|
|
|
---------------------------------------------
|
|
Howto build a standalone Windows executable ?
|
|
---------------------------------------------
|
|
|
|
This is only useful if you want to compile your own ``centreon_plugins.exe``. You won't need to install Perl on your windows server.
|
|
|
|
* Install on Windows Strawberry Perl 5.24.x (Download on http://strawberryperl.com/)
|
|
* Trunk of centreon-plugins repository (Download on https://github.com/centreon/centreon-plugins/archive/master.zip)
|
|
|
|
Once everything is installed, install CPAN Module ``PAR::Packer`` (replace ``<PERL_INSTALL_DIR>``):
|
|
::
|
|
|
|
cmd> <PERL_INSTALL_DIR>\perl\bin\cpan.bat
|
|
cpan> install PAR::Packer
|
|
|
|
It can take several minutes to install the CPAN Module.
|
|
|
|
In the parent directory containing the directory ``centreon-plugins``, create a ``build.bat`` file (replace ``<PERL_INSTALL_DIR>``).
|
|
We exclude the module ``IO::Socket::INET6`` (Perl 5.14 has the full set of IPv6 functions as part of its core Socket module).
|
|
|
|
::
|
|
|
|
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
|
|
|
|
Add plugins and modes you need in ``centreon_plugins.exe`` (the example add some plugins).
|
|
Eventually, execute ``build.bat`` file to create executable ``centreon_plugins.exe``.
|
|
|
|
If you want to change the executable version and ico file, add following code after ``PERL_INSTALL_DIR`` first line:
|
|
::
|
|
|
|
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
|
|
|
|
You can build a 32 bits binary from a Windows 64 bits:
|
|
|
|
* Install Strawberry Perl 5.24.x 32 bits on Windows (Download on http://strawberryperl.com/)
|
|
* Install cpan module ``PAR::Packer``
|
|
* Add following line in the build script : PATH=%PERL_INSTALL_DIR%\c\bin;%PERL_INSTALL_DIR%\perl\bin;C:\Windows\System32
|
|
|
|
***************
|
|
Troubleshooting
|
|
***************
|
|
|
|
----
|
|
SNMP
|
|
----
|
|
|
|
I get the SNMP error: 'UNKNOWN:.* (tooBig).*'
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
The following error can happened with some equipments.
|
|
You can resolve it if you set following options:
|
|
|
|
* ``--subsetleef=20`` ``--maxrepetitions=20``
|
|
|
|
I get the SNMP error: 'UNKNOWN:.*Timeout'
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
The following error means:
|
|
|
|
* Don't have network access to the target SNMP Server (a firewall can block UDP 161).
|
|
* Wrong SNMP community name or SNMP version set.
|
|
|
|
I get the SNMP error: 'UNKNOWN:.*Cant get a single value'
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
The following error means: SNMP access is working but you can't retrieve SNMP values.
|
|
Very possible reasons:
|
|
|
|
* SNMP value is not set yet (can be happened when a SNMP server is just started).
|
|
* SNMP value is not implemented by the constructor.
|
|
* SNMP value is set on a specific firmware or OS.
|
|
|
|
Seems that process check is not working well for some arguments filter
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
In SNMP, there is a limit in argument length of 128 characters.
|
|
So, if you try to filter with an argument after 128 characters, it won't work. It can happen with Java arguments.
|
|
To solve the problem, you should prefer a NRPE check.
|
|
|
|
Can't access in SNMP v3
|
|
^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
First, you need to validate SNMP v3 connection with snmpwalk. When it's working, you set SNMP v3 options in command line.
|
|
The mapping between 'snmpwalk' options and "centreon-plugins" options:
|
|
|
|
* -a => ``--authprotocol``
|
|
* -A => ``--authpassphrase``
|
|
* -u => ``--snmp-username``
|
|
* -x => ``--privprotocol``
|
|
* -X => ``--privpassphrase``
|
|
* -l => not needed (automatic)
|
|
* -e => ``--securityengineid``
|
|
* -E => ``--contextengineid``
|
|
|
|
-------------
|
|
Miscellaneous
|
|
-------------
|
|
|
|
I get the error: "UNKNOWN: Need to specify '--custommode'."
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
Some plugins need to set the option ``--custommode``. You can know the value to set with the option ``--list-custommode``. An example::
|
|
|
|
$ 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
|
|
|
|
I get the error: "UNKNOWN: Cannot write statefile .*"
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
You must create the directory (with write permissions) to let the plugin stores some datas on disk.
|
|
|
|
I get the error: "UNKNOWN: Cannot load module 'xxx'."
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
The problem can be:
|
|
|
|
* A prerequisite CPAN module is missing. You need to install it.
|
|
* The CPAN module cannot be loaded because of its path. Perl modules must be installed on some specific paths.
|
|
|
|
I can't see help messages
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
"centreon-plugins" files must Unix format (no Windows carriage returns). You can change it with the following command:
|
|
::
|
|
|
|
$ find . -name "*.p[ml]" -type f -exec dos2unix \{\} \;
|
|
|
|
.. Warning:: Execute the command in "centreon-plugins" directory.
|
|
|
|
***************
|
|
Command Samples
|
|
***************
|
|
|
|
-------
|
|
Windows
|
|
-------
|
|
|
|
Check all disks in SNMP
|
|
^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
Warning if space used > 80% and critical if space used > 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%)
|
|
|
|
Warning if space free < 5G and critical if space free < 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
|
|
-----
|
|
|
|
Check all interface traffics in SNMP
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
Warning if traffic in/out used > 80% and critical if traffic in/out used > 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 %)
|
|
|
|
|
|
-------------
|
|
HTTP Protocol
|
|
-------------
|
|
|
|
Check authentification of an application (POST request)
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
An example for authentification form of ``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;
|
|
|
|
---------------
|
|
Modbus Protocol
|
|
---------------
|
|
|
|
Check 3 holding registers
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
The content of the ``modbus.json`` file can be set directly in ``--config`` option (eg. : ``--config='{ "selection": { "metric1":{...'``).
|
|
The ``type`` attribute can have following values:
|
|
|
|
* holding (default)
|
|
* 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
|
|
}
|
|
}
|
|
}
|
|
|
|
The command result:
|
|
::
|
|
|
|
$ 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'
|
|
|
|
How to change the formatting output ?
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
There is a command section to change formatting output globally and also to override for each metrics:
|
|
::
|
|
|
|
{
|
|
"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}"
|
|
}
|
|
}
|
|
|
|
The command result:
|
|
::
|
|
|
|
$ 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
|
|
|
|
How to average 4 registers ?
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
We create following average values: ``[x1 + x2 / 2 = y]`` ``[x3 + x4 / 2 = z]``.
|
|
With the pattern, you can select the metrics. In our case, we get 4 values in one selection.
|
|
Selected metric names are: ``metrics.0``, ``metrics.1``, ``metrics.2``, ``metrics.3`` (order is preserved).
|
|
|
|
The ``aggregation`` attribute can have following values:
|
|
|
|
* avg: returns the average of all the elements.
|
|
* sum: returns the numerical sum of all the elements.
|
|
* min: returns the entry in elements with the lowest numerical value.
|
|
* max: returns the entry in elements with the highest numerical value.
|
|
|
|
::
|
|
|
|
{
|
|
"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"
|
|
}
|
|
}
|
|
}
|
|
|
|
The command result:
|
|
::
|
|
|
|
$ 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'
|
|
|
|
Apply a custom calculation
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
There is a ``custom`` attribute to applied some change on the value:
|
|
::
|
|
|
|
{
|
|
"selection":{
|
|
"metrics":{
|
|
"address": 1,
|
|
"quantity": 4,
|
|
"type": "holding",
|
|
"display": false
|
|
}
|
|
},
|
|
"virtualcurve":{
|
|
"avg":{
|
|
"aggregation": "avg",
|
|
"custom": " / 10",
|
|
"unit": "con"
|
|
}
|
|
}
|
|
}
|
|
|
|
The command result:
|
|
::
|
|
|
|
$ 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
|
|
--------------------
|
|
|
|
This mode allow you to concatenate several result of host and/or service check into one check. Can be used to make some aggregation into logical group or gather information from one Centreon to display in another without checking resources twice.
|
|
|
|
Design of configuration file
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
::
|
|
|
|
{
|
|
"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 (mandatory) : can be 'sqlmatching' or 'exactmatch'. Linked to the layout of "selection" bloc
|
|
* selection (mandatory) : if we use sqlmatching, we define filters like above, if we use exact match, need to pass a key/value pair corresponding to host/service (example below with two "groups" esx-status/load)
|
|
|
|
::
|
|
|
|
"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 (optionnal) : Contains three keys to choose which counters we should use and consider (totalservices, totalhosts, groups)
|
|
* formatting (optionnal) : Contains three keys, 'groups_global_msg' to define a global OK status message, 'host_service_separator' to define separator used between host and service name in output, 'display_details' to config if plugin should display details of host/service name in the verbose output.
|
|
|
|
Command line, output, threshold ...
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
Sample command:
|
|
|
|
::
|
|
|
|
/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
|
|
|
|
Sample output:
|
|
|
|
::
|
|
|
|
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 |
|
|
|
|
Perfdatas:
|
|
|
|
::
|
|
|
|
'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;
|
|
|
|
Verbose mode (with display details set as true):
|
|
|
|
::
|
|
|
|
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]
|
|
|
|
Concerning the threshold, you can use some example below:
|
|
|
|
::
|
|
|
|
--critical-total '%{total_down} > 4' --critical-groups '%{instance} eq 'ESX' && %{unknown} > 5'
|
|
|
|
--------
|
|
NSClient
|
|
--------
|
|
|
|
You can monitor Windows/Linux system with the Rest API of NSClient. Commands and arguments are the same than NRPE (look the NSClient documentation for more 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
|