E então eu sentado na minha mesa, olhei pro lado e vi meu nobreak, ai lembrei que ele tem uma porta RJ-45 mas nunca parei pra ver, e nessa intensidade de aprendizado com Zabbix coloquei a mão na massa pra monitorar esse cara.
Ai após procurar o cabo RJ-45 para USB que é a comunicação com o Nobreak, procurar o software que funciona no Windows e dar uma olhada, pesquisei e encontrei que possui o software APCUPSD em Linux que possibilita escutar e manipular o nobreak, olhando esse software achei fantástico pois ele simplesmente me trouxe os indicadores que preciso extrair como voltagem, nível da bateria, tempo de vida estimado para acabar a bateria, ultima entrada na bateria, quantidade de vezes de entrada na bateria, etc, ou seja, monte de indicadores essenciais, somente foi necessário criar um script para filtrar as informações, mas ai matamos a charada de como extrair essas informações, subo ele num Linux, subo o agente do Zabbix UserParameter e pronto. Pensou subir num Raspberry PI, ira ficar lindo.
O script, userparameter e template estão disponíveis no GITHUB.
Reforçando a comunicação, o nobreak possui uma porta RJ-45 para comunicação que é convertida na outra ponta para USB, este modelo não comunica via rede, com isso necessito de um SO para comunicação e extração das informações, então o SO ideal é o nosso amigão Linux, ai pensando num Raspberry PI para a função, subi uma VM com 1vCPU, 256ram e 5Gb disco, ficou perfeito com o CentOS7.
O script para extração é simples, abaixo a sintaxe, no caso criei dois filtros, um para extrair numérico e outro caractere, com isso na $1 informar 'num' ou 'char' e $2 o item a ser extraído:
1 |
[root@apc ~] /etc/zabbix/scripts/rs1500.sh char|num ITEM |
1 2 3 4 |
[root@apc ~]# /etc/zabbix/scripts/rs1500.sh char MODEL Back-UPS RS 1500 LCD [root@apc ~]# /etc/zabbix/scripts/rs1500.sh num BCHARGE 100.0 |
Quais indicadores possuímos?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
[root@apc ~]# apcaccess APC : 001,036,0867 DATE : 2016-08-20 21:08:12 -0300 HOSTNAME : apc VERSION : 3.14.12 (29 March 2014) redhat UPSNAME : apc CABLE : USB Cable DRIVER : USB UPS Driver UPSMODE : Stand Alone STARTTIME: 2016-08-20 10:40:25 -0300 MODEL : Back-UPS RS 1500 LCD STATUS : ONLINE NOBATT LINEV : 127.0 Volts LOADPCT : 8.0 Percent BCHARGE : 100.0 Percent TIMELEFT : 36.3 Minutes MBATTCHG : 5 Percent MINTIMEL : 3 Minutes MAXTIME : 0 Seconds SENSE : Medium LOTRANS : 88.0 Volts HITRANS : 139.0 Volts ALARMDEL : No alarm BATTV : 27.1 Volts LASTXFER : No transfers since turnon NUMXFERS : 0 TONBATT : 0 Seconds CUMONBATT: 0 Seconds XOFFBATT : N/A SELFTEST : NO STATFLAG : 0x01000008 SERIALNO : 3B0902X01013 BATTDATE : 2009-01-07 NOMINV : 120 Volts NOMBATTV : 24.0 Volts NOMPOWER : 865 Watts FIRMWARE : 839.H7 .D USB FW:H7 END APC : 2016-08-20 21:08:13 -0300 |
Abaixo o resultado final, achei o ícone do nobreak no mapa lindo, pois é identico ao equipamento: