環境: python 2.7,hp ilo4 DL380 Gen9
1、使用 python hpilo 子產品的 get_embedded_health() 方法擷取健康資訊
import hpilo
ilo = hpilo.Ilo(“10.2.3.3”,“admin”,“admin”) # login ilo
health_summary = ilo.get_embedded_health()['health_at_a_glance']
print health_summary
2、python 批量檢查 ilo 健康資訊,伺服器資訊存儲在 /woo/ansible_scripts/files/devops_machine 中
#!/usr/bin/python
#-*- coding:utf8 -*-
import hpilo
import time
start_time = time.time()
ilos = []
with open('/woo/ansible_scripts/files/devops_machine','r')as f:
lines = f.readlines()
for line in lines:
line_list = line.strip().split()
if line_list == []: #過濾空行
continue
ilos.append(line_list)
for kline in ilos:
host = kline[0]
user = kline[1]
password = kline[2]
ilo = hpilo.Ilo(host,user,password) # login ilo
try:
health_summary = ilo.get_embedded_health()['health_at_a_glance'] # get ilo health information
except:
print "The ilo %s may get a network trouble, please fix it"%host
continue
health_status_list = []
for key in health_summary:
health_status_list.append(health_summary[key]['status'])
if health_summary[key]['status'] == 'OK':
continue
else:
print "ilo %s %s status is %s"%(host,key,health_summary[key]['status'])
# 如果所有項都 ok,則列印 “ilo is ok”
if health_status_list == ['OK']*len(health_summary.keys()):
print "ilo %s is ok"%host
else:
print "========= Please check ilo %s==========="%host
stop_time = time.time()
time_cost = stop_time - start_time
print "cost %ss time"%time_cost
/woo/ansible_scripts/files/devops_machine 内容如下,10.2.3.3 admin admin 表示 ilo ip 10.2.3.3,帳号admin,密碼 admin
10.2.3.3 admin admin
10.2.3.4 admin admin
10.2.3.5 admin admin
原文連結:https://blog.csdn.net/Man_In_The_Night/article/details/106155014