Pour tuer tous les processus d’un utilisateur:
pkill -u login
Installation de Docker via Aptitude:
sudo apt-get update
sudo apt-get install lxc-docker
Installation de Docker via le script d’installation officiel:
wget -O dockerinstall.sh https://get.docker.com
sh ./dockerinstall.sh
Afficher les informations sur la version de Docker installée:
docker version
Obtenir la liste des commandes du client Docker:
docker help
Obtenir de l’aide sur les options d’une commande:
docker help nom_de_la_commande
Connexion à un compte Docker Hub:
docker login
Déconnexion du compte Docker Hub:
docker logout
Récupérer une image sans la lancer:
docker pull nom_de_l_image
Récupération d’une image Ubuntu dans sa dernière version:
docker pull ubuntu:latest
Rechercher une image Nginx avec au moins 5 étoiles:
docker search --stars=5 nginx
Envoyer une image locale sur le registre Docker Hub:
docker push nom_image
Envoyer une image sur un registre privé:
docker push localhost:88/ubuntu
Dépôt de l’image depuis une autre machine (host=starmate):
docker push starmate:5000/ubuntu
Export d’une image sous forme d’archive:
docker save -o fichier.tar nom_image
Import d’une archive d’image:
docker load -i fichier.tar
Démarrer un conteneur arrêté:
docker start nom_image
Redémarrer un conteneur en cours:
docker restart nom_image
Redémarrer un conteneur en spécifiant la période de grâce:
docker restart -t 20 nom_image
Démarrer le conteneur de test Hello World:
docker run hello-world
Démarrer un conteneur en mode interactif:
docker run -i -t ubuntu
Démarrer sans option d’un conteneur:
docker run ubuntu
Démarrer un conteneur avec un nom donné:
docker run --name=nom_donné nom_image
Démarrer un conteneur avec une commande donnée:
docker run nom_de_l_image commande_à_exécuter
Démarrer un conteneur en ajoutant une variable d’environnement:
docker run -e=nom_variable=valeur nom_image
ou
docker run -e nom_variable=valeur nom_image
Démarrer un conteneur en injectant une des variables d’environnement de la machine hôte:
docker run -e=nom_variable image_à_instancier
Démarrer un conteneur en injectant des variables d’environnement stockées dans un fichier:
docker run --env-file=nom_fichier nom_image
Démarrer un conteneur en modifiant son hostname:
docker run -h hostname_voulu
Démarrer un conteneur en montant un dossier dans le conteneur depuis la machine hôte en RO (read only):
docker run -v dossier_sur_hote:dossier_sur_l_image:ro nom_image
Démarrer un conteneur en mode détaché:
docker run -d nom_image
Démarrer un conteneur d’un registre privé en localhost (port 5000 vers 88):
docker run -d --name starmate -p 88:5000 starmate:2.0
Démarrer un conteneur d’un registre privé sur le réseau local (IPhost=starmate dans tous les fichiers hosts):
docker run -d --name starmate -p 5000:5000 starmate:2.0
Démarrer un conteneur du registre privé en réseau local (IPhost= starmate dans tous les fichiers hosts) en montant un dossier local de la machine host:
docker run -d --name starmate -p 5000:5000 -v /dossier_machine_host:/dossier_image_starmate starmate:2.0
Démarrer et supprimer un conteneur dès la sortie du processus:
docker run --rm hello-world
Connexion à un conteneur en tant que root avec bash:
docker exec -u root -it ID_conteneur bash
Supprimer un conteneur arrêté:
docker rm loving_lovelace
Supprimer un conteneur de manière forcée:
docker rm -f nom_conteneur
Supprimer tous les conteneurs:
docker rm `docker ps -a -q`
Supprimer une image:
docker rmi nom_de_l_image
Supprimer plusieurs images:
docker rmi image1 image2 imageN
Arrêter un conteneur:
docker stop nom_image
Envoyer un signal à un conteneur:
docker kill -s code_du_signal nom_image
Lister les conteneurs en cours de fonctionnement:
docker ps
Lister tous les conteneurs:
docker ps -a
Lister les images Docker présentes sur la machine locale:
docker images
Lister les modifications d’un conteneur par rapport à son image de lancement:
docker diff identifiant_du_conteneur
Visualiser les logs d’un conteneur:
docker logs nom_image
Explorer les processus d’un conteneur:
docker top nom_image
Persister l’état d’un conteneur en une nouvelle image:
docker commit identifiant_du_conteneur nom_de_l_image
Tag d’un conteneur:
docker build -t identifiant_du_conteneur starmate:1.0
Modifier le tag d’un conteneur:
docker tag starmate:1.0 starmate:latest
Forcer le tag d’un conteneur (si tag déjà existant):
docker tag -f starmate:1.0 starmate:latest
sudo yum update -y
sudo yum install httpd -y
sudo yum install perl perl-CGI -y
sudo systemctl start httpd.service
sudo systemctl enable httpd.service
Pour cela on va créer un répertoire de test:
mkdir /var/www/test_cgi
vi /var/www/test_cgi/hello.cgi
Et on y ajoute cela:
#!/usr/bin/perl
print "Content-type: text/html\n\n"; # Obligatoire
print "<h2>Hello world!</h2>";
On peux vérifier les modules présent dans la configuration principale d’Apache:
grep -n "LoadModule" /etc/httpd/conf/httpd.conf
Si il n’est pas présent, on va l’ajouter, pour cela on va localiser le module:
find /etc/httpd/modules/ -iname "*cgi*"
Cela devrait nous retourner:
/etc/httpd/modules/mod_cgi.so
Une fois trouvé, on ajoute cette ligne au fichier de configuration d’apache:
LoadModule cgi_module modules/mod_cgi.so
Particularité sur Ubuntu pour activer le module cgi:
sudo a2enmod cgi
sudo service apache2 restart
vi /etc/httpd/conf/httpd.conf
Puis on y ajoute ça:
<Directory "var/www/test_cgi">
Options +ExecCGI
AddHandler cgi-script .cgi .pl
</Directory>
On modifie également cette ligne comme ceci:
ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
qui devient:
#ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
ScriptAlias /test_cgi/ "/var/www/test_cgi/"
chmod 755 hello.cgi
On redémarre Apache:
sudo systemctl restart httpd.service
On peux maintenant tester le script à cette adresse:
Nous allons voir comment permettre à un serveur Centreon de surveiller des ESXi avec le script check_vmware_api.pl.
yum install -y openssl-devel perl-Archive-Zip perl-Class-MethodMaker uuid-perl perl-SOAP-Lite perl-XML-SAX perl-XML-NamespaceSupport perl-XML-LibXML perl-MIME-Lite perl-MIME-Types perl-MailTools perl-TimeDate uuid libuuid perl-Data-Dump perl-UUID cpan libxml2-devel perl-libwww-perl perl-Test-MockObject perl-Test-Simple perl-Monitoring-Plugin perl-Class-Accessor perl-Config-Tiny gcc python perl-Nagios-Plugin
L’installation du « VMware vSphere Perl SDK » est indispensable.
Vous pourrez le télécharger après vous êtes créé un compte VMware.
vSphere SDK for Perl 5.5U2
https://my.vmware.com/web/vmware/details?downloadGroup=SDKPERL552&productId=353
vSphere SDK for Perl 6.0U2
https://my.vmware.com/web/vmware/details?downloadGroup=PERLSDK60U2&productId=610
vSphere Perl SDK 6.5
https://my.vmware.com/web/vmware/details?downloadGroup=VS-PERL-SDK65&productId=614
Une fois téléchargé, on décompresse l’archive et on installe le SDK:
tar xvf VMware-vSphere-Perl-SDK-6.5.0-4566394.x86_64.tar.gz
cd vmware-vsphere-cli-distrib/
perl vmware-install.pl
Perl aura besoin de plusieurs module pour pouvoir exécuter le script check_vmware_api.pl.
Si vous êtes derrière un proxy, il faudra le déclarer avant d’installer les modules:
perl -MCPAN -e shell
o conf init /proxy/
Your ftp_proxy? http://IP:PORT/
Your http_proxy? http://IP:PORT/
Your no_proxy? http://IP:PORT/
Your proxy user id?
o conf commit
On peut maintenant installer nos modules:
perl -MCPAN -e 'install Params::Validate'
perl -MCPAN -e 'install Nagios::Plugin'
perl -MCPAN -e 'install Monitor::Plugin'
perl -MCPAN -e 'install Monitoring::Plugin'
perl -MCPAN -e 'install Math::Calc::Units'
perl -MCPAN -e 'install Config::Tiny'
https://github.com/op5/check_vmware_api
cd /tmp
wget https://github.com/op5/check_vmware_api/archive/master.zip
unzip master.zip
cd check_vmware_api-master/
mv check_vmware_api.pl /usr/lib/nagios/plugins/
/usr/lib/nagios/plugins/check_vmware_api.pl
Usage: check_vmware_api.pl -D <data_center> | -H <host_name> [ -C <cluster_name> ] [ -N <vm_name> ]
-u <user> -p <pass> | -f <authfile>
-l <command> [ -s <subcommand> ] [ -T <timeshift> ] [ -i <interval> ]
[ -x <black_list> ] [ -o <additional_options> ]
[ -t <timeout> ] [ -w <warn_range> ] [ -c <crit_range> ]
[ -V ] [ -h ]
Missing argument: command
Le script fonctionne, nous pouvons donc essayer d’interroger notre ESXi:
/usr/local/nagios/libexec/check_vmware_api.pl -H 192.168.122.64 -u utilisateur -p mot_de_passe -l cpu -s usage
check_esx_vmfs
$USER1$/check_vmware_api.pl -D $HOSTADDRESS$ -u $_HOSTUSERESX$ -p $_HOSTUSERPASSWORD$ -l vmfs -o used -s $_SERVICEDATASTORENAME$ -w $_SERVICEWARNING$ -c $_SERVICECRITICAL$
Vérifie le niveau d’utilisation du datastore
check_esx_cpu
$USER1$/check_vmware_api.pl -H $HOSTADDRESS$ -u $_HOSTUSERESX$ -p $_HOSTUSERPASSWORD$ -l cpu -s usage -w $_SERVICEWARNING$ -c $_SERVICECRITICAL$
Vérifie la charge CPU de l’ESXi – Argument : niveau WARNING et CRITICAL (en %)
check_esx_health
$USER1$/check_vmware_api.pl -H $HOSTADDRESS$ -u $_HOSTUSERESX$ -p $_HOSTUSERPASSWORD$ -l runtime -s health
Vérifie la santé du serveur ESXi
check_esx_issues
$USER1$/check_vmware_api.pl -H $HOSTADDRESS$ -u $_HOSTUSERESX$ -p $_HOSTUSERPASSWORD$ -l runtime -s issues
Vérifie les problèmes du serveur ESXi
check_esx_status
$USER1$/check_vmware_api.pl -H $HOSTADDRESS$ -u $_HOSTUSERESX$ -p $_HOSTUSERPASSWORD$ -l runtime -s status
Vérifie l’état du serveur ESXi
check_esx_mem
$USER1$/check_vmware_api.pl -H $HOSTADDRESS$ -u $_HOSTUSERESX$ -p $_HOSTUSERPASSWORD$ -l mem -s usage -w $_SERVICEWARNING$ -c $_SERVICECRITICAL$
Vérifie la charge mémoire de l’ESXi
check_esx_swap
$USER1$/check_vmware_api.pl -H $HOSTADDRESS$ -u $_HOSTUSERESX$ -p $_HOSTUSERPASSWORD$ -l mem -s swap -w $_SERVICEWARNING$ -c $_SERVICECRITICAL$
Vérifie la charge mémoire de l’ESXi
check_esx_io_read
$USER1$/check_vmware_api.pl -H $HOSTADDRESS$ -u $_HOSTUSERESX$ -p $_HOSTUSERPASSWORD$ -l io -s read -w $_SERVICEWARNING$ -c $_SERVICECRITICAL$
Vérifie les entrées/sorties en lecture de l’ESXi
check_esx_io_write
$USER1$/check_vmware_api.pl -H $HOSTADDRESS$ -u $_HOSTUSERESX$ -p $_HOSTUSERPASSWORD$ -l io -s write -w $_SERVICEWARNING$ -c $_SERVICECRITICAL$
Vérifie les entrées/sorties en écriture de l’ESXi
check_esx_net
$USER1$/check_vmware_api.pl -H $HOSTADDRESS$ -u $_HOSTUSERESX$ -p $_HOSTUSERPASSWORD$ -l net -s usage -w $_SERVICEWARNING$ -c $_SERVICECRITICAL$
Vérifie la charge réseaux de l’ESXi – Argument : niveau WARNING et CRITICAL (en Kbps)
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
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