Nagios Plugins

Point de départ de ce que j’espère être à terme une référence des plugins officiels dans un premier temps. L’idée est de constituer une page par plugin et de reprendre l’aide du plugin ainsi que des définitions de commande génériques et spécialisées.

A la différence de beaucoup d’autres outils de supervision, Nagios ne dispose pas de mécanisme interne pour vérifier l’état d’un service, d’un hôte, etc. A la place, il utilise des programmes externes (appelés plugins). Nagios exécute un plugin dès qu’il a besoin de tester un service ou un hôte qui est supervisé. Les plugins font ce qu‘il faut pour exécuter le contrôle et ensuite envoient simplement le résultat à Nagios. Nagios analyse le résultat reçu du plugin et prend les mesures nécessaires (déclenchements de notifications, d’actions…)

Les plugins sont des programmes bien séparés de Nagios, ils peuvent contrôler une ressource ou un service local ou distant. Les plugins sont des programmes exécutables ou scripts (perl, shell, etc..) qui peuvent être lancés depuis une ligne de commande pour tester un hôte ou un service. Nagios utilise le résultat de cette action pour déterminer le statut des hôtes ou services sur le réseau. Pour Nagios peu importe ce que fait un plugin, seul le résultat compte.

Grâce à cette architecture, vous pouvez contrôler n’importe quoi, du moment que vous y pensez. Si vous pouvez automatiser le processus de contrôle de quelque chose, vous pouvez le superviser avec Nagios. Nagios ne peut rien faire sans plugin, toute les vérifications sont faites à l‘aide d‘un plugin. Il existe déjà de nombreux plugins, mais aucun n‘est fourni avec Nagios lorsqu‘on le télécharge.

Les plugins permettent aux utilisateurs de développer facilement leurs propres vérifications de services. En effet, il est très facile de développer un plugin qui surveille un service spécifique.

Les règles de développement des plugins Nagios sont disponibles à l‘adresse suivante : http://nagiosplug.sourceforge.net/developer-guidelines.html. Un plugin peut être développé dans n‘importe quel langage de programmation (C, shell, perl, …).

Plugins distants

Les plugins distants permettent à Nagios d’interroger directement à distance 1) des services exposées publiquement comme HTTP, SSH, SMTP, TELNET … Appartiennent à cette catégorie:

Parmi les plugins distants, trois sont à distinguer car ils ne contrôlent pas directement de services comme les autres mais permettent d’interroger à distance les ressources locales d’un hôte via NRPE, SNMP ou SSH; ce sont:

Plugins locaux

Les plugins locaux, au contraire des plugins distants, sont des contrôles qui doivent être faits localement et dont le résultat doit être transporté à Nagios. Ils servent à contrôler les ressources attachées à un hôte comme les disques durs, les processus, la mémoire, la charge système… Appartiennent à cette catégorie de plugins:

By monitoring-fr.org

Quelques plugins basique et mal écrit pour le moment mais qui font le job. Ces commandes 2) peuvent être facilement transformés en plug-in “propre” grâce au plugin check_generic.

check_uptime

Vérifie depuis combien de temps une machine unix/linux est démarré.

#/bin/sh
 
# Version 0.4 du 2010-02-26 
# permet d'avoir les PerfsData sous PNP ( lorsque le pc est allumé au moins une journée...)
DayUp=`uptime |grep day | awk '{print $3}'`
 
echo "`uptime | awk -F " " '{print $2" "$3" "$4" "$5}'` |Day_Up=$DayUp"
exit 0

check_lastuser

Vérifie qui est le dernier utilisateur qui s’est connecté et son adresse ip

#!/bin/sh
 
# Version 0.1 du 2007-06-30
 
last | tac | tail -n 1
exit 0

check_dir_size

Vérifier la taille occupée par un répertoire sur un disque/partition windows : check_dir_size

1)
sans avoir d’agent à installer sur l’hôte
2)
ce sont plutôt des commandes que des plug-ins
nagios/plugins/start.txt · Dernière modification: 02/03/2017 15:41 (modification externe)
CC Attribution-Noncommercial-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0