 |
Monitoring d'un onduleur sous linux
Monitoring d'un onduleur sous linux
Cette page décrit la configuration du monitoring d'un onduleur sous linux.
Les logiciels nécessaire:
- awk, gnuplot pour le tracé de courbes
- ucd-snmp-4.2 pour l'intérrogation de l'onduleur par ce protocole.
Installation:
ucd-snmp-4.2.4.pre1-i386-1rob.tgz
installpkg ucd-snmp-4.2.4.pre1-i386-1rob.tgz
Script check_ups.sh
#!/bin/sh
UPS=$(snmpget 176.134.1.6 public 33.1.3.3.1.3.1 33.1.3.3.1.5.1 \
33.1.4.4.1.5.1 33.1.2.4.0 33.1.2.3.0 | awk '{print $3,$6,$9,$12,$15}')
DATE=`date +%Y%m%d%H%M%S`
echo $DATE $UPS >> /var/cache/via686/ups
une ligne dans crontab pour automatiser la tache:
#appel toute les 5 minutes toutes les heures, jour, mois
*/5 * * * * /$PATH_TO_SCRIPT/check_ups.sh
Exemple de sortie du script:
20030423215522 225 41 22 100 39
20030423220022 225 41 22 100 39
20030423220522 223 41 24 100 37
On retrouve la date, la tension en entrée, la consomation en Watts, la charge de l'onduleur en %, la charge de la batterie en % et l'autonomie restante en mn.
Script d'action en cas de défaut
Ce script est appelé par snmptrapd lorsque ce dernier recoit un trap (défaut) de l'onduleur.
Actuellement, le script:
- envoie un SMS ou email sur mon GSM pour me prévenir d'absence ou retour du réseau EDF.
- regarde l'autonomie de la batterie et si celle-ci passe en dessous de 5 mn remonte la partition /home en lecture seule en vue d'un crash imminant
- remet /home en lecture-écriture lorsque le courant revient.
Script pour gnuplot
#Fichier gnuplotscript_ups
set term png color
set timefmt "%Y%m%d%H%M%S"
set notime
set autoscale xy
set autoscale y2
set size 1,0.5
set data style lp
set xlabel "Time"
set xdata time
#set xtics 14400
set output "upsbat.png"
set ylabel "Autonomie (mn)"
set y2label "Charge batterie (%)"
set grid
set y2tics
set y2range [0:100]
plot "/var/cache/via686/ups" using 1:6 axis x1y1 title 'Autonomie' w li lw 5, \
"/var/cache/via686/ups" using 1:5 axis x1y2 title 'Charge' w li lw 5
set output "ups.png"
set ylabel "Tension entree (V)"
set yrange [100:350]
set y2label "Charge bat & ups (%)"
set y2range [0:100]
set y2tics
plot "/var/cache/via686/ups" using 1:2 axis x1y1 title 'Tension' w li lw 5, \
"/var/cache/via686/ups" using 1:4 axis x1y2 title 'Onduleur' w li lw 5, \
"/var/cache/via686/ups" using 1:5 axis x1y2 title 'Batterie' w li lw 5
exit
sous le shell, un simple gnuplot < gnuplotscript suffit a générer les images
Et voila le résultat:
Warning: filemtime() [function.filemtime]: Stat failed for graph/ups.png (errno=2 - No such file or directory) in /mnt/115/sdb/8/1/pokie2002/linux/check_ups.php on line 92
|
 |