La section linux de pokie

none none none
none pokie

 F@milyNet

 Linux
    Install 8.0
    Install 9.0
    MGE UPS WEB
    UPS check
    ADSL check
    Teamspeak

 Electronique

 Wifi

 Ski

 Liens

none
none none none
none none none
none 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
none
none none none