Bentrovati ragazzi,
iniziamo il 2017 con un articolo interessante sul monitoraggio di un gruppo di continuità APC tramite il sistema di monitoraggio Nagios.
Partiamo dal presupposto che APC fornisce già un software che fa questo per sistemi windows, inoltre sono disponibili le librerie apcupsd installabili sulle più comuni distro Linux.
Oggi partiamo dall’inizio, ovvero dal collegamento di un UPS APC da 1200VA ad un server Debian Jessie.
Dopo aver collegato il cavo in dotazione dal gruppo alla porta usb del server, procediamo con l’installazione del pacchetto apcupsd:
sudo apt-get install -y apcupsd
Installati i pacchetti procediamo con la configurazione. Il file da editare è nella directory /etc/apcusb ed è apcupsd.conf:
Senza soffermarmi su tutte le possibili opzioni configurabili, dobbiamo editare solo le seguenti parti:
UPSNAME nome-ups
UPSCABLE usb
UPSTYPE usb
DEVICE
Il resto può rimanere ai valori di default o a quello che più preferite.
Infine modifichiamo il file /etc/default/apcupsd:
ISCONFIGURED=yes
Riavviamo il servizio con un:
systemctl restart apcupsd.service
Per verificare se tutto è andato per il meglio:
root@myserver # apcaccess status
APC : 001,036,0870
DATE : 2017-01-09 18:36:59 +0100
HOSTNAME : myhostname
VERSION : 3.14.12 (29 March 2014) debian
UPSNAME : ups-test
CABLE : USB Cable
DRIVER : USB UPS Driver
UPSMODE : Stand Alone
STARTTIME: 2017-01-09 17:51:49 +0100
MODEL : Back-UPS RS 1200G
STATUS : BOOST ONLINE
LINEV : 208.0 Volts
LOADPCT : 7.0 Percent
BCHARGE : 100.0 Percent
TIMELEFT : 89.5 Minutes
MBATTCHG : 5 Percent
MINTIMEL : 3 Minutes
MAXTIME : 0 Seconds
SENSE : Medium
LOTRANS : 176.0 Volts
HITRANS : 294.0 Volts
ALARMDEL : 30 Seconds
BATTV : 27.2 Volts
LASTXFER : Low line voltage
NUMXFERS : 0
TONBATT : 0 Seconds
CUMONBATT: 0 Seconds
XOFFBATT : N/A
SELFTEST : NO
STATFLAG : 0x0500000C
SERIALNO : xxxxxxxxxx
BATTDATE : 2016-06-13
NOMINV : 230 Volts
NOMBATTV : 24.0 Volts
NOMPOWER : 720 Watts
FIRMWARE : 877.L4 .I USB FW:L4
END APC : 2017-01-09 18:37:04 +0100
Ok adesso il nostro ups è collegato e consultabile da linea di comando. Andiamo ad inserirlo sotto monitoraggio Nagios.
Per prima cosa, se il server Nagios non è installato sulla stessa macchina fisica è necessario utilizzare NRPE e quindi il check_command remoto (in futuro inserirò una guida su come farlo, ma se vi serve rapido chiedete pure).
Lo script che utilizzo è disponibile sul sito del plugin nagios a questo indirizzo
Lo script già di per se funziona, ma io l’ho personalizzato aggiungendo la funzionalità di check della tensione istantanea: lo potete scaricare qui
Una volta aggiunto nella cartella /usr/lib/nagios/plugin/, rimossa l’estensione .txt e dati i corretti permessi di esecuzione, è possibile testare il check:
/usr/lib/nagios/plugins/check_apc linev
Il sistema restituirà una cosa del genere:
OK – Line Input Voltage: 219.0V
Abbiamo finito, basta semplicemente aggiungere il servizio sotto Nagios ed il gioco è fatto!
Enjoy!