Étiquette : nagios

8 octobre 2018 /

Pour cela, il nous suffit de créer le fichier contenant le script de la sonde:

vi /usr/lib/nagios/plugins/check_test

Et de mettre cela dedans:

Modèle de service
#!/bin/sh

    ##################################################################
    # Creation: Romain J.
    # Derniere Modification:
    # 
    ##################################################################

    STATE_OK=0
    STATE_WARNING=1
    STATE_CRITICAL=2
    STATE_UNKNOWN=3
    STATE_DEPENDENT=4

    ls -al fichier
    STATE=$?
    if [ "$STATE" = "$STATE_OK" ]
    then
    echo "Fichier OK"
    exit 0
    else
    echo "Fichier pas Ok"
    exit $STATE_CRITICAL
    fi

 

2 juin 2017 /

Pour utiliser la commande check_nrpe du serveur Centreon sur un poste Windows, nous devons installer NSCLIENT++ avec la configuration op5.

 

 

On lance l’installation sur l’hôte Windows à monitorer

 

On va donc choisir « op5 » à la place de « Generic », puis on clique sur « Next »

 

 

On choisit « Complete » puis on clique sur « Next »

 

 

On clique sur « Next »

 

 

On autorise l’adresse ip du serveur Centreon, puis on clique sur « Next »

 

On clique sur « Install »

 

 

On clique sur « FInish »

 

Une fois terminée, la commande check_nrpe du serveur Centreon marchera sur le client Windows.

On peut le vérifier avec cette commande:

/usr/local/nagios/libexec/check_nrpe -H 192.168.122.174

I (0.5.0.62 2016-09-14) seem to be doing fine...

Il faudra toutefois adapter la commande qui sera lancée par check_nrpe pour qu’elle soit « Windows friendly« .

/usr/local/nagios/libexec/check_nrpe -H 192.198.122.174  -c Check_OS_Version -a 'perf-config=*(ignored:true)'

OK: Windows Server 2016 Technical Preview (10.0.14393)

31 mai 2017 /

Pour un hôte Linux

Vérifier où sont situé vos scripts dans nrpe.cfg ( /usr/lib/… ou /usr/lib64/…).

 

Vérifier l’espace disque de  /data:

/usr/lib64/nagios/plugins/check_disk -w 10% -c 5% -p /data

 

Vérifier l’état d’un volume Raid:

/usr/lib/nagios/plugins/check_raid.pl -p mdstat

 

Vérifier la date de modification du fichier /ftp/texte.txt :

/usr/lib64/nagios/plugins/check_file_age -w 86400 -c 129600 -f /ftp/texte.txt

1 heure = 3600 secondes
24 heures = 86400 secondes
36 heures = 129600 secondes
7 jours = 604800 secondes
30 jours = 2592000 secondes
6 mois = 15379200 secondes

 

Vérification de processus:

/usr/lib64/nagios/plugins/check_procs -w 80 -c 95 -m CPU -C httpd
/usr/lib64/nagios/plugins/check_procs -w 1:512 -c 1:1024 -C smbd
/usr/lib64/nagios/plugins/check_procs -c 1:1 -C nmbd

-w 1:512 correspond à Warning si le nombre de processus n’est pas entre 1 et 512.
-c 1:1024 correspond à Critical si le nombre de processus n’est pas entre 512 et  1024.
-c 1:1 correspond à Critical sil n’y a pas 1 processus (au min et au max).

 

Surveillance de la Swap:

/usr/lib64/nagios/plugins/check_swap -w 80% -c 40%

 

APT:

/usr/lib64/nagios/plugins/check_apt

-u = fait un apt-get update avant le lancer le script (lancé par l’utilisateur nagios).
-t 120 = timout de 120 sec (le temps de faire un apt-get update).

 

Mysql:

/usr/lib64/nagios/plugins/check_mysql -uworkey -pworkey

 

File d’attente des courriels:

/usr/lib64/nagios/plugins/check_mailq -w 40 -c 50

 

Pour un hôte Windows

 

Charge CPU

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c CheckCPU -a warn=80 crit=90 time=1m time=5m time=15m

 

%  CPU utilisé

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -c check_pdh -a 'counter:% Processor Used Total=\Processor(_Total)\% Processor Time' 'warning=value>80' 'critical=value>90' 'perf-config=*(suffix:none)'

 

% CPU Libre

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -c check_pdh -a 'counter:% Processor Free Total=\Processor(_Total)\% Idle Time' 'warning=value<20' 'critical=value<10' 'perf-config=*(suffix:none)'

 

RAM utilisée en Mo

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c Check_Memory -a show-all type=physical 'warning=used>1536M' 'critical=used>1792M'

 

RAM utilisée en %

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c Check_Memory -a show-all type=physical 'warning=used>80%' 'critical=used>90%'

 

RAM libre en Mo

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c Check_Memory -a show-all type=physical 'warning=free<512M' 'critical=free<256M'

 

RAM libre en %

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c Check_Memory -a show-all type=physical 'warning=free<20%' 'critical=free<10%'

 

Performance disque Lecture en % de C:\

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -c check_pdh -a 'counter:C: % Read Time=\LogicalDisk(C:)\% Disk Read Time' 'warning=value>50' 'critical=value>75' 'perf-config=*(suffix:none)'

 

Performance disque Lecture en Bits/Sec de C:\

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -c check_pdh -a 'counter:C: Read Bytes/sec=\LogicalDisk(C:)\Disk Read Bytes/sec' 'warning=value>100' 'critical=value>500' 'perf-config=*(suffix:none)'

 

Performance disque écriture en % de C:\

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -c check_pdh -a 'counter:C: % Write Time=\LogicalDisk(C:)\% Disk Write Time' 'warning=value>50' 'critical=value>75' 'perf-config=*(suffix:none)'

 

Performance disque écriture en Bits/Sec de C:\

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -c check_pdh -a 'counter:C: Write Bytes/sec=\LogicalDisk(C:)\Disk Write Bytes/sec' 'warning=value>100' 'critical=value>500' 'perf-config=*(suffix:none)'

 

File d’attente IO sur C:\

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -c check_pdh -a 'counter:C: Queue Length=\LogicalDisk(C:)\Current Disk Queue Length' 'warning=value>10' 'critical=value>20' 'perf-config=*(suffix:none)'

 

Nombre d’IO par Seconde sur C:\

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -c check_pdh -a 'counter:C: Split IO/sec=\LogicalDisk(C:)\Split IO/sec' 'warning=value>10' 'critical=value>20' 'perf-config=*(suffix:none)'

 

Espace libre en Go sur C:\

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c check_drivesize -a drive=C: 'warning=free<10G' 'critical=free<5G' show-all 'perf-config=*(unit:G)' detail-syntax='{${drive_or_name} ${free} free / ${size} total}' top-syntax='${status}: ${problem_list}'

 

Espace libre en % sur C:\

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c check_drivesize -a drive=C: 'warning=free<20%' 'critical=free<10%' show-all 'perf-config=*(unit:G)' detail-syntax='{${drive_or_name} ${free_pct}% free / ${size} total}' top-syntax='${status}: ${problem_list}'

 

Espace libre en Go sur tous les disques

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c check_drivesize -a 'warning=free<10G' 'critical=free<5G' show-all 'perf-config=*(unit:G)' detail-syntax='{${drive_or_name} ${free} free / ${size} total}' top-syntax='${status}: ${problem_list}'

 

Espace libre en % sur tous les disques

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c check_drivesize -a 'warning=free<20%' 'critical=free<10%' show-all 'perf-config=*(unit:G)' detail-syntax='{${drive_or_name} ${free_pct}% free / ${size} total}' top-syntax='${status}: ${problem_list}'

 

Espace libre en Go sur tous les disques sauf disquette et CDROM

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c check_drivesize -a "filter=type in ('fixed')" exclude='System Reserved' 'warning=free<10G' 'critical=free<5G' show-all 'perf-config=*(unit:G)' detail-syntax='{${drive_or_name} ${free} free / ${size} total}' top-syntax='${status}: ${problem_list}'

 

Espace libre en % sur tous les disques sauf disquette et CDROM

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c check_drivesize -a "filter=type in ('fixed')" exclude='System Reserved' 'warning=free<20%' 'critical=free<10%' show-all 'perf-config=*(unit:G)' detail-syntax='{${drive_or_name} ${free_pct}% free / ${size} total}' top-syntax='${status}: ${problem_list}'

 

Espace libre en Go sur tous les disques sauf E:\

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c check_drivesize -a exclude='E:\' 'warning=free<10G' 'critical=free<5G' show-all 'perf-config=*(unit:G)' detail-syntax='{${drive_or_name} ${free} free / ${size} total}' top-syntax='${status}: ${problem_list}'

(pour deux disques: exclude=’E:\’ exclude=’P:\’)

 

Espace libre en Go sur tous les disques sauf disquette, CDROM et  E:\

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c check_drivesize -a "filter=type in ('fixed')" exclude='System Reserved' exclude='E:\' 'warning=free<10G' 'critical=free<5G' show-all 'perf-config=*(unit:G)' detail-syntax='{${drive_or_name} ${free} free / ${size} total}' top-syntax='${status}: ${problem_list}'

(pour deux disque=> exclude=’E:\’ exclude=’P:\’)

 

Espace libre en % sur tous les disques sauf E:\

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c check_drivesize -a exclude='E:\' 'warning=free<20%' 'critical=free<10%' show-all 'perf-config=*(unit:G)' detail-syntax='{${drive_or_name} ${free_pct}% free / ${size} total}' top-syntax='${status}: ${problem_list}'

(pour deux disque=> exclude=’E:\’ exclude=’P:\’)

 

Espace libre en %   sur tous les disques sauf disquette, CDROM et E:\

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c check_drivesize -a exclude='E:\' "filter=type in ('fixed')" exclude='System Reserved' 'warning=free<20%' 'critical=free<10%' show-all 'perf-config=*(unit:G)' detail-syntax='{${drive_or_name} ${free_pct}% free / ${size} total}' top-syntax='${status}: ${problem_list}'

(pour deux disque=> exclude=’E:\’ exclude=’P:\’)

Espace utilisé en Go sur C:\

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c check_drivesize -a drive=C: 'warning=used>50G' 'critical=used>100G' show-all 'perf-config=*(unit:G)' detail-syntax='{${drive_or_name} ${used} used / ${size} total}' top-syntax='${status}: ${problem_list}'

 

Espace utilisé en % sur C:\

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c check_drivesize -a drive=C: 'warning=used>80%' 'critical=used>90%' show-all 'perf-config=*(unit:G)' detail-syntax='{${drive_or_name} ${used_pct}% used / ${size} total}' top-syntax='${status}: ${problem_list}'

 

Espace utilisé en Go sur tous les disques

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c check_drivesize -a 'warning=used>50G' 'critical=used>100G' show-all 'perf-config=*(unit:G)' detail-syntax='{${drive_or_name} ${used} used / ${size} total}' top-syntax='${status}: ${problem_list}'

 

Espace utilisé en Go sur tous les disques sauf disquette et cdrom

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c check_drivesize -a "filter=type in ('fixed')" exclude='System Reserved' 'warning=used>50G' 'critical=used>100G' show-all 'perf-config=*(unit:G)' detail-syntax='{${drive_or_name} ${used} used / ${size} total}' top-syntax='${status}: ${problem_list}'

 

Espace utilisé en % sur tous les disques

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c check_drivesize -a 'warning=used>80%' 'critical=used>90%' show-all 'perf-config=*(unit:G)' detail-syntax='{${drive_or_name} ${used_pct}% used / ${size} total}' top-syntax='${status}: ${problem_list}'

 

Espace utilisé en % sur tous les disques sauf disquette et cdrom

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c check_drivesize -a "filter=type in ('fixed')" exclude='System Reserved' 'warning=used>80%' 'critical=used>90%' show-all 'perf-config=*(unit:G)' detail-syntax='{${drive_or_name} ${used_pct}% used / ${size} total}' top-syntax='${status}: ${problem_list}'

 

Nombre de fichier dans C:\Repertoire

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c check_files -a path='C:\\Repertoire' pattern=*.* 'warning=count>500' 'critical=count>1000' top-syntax='${status}: ${problem_count}/${count} files' 'empty-state=ok'

 

Vérifie si au moins un fichier à une taille supérieure à 500Mo dans C:\, critique si oui

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c check_files -a path='C:\\' pattern=*.* 'filter=size gt 500M' 'critical=count>0' 'detail-syntax=%(filename): %(size)' 'empty-state=ok'

 

Vérifie la présence du fichier C:\test (il ne doit pas être vide)

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c check_files -a path='C:\\' pattern='test*' max-depth=1 'critical=count<1' 'empty-state=critical'

 

Vérifier la présence du répertoire C:\Users

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -c check_files -a file="c:\\" "max-depth=2" "filter=filename='Users'" "critical=count<1" "empty-state=CRITICAL" "empty-syntax=CRITICAL - Cannot find folder Users"

 

Vérifie que les fichiers dans C:\Repertoire ont été modifié depuis moins de deux heures

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c check_files -a path='C:\\Repertoire' pattern=*.* 'filter=written > -2h' 'critical=count<1' 'empty-state=critical'

 

Vérifie que les fichiers dans C:\Repertoire ont été modifié depuis plus de deux heures

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -c check_files -a path='C:\\Repertoire' pattern=*.* 'filter=written < -2h' 'critical=count>0' top-syntax='${status}: ${problem_count}/${count} files' 'empty-state=ok'

 

Particularité « path= » et « pattern= »:

Si vous vouliez seulement spécifier un fichier:
path='C:\\test.txt'

Mais si il est possible que le fichier n’existe pas, on utilisera alors « pattern= ».

path='C:\\' pattern='test.txt'

 

Surveillance de la carte réseau en Bits reçu par sec

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -c check_pdh -a 'counter:Bytes Received/sec=\Network Interface(Intel[R] PRO_1000 MT Network Connection)\Bytes Received/Sec' 'warning=value>786432000' 'critical=value>943718400' 'perf-config=*(suffix:none)'

 

Surveillance de la carte réseau en Bits envoyé par sec

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -c check_pdh -a 'counter:Bytes Sent/sec=\Network Interface(Intel[R] PRO_1000 MT Network Connection)\Bytes Sent/Sec' 'warning=value>786432000' 'critical=value>943718400' 'perf-config=*(suffix:none)'

 

Nombre de paquet envoyé en erreur par la carte réseau

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -c check_pdh -a 'counter:Packets Outbound Errors=\Network Interface(Intel[R] PRO_1000 MT Network Connection)\Packets Outbound Errors' 'warning=value>0' 'critical=value>0' 'perf-config=*(suffix:none)'

 

Nombre de paquet reçu en erreur par la carte réseau

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -c check_pdh -a 'counter:Packets Received Errors=\Network Interface(Intel[R] PRO_1000 MT Network Connection)\Packets Received Errors' 'warning=value>0' 'critical=value>0' 'perf-config=*(suffix:none)'

 

Nombre de paquet envoyé en erreur par la carte réseau et jeté (discarded)

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -c check_pdh -a 'counter:Packets Outbound Discarded=\Network Interface(Intel[R] PRO_1000 MT Network Connection)\Packets Outbound Discarded' 'warning=value>0' 'critical=value>0' 'perf-config=*(suffix:none)'

 

Nombre de paquet reçu en erreur par la carte réseau et jeté (discarded)

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -c check_pdh -a 'counter:Packets Received Discarded=\Network Interface(Intel[R] PRO_1000 MT Network Connection)\Packets Received Discarded' 'warning=value>0' 'critical=value>0' 'perf-config=*(suffix:none)'

 

Version Windows de l’OS

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -c Check_OS_Version -a 'perf-config=*(ignored:true)'

 

File d’attente de l’imprimante « Microsoft XPS Document Writer »

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -c CheckCounter -a 'Counter:XPS Document Writer=\Print Queue(Microsoft XPS Document Writer)\Jobs' MaxWarn=5 MaxCrit=15 ShowAll

 

Uptime, critique si plus d’un jour

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c Check_Uptime -a show-all 'warning=uptime>1d' 'critical=uptime>1d'

 

Uptime, critique si moins d’un jour

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c CheckUpTime -a MinCrit=1d

 

Surveillance de l’activité du service Spooler, critique si il n’est pas démarré

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c check_service -a 'service=spooler'

 

Surveillance de l’arrêt du service Spooler, critique si il est  démarré

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c check_service -a 'service=spooler' "ok= state = 'stopped'" "warning=not state = 'stopped'" "critical=not state = 'stopped'" "perf-config=*(ignored:true)"

 

Vérifie si tous les services activés au demarrage sont bien démarré

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c check_service

 

Vérifie si les services activé au demarrage sont bien démarré, sauf le service spooler

/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c check_service -a exclude=Spooler

24 décembre 2015 /

A chaque nouvelle mise à jour de packages dell-openmanage sur linux, la sonde nagios check-openmanage ne fonctionne plus, cela est dû à la présence de sémaphores.

Pour résoudre le problème:

chkconfig dsm_sa_ipmi on
service nrpe stop
for i in `ipcs -a | grep -i nagios | awk '{print $2}'`; do ipcrm -s $i; done
for i in dsm_om_shrsvc dsm_om_connsvc dataeng dsm_sa_ipmi; do service $i
stop; done
for i in dsm_sa_ipmi dataeng dsm_om_connsvc dsm_om_shrsvc; do service $i
start; done
service nrpe start