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.
comment affiche tu ces graphiques ?
Les graphiques RRDtool sont générées à partir des données de performances retournées par le plugin.
bonjour
sur mon interface thruk c’est marque no such file or directory alors en ligne de commande les remontés se font malgrés l’erreur /bin/basename: No such file or directory
merci d’avance
Bonjour,
basename est une commande Unix standard placé habituellement dans le répertoire /bin/ (ou /usr/bin/).
Dans ce script, elle permet simplement de récupérer le nom du plugin (check_snmp_ups).
Avec un « whereis basename« , vous pouvez afficher le répertoire où se situe cette commande.
Il suffit ensuite d’éditer le plugin check_snmp_ups :
CMD_BASENAME="/bin/basename"
Cordialement.