Script munin pour onduleur Belkin

Script munin pour onduleur Belkin

Pour le serveur j’ai installé un onduleur afin de limiter les problèmes provenant de l’alimentation.

Celui ci dispose bien entendu d’un logiciel de surveillance: le Belkin Power Management Software afin d’ arrêter proprement le serveur en cas de coupure de courant. Le script de surveillance régulièrement  consulter l’état de l'[search]onduleur [/search]et stocke les informations dans le fichier: /etc/belkin/belkin.q1

On a tout ce qu’il faut pour « monitorer » le fonctionnement de l'[search]onduleur [/search]avec quelques [search]plugins Munin[/search]:

Fréquence de fonctionnement

le premier surveille la fréquence du l’alimentation secteur,  je n’ai jamais vu bouger le 50Hz d’edf!

#!/bin/bash

#ceci est un fichier qui contient les infos des senseurs: on en profite!
BELKINFILE=/etc/belkin/belkin.q1

if [ "$1" = "autoconf" ]; then
        if [ -n "${BELKINFILE}" ] ; then
		echo yes
		exit 0
	else
		echo no
		exit 1
	fi
fi

if [ "$1" = "config" ]; then
        echo 'graph_title Belkin utility frequency '
        echo 'graph_args --base 1000 -l 0'
        echo 'graph_vlabel W'
        echo 'graph_category Belkin'
        echo 'v2.label UPSLOAD'
        echo 'ups_frequency.label main frequency'
        exit 0
fi

#V2=$( cut -d\  -f8 "$BELKINFILE" )
freq=$( cut -d\  -f5 "$BELKINFILE" )
echo "ups_frequency.value ${freq}"
Une Jolie Constante!

Charges de l’onduleur

Le second donne des informations un peu plus intéressantes: la consommation des appareils branchés sur l’onduleur, et la charge de la batterie, les unité sont un peu étrange je n’ai pas réussi à faire de corrélation très propre mais l’unité de puissance correspondrait à environ 5W et pour la batterie çà serait sa tension…

Enfin bref le plugin:

#!/bin/bash

#ceci est un fichier qui contient les infos des senseur: on en profite!
BELKINFILE=/etc/belkin/belkin.q1

if [ "$1" = "autoconf" ]; then
        if [ -n "${BELKINFILE}" ] ; then
		echo yes
		exit 0
	else
		echo no
		exit 1
	fi
fi

if [ "$1" = "config" ]; then
        echo 'graph_title Belkin Load'
        echo 'graph_args --base 1000 -l 0'
        echo 'graph_vlabel W'
        echo 'graph_category Belkin'
        echo 'load.label UPS LOAD'
        echo 'load.warning 8:13'
        echo 'load.critical 7:14'
        echo 'battery.warning 10:'
        echo 'battery.critical 7:'
        echo 'battery.label battery'
        exit 0
fi

#if [ -n "${BELKINFILE}" ] ; then
  V1=$( cut -d\  -f4 "$BELKINFILE" )
  V2=$( cut -d\  -f6 "$BELKINFILE" )
#fi
echo "load.value ${V1}"
echo "battery.value ${V2}"
Enfin des informations pertinantes sans echelle ni unité!

La température

Le troisième script donne des informations sur la température de l’onduleur enfin en théorie car je ne l’ai jamais vu bouger quelque soit la température de la pièce!

#!/bin/sh

#ceci est un fichier qui contient les infos des senseur: on en profite!

BELKINFILE=/etc/belkin/belkin.q1

if [ "$1" = "autoconf" ]; then
        if [ -n "${BELKINFILE}" ] ; then
		echo yes
		exit 0
	else
		echo no
		exit 1
	fi
fi

if [ "$1" = "config" ]; then
        echo 'graph_title Belkin Temperature'
        echo 'graph_args --base 1000 -l 0'
        echo 'graph_vlabel °C'
        echo 'graph_category Belkin'
        echo 'temp.label UPS Temp'
        exit 0
fi

V1=$( cut -d\  -f7 "$BELKINFILE" )
echo "temp.value ${V1}"
Encore une jolie constante

Les Tensions

Et le dernier script qui surveille les tentions d’entré de sortie et une troisième dont je n’ai pas trouvé la signification:

#!/bin/bash
#ceci est un fichier qui contient les informations des senseurs: on en profite!

BELKINFILE=/etc/belkin/belkin.q1

if [ "$1" = "autoconf" ]; then
        if [ -n "${BELKINFILE}" ] ; then
		echo yes
		exit 0
	else
		echo no
		exit 1
	fi
fi

if [ "$1" = "config" ]; then
        echo 'graph_title Belkin Utility Voltage'
        echo 'graph_args --base 1000 -l 0'
        echo 'graph_vlabel V'
        echo 'graph_category Belkin'
#on met une echelle entre 200 et 270
        echo 'graph_scale no'
        echo 'graph_args --upper-limit 270 -l 200'
#descrition des senseurs
        echo ups_input_voltage.label UPS input Voltage
        echo ups_output_voltage.label UPS output Voltage
        echo ups_v3_voltage.label UPS V3 Voltage
#        echo ups_frequency.label UPS Frequency
        echo 'ups_input_voltage.warning 210:250'
        echo 'ups_input_voltage.critical 200:260'
        exit 0
fi

V1=$( cut -d\  -f1 "$BELKINFILE" | cut -d\( -f2)
V2=$( cut -d\  -f2 "$BELKINFILE" )
V3=$( cut -d\  -f3 "$BELKINFILE" )
freq=$( cut -d\  -f5 "$BELKINFILE" )
echo "ups_input_voltage.value ${V1}"
echo "ups_output_voltage.value ${V2}"
echo "ups_v3_voltage.value ${V3}"
comme on peut le voir le 220V-240V d' EDF c'est large et non constant!

Et le résultat en images:

Et voila le résultat en temps réel.

(ces scripts sont fournis en Licence GNU-GPL)