项目地址: https://github.com/zhangrj/HP-iLO-Log-Collector
惠普服务器的iLO模块,可用于远程控制服务器电源、开启远程控制台、检查服务器健康状态等,其中IML( Integrated Management Log )是排查硬件故障的重要手段,这套小程序就是用来批量收集Hp服务器的IML日志,可写入本地文件并以邮件形式发送巡检报告。
python-hpilo
安装包:https://github.com/zhangrj/HP-iLO-Log-Collector/blob/master/python-hpilo-4.3.tar.gz
参考文档: http://seveas.github.io/python-hpilo/install.html
python-hpilo是一个可与ilo通信的python模块,简要的使用方法:
- ilo = hpilo.Ilo(ilo_ip, username, password)
- ilo.function(parameters)
几个常用的函数
添加iLO用户并指定用户名、密码、权限,可用于批量添加用户:
add_user(user_login, user_name, password, admin_priv=False, remote_cons_priv=True, reset_server_priv=False, virtual_media_priv=False, config_ilo_priv=True)
修改用户信息,例如可用于批量修改默认账号密码:
mod_user(user_login, user_name=None, password=None, admin_priv=None, remote_cons_priv=None, reset_server_priv=None, virtual_media_priv=None, config_ilo_priv=None)
获取服务器物理状态信息:
get_embedded_health()
电源控制与重启:
- press_pwr_btn():按一下电源键
- hold_pwr_btn(toggle=None):长按电源键
- reset_rib():重置ilo
- reset_server():重启服务器
- cold_boot_server():冷重启
- warm_boot_server():热重启
获取iLO日志:
get_ilo_event_log()
获取IML日志:
get_server_event_log()
文件介绍与使用方法
- ilo_login_info.txt :写入iLO IP地址与管理员账号密码
- auto_add_hp_ilo_user.py :读取 ilo_login_info.txt 中的配置信息,登录ilo并添加一个低权限用户,注意配置程序中的user_name、passwd字段。
- ilo.conf :修改为.ilo.conf使用,写入 auto_add_hp_ilo_user.py 中配置的用户名密码
- get_ilo_log_and_send_email.py :通过.ilo.conf中配置的登录信息,登录iLO,获取IML日志,保存本地,并以邮件形式发送,注意配置程序中的几个文件路径。
首次执行 get_ilo_log_and_send_email.py 将会保存所有历史IML日志,如果服务器数量多,日志量可能比较大。再次执行 get_ilo_log_and_send_email.py 则只会保存自上次执行后新生成的IML日志。定期跑一遍,即可实现远程巡检。
</article>