項目地址: 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日誌。定期跑一遍,即可實現遠程巡檢。