====== APC UPS ====== Certains "onduleurs" APC (APC UPS) peuvent être connectés à un ordinateur pour discuter. Cela est très utile pour par exemple éteindre un serveur si le niveau de batterie devient trop faible lors d'une coupure de courant qui s'éternise. ===== Depuis Linux ===== Il y a un outil, ''apcupsd'' (disponible directement dans la plupart des distributions) qui permet de discuter avec ces "onduleurs" et de réagir. Par défaut lors de l'installation sous Debian, le paquet lance le daemon avec des options raisonnables. On peut aussi, sur la machin à laquelle est connectée la bête, faire tourner le daemon en mode serveur pour pouvoir y accéder depuis d'autres machines (et ainsi, les faire réagir en cas de nécessité). Pour lire les informations : /sbin/apcaccess status ==== Lire la puissance instantanée délivrée par l'onduleur ==== L'onduleur Back-UPS RS 900G ne fournit qu'un pourcentage de charge via acpaccess. Pour un onduleur de 540 W de puissance nominale, on peut donc avoir la puissance instantanée avec la commande : apcaccess status | awk 'NR==13{print $3*5.4}' Ne pas oublier d'ajuster le 5.4 en fonction du nominal de l'onduleur… ==== Graphiques ==== Il y a aussi moyen de remonter pas mal d'informations comme par exemple la consommation instantanée. Une personne a écrit un petit script tout simple qui pose les informations choisies dans une base de donnée rrd et génère quelques graphiques sympa : https://github.com/fld/graph-apcupsd Notes de mise en place (il n'y a pas besoin de cgi pour les graphs seuls, c'est uniquement pour mettre en place également la partie disponible via apcupsd) : sudo apt install apcupsd sudo systemctl disable apcupsd.service sudo systemctl stop apcupsd.service sudo adduser apc sudo passwd -l apc sudo apt install git rrdtool sudo -u apc -H -s cd git clone https://github.com/fld/graph-apcupsd.git rrdtool create graph-apcupsd.rrd --step '60' 'DS:LINEV:GAUGE:120:0:300' 'DS:LOADPCT:GAUGE:120:0:300' 'DS:OUTPUTV:GAUGE:120:0:300' 'DS:ITEMP:GAUGE:120:0:128' 'DS:BATTV:GAUGE:120:0:50' 'DS:NUMXFERS:DERIVE:120:0:U' 'DS:TONBATT:GAUGE:120:0:U' 'RRA:LAST:0.5:1:5256000' cd graph-apcupsd nano cron-apcupsd.sh => ajuster la ligne status avec l'adress/port et le path base rrd, et les infos à remonter si besoin chmod +x cron-apcupsd.sh (pour tester) ./cron-apcupsd.sh -d ./cron-apcupsd.sh nano graph-apcupsd.sh => ajuste les path rrd_location et rrd_graphdir ainsi que lwmult et kwhmult et les variables remontées si changé dans le cron chmod +x graph-apcupsd.sh ./graph-apcupsd.sh crontab -e => */1 * * * * /home/apc/graph-apcupsd/cron-apcupsd.sh Attention, la page générée télécharge jquery. On peut vouloir le télécharger et le fournir directement (plus propre) Attention, il semblerait que le remplissage de la base de données doive être fait à la seconde exacte (00) lorsqu'on lance le script à la main. Un moyen simple de générer les graph en même temps que d'ouvrir un tunnel SSH pour les consulter : ssh -L 1234:127.0.0.1:8088 monitoring sh -c '/home/apc/graph-apcupsd/graph-apcupsd.sh; cd /dev/shm/apcsite; python3 -m http.server 8088 || read'