量化感知一切IT设备: 使用脚本监控PDU

PDU: Power Distribution Unit 电源分配单元

在REMS2的实施过程中,我们遇到了这样的需求:
客户需要监控很多台PDU的指标,所使用的PDU有一个WEB访问接口,输入用户名和口令后可以进行PDU的远程操作和状态查看. PDU并没有SNMP服务之类功能.

该类型PDU能够提供4个监控指标: 电流,电压,功率,温度.
思路:
在Script中模拟浏览器访问(模拟用户名口令输入,查看指标页面), 对于获取到的HTML代码使用python进行处理.

效果:
$ ./mon_pdu.py -h

 

Usage: mon_pdu.py [options]

 

 

Options:
-h, –help show this help message and exit
-H HOST, –host=HOST pdu admin address
-p PORT, –port=PORT pdu admin port
-u USER, –user=USER pdu admin username
-P PASSWORD, –passwd=PASSWORD
pdu admin password
-i INDEX, –index=INDEX
return value using index

该python脚本接收5个参数, 分别是pdu的ip地址,管理端口(默认是80),用户名,口令和一个序号(0: 电流, 1: 电压, 2: 功率, 3: 温度)

监控温度:

./mon_pdu.py -H 192.168.0.109 -p 80 -u admin -P admin -i 3
0.0
监控功率:
./mon_pdu.py -H 192.168.0.109 -p 80 -u admin -P admin -i 2
9
监控电压:
./mon_pdu.py -H 192.168.0.109 -p 80 -u admin -P admin -i 1
227.4
监控电流:
./mon_pdu.py -H 192.168.0.109 -p 80 -u admin -P admin -i 0
0.0

Leave Comment