![Stacks Image 16138](files/stacks-image-5a04a3c.png)
Les plugins OS correspondent à la supervision des systèmes d'exploitation. Nouveauté par rapport à la version béta 1.0, Certains modules peuvent s'exécuter en mode local et le reste en mode distant avec les protocoles SMNP et SSH. La vitesse d'exécution du plugin est bien plus performant en mode local comme nous aurons l'occasion de le constater. Pour l'utilisation en mode SNMP, le plugin aura donc besoin des modules du dossier snmp_standard. L'option remote permet d'utiliser le protocole SSH pour exécuter les commandes de vérifications sur un hôte distant. Actuellement, les plugins OS se sont enrichis de nombreux plugins de système d'exploitation : Aix, FreeBsd, Linux, Solaris, Windows, etc...
Voici les principales fonctionnalités pour Linux. Nous verrons ensuite la configuration du plugin dans Centreon, nous utiliserons le protocole SNMP v2c pour l'instant. Par convention, le dossier des plugins Centreon est positionné dans /usr/lib/centreon/plugins.
J'ai repris mon tuto en utilisant les plugins Centreon FatPacked. Cela n'empêche pas d'utiliser les plugins du Github, j'ajouterai un encart pour chaque plugin.
Voici les principales fonctionnalités pour Linux. Nous verrons ensuite la configuration du plugin dans Centreon, nous utiliserons le protocole SNMP v2c pour l'instant. Par convention, le dossier des plugins Centreon est positionné dans /usr/lib/centreon/plugins.
J'ai repris mon tuto en utilisant les plugins Centreon FatPacked. Cela n'empêche pas d'utiliser les plugins du Github, j'ajouterai un encart pour chaque plugin.
1 Les plugins Linux
Il existe deux plugins :
- centreon_linux_local.pl qui fonctionnera en local sur la machine et à distance via le protocole ssh avec l'option remote
- centreon_linux_snmp.pl qui fonctionnera avec le protocole SNMP pour interroger une machine distante
- centreon_linux_local.pl qui fonctionnera en local sur la machine et à distance via le protocole ssh avec l'option remote
- centreon_linux_snmp.pl qui fonctionnera avec le protocole SNMP pour interroger une machine distante
![Stacks Image 46969](files/stacks-image-792538f-40x38.png)
Pour avoir les mêmes fonctionnalités que le plugin FatPacked
centreon_linux_local.pl => centreon_plugins.pl --plugin=os::linux::local::plugin
centreon_linux_snmp.pl => centreon_plugins.pl --plugin=os::linux::snmp::plugin
![Stacks Image 16157](files/stacks-image-39ba3fd-800x764.jpg)
Différentes façons d'utiliser le module
1.1 Le plugin centreon_linux_local.pl
Voici la liste des modes de ce plugin
/usr/lib/centreon/plugins/centreon_linux_local.pl --list-mode
....
Modes Available:
cmd-return
connections
cpu
cpu-detailed
directlvm-usage
discovery-nmap
discovery-snmp
diskio
files-date
files-size
inodes
list-interfaces
list-partitions
list-storages
load
memory
mountpoint
ntp
open-files
packet-errors
paging
pending-updates
process
quota
storage
swap
systemd-sc-status
traffic
uptime
Voici la liste des modes en détail
-
cmd-return
- Voir le chapitre 1.1a dédié à ce mode.
-
connections
- Vérification des connexions UPD et TCP.
/usr/lib/centreon/plugins/centreon_linux_local.pl --plugin=os::linux::local::plugin --mode=connections --service="ssh,,,22,,,,10,20"
résultatOK: Service 'ssh' connections: 2 - Total connections: 35 | 'service_ssh'=2;0:10;0:20;0; 'total'=35;;;0; 'con_closed'=0;;;0; 'con_closeWait'=0;;;0; 'con_synSent'=0;;;0; 'con_established'=7;;;0; 'con_timeWait'=28;;;0; 'con_lastAck'=0;;;0; 'con_listen'=10;;;0; 'con_synReceived'=0;;;0; 'con_finWait1'=0;;;0; 'con_finWait2'=0;;;0; 'con_closing'=0;;;0;
-
cpu
- Vérification de la charge cpu, moyenne sur la dernière minute.
/usr/lib/centreon/plugins/centreon_linux_local.pl --plugin=os::linux::local::plugin --mode=cpu --warning=70 --critical=90
résultatOK: CPU(s) average usage is: 10.51% | 'cpu0'=11.76%;;;0;100 'cpu1'=10.79%;;;0;100 'cpu2'=9.19%;;;0;100 'cpu3'=10.30%;;;0;100 'total_cpu_avg'=10.51%;0:70;0:90;0;100
-
cpu-detailed
- Vérification en détail de la charge cpu, (User, Nice,System, Idle, Wait, Interrupt, SoftIRQ, Steal, Guest, GuestNice)
/usr/lib/centreon/plugins/centreon_linux_local.pl --plugin=os::linux::local::plugin --mode=cpu-detailed --warning-user=10 --critical-user=20
résultatWARNING: CPU '3' Usage: User 14.27 %, Nice 0.00 %, System 1.72 %, Idle 84.01 %, Wait 0.00 %, Interrupt 0.00 %, Soft Irq 0.00 %, Steal 0.00 %, Guest 0.00 %, Guest Nice 0.00 % | 'cpu0_user'=4.85%;0:10;0:20;0;100 'cpu0_nice'=0.00%;;;0;100 'cpu0_system'=1.04%;;;0;100 'cpu0_idle'=93.61%;;;0;100 'cpu0_wait'=0.35%;;;0;100 'cpu0_interrupt'=0.00%;;;0;100 'cpu0_softirq'=0.15%;;;0;100 'cpu0_steal'=0.00%;;;0;100 'cpu0_guest'=0.00%;;;0;100 'cpu0_guestnice'=0.00%;;;0;100 'cpu1_user'=4.30%;0:10;0:20;0;100 'cpu1_nice'=0.00%;;;0;100 'cpu1_system'=0.99%;;;0;100 'cpu1_idle'=94.41%;;;0;100 'cpu1_wait'=0.30%;;;0;100 'cpu1_interrupt'=0.00%;;;0;100 'cpu1_softirq'=0.00%;;;0;100 'cpu1_steal'=0.00%;;;0;100 'cpu1_guest'=0.00%;;;0;100 'cpu1_guestnice'=0.00%;;;0;100 'cpu2_user'=3.30%;0:10;0:20;0;100 'cpu2_nice'=0.00%;;;0;100 'cpu2_system'=0.54%;;;0;100 'cpu2_idle'=95.61%;;;0;100 'cpu2_wait'=0.44%;;;0;100 'cpu2_interrupt'=0.00%;;;0;100 'cpu2_softirq'=0.10%;;;0;100 'cpu2_steal'=0.00%;;;0;100 'cpu2_guest'=0.00%;;;0;100 'cpu2_guestnice'=0.00%;;;0;100 'cpu3_user'=14.27%;0:10;0:20;0;100 'cpu3_nice'=0.00%;;;0;100 'cpu3_system'=1.72%;;;0;100 'cpu3_idle'=84.01%;;;0;100 'cpu3_wait'=0.00%;;;0;100 'cpu3_interrupt'=0.00%;;;0;100 'cpu3_softirq'=0.00%;;;0;100 'cpu3_steal'=0.00%;;;0;100 'cpu3_guest'=0.00%;;;0;100 'cpu3_guestnice'=0.00%;;;0;100 'total_cpu_guest_avg'=0.00%;;;0;100 'total_cpu_guestnice_avg'=0.00%;;;0;100 'total_cpu_idle_avg'=91.91%;;;0;100 'total_cpu_interrupt_avg'=0.00%;;;0;100 'total_cpu_nice_avg'=0.00%;;;0;100 'total_cpu_softirq_avg'=0.06%;;;0;100 'total_cpu_steal_avg'=0.00%;;;0;100 'total_cpu_system_avg'=1.07%;;;0;100 'total_cpu_user_avg'=6.68%;;;0;100 'total_cpu_wait_avg'=0.27%;;;0;100
-
directlvm-usage
- Vérification direct-LVM, pas testé.
-
discovery-nmap
- Ce mode est un mode de découverte des flux ouverts sur une plage d'adresse IP.
/usr/lib/centreon/plugins/centreon_linux_local.pl --plugin=os::linux::local::plugin --mode=discovery-nmap --subnet 192.168.1.0/24
extrait du résultat{"end_time":1584543895,"start_time":1584543847,"duration":48,"discovered_items":33,"results":[{"services":[{"name":"http","port":"80/tcp"},{"name":"netbios-ssn","port":"139/tcp"},{"name":"https","port":"443/tcp"},{"name":"snmp","port":"161/udp"},{"name":"snmptrap","port":"162/udp"}],"ip":"192.168.1.1","status":"up","hostnames":null,"hostname":null,"os":null,"addresses":[{"type":"ipv4","address":"192.168.1.1"},{"type":"mac","address":"74:9D:79:C9:FA:0A"}],"os_accuracy":null,"type":"unknown","vendor":null},{"services":[{"name":"http-proxy","port":"8080/tcp"},{"name":"https-alt","port":"8443/tcp"}],"ip":"192.168.1.11","status":"up","hostnames":null,"hostname":null,"os":null,"addresses":[{"type":"ipv4","address":"192.168.1.11"},{"type":"mac","address":"84:A0:6E:3B:5B:47"}],"os_accuracy":null,"type":"unknown","vendor":null},{"services":[{"name":"snmp","port":"161/udp"},{"name":"snmptrap","port":"162/udp"}],
-
discovery-snmp
- Ce mode est un mode de découverte des hôtes équipées du SNMP sur une plage d'adresse IP.
/usr/lib/centreon/plugins/centreon_linux_local.pl --plugin=os::linux::local::plugin --mode=discovery-snmp --snmp-community=public --snmp-version=2 --subnet=192.168.1.0/24
extrait du résultat{"end_time":1584545094,"start_time":1584544852,"duration":242,"discovered_items":13,"results":[{"snmp_version":"2","ip":"192.168.1.79","desc":"Linux vmbuster 4.19.0-5-amd64 #1 SMP Debian 4.19.37-5+deb10u2 (2019-08-08) x86_64","hostname":"vmbuster","type":"linux","snmp_port":161,"snmp_community":"public"},{"snmp_version":"2","ip":"192.168.1.98","desc":"Linux map1904.duchmol.net 3.10.0-1062.12.1.el7.x86_64 #1 SMP Tue Feb 4 23:02:59 UTC 2020 x86_64","hostname":"map1904.duchmol.net","type":"linux","snmp_port":161,"snmp_community":"public"},{"snmp_version":"2","ip":"192.168.1.99","desc":"Linux centreon1910.duchmol.net 3.10.0-1062.12.1.el7.x86_64 #1 SMP Tue Feb 4 23:02:59 UTC 2020 x86_64","hostname":"centreon1910.duchmol.net","type":"linux","snmp_port":161,"snmp_community":"public"},{"snmp_version":"2","ip":"192.168.1.105","desc":"Linux mbi1904.duchmol.net 3.10.0-1062.12.1.el7.x86_64 #1 SMP Tue Feb 4 23:02:59 UTC 2020 x86_64","hostname":"mbi1904.duchmol.net","type":"linux","snmp_port":161,"snmp_community":"public"},{"snmp_version":"2","ip":"192.168.1.150","desc":"3Com Switch 4210 18-Port Software Version 3.10 Release 2212","hostname":"SWITCH18","type":"unknown","snmp_port":161,"snmp_community":"public"},{"snmp_version":"2","ip":"192.168.1.152","desc":"8-Port Gigabit Smart Switch","hostname":"TL-SG2008","type":"unknown","snmp_port":161,"snmp_community":"public"}
-
diskio
- Vérification des I/O des disques.
/usr/lib/centreon/plugins/centreon_linux_local.pl --plugin=os::linux::local::plugin --mode=diskio --name='sda' --warning-write-usage=40000 --critical-write-usage=600000
résultatWARNING: Device 'sda' write I/O : 256.95 KB/s | 'readio'=0B/s;;;0; 'writeio'=263116B/s;0:40000;0:600000;0; 'readtime'=0.00ms;;;0; 'writetime'=2938.00ms;;;0; 'utils'=30.01%;;;0;100
Pour rechercher une partition valide utilisez l'option --verbose/usr/lib/centreon/plugins/centreon_plugins.pl --plugin=os::linux::local::plugin --mode=diskio --verbose
extrait du résultat…
Device 'dm-0' read I/O : 0.00 B/s, write I/O : 1.01 KB/s, read time : 0.00 ms, write time : 4348.00 ms, %utils: 0.68 %
Device 'dm-1' read I/O : 0.00 B/s, write I/O : 0.00 B/s, read time : 0.00 ms, write time : 0.00 ms, %utils: 0.00 %
Device 'dm-2' read I/O : 0.00 B/s, write I/O : 71.42 KB/s, read time : 0.00 ms, write time : 53122.00 ms, %utils: 8.26 %
Device 'dm-3' read I/O : 0.00 B/s, write I/O : 314.38 KB/s, read time : 0.00 ms, write time : 93078.00 ms, %utils: 14.47 %
Device 'dm-4' read I/O : 0.00 B/s, write I/O : 89.81 B/s, read time : 0.00 ms, write time : 186.00 ms, %utils: 0.03 %
Device 'dm-5' read I/O : 0.00 B/s, write I/O : 14.38 KB/s, read time : 0.00 ms, write time : 2129.00 ms, %utils: 0.33 %
Device 'dm-6' read I/O : 0.00 B/s, write I/O : 0.00 B/s, read time : 0.00 ms, write time : 0.00 ms, %utils: 0.00 %
Device 'sda' read I/O : 0.00 B/s, write I/O : 401.28 KB/s, read time : 0.00 ms, write time : 146830.00 ms, %utils: 22.82 %
Device 'sda1' read I/O : 0.00 B/s, write I/O : 0.00 B/s, read time : 0.00 ms, write time : 0.00 ms, %utils: 0.00 %
Device 'sda2' read I/O : 0.00 B/s, write I/O : 401.28 KB/s, read time : 0.00 ms, write time : 96612.00 ms, %utils: 15.01 %
Device 'sr0' read I/O : 0.00 B/s, write I/O : 0.00 B/s, read time : 0.00 ms, write time : 0.00 ms, %utils: 0.00 %
La partition valide est le disque sda.
-
files-date
- Vérification de la date (création, modification) d'un fichier ou d'un dossier. Pour un dossier, la date du fichier le plus récents sera pris en compte. Vérification de l'âge du fichier /etc/postfix/main.cf en secondes.
/usr/lib/centreon/plugins/centreon_linux_local.pl --plugin=os::linux::local::plugin --mode=list-interfaces --plugin=os::linux::local::plugin --mode=files-date --files /etc/postfix/main.cf
résultatOK: All file/directory times are ok. | '/etc/postfix/main.cf'=616652s;;;;
Vérification du dossier /usr/share/centreon/examples, un fichier /usr/share/centreon/examples/clapi/create_config_initialV2.sh a été récemment modifié. Premier exemple, tous les fichiers sont vérifiés globalement/usr/lib/centreon/plugins/centreon_linux_local.pl --plugin=os::linux::local::plugin --mode=files-date --files /usr/share/centreon/examples --warning=10000 --critical=20000
résultatOK: All file/directory times are ok. | '/usr/share/centreon/examples/clapi'=643s;0:10000;0:20000;; '/usr/share/centreon/examples'=643s;0:10000;0:20000;;
Même exemple mais en vérifiant dossier par dossier/usr/lib/centreon/plugins/centreon_linux_local.pl --plugin=os::linux::local::plugin --mode=files-date --files /usr/share/centreon/examples --separate-dirs --warning=10000 --critical=20000
résultatCRITICAL: /usr/share/centreon/examples: 1686466 seconds (time: Thu Jun 28 09:12:59 2018) | '/usr/share/centreon/examples/clapi'=621s;0:10000;0:20000;; '/usr/share/centreon/examples'=1686466s;0:10000;0:20000;;
-
files-size
- Vérification de la taille d'un fichier ou d'un dossier. L'option --separate-dirs permet de calculer la taille de chaque dossier séparément.
/usr/lib/centreon/plugins/centreon_linux_local.pl --plugin=os::linux::local::plugin --mode=files-date --files /etc/postfix/main.cf
résultatOK: All file/directory sizes are ok. | '/etc/postfix/main.cf'=958B;;;0; 'total'=958B;;;0;
Vérification des dossiers dans l'arborescence /usr/share/centreon/examples/usr/lib/centreon/plugins/centreon_linux_local.pl --plugin=os::linux::local::plugin --mode=files-size --separate-dirs --files /usr/share/centreon/examples --warning-one=150000 --critical-one=200000 --warning-total=300000 --critical-total=600000
résultatWARNING: '/usr/share/centreon/examples/clapi' size is 150.51 KB | '/usr/share/centreon/examples/clapi'=154124B;0:150000;0:200000;0; '/usr/share/centreon/examples'=12075B;0:150000;0:200000;0; 'total'=166199B;0:300000;0:600000;0;
-
inodes
- Vérification des inodes d'un système de fichiers
/usr/lib/centreon/plugins/centreon_linux_local.pl --plugin=os::linux::local::plugin --mode=inodes --name='/var' --warning-usage=70 --critical-usage=80
résultatOK: Inodes partition '/var' Used: 6 % | 'used'=6%;0:70;0:80;0;100
-
list-interfaces
- Lister les interfaces réseaux
/usr/lib/centreon/plugins/centreon_linux_local.pl --plugin=os::linux::local::plugin --mode=list-interfaces
résultatList interfaces:
'eth0' [state = 'RU']
'lo' [state = 'RU']
'wlan0' [state = '']
R indique que l'interface est en mode Running, U indique que l'interface est Up. -
list-partitions
- Lister les partitions disques
/usr/lib/centreon/plugins/centreon_linux_local.pl --plugin=os::linux::local::plugin --mode=list-partitions --filter-name='.*'
résultatList partitions:
'dm-0'
'dm-1'
'dm-2'
'dm-3'
'dm-4'
'dm-5'
'dm-6'
'sda'
'sda1'
'sda2'
'sr0' -
list-storages
- Lister les systèmes de fichiers.
/usr/lib/centreon/plugins/centreon_linux_local.pl --plugin=os::linux::local::plugin --mode=list-storages --filter-type "xfs"
résultatList storages:
Skipping storage '/dev': no matching filter filesystem type
Skipping storage '/dev/shm': no matching filter filesystem type
Skipping storage '/run': no matching filter filesystem type
Skipping storage '/sys/fs/cgroup': no matching filter filesystem type
Skipping storage '/run/user/0': no matching filter filesystem type
'/' [fs = /dev/mapper/centos-root] [type = xfs]
'/boot' [fs = /dev/sda1] [type = xfs]
'/var/cache/centreon/backup' [fs = /dev/mapper/centos-var_cache_centreon_backup] [type = xfs]
'/var/lib/centreon' [fs = /dev/mapper/centos-var_lib_centreon] [type = xfs]
'/var/lib/centreon-broker' [fs = /dev/mapper/centos-var_lib_centreon--broker] [type = xfs]
'/var/lib/mysql' [fs = /dev/mapper/centos-var_lib_mysql] [type = xfs]
'/var/log' [fs = /dev/mapper/centos-var_log] [type = xfs]
-
load
- Vérifier la charge serveur
/usr/lib/centreon/plugins/centreon_linux_local.pl --plugin=os::linux::local::plugin --mode=load --warning=4,3,2 --critical=5,4,3
résultatOK: Load average: 0.14, 0.32, 0.46 | 'load1'=0.14;0:4;0:5;0; 'load5'=0.32;0:3;0:4;0; 'load15'=0.46;0:2;0:3;0;
autre exemple avec la charge par cpu/usr/lib/centreon/plugins/centreon_linux_local.pl --plugin=os::linux::local::plugin --mode=load --average --warning=4,3,2 --critical=5,4,3
résultatOK: Load average: 0.01 [0.04/4 CPUs], 0.06 [0.24/4 CPUs], 0.10 [0.42/4 CPUs] | 'avg_load1'=0.01;0:4;0:5;0; 'avg_load5'=0.06;0:3;0:4;0; 'avg_load15'=0.10;0:2;0:3;0; 'load1'=0.04;0:16;0:20;0; 'load5'=0.24;0:12;0:16;0; 'load15'=0.42;0:8;0:12;0;
-
memory
- Vérifier la mémoire du serveur
/usr/lib/centreon/plugins/centreon_linux_local.pl --plugin=os::linux::local::plugin --mode=memory --warning=70 --critical=80
résultatOK: Ram used (-buffers/cache) 364.20 MB (42.30%), Buffer: 163.65 MB, Cached: 270.22 MB | 'cached'=283348992B;;;0; 'buffer'=171601920B;;;0; 'used'=381886464B;0.00:632002560.00;0.00:722288640.00;0;902860800
-
mountpoint
- Vérifier les points de montage en fonction de certains critères. Par exemple, on vérifie qu'une ISO monté sur un serveur. Attention seul, le seuil critique est fonctionnel.
/usr/lib/centreon/plugins/centreon_linux_local.pl --plugin=os::linux::local::plugin --mode=mountpoint --critical-status='%{options} !~ /rw/i && %{type} !~ /tmpfs/i'
résultat ISO montéCRITICAL: Mount point '/media/cdrom' options are 'ro,relatime' [type: iso9660] |
résultat ISO non-montéOK: All mount points options are ok |
-
ntp
- Vérifier le service de temps (ntp, chrony)
/usr/lib/centreon/plugins/centreon_linux_local.pl --plugin=os::linux::local::plugin --mode=ntp
résultatOK: Number of ntp peers : 4 - All peers are ok | 'peers'=4;;;0; 'offset_194.57.169.1'=5.235ms;;;0; 'stratum_194.57.169.1'=2;;;0; 'offset_37.187.105.73'=2.099ms;;;0; 'stratum_37.187.105.73'=3;;;0; 'offset_37.59.58.17'=5.093ms;;;0; 'stratum_37.59.58.17'=2;;;0; 'offset_5.196.160.139'=6.090ms;;;0; 'stratum_5.196.160.139'=2;;;0;
Pour chrony/usr/lib/centreon/plugins/centreon_linux_local.pl --plugin=os::linux::local::plugin --mode=ntp --command=chronyc
-
open-files
- Vérifier le nombre de fichiers ouverts, exemple pour le user centreon-engine
/usr/lib/centreon/plugins/centreon_linux_local.pl --plugin=os::linux::local::plugin --mode=open-files --filter-username='centreon-engine'
résultatOK: current open files: 44 | 'system.files.open.count'=44;;;0;
-
packet-errors
- Vérifier les erreurs de trames réseaux
/usr/lib/centreon/plugins/centreon_linux_local.pl --plugin=os::linux::local::plugin --mode=packet-errors --name='eth0' --regexp
résultatOK: Interface 'eth0' Packets In Error : 0.00 % (0), Out Discard : 0.00 % (0), Out Error : 0.00 % (0), In Discard : 0.47 % (1) | 'packets_error_in'=0.00%;;;0;100 'packets_discard_out'=0.00%;;;0;100 'packets_error_out'=0.00%;;;0;100 'packets_discard_in'=0.47%;;;0;100
-
paging
- Vérifier le système de pagination
/usr/lib/centreon/plugins/centreon_linux_local.pl --plugin=os::linux::local::plugin --mode=paging
résultatOK: Paging pgfault : 2.03 MB/s, pgmajfault : 0.00 B/s, pgpgin : 0.00 B/s, pgpgout : 17.33 KB/s, pswpin : 0.00 B/s, pswpout : 0.00 B/s | 'pgfault'=2127872B/s;;;0; 'pgmajfault'=0B/s;;;0; 'pgpgin'=0B/s;;;0; 'pgpgout'=17749B/s;;;0; 'pswpin'=0B/s;;;0; 'pswpout'=0B/s;;;0;
-
pending-updates
- Vérifier si des paquets sont en attente de mises à jour, exemple avec les paquets centreon.
/usr/lib/centreon/plugins/centreon_linux_local.pl --plugin=os::linux::local::plugin --mode=pending-updates --filter-package='centreon'
résultatOK: Number of pending updates : 11 | 'total'=11;;;0;
-
process
- Ce mode permet de lister les processus lancés sur le serveur. Avec cet exemple, nous vérifions le processus du moteur de supervision de Centreon.
/usr/lib/centreon/plugins/centreon_linux_local.pl --plugin=os::linux::local::plugin --mode=process --filter-command centengine --critical=1:
résultat OKOK: Number of current processes: 1 | 'nbproc'=1;;1:;0;
résultat KOCRITICAL: Number of current processes: 0 | 'nbproc'=0;;1:;0;
Utilisez l'option verbose pour obtenir le détail des processus afin d'effectuer un filtre./usr/lib/centreon/plugins/centreon_linux_local.pl --plugin=os::linux::local::plugin --mode=process --verbose
résultatOK: Number of current processes: 139 | 'nbproc'=139;;;0;
Process: [command => kacpi_hotplug] [arg => [kacpi_hotplug]] [state => InterruptibleSleep]
Process: [command => hald-addon-acpi] [arg => hald-addon-acpi: listening on acpid socket /var/run/acpid.socket] [state => InterruptibleSleep]
Process: [command => events_power_ef] [arg => [events_power_ef]] [state => InterruptibleSleep]
Process: [command => irqbalance] [arg => irqbalance --pid=/var/run/irqbalance.pid] [state => InterruptibleSleep]
……… -
quota
- Vérifier le système de quota
/usr/lib/centreon/plugins/centreon_linux_local.pl --plugin=os::linux::local::plugin --mode=quota
résultatOK: All quotas are ok | 'data_used_centreon./dev/mapper/vg_poller133-LogVol01'=4096B;;;0; 'inode_used_centreon./dev/mapper/vg_poller133-LogVol01'=1B;;;0; 'data_used_root./dev/mapper/vg_poller133-LogVol01'=16384B;;;0; 'inode_used_root./dev/mapper/vg_poller133-LogVol01'=1B;;;0;
-
storage
- Vérifier l'espace disque
/usr/lib/centreon/plugins/centreon_linux_local.pl --plugin=os::linux::local::plugin --mode=storage --name /var/log --warning-usage=70 --critical-usage=80
résultatOK: Storage '/var/log' Usage Total: 9.72 GB Used: 84.55 MB (0.85%) Free: 9.64 GB (99.15%) | 'used'=88657920B;0:7304289484;0:8347759411;0;10434699264
-
swap
- Vérifier le swap
/usr/lib/centreon/plugins/centreon_linux_local.pl --plugin=os::linux::local::plugin --mode=swap --warning-usage-prct=70 --critical-usage-prct=80
résultatOK: Swap Total: 2.00 GB Used: 776.00 KB (0.04%) Free: 2.00 GB (99.96%) | 'used'=794624B;;;0;2147479552 'free'=2146684928B;;;0;2147479552 'used_prct'=0.04%;0:70;0:80;0;100
-
systemd-sc-status
- Vérifier les services avec systemd
/usr/lib/centreon/plugins/centreon_linux_local.pl --plugin=os::linux::local::plugin --mode=systemd-sc-status --filter-name=centengine.service --critical-total-running=1:
résultat OKOK: Total Running: 1, Total Failed: 0, Total Dead: 0, Total Exited: 0 - Service 'centengine.service' status : loaded/active/running | 'total_running'=1;;1:;0;1 'total_failed'=0;;;0;1 'total_dead'=0;;;0;1 'total_exited'=0;;;0;1
résultat KOCRITICAL: Total Running: 0 | 'total_running'=0;;1:;0;1 'total_failed'=0;;;0;1 'total_dead'=1;;;0;1 'total_exited'=0;;;0;1
-
traffic
- vérifier le trafic réseau, exemple d'une interface 100 Mbps
/usr/lib/centreon/plugins/centreon_linux_local.pl --plugin=os::linux::local::plugin --mode=traffic --warning-in=10 --critical-in=20 --warning-out=10 --critical-out=20 --name=eth0 --units=% --speed=100
résultatOK: Interface 'eth0' status : RU, Traffic In : 1.74Kb/s (0.00%), Traffic Out : 3.05Kb/s (0.00%) | 'traffic_in'=1741.67b/s;0:10000000;0:20000000;0;100000000 'traffic_out'=3046.00b/s;0:10000000;0:20000000;0;100000000
-
uptime
/usr/lib/centreon/plugins/centreon_linux_local.pl --plugin=os::linux::local::plugin --mode=uptime
résultatOK: System uptime is: 1 days | 'uptime'=169089;;;0;
Vous trouverez un exemple de configuration avec ce plugin dans la page suivante Configuration du module centreon_linux_local.pl
1.1a Mode cmd-return
Le mode cmd-return mérite que l'on s'y attarde. Cette commande permet de réaliser des tests en shell. Par exemple, tester la présence d'un fichier ou d'un dossier sur un serveur. On pourra paramétré le message de sortie de la sonde avec une syntaxe que l'on nous allons découvrir ci-dessous. Nous allons débuter par un test de présence d'un dossier. La syntaxe sera la suivante :
/usr/lib/centreon/plugins/centreon_linux_local.pl --plugin=os::linux::local::plugin --mode=cmd-return --command=[commande shell] --command-options=[expression de test] --manage-returns='0,OK,Test réussi#1,CRITICAL,Test non réussi#,UNKNOWN,Erreur dans le test'
Tester la présence d'un fichier sur un système Linux
Nous utiliserons comme commande de test, la commande shell test et comme expression '-d /var/log/centreon' qui va tester la présence du dossier /var/log/centreon. Voici la commande exacte et son résultat :
/usr/lib/centreon/plugins/centreon_linux_local.pl --plugin=os::linux::local::plugin --mode=cmd-return --command=test --command-options='-d /var/log/centreon' --manage-returns='0,OK,Directory /var/log/centreon exist#1,CRITICAL,Directory /var/log/centreon no exist#,UNKNOWN,Command problem'
OK: Directory /var/log/centreon exist | 'code'=0;;;;
Pour tester la présence d'un fichier, on utilisera la commande suivante :
/usr/lib/centreon/plugins/centreon_linux_local.pl --plugin=os::linux::local::plugin --mode=cmd-return --command=test --command-options='-e /root/essai' --manage-returns='0,OK,File /root/essai exist#1,CRITICAL,File /root/essai no exist#,UNKNOWN,Command problem'
CRITICAL: File /root/essai no exist | 'code'=1;;;;
Il est possible de lancer la commande sur un serveur distant grâce à l'option remote. Nous établirons une connexion shh entre le serveur de supervision et le serveur distant. Nous allons prendre la cas d'un test de présence de fichier sur un serveur Linux distant. Comme le moteur de supervision utilise le user centreon-engine, nous allons établir une connexion sécurisée entre les deux serveurs avec le même user. Créez le user centreon-engine au besoin sur le serveur distant. Copier la clé ssh sur celui-ci afin de permettre une connexion ssh sans mot de passe. Il suffira maintenant de lancer cette commande pour exécuter la commande à distance.
/usr/lib/centreon/plugins/centreon_linux_local.pl --plugin=os::linux::local::plugin --mode=cmd-return --command=test --command-options='-e /var/log/centreon-engine/essai' --manage-returns='0,OK,File /var/log/centreon-engine/essai exist#1,CRITICAL,File /var/log/centreon-engine/essai no exist#,UNKNOWN,Command problem' --remote --hostname=172.16.209.232 --ssh-option='-l=centreon-engine'
OK: File /var/log/centreon-engine/essai exist | 'code'=0;;;;
Tester la présence d'un fichier sur un serveur Web
On peut aussi tester la présence d'un fichier sur une page Web avec curl. Cette méthode évite le téléchargement du fichier comme le ferait la commande wget. Voici la commande pour vérifier si un fichier est disponible sur une page Web.
/usr/lib/centreon/plugins/centreon_linux_local.pl --plugin=os::linux::local::plugin --mode=cmd-return --command=curl --command-options='-sfI "http://localhost/test/fichier.mp3"' --manage-returns='0,OK,File exist#22,CRITICAL,File no exist#,UNKNOWN,Command problem'
Présence du fichier
OK: File exist | 'code'=0;;;;
Fichier inexistant
CRITICAL: File no exist | 'code'=22;;;;
Vous avez remarqué que le code de sortie pour l'état CRITICAL n'est pas à 1 mais 22. Le réglage a été possible grâce à la vérification du code de sortie en utilisant la commande suivante après l'exécution de la commande curl.
curl -sfI "http://localhost/test/fichier_manquant.mp3"
# echo $?
22
1.2 Le plugin centreon_linux_local avec l’option remote
L'option remote nous permettra d'utiliser le mode local pour superviser un hôte Linux distant grâce au protocole ssh. Nous aurons besoins d'une clé publique et d'une session utilisateur sur l'hôte distant. La syntaxe des commandes sera identique au mode local, nous devrons rajouter les options pour la connexion SSH comme ci-dessous :
/usr/lib/centreon/plugins/centreon_linux_local.pl --plugin=os::linux::local::plugin --remote --hostname=[IP host linux] --ssh-option='-l=[user ssh]' --mode=[uptime|swap|memory|....]
Pour ajouter d'autres options pour une configuration ssh particulière, ajouter autant de paramètre ssh-option que vous avez de paramètres à ajouter. Voici un exemple :
/usr/lib/centreon/plugins/centreon_linux_local.pl --plugin=os::linux::local::plugin --mode=cpu --remote --ssh-option="-l=nagios" --ssh-option='-p=2203' --ssh-option='-o=UserKnownHostsFile=/dev/null' --ssh-option='-o=StrictHostKeyChecking no' --ssh-option='-o=ConnectTimeout 240' --ssh-option='-q' --ssh-option='-E=/dev/null' --hostname=xxx.xxx.xxx.xxx --warning=70 --critical=80
Plus d'information sur cette page Configuration du module centreon_linux_local.pl option remote
1.3 Le plugin centreon_linux_snmp.pl
Le plugin centreon_linux_snmp.pl sera en partie identique au plugin centreon_linux_local.pl. La différence vient du fait que nous utiliserons le protocole SNMP pour communiquer avec des machines distantes. Quelques modes de supervision ne sont plus accessibles comme files-size, files-date, list-partitions, cmd-return. D'autres sont modifiés comme process devenu processcount et d'autres sont ajoutés comme list-diskpath
/usr/lib/centreon/plugins/centreon_linux_snmp.pl --plugin=os::linux::snmp::plugin --list-mode
....
Modes Available:
arp
cpu
cpu-detailed
disk-usage
diskio
inodes
interfaces
list-diskspath
list-interfaces
list-processes
list-storages
load
memory
processcount
storage
swap
tcpcon
time
udpcon
uptime
Les paramètres requis pour le SNMP V2c seront --snmp-version pour le numéro de version (2 en l'occurrence) et --snmp-community pour le nom de la communauté.
-
arp
- Vérification de la table arp
/usr/lib/centreon/plugins/centreon_linux_snmp.pl --plugin=os::linux::snmp::plugin --mode=arp --hostname=192.168.1.99 --snmp-community=public --snmp-version=2 --critical-duplicate-macaddr=1
résultatOK: total entries 16 - duplicate mac address 0 - duplicate ip address 0 | 'arp.total.entries.count'=16;;;0; 'arp.duplicate.macaddr.count'=0;;0:1;0; 'arp.duplicate.ipaddr.count'=0;;;0;
-
cpu
- Vérification de la charge cpu, moyenne sur la dernière minute. Deux seuils possibles : un seuil sur la charge globale et un seuil sur la charge par core.
/usr/lib/centreon/plugins/centreon_linux_snmp.pl --plugin=os::linux::snmp::plugin --mode=cpu --hostname=192.168.0.190 --snmp-community=public --snmp-version=2 --warning-average=70 --critical-average=90 --warning-core=80 --critical-core=90
résultatOK: 4 CPU(s) average usage is 11.50 % | 'total_cpu_avg'=11.50%;0:70;0:90;0;100 'cpu_0'=6.00%;0:80;0:90;0;100 'cpu_1'=14.00%;0:80;0:90;0;100 'cpu_2'=13.00%;0:80;0:90;0;100 'cpu_3'=13.00%;0:80;0:90;0;100
-
cpu-detailed
- Vérification en détail de la charge cpu, (User, Nice,System, Idle, Wait, Interrupt, SoftIRQ, Steal, Guest, GuestNice)
/usr/lib/centreon/plugins/centreon_linux_snmp.pl --plugin=os::linux::snmp::plugin --mode=cpu-detailed --hostname=192.168.1.99 --snmp-community=public --snmp-version=2 --warning-user=10 --critical-user=20
résultatOK: CPU Usage: Nice 0.00 %, Guest Nice 0.00 %, Interrupt 0.00 %, System 0.95 %, Kernel 0.00 %, Guest 0.00 %, Soft Irq 0.03 %, User 5.49 %, Wait 1.46 %, Idle 91.57 %, Steal 0.51 % | 'nice'=0.00%;;;0;100 'guestnice'=0.00%;;;0;100 'interrupt'=0.00%;;;0;100 'system'=0.95%;;;0;100 'kernel'=0.00%;;;0;100 'guest'=0.00%;;;0;100 'softirq'=0.03%;;;0;100 'user'=5.49%;0:10;0:20;0;100 'wait'=1.46%;;;0;100 'idle'=91.57%;;;0;100 'steal'=0.51%;;;0;100
-
disk-usage
- Vérifier l'espace des systèmes de fichier du serveur. nécessite la directive includeAllDisks 10% dans la configuration SNMP.
/usr/lib/centreon/plugins/centreon_linux_snmp.pl --plugin=os::linux::snmp::plugin --mode=disk-usage --hostname=127.0.0.1 --snmp-community=public --snmp-version=2
résultatOK: All partitions are ok. | 'used_/'=1465647104B;;;0;3598876672 'used_/var'=983289856B;;;0;1791148032
-
diskio
- Vérification des I/O des disques.
/usr/lib/centreon/plugins/centreon_linux_snmp.pl --plugin=os::linux::snmp::plugin --mode=diskio --name=vda --warning-total-write=220000 --critical-total-write=300000 --hostname=192.168.0.190 --snmp-community=public --snmp-version=2
résultatWARNING: All devices [Write I/O : 274.43 KB/s] | 'total_read'=614B/s;;;0; 'total_write'=281011B/s;0:220000;0:300000;0; 'total_read_iops'=0.15iops;;;0; 'total_write_iops'=26.15iops;;;0; 'sum_read_write'=281625B/s;;;0; 'sum_read_write_iops'=26.30iops;;;0; 'read_sda'=204B/s;;;0; 'write_sda'=93670B/s;;;0; 'read_iops_sda'=0.05iops;;;0; 'write_iops_sda'=7.83iops;;;0; 'read_dm-4'=0B/s;;;0; 'write_dm-4'=0B/s;;;0; 'read_iops_dm-4'=0.00iops;;;0; 'write_iops_dm-4'=0.00iops;;;0; 'read_sda1'=0B/s;;;0; 'write_sda1'=0B/s;;;0; 'read_iops_sda1'=0.00iops;;;0; 'write_iops_sda1'=0.00iops;;;0; 'read_sda2'=0B/s;;;0; 'read_iops_sda2'=0.00iops;;;0; 'read_sda5'=204B/s;;;0; 'write_sda5'=93670B/s;;;0; 'read_iops_sda5'=0.05iops;;;0; 'write_iops_sda5'=7.83iops;;;0; 'read_sr0'=0B/s;;;0; 'read_iops_sr0'=0.00iops;;;0; 'read_dm-0'=0B/s;;;0; 'write_dm-0'=0B/s;;;0; 'read_iops_dm-0'=0.00iops;;;0; 'write_iops_dm-0'=0.00iops;;;0; 'read_dm-1'=0B/s;;;0; 'write_dm-1'=0B/s;;;0; 'read_iops_dm-1'=0.00iops;;;0; 'write_iops_dm-1'=0.00iops;;;0; 'read_dm-2'=204B/s;;;0; 'write_dm-2'=93491B/s;;;0; 'read_iops_dm-2'=0.05iops;;;0; 'write_iops_dm-2'=10.32iops;;;0; 'read_dm-3'=0B/s;;;0; 'write_dm-3'=179B/s;;;0; 'read_iops_dm-3'=0.00iops;;;0; 'write_iops_dm-3'=0.17iops;;;0;
Pour limiter le données de performances, vous pouvez utiliser l'option filter-perfdata. Exemple :/usr/lib/centreon/plugins/centreon_linux_snmp.pl--plugin=os::linux::snmp::plugin --mode=diskio --name=sda --warning-total-write=220000 --critical-total-write=300000 --hostname=192.168.0.190 --snmp-community=public --snmp-version=2 --filter-perfdata=total_write
résultatOK: All devices [Read I/O : 837.82 B/s, Write I/O : 189.95 KB/s, Read IOPs : 0.20, Write IOPs : 16.34] - Server overall [R+W I/O : 190.77 KB/s, R+W IOPs : 16.55] - All devices are ok | 'total_write'=194513B/s;0:220000;0:300000;0; 'total_write_iops'=16.34iops;;;0;
Pour rechercher une partition valide utilisez l'option --verbose/usr/lib/centreon/plugins/centreon_plugins.pl --plugin=os::linux::local::plugin --mode=diskio --verbose
extrait du résultat…
Device 'sda' Read I/O : 700.63 B/s, Write I/O : 91.95 KB/s, Read IOPs : 0.12, Write IOPs : 6.88
Device 'dm-4' Read I/O : 0.00 B/s, Write I/O : 0.00 B/s, Read IOPs : 0.00, Write IOPs : 0.00
Device 'sda1' Read I/O : 0.00 B/s, Write I/O : 0.00 B/s, Read IOPs : 0.00, Write IOPs : 0.00
Device 'sda2' Read I/O : 0.00 B/s, Write I/O : skipped (no value(s)), Read IOPs : 0.00, Write IOPs : skipped (no value(s))
Device 'sda5' Read I/O : 700.63 B/s, Write I/O : 91.95 KB/s, Read IOPs : 0.12, Write IOPs : 6.88
Device 'sr0' Read I/O : 0.00 B/s, Write I/O : skipped (no value(s)), Read IOPs : 0.00, Write IOPs : skipped (no value(s))
Device 'dm-0' Read I/O : 0.00 B/s, Write I/O : 0.00 B/s, Read IOPs : 0.00, Write IOPs : 0.00
Device 'dm-1' Read I/O : 377.26 B/s, Write I/O : 0.00 B/s, Read IOPs : 0.09, Write IOPs : 0.00
Device 'dm-2' Read I/O : 323.37 B/s, Write I/O : 91.42 KB/s, Read IOPs : 0.08, Write IOPs : 9.55
Device 'dm-3' Read I/O : 0.00 B/s, Write I/O : 538.95 B/s, Read IOPs : 0.00, Write IOPs : 0.47
La partition valide est le disque vda.
-
inodes
- Vérification des inodes d'un système de fichiers
/usr/lib/centreon/plugins/centreon_linux_snmp.pl --plugin=os::linux::snmp::plugin --mode=inodes --name /var --warning-usage=70 --critical-usage=80 --hostname=192.168.0.190 --snmp-community=public --snmp-version=2
résultatOK: All inode partitions are ok | 'used_/'=28%;0:70;0:80;0;100 'used_/boot'=1%;0:70;0:80;0;100 'used_/dev/shm'=0%;0:70;0:80;0;100 'used_/home'=0%;0:70;0:80;0;100 'used_/run'=1%;0:70;0:80;0;100 'used_/run/lock'=0%;0:70;0:80;0;100 'used_/sys/fs/cgroup'=0%;0:70;0:80;0;100 'used_/tmp'=2%;0:70;0:80;0;100 'used_/var'=5%;0:70;0:80;0;100
Et pour un système de fichiers particulier/usr/lib/centreon/plugins/centreon_linux_snmp.pl --plugin=os::linux::snmp::plugin --mode=inodes --name /var --warning-usage=70 --critical-usage=80 --hostname=127.0.0.1 --diskpath=/var --name --snmp-community=public --snmp-version=2
résultatOK: Inode partition '/var' Used: 5 % | 'used'=5%;0:70;0:80;0;100
-
interfaces
- vérifier le trafic réseau, exemple en utilisant l'id réseau
/usr/lib/centreon/plugins/centreon_linux_snmp.pl --plugin=os::linux::snmp::plugin --mode=interfaces --warning-in-traffic=10 --critical-in-traffic=20 --warning-out-traffic=10 --critical-out-traffic=20 --interface=2 --hostname=192.168.0.190 --snmp-community=public --snmp-version=2 --add-traffic
résultatOK: Interface 'eth0' Traffic In : 5.88Kb/s (0.00%), Traffic Out : 5.66Kb/s (0.00%) | 'traffic_in'=5880.00b/s;0:100000000;0:200000000;0;1000000000 'traffic_out'=5656.00b/s;0:100000000;0:200000000;0;1000000000
Et en utilisant le nom de l'interface/usr/lib/centreon/plugins/centreon_linux_snmp.pl --plugin=os::linux::snmp::plugin --mode=interfaces --warning-in-traffic=10 --critical-in-traffic=20 --warning-out-traffic=10 --critical-out-traffic=20 --interface=eth0 --name --hostname=192.168.0.190 --snmp-community=public --snmp-version=2 --add-traffic
résultatOK: Interface 'eth0' Traffic In : 4.29Kb/s (0.00%), Traffic Out : 4.11Kb/s (0.00%) | 'traffic_in'=4286.00b/s;0:100000000;0:200000000;0;1000000000 'traffic_out'=4106.00b/s;0:100000000;0:200000000;0;1000000000
-
list-diskspath
- Lister les chemins des disques. nécessite la directive includeAllDisks 10% dans la configuration SNMP.
/usr/lib/centreon/plugins/centreon_linux_snmp.pl --plugin=os::linux::snmp::plugin --mode=list-diskspath --hostname=192.168.0.190 --snmp-community=public --snmp-version=2
résultatList disk path:
'/' [id = 1]
'/tmp' [id = 10]
'/home' [id = 11]
'/var' [id = 2]
'/' [id = 3]
'/var' [id = 4]
'/run' [id = 5]
'/dev/shm' [id = 6]
'/run/lock' [id = 7]
'/sys/fs/cgroup' [id = 8]
'/boot' [id = 9] -
list-interfaces
- Lister les interfaces réseaux
/usr/lib/centreon/plugins/centreon_linux_snmp.pl --plugin=os::linux::snmp::plugin --snmp-community=public --snmp-version=2 --hostname=192.168.1.99 --mode=list-interfaces
résultatList interfaces:
'lo' [speed = 10, status = up, id = 1]
'eth0' [speed = 1000, status = up, id = 2] -
list-processes
- Lister les process Linux
/usr/lib/centreon/plugins/centreon_linux_snmp.pl --plugin=os::linux::snmp::plugin --snmp-community=public --snmp-version=2 --hostname=192.168.1.99 --mode=list-processes
résultatList processes:
[name = crond] [path = /usr/sbin/crond] [parameters = -n] [type = application] [pid = 828] [status = runnable]
[name = bioset] [path = ] [parameters = ] [type = operatingSystem] [pid = 443] [status = runnable]
[name = scsi_eh_1] [path = ] [parameters = ] [type = operatingSystem] [pid = 331] [status = runnable]
[name = php-fpm] [path = php-fpm: master process (/etc/opt/rh/rh-php72/php-fpm.conf)] [parameters = ] [type = application] [pid = 1065] [status = runnable]
…….. -
list-storages
- Lister les systèmes de fichiers.
/usr/lib/centreon/plugins/centreon_linux_snmp.pl --plugin=os::linux::snmp::plugin --mode=list-storages --filter-storage-type 'hrStorageFixedDisk' --hostname=192.168.1.99 --snmp-version=2 --snmp-community=public
résultatList storage:
Skipping storage 'Physical memory': no type or no matching filter type
Skipping storage 'Swap space': no type or no matching filter type
Skipping storage 'Virtual memory': no type or no matching filter type
'/' [size = 21464350720B] [id = 31]
'/dev/shm' [size = 1492017152B] [id = 36]
'/run' [size = 1492017152B] [id = 38]
'/sys/fs/cgroup' [size = 1492017152B] [id = 39]
'/boot' [size = 1063256064B] [id = 57]
'/var/log' [size = 10726932480B] [id = 58]
'/var/lib/centreon-broker' [size = 5358223360B] [id = 59]
Skipping storage 'Memory buffers': no type or no matching filter type
'/var/cache/centreon/backup' [size = 5358223360B] [id = 60]
'/var/lib/mysql' [size = 21464350720B] [id = 61]
'/var/lib/centreon' [size = 10726932480B] [id = 62]
'/run/user/0' [size = 104628224B] [id = 63]
Skipping storage 'Cached memory': no type or no matching filter type
Skipping storage 'Shared memory': no type or no matching filter type
-
load
- Vérifier la charge serveur
/usr/lib/centreon/plugins/centreon_linux_snmp.pl --plugin=os::linux::snmp::plugin --mode=load --warning=4,3,2 --critical=5,4,3 --hostname=192.168.1.99 --snmp-community=public --snmp-version=2
résultatOK: Load average: 0.04, 0.09, 0.19 | 'load1'=0.04;0:4;0:5;0; 'load5'=0.09;0:3;0:4;0; 'load15'=0.19;0:2;0:3;0;
-
memory
- Vérifier la mémoire du serveur
/usr/lib/centreon/plugins/centreon_linux_snmp.pl --plugin=os::linux::snmp::plugin --mode=memory --warning-usage-prct=70 --critical-usage-prct=80 --hostname=192.168.1.99 --snmp-community=public --snmp-version=2 --redhat
résultatOK: Ram Total: 2.78 GB Used (-buffers/cache): 684.53 MB (24.05%) Free: 2.11 GB (75.95%), Buffer: 1.17 MB, Cached: 1.94 GB, Shared: 144.41 MB | 'used'=717783040B;;;0;2984034304 'free'=2266251264B;;;0;2984034304 'used_prct'=24.05%;0:70;0:80;0;100 'buffer'=1228800B;;;0; 'cached'=2083500032B;;;0; 'shared'=151420928B;;;0;
L'option redent est nécessaire pour les distributions à base de Red-Hat et avec l'agent SNMP >= 5.7.2-43 -
processcount
- Ce mode permet de lister les processus lancés sur le serveur. Avec cet exemple, nous vérifions le processus du moteur de supervision de Centreon.
/usr/lib/centreon/plugins/centreon_linux_snmp.pl --plugin=os::linux::snmp::plugin --mode=processcount --hostname=192.168.1.99 --snmp-community=public --snmp-version=2 --process-name centengine --critical=1:
résultat OKOK: Number of current processes: 1 | 'nbproc'=1;;1:;0;
résultat KOCRITICAL: Number of current processes: 0 | 'nbproc'=0;;1:;0;
Utilisez l'option top pour obtenir le détail des processus les plus gourmands en ressource/usr/lib/centreon/plugins/centreon_linux_snmp.pl --plugin=os::linux::snmp::plugin --mode=processcount --hostname=192.168.1.99 --snmp-community=public --snmp-version=2 --top
résultatOK: Number of current processes running: 47 | 'nbproc'=47;;;0; 'top_apache2'=269406208B;;;0; 'top_mysqld'=101814272B;;;0;
-
storage
- Vérifier l'espace des systèmes de fichier du serveur. Par défaut, la sonde affiche tous les systèmes de fichiers. Dans l'exemple suivant, le seuil warning est positionné à 50% pour afficher un état warning.
/usr/lib/centreon/plugins/centreon_linux_snmp.pl --plugin=os::linux::snmp::plugin --mode=storage --hostname=192.168.1.99 --snmp-community=public --snmp-version=2 --warning-usage=50 --critical-usage=90
résultatWARNING: Storage '/var' Usage Total: 1.67 GB Used: 935.96 MB (54.79%) Free: 772.21 MB (45.21%) | 'used_/'=1465647104B;0:1799438336;0:3238989004;0;3598876672 'used_/var'=981426176B;0:895574016;0:1612033228;0;1791148032 'used_/run'=13221888B;0:50434048;0:90781286;0;100868096 'used_/dev/shm'=0B;0:126083072;0:226949529;0;252166144 'used_/run/lock'=0B;0:2621440;0:4718592;0;5242880 'used_/sys/fs/cgroup'=0B;0:126083072;0:226949529;0;252166144 'used_/boot'=34001920B;0:123377664;0:222079795;0;246755328 'used_/tmp'=170551296B;0:180604416;0:325087948;0;361208832 'used_/home'=7598080B;0:1873772544;0:3372790579;0;3747545088
Pour vérifier un seul système de fichier/usr/lib/centreon/plugins/centreon_linux_snmp.pl --plugin=os::linux::snmp::plugin --mode=storage --name --regexp --storage=^/var --hostname=192.168.1.99 --snmp-community=public --snmp-version=2 --warning-usage=80 --critical-usage=90
résultatOK: Storage '/var' Usage Total: 1.67 GB Used: 935.98 MB (54.79%) Free: 772.19 MB (45.21%) | 'used'=981446656B;0:1432918425;0:1612033228;0;1791148032
-
swap
- Vérifier le swap
/usr/lib/centreon/plugins/centreon_linux_snmp.pl --plugin=os::linux::snmp::plugin --mode=swap --warning-usage-prct=70 --critical-usage-prct=80 --hostname=192.168.1.99 --snmp-community=public --snmp-version=2
résultatOK: Swap Total: 2.00 GB Used: 776.00 KB (0.04%) Free: 2.00 GB (99.96%) | 'used'=794624B;;;0;2147479552 'free'=2146684928B;;;0;2147479552 'used_prct'=0.04%;0:70;0:80;0;100
-
tcpcon
- Vérifier le nombre de connexions TCP actives.
/usr/lib/centreon/plugins/centreon_linux_snmp.pl --plugin=os::linux::snmp::plugin --mode=tcpcon --hostname=127.0.0.1 --snmp-community=public --snmp-version=2
résultatOK: Total connections: 13 | 'total'=13;;;0; 'con_lastAck'=0;;;0; 'con_closing'=0;;;0; 'con_finWait1'=0;;;0; 'con_finWait2'=0;;;0; 'con_listen'=12;;;0; 'con_timeWait'=6;;;0; 'con_synReceived'=0;;;0; 'con_established'=7;;;0; 'con_closed'=0;;;0; 'con_synSent'=0;;;0; 'con_closeWait'=0;;;0;
Avec cet exemple, nous allons superviser les connexions TCP 5669 liés au broker Central avec un poller distant./usr/lib/centreon/plugins/centreon_linux_snmp.pl --plugin=os::linux::snmp::plugin --mode=tcpcon --hostname=127.0.0.1 --snmp-community=public --snmp-version=2 --service="broker,,established,5669,,,,2:,1:" --filter-perfdata=service_broker
résultat OKOK: Service 'broker' connections: 2 - Total connections: 13 | 'service_broker'=2;2:;1:;0;
résultat KO (poller distant KO)WARNING: Service 'broker' connections: 1 | 'service_broker'=1;2:;1:;0;
résultat KO (cbd central HS)CRITICAL: Service 'broker' connections: 0 | 'service_broker'=0;2:;1:;0;
-
time
- Vérification du décalage de l'heure du serveur par rapport à une base de temps (serveur ntp). Si le paramètre ntp-hostname est omis, on prendra le temps du poller qui supervise. Attention, par défaut c'est l'heure UTC qui est prise en compte.
/usr/lib/centreon/plugins/centreon_linux_snmp.pl --plugin=os::linux::snmp::plugin --mode=time --hostname=192.168.1.99 --snmp-version=2 --snmp-community=public --ntp-hostname=0.europe.pool.ntp.org --warning-offset=-60:60 --critical-offset=-80:80
résultatOK: Time offset 0 second(s) : 2018-07-18T13:54:07 (+0200) | 'offset'=0s;-60:60;-80:80;;
autre exemple en prenant le temps par défaut d'un serveur ayant un problème de synchronisation horaire, le résultat est en état warning.WARNING: Time offset -74 second(s) : 2018-07-18T13:52:12 (+0200) | 'offset'=-74s;-60:60;-80:80;;
-
udpcon
- Vérification les connexions UDP
/usr/lib/centreon/plugins/centreon_linux_snmp.pl --plugin=os::linux::snmp::plugin --mode=udpcon --hostname=192.168.1.99 --snmp-version=2 --snmp-community=public
résultatOK: Total connections: 9 | 'service_total'=9;;;0; 'con_listen'=9;;;0;
-
uptime
- Vérification du temps de fonctionnement système
/usr/lib/centreon/plugins/centreon_linux_snmp.pl --plugin=os::linux::snmp::plugin --mode=uptime --hostname=192.168.1.99 --snmp-community=public --snmp-version=2
résultatOK: System uptime is: 0 days | 'uptime'=8152;;;0;
Vous trouverez un exemple de configuration avec ce lien.
Extrait des nombreux modules de centreon_plugins