天天看點

送出健康資訊伺服器擁擠,python hpilo 監控 hp ilo 伺服器健康資訊

環境: 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