Python获取HP服务器状态信息

Python获取HP服务器状态信息

需求:

作为一名系统管理员,每天的巡检必不可少,一般日常巡检包括机房空调,消防,电力,温湿度,还有服务器网络设备等。

一般而言,服务器设备的物理巡检包括检查状态告警等,硬盘,网络,电源等。这些在HP ILO中都可以看到,包括Dell iDRAC,IBM IMM等,其实功能都是一样的,都是利用了IPMI或者RESTful.

在ILO中,可以看到服务器状态如下:

通过这些数据,基本上可以判断一台服务器是否正常工作。那么,如果是多台服务器,就是要检查多台ILO的状态了。

如果一台台的人工检查,将要花费大量的时间巡检。幸运的是,HP给我们提供了Python Class- hpilo. 通过这个包,可以实现自动化登录并获取系统状态。

实现方法:

  1. 安装python hpilo

Pip install hpilo #如果安装速度慢的话,请指定国内镜像站

  1. 执行如下代码

import hpilo  #导入包

ilo=hpilo.Ilo('192.*.*.*,'Administrator','3NWC5ZK5')  #通过脚本登录ILO

health_summary=ilo.get_embedded_health()['health_at_a_glance'] #获取system health的具体参数

print(health_summary)

print(type(health_summary))

 

  1. 返回结果如下:

{'bios_hardware': {'status': 'OK'}, 'fans': {'status': 'OK', 'redundancy': 'Redundant'}, 'temperature': {'status': 'OK'}, 'power_supplies': {'status': 'OK', 'redundancy': 'Redundant'}, 'processor': {'status': 'OK'}, 'memory': {'status': 'OK'}, 'network': {'status': 'Link Down'}, 'storage': {'status': 'OK'}}

这是一个dict类型的数组

  1. 多台服务器的话,可以把相关服务器信息放在文本文件中,然后进行循环查询,并保存在指定路径,比如可以保存在sqlite中。
  2. 老规矩,设置定时报表,然后把相关信息发送给指定人员,通过这样的方式,基本上可以大大减轻系统管理员的巡检负担。

注意:在ILO登录过程中,会出现如下错误

SSL: SSLV3_ALERT_HANDSHAKE_FAILURE] sslv3 alert handshake failure

排错步骤如下:

  1. 登录web ILO,
  2. 切换到“Administration -> “Security” -> “Encryption” 启用Enforce AES/3DES Encryption

   ILO4 HP DL380 G8 亲测有效,欢迎测试。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值