background preloader

Bonne pratique developpement plugin nagios

Facebook Twitter

Bonnes Pratiques : comment développer les plugins de supervision Nagios | Blog Centreon. Comme vous le savez, Centreon fournit des plugins pour certains points de contrôle. Cependant, vous utilisez peut-être des équipements sur votre Système d’informations, non connus de l’équipe Centreon, que vous souhaitez superviser. En cherchant sur Internet, vous pourrez trouver un plugin correspondant à votre besoin mais dans certains cas, votre besoin ne sera pas totalement couvert voire pas du tout.

Il vous faudra alors développer votre propre plugin. Pas d’inquiétude ! Cela est tout-à-fait possible et assez simplement, même pour des non-développeurs. L’objectif de cet article est de vous donner les bonnes pratiques du développement de sondes de supervision. Avant de rentrer dans le vif du sujet, un petit rappel s’impose. Codes de retour Une sonde doit renvoyer un code de retour. Hôtes : Services : Message de sortie de la sonde Le message de sortie de la sonde doit faciliter à un utilisateur la compréhension de l’information.

La sonde peut avoir des données de performances. . #! #! 1. Nagios Plugin Development Guidelines. A well written plugin should have --help as a way to get verbose help. Code and output should try to respect the 80x25 size of a crt (remember when fixing stuff in the server room!) Option Processing For plugins written in C, we recommend the C standard getopt library for short options. Getopt_long is always available. For plugins written in Perl, we recommend Getopt::Long module. Positional arguments are strongly discouraged. There are a few reserved options that should not be used for other purposes: -V version (--version) -h help (--help) -t timeout (--timeout) -w warning threshold (--warning) -c critical threshold (--critical) -H hostname (--hostname) -v verbose (--verbose) In addition to the reserved options above, some other standard options are: -C SNMP community (--community) -a authentication password (--authentication) -l login name (--logname) -p port or password (--port or --passwd/--password)monitors operational -u url or username (--url or --username) The -?

Creation d'un plugins pour Nagios. Nous allons dans ce post écrire un plugins (très simple) pour Nagios. Le corps de ce plugins pourra vous servir de base pour réaliser des plugins plus complexes. Suite à un post sur l'installation de Nagios, je me suis penché sur l'écriture d'un plugins permettant de vérifier qu'un processus est bien lancé sur un serveur distant. Voici ce que je l'on attend de notre plugins: Ouvrir une session SSH vers le serveur distantLancement d'un script vérifiant si un processus (testd) est lancéRenvoie de l'état du processus (OK / ERROR / WARNING)OK: Le processus (testd) est lancé et fonctionne correctementERROR: Le processus n'est pas lancéWARNING: Le processus est lancé mais ne fonctionne pas correctement Avant d'entrer dans le vif du sujet, il faut savoir que les plugins Nagios sont de simple "scripts shell" retournant un code de status.

Ces plugins sont localisés dans le répertoire /usr/lib/nagios/plugins (sous Linux) . # vi check_testd #! # vi /usr/local/bin/nagios_testd.pl #! Et enfin: Voili a+