Ceci est une ancienne révision du document !
Table des matières
Notes supervision - plugin Nagios - centreon_plugins.pl
Voir :
Voir aussi :
Configure those extra SNMP options in the host/host template configuration in the SNMPEXTRAOPTIONS macro.
| snmpwalk | centreon-plugins |
|---|---|
| -a | --authprotocol |
| -A | --authpassphrase |
| -u | --snmp-username |
| -x | --privprotocol |
| -X | --privpassphrase |
| -l | not needed (automatic) |
| -e | --securityengineid |
| -E | --contextengineid |
On lance une fois cpan pour le configurer
cpan # On ferme la session puis on la reouvre pour sourcer le .bashrc exit # Ou source ~/.bashrc
cpan common/sense.pm cpan Types/Serialiser.pm cpan JSON # Pour la commande net-snmp-config necessaire à cpan SNMP #sudo apt-get install libsnmp-dev #sudo yum install net-snmp-devel cpan SNMP
Le plugin a besoin de pouvoir écrire
mkdir -p /var/lib/centreon/centplugins chown nagios: /var/lib/centreon/ /var/lib/centreon/centplugins/ chmod 1777 /var/lib/centreon/centplugins/
./centreon_plugins.pl --list-plugin ./centreon_plugins.pl --list-plugin | grep ^PLUGIN | grep -i snmp | grep -i linux ./centreon_plugins.pl --plugin os::linux::snmp::plugin ./centreon_plugins.pl --plugin os::linux::snmp::plugin --help ./centreon_plugins.pl --plugin os::linux::snmp::plugin --list-mode ./centreon_plugins.pl --plugin os::linux::snmp::plugin --memory ./centreon_plugins.pl --plugin os::linux::snmp::plugin --mode memory ./centreon_plugins.pl --plugin os::linux::snmp::plugin --mode memory --hostname localhost ./centreon_plugins.pl --plugin os::linux::snmp::plugin --mode memory --hostname localhost --help
./centreon_plugins.pl --plugin os::linux::snmp::plugin --mode memory --hostname localhost --snmp-version='3' --authpassphrase P@ssw0rd --snmp-username nagios --authprotocol MD5 OK: Ram Total: 15.25 GB Used (-buffers/cache): 1.95 GB (12.81%) Free: 13.30 GB (87.19%), Buffer: 94.79 MB, Cached: 2.05 GB, Shared: 555.96 MB | 'used'=2097471488B;;;0;16376958976 'free'=14279487488B;;;0;16376958976 'used_prct'=12.81%;;;0;100 'buffer'=99397632B;;;0; 'cached'=2202296320B;;;0; 'shared'=582967296B;;;0;
Exemple avec Fortigate
src/centreon_plugins.pl --plugin=network::fortinet::fortigate::snmp::plugin --mode=cluster-status --hostname=firewall --snmp-version='2c' --snmp-community='public' --warning-status='%{role} !~ /master|slave/' --critical-status='%{sync_status} !~ /^synchronized/' --opt-exit warning --verbose --critical-total-nodes=2
Note : Pour certain plugin il est important d'écrire --hostname=localhost et non --hostname localhost, de même pour les autres arguments
Exemple conf Nagios
commands.cfg
define command{ command_name check_centreon_snmp_linux_disk_all command_line $USER1$/centreon_plugins --plugin=os::linux::snmp::plugin --mode=storage --hostname=$HOSTADDRESS$ --snmp-version=3 --snmp-username "$USER6$" --authprotocol MD5 --authpassphrase "$USER7$" --filter-storage-type=hrStorageFixedDisk --add-access --critical-access=readOnly --warning-usage $ARG1$ --critical-usage $ARG2$ --name --regexp --storage='^((?!cdrom).)*$' }
mode multi
./centreon_plugins.pl --plugin=os::linux::snmp::plugin --hostname=localhost --snmp-version=3 --snmp-username "nagios" --authprotocol MD5 --authpassphrase "P@ssw0rd" --mode multi --modes-exec 'uptime,memory,swap,cpu'
Wrapper en bash
Dans notre cas les plugins sont tous dans /usr/local/nagios/libexec/ mais si on fait un lien symbolique ln -s /usr/local/nagios/libexec/centreon-plugins-develop/src/centreon_plugins /usr/local/nagios/libexec/ ça ne fonctionne pas.
D'où ce petit wrapper.
centreon_plugins
#! /bin/bash set -euo pipefail SCRIPT_DIR=$(readlink -m "$(dirname "$0")") cd "${SCRIPT_DIR}/centreon-plugins-develop/src/" || exit 2 export PERL5LIB="/usr/local/nagios/lib/perl5/site_perl/5.8.8:/usr/local/nagios/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi" exec perl ./centreon_plugins.pl "$@"
Conf pour Centreon
Exemple :
$CENTREONPLUGINS$/centreon_plugins --plugin=network::fortinet::fortigate::snmp::plugin --hostname=$HOSTADDRESS$ --snmp-version='$_HOSTSNMPVERSION$' --snmp-community='$_HOSTSNMPCOMMUNITY$' --mode=cluster-status --warning-status='%{role} !~ /master|slave/' --critical-status='%{sync_status} !~ /^synchronized/' --opt-exit warning --critical-total-nodes=2 $_HOSTSNMPEXTRAOPTIONS$
Autres plugins Centreon similaires
$ rpm -qf /usr/lib/centreon/plugins/centreon_linux_snmp.pl centreon-plugin-Operatingsystems-Linux-Snmp-20241107-152627.el8.noarch
/usr/lib/centreon/plugins/centreon_linux_snmp.pl --plugin=os::linux::snmp::plugin --mode=memory --hostname=127.0.0.1 --snmp-version=3 --snmp-username=nagios --authprotocol=MD5 --authpassphrase='P@ssw0rd' --warning-usage=80 --critical-usage=90
Autres
ILO
/usr/lib/centreon/plugins/centreon_hp_ilo_restapi.pl --plugin=hardware::server::hp::ilo::restapi::plugin --mode=hardware --hostname='192.168.1.101' --api-username='sup_ro' --api-password='P@ssw0rd12345678' --component='.*' --verbose --insecure
Centreon plugins - old
http://sugarbug.web4me.fr/atelier/techniques/plugins/plugins_centreon/
yum install git git clone https://github.com/centreon/centreon-plugins.git cd centreon-plugins/ chmod +x centreon_plugins.pl cp -R * /usr/lib/centreon/plugins/
Test centreon_plugins.pl
/usr/lib/centreon/plugins/centreon_plugins.pl --version /usr/lib/centreon/plugins/centreon_plugins.pl --list-plugin /usr/lib/centreon/plugins/centreon_plugins.pl --plugin=os::linux::snmp::plugin --list-mode /usr/lib/centreon/plugins/centreon_plugins.pl --plugin=os::linux::snmp::plugin --mode=load --hostname=127.0.0.1 --snmp-version=2c --snmp-community=public --verbose
/usr/lib/nagios/plugins/centreon_plugins.pl --list-plugin /usr/lib/nagios/plugins/centreon_plugins.pl --plugin=apps::pacemaker::local::plugin --help /usr/lib/nagios/plugins/centreon_plugins.pl --plugin=apps::pacemaker::local::plugin --list-mode /usr/lib/nagios/plugins/centreon_plugins.pl --plugin=apps::pacemaker::local::plugin --mode crm --help /usr/lib/nagios/plugins/centreon_plugins.pl --plugin=apps::pacemaker::local::plugin --mode crm --remote --hostname 192.168.10.3
Dell OpenManage
wget http://folk.uio.no/trondham/software/check_openmanage-3.7.12/check_openmanage cd /usr/lib/nagios/plugins/ chown centreon:centreon-engine /usr/lib/nagios/plugins/check_openmanage chmod 755 /usr/lib/nagios/plugins/check_openmanage
Test
# /usr/lib/nagios/plugins/check_openmanage -H 10.245.108.2 OK - System: 'PowerEdge R430', SN: '58RJZG2', 32 GB ram (2 dimms), 1 logical drives, 2 physical drives
Configuration Commands Checks check Command line :
$USER1$/check_openmanage -H $HOSTADDRESS$ -p $_HOSTSNMPVERSION$ -C $_HOSTSNMPCOMMUNITY$ '$_HOSTOPENMANAGE_OPTIONS$'
Configuration Services Templates Dell_OMSA Max Check Attempts : 5 Normal Check Interval : 5 Retry Check Interval: 5 Check Period : 24×7 Check Command : check_openmanage Relation / Linked to host templates / Selected “Servers-Dell-OMSA”
Configuration Hosts Templates “Servers-Dell-OMSA” Relation / Linked Service Templates / Selected “Dell_OMSA”
SNMP plugin
/usr/lib/centreon/plugins/centreon_linux_snmp.pl --plugin=os::linux::snmp::plugin --mode=memory --hostname=$HOSTADDRESS$ --snmp-version=2c --snmp-community=public /usr/lib/centreon/plugins/centreon_linux_snmp.pl --plugin=os::linux::snmp::plugin --mode=storage --hostname=$HOSTADDRESS$ --snmp-version='$_HOSTSNMPVERSION$' --snmp-community='$_HOSTSNMPCOMMUNITY$' $_HOSTSNMPEXTRAOPTIONS$ --storage='$_SERVICEFILTER$' --name --regexp --display-transform-src='$_SERVICETRANSFORMSRC$' --display-transform-dst='$_SERVICETRANSFORMDST$' --warning='$_SERVICEWARNING$' --critical='$_SERVICECRITICAL$' $_SERVICEEXTRAOPTIONS$ /usr/lib/centreon/plugins/centreon_linux_snmp.pl --plugin=os::linux::snmp::plugin --mode=storage --hostname=172.19.0.1 --snmp-version=2c --snmp-community=public --verbose --storage='.*' --name --regexp --display-transform-src='' --display-transform-dst='' --warning=80 --critical=90 $_SERVICEEXTRAOPTIONS$
$ /usr/lib/nagios/plugins/check_centreon_snmp_remote_storage -H 10.245.108.2 -s hrStorage 1 :: Physical memory hrStorage 3 :: Virtual memory hrStorage 6 :: Memory buffers hrStorage 7 :: Cached memory hrStorage 8 :: Shared memory hrStorage 10 :: Swap space hrStorage 33 :: /dev hrStorage 36 :: /sys/fs/cgroup hrStorage 49 :: /etc/resolv.conf hrStorage 50 :: /etc/hostname hrStorage 51 :: /etc/hosts hrStorage 52 :: /dev/shm hrStorage 53 :: /run/secrets hrStorage 54 :: /usr/lib/modules/3.10.0-862.3.2.el7.x86_64 $ /usr/lib/nagios/plugins/check_centreon_snmp_remote_storage -H 10.245.108.2 -d 10 Disk OK - Swap space TOTAL: 20.000GB USED: 0.003GB (0%) FREE: 19.997GB (100%)|size=21474832384B used=3145728B;19327349145;20401090764;0;21474832384
Pb
Le plugin Centreon pour Stormshield n'est compatible que en MD5|SHA
source : https://docs.centreon.com/pp/integrations/plugin-packs/procedures/network-stormshield-snmp/
SNMP v3 only: Authentication protocol: MD5|SHA. Since net-snmp 5.9.1: SHA224|SHA256|SHA384|SHA512.
Hors AlmaLinux release 8.10 (Cerulean Leopard) n'est pas compatible net-snmp 5.9.1. J'ai essayé de bidouiller et même de compiler net-snmp mais ça ne fonctionne pas. Il faut soit utiliser MD5/SHA1, soit passer à AlmaLinux 9, soit utiliser la commande snmpwalk/snmpget.
Err undefined symbol: Perl_Gthr_key_ptr
$ env PERL5LIB="/usr/local/nagios/lib/perl5/site_perl/5.8.8:/usr/local/nagios/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi" ./centreon_plugins.pl
/usr/bin/perl: symbol lookup error: /usr/local/nagios/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/auto/JSON/XS/XS.so: undefined symbol: Perl_Gthr_key_ptr
$ readelf -s /usr/local/nagios/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/auto/JSON/XS/XS.so | grep Perl_Gthr_key_ptr
92: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND Perl_Gthr_key_ptr
196: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND Perl_Gthr_key_ptr
$ ./centreon_plugins.pl
UNKNOWN: Need to specify '--plugin' option.
