Nagios : Vautour Style

Vautour Style est un skin pour Nagios Core. Les feuilles de styles et les icônes ont été modifiés pour offrir une présentation différente de l’interface Web de Nagios. Vautour Style utilise le framework javascript jQuery et les icônes Silk icon set de Mark James.

vautour_style1

vautour_style2

vautour_style3

L’installation consiste à extraire le fichier ZIP dans le répertoire contenant les pages Web de Nagios (habituellement, /usr/local/nagios/share/).

Télécharger Vautour Style [115 Ko]

Mise à jour :

  • 26/06/2009 : Ajout du fichier index.php pour les versions 3.1.x de Nagios.
  • 12/10/2009 : Ajout d’une barre de recherche.
  • 04/06/2012 : Prise en compte de la numérotation des pages pour la version 3.4.x de Nagios.
  • 28/10/2012 : Correction d’affichage pour la numérotation des pages.
  • 03/10/2016 :
    • Prise en compte des nouvelles fonctionnalités introduites dans Nagios Core 4.x (map, trends et alert histogram).
    • Réorganisation des items du menu.
    • Utilisation du framework javascript jQuery à la place de MooTools.
    • Corrections mineures des CSS.
  • 28/12/2016 : Correction mineure dans le fichier tac.css.
  • 18/01/2017 : Correction mineure dans le fichier outages.css.
  • 20/02/2021 :
    • Quelques améliorations dans les feuilles de style (common.css, menu.css) et les fichiers HTML associés (menu.html, sidebar.html).
    • Ajout des fichiers menu.php et sidebar.php utilisés maintenant par le fichier index.php (cgi_base_url).
    • Mise à jour du framework javascript jQuery (jquery-3.5.1.min.js)

Supervision d’un onduleur avec Nagios

Le plugin check_snmp_ups permet de superviser l’état d’un onduleur (la source, la température, le niveau et la charge des batteries, la puissance consommée).

Ce plugins Nagios est écrit en Bash et est distribué sous licence GPLv2. Il nécessite en pré-requis, l’installation des utilitaires SNMP (snmpget et snmpwalk) sur votre serveur Nagios : yum install snmp-utils.

check_snmp_ups_1

– Déplacez le plugin check_snmp_ups dans le répertoire contenant les plugins Nagios : mv check_snmp_ups /usr/local/nagios/libexec/
– Rendez le fichier exécutable : chmod +x /usr/local/nagios/libexec/check_snmp_ups
– Modifiez le propriétaire pour ce script : chown nagios:nagios /usr/local/nagios/libexec/check_snmp_ups

Pour vérifier que ce plugin Nagios fonctionne correctement, il vous suffit de l’exécuter : /usr/local/nagios/libexec/check_snmp_ups -H xxx.xxx.xxx.xxx -C public -t battery

L’argument H correspond à l’adresse IP de l’onduleur, C à la communauté SNMP et t au type d’information que vous souhaitez récupérer.  Les valeurs possibles sont : battery, charge, power, source et temperature. En fonction du type d’information, il vous faudra utiliser d’autres arguments tels que w et c pour indiquer les seuils d’alerte. Vous trouverez plus d’informations sur son utilisation en affichant l’aide qui accompagne ce plugin : /usr/local/nagios/libexec/check_snmp_ups -h

Voici quelques exemples d’utilisation :

– Vérifiez l’état des batteries de l’onduleur : ./check_snmp_ups -H xxx.xxx.xxx.xxx -C public -t battery

Battery status : Battery level is ok

– Vérifiez la charge des batteries de l’onduleur : ./check_snmp_ups -H xxx.xxx.xxx.xxx -C public -t charge -w 70 -c 30

Battery level : 100%. Remaining time : 122 minutes | charge=100;70;30;0

– Vérifiez la puissance consommée par l’onduleur : ./check_snmp_ups -H xxx.xxx.xxx.xxx -C public -t power -w 0 -c 0

Output load : 9.62 KWatt | output_power=9622;0;0;0

– Vérifiez la source de l’onduleur : ./check_snmp_ups -H xxx.xxx.xxx.xxx -C public -t source

Output source : Output is filtered

– Vérifiez la température de l’onduleur : ./check_snmp_ups -H xxx.xxx.xxx.xxx -C public -t temperature -w 0 -c 0

Temperature : 22 Degree Celsius | temperature=22;0;0;0

Nous allons maintenant modifier la configuration de Nagios pour superviser un onduleur. Cette partie dépend de l’arborescence de configuration et de l’installation de Nagios dont vous disposez.

– Ajoutez les définitions des objets command : vi /etc/nagios/objects/commands.cfg

define command {
command_name check_ups_battery
command_line $USER2$/check_snmp_ups -H $HOSTADDRESS$ -C $ARG1$ -t battery
}

define command {
command_name check_ups_charge
command_line $USER2$/check_snmp_ups -H $HOSTADDRESS$ -C $ARG1$ -t charge -w $ARG2$ -c $ARG3$
}

define command {
command_name check_ups_power
command_line $USER2$/check_snmp_ups -H $HOSTADDRESS$ -C $ARG1$ -t power -w $ARG2$ -c $ARG3$
}

define command {
command_name check_ups_source
command_line $USER2$/check_snmp_ups -H $HOSTADDRESS$ -C $ARG1$ -t source
}

define command {
command_name check_ups_temperature
command_line $USER2$/check_snmp_ups -H $HOSTADDRESS$ -C $ARG1$ -t temperature -w $ARG2$ -c $ARG3$
}

– Ajoutez la définition de l’objet host pour l’onduleur : vi /etc/nagios/objects/hosts.cfg

define host {
host_name ups
use generic-host
alias Onduleur
address xxx.xxx.xxx.xxx
contact_groups +admin
}

– Ajoutez la définition des objets service pour l’onduleur : vi /etc/nagios/objects/services.cfg

define service {
host_name ups
use generic-service
service_description Batterie
check_command check_ups_battery!public
contact_groups +admin
}

define service {
host_name ups
use generic-service
service_description Charge
check_command check_ups_charge!public!70!30
contact_groups +admin
}

define service {
host_name ups
use generic-service
service_description Puissance
check_command check_ups_power!public!0!0
contact_groups +admin
}

define service {
host_name ups
use generic-service
service_description Source
check_command check_ups_source!public
contact_groups +admin
}

– Rechargez la configuration de Nagios : service nagios reload ou systemctl reload nagios

L’onduleur est maintenant supervisé à l’aide de Nagios.

check_snmp_ups_2

check_snmp_ups_3

Supervision de la réplication d’un annuaire Openldap

Dans cet article, nous allons superviser la synchronisation des annuaires openldap mis en place dans l’article
Mise en place d’un réplicat openldap en mode miroir.

Pour rappel, nous avons deux annuaires ldap-1.be-root.com et ldap-2.be-root.com répliqués à l’aide de syncrepl en mode miroir.

Nous allons mettre en place un processus de supervision sous nagios afin de vérifier qu’aucune désynchronisation entre les annuaires n’est présente.

Tout d’abord nous allons récuperer les sources du plugin check_ldap_syncrepl_status.

wget http://tools.ltb-project.org/attachments/download/152/ltb-project-nagios-plugins-0.3.tar.gz
tar zxf ltb-project-nagios-plugins-0.3.tar.gz
cp ltb-project-nagios-plugins-0.3/check_ldap_syncrepl_status.pl /usr/local/nagios/libexec/
chmod +x /usr/local/nagios/libexec/check_ldap_syncrepl_status.pl

Ce script nécessite les modules perl suivant Getopt::Long, File::Basename, POSIX, Net::LDAP, Date::Manip.
Libre à vous de les installer de la manière qui vous convient (cpan, rpmforge, …).

Vérifier que le script s’exécute correctement à l’aide de la commande :

/usr/local/nagios/libexec/check_ldap_syncrepl_status.pl -h

Nous allons maintenant configurer nagios.

Dans le fichier /etc/nagios/objects/commands.cfg, rajoutons :

define command {
command_name check_ldap_syncrepl_status
command_line $USER1$/check_ldap_syncrepl_status.pl -H $HOSTADDRESS$ -U $ARG1$ -I $ARG2$ -w $ARG3$ -c $ARG4$
}

Dans le fichier /etc/nagios/objects/hosts.cfg :

    define host{
     use linux-server
     host_name ldap-1
     alias Ldap-1
     address xxx.xxx.xxx.xxx
     parents sw-serv-4
    }
    define host{
     use linux-server
     host_name ldap-2
     alias Ldap-2
     address yyy.yyy.yyy.yyy
     parents sw-serv-3
    }

Et pour finir, dans le fichier /etc/nagios/objects/services.cfg :

define service {
        host_name ldap-2
        use generic-service
        service_description Replication SyncRepl
        check_command check_ldap_syncrepl_status!xxx.xxx.xxx.xxx!002!30!60
}

En remplaçant bien évidement les xxx.xxx.xxx.xxx par l’adresse ip de ldap-1.

Le paramètre 002 sur la ligne check_command correspond au Server ID du réplicat définit dans le fichier slapd.conf de ldap-2 :

serverID        2

Il faut cependant indiquer en paramètre 002 et non pas simplement 2.

Le paramètre 30 permet de stipuler qu’en cas de désynchronisation de plus de 30s, alors l’état est à warning.

Le paramètre 60 permet de stipuler qu’en cas de désynchronisation de plus de 60s, alors l’état est à critical.

Il reste ensuite à redémarrer nagios pour prendre en compte les modifications apportées.