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
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值