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.
– 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.