本公開涉及計算機,尤其涉及一種基于redfish協議的監控方法、系統、電子設備及存儲介質。
背景技術:
1、在服務器散熱領域,實時抓取硬件狀態數據(如溫度、電壓、功率、風扇轉速等)是預防硬件故障、保障系統可靠性、優化系統性能以及根據功耗曲線采取相應措施的核心手段。隨著數據中心服務器數量的激增以及服務器型號的多樣化,對硬件狀態的監控需求日益增長。
2、現有對服務器的硬件狀態監控方案,在面對大數量和多樣化的服務器現狀時,存在諸多突出問題。首先,兼容性與通用性不足,不同品牌及型號服務器的硬件監控接口(如ipmi等)缺乏統一標準,導致現有腳本往往只能適配特定機型,需為單臺服務器開發專屬工具或頻繁修改字段,且缺乏靈活的命令行參數配置,難以支撐后續功能擴展。其次,采集效率與實時性低下,傳統方案多采用單線程串行輪詢機制,輪詢間隔通常長達5~10秒甚至更久,無法及時捕捉處理器跑負載時的硬件狀態突變(如溫度驟升、風扇故障停轉),極易錯過故障預警時機,也無法準確監測溫度過沖點。此外,現有技術在特殊場景的支持上存在明顯缺失,既無法在服務器s5關機狀態下監控風扇曲線(通常需額外硬件輔助,成本高),又不支持帶外執行腳本數據記錄,導致在未安裝特定工具或處于內網環境的服務器上監控工作無法開展。最后,數據整合能力弱,多維度數據分散展示缺乏關聯分析,且部分工具依賴復雜,跨環境部署適應性差,加之缺乏日志記錄功能,導致問題定位困難,難以滿足現代化數據中心對硬件狀態進行全面、實時、高效監控的需求。
技術實現思路
1、本公開提供了一種基于redfish協議的監控方法、系統、電子設備及存儲介質,以至少解決現有技術中存在的以上技術問題。
2、根據本公開的第一方面,提供了一種基于redfish協議的監控方法,包括:
3、獲取服務器的基板管理控制器bmc的互聯網協議ip地址和認證信息;
4、基于所述bmc的ip地址,通過https協議與所述bmc建立通信連接,并基于所述認證信息完成與所述bmc的redfish登錄認證并獲取會話令牌;
5、確定所述bmc的硬件資源對應的redfish?uri路徑和字段位置;
6、將所述服務器的硬件數據采集任務拆分為傳感器數據采集任務和風扇數據采集任務,并基于所述會話令牌、redfish?uri路徑和字段位置,通過線程池對所述傳感器數據采集任務和風扇數據采集任務進行并行執行;
7、基于future對象同步獲取所述傳感器數據采集任務和風扇數據采集任務得到的采集結果;
8、對所述采集結果進行標準化處理,得到所述服務器的硬件狀態信息。
9、根據本公開的第二方面,提供了一種基于redfish協議的監控系統,包括:
10、獲取模塊,用于獲取服務器的基板管理控制器bmc的互聯網協議ip地址和認證信息;
11、通信模塊,用于基于所述bmc的ip地址,通過https協議與所述bmc建立通信連接,并基于所述認證信息完成與所述bmc的redfish登錄認證并獲取會話令牌;
12、確定模塊,用于確定所述bmc的硬件資源對應的redfish?uri路徑和字段位置;
13、并發模塊,用于將所述服務器的硬件數據采集任務拆分為傳感器數據采集任務和風扇數據采集任務,并基于所述會話令牌、redfish?uri路徑和字段位置,通過線程池對所述傳感器數據采集任務和風扇數據采集任務進行并行執行;
14、采集模塊,基于future對象同步獲取所述傳感器數據采集任務和風扇數據采集任務得到的采集結果;
15、處理模塊,對所述采集結果進行標準化處理,得到所述服務器的硬件狀態信息。
16、根據本公開的第三方面,提供了一種電子設備,包括:
17、至少一個處理器;以及,
18、與所述至少一個處理器通信連接的存儲器;其中,
19、所述存儲器存儲有可被所述至少一個處理器執行的指令,所述指令被所述至少一個處理器執行,以使所述至少一個處理器能夠執行本公開所述的方法。
20、根據本公開的第四方面,提供了一種存儲有計算機指令的非瞬時計算機可讀存儲介質,所述計算機指令用于使所述計算機執行本公開所述的方法。
21、本公開的一種基于redfish協議的監控方法、系統、電子設備及存儲介質,本申請通過采用redfish協議與https加密通信,解決了傳統服務器監控接口兼容性差、通信安全性不足的問題;通過自動確定redfish?uri路徑與字段位置,解決了不同廠商、不同版本bmc需要人工配置接口路徑與數據字段導致適配繁瑣、通用性低的問題;通過將采集任務拆分并采用線程池并行執行,解決了傳統單線程依次采集硬件數據耗時較長、監控效率低的問題;通過future對象同步阻塞獲取采集結果,保證了多線程采集結果的完整性與時序一致性,解決了異步采集易出現數據缺失、結果不可用的問題;通過對采集數據進行標準化處理,解決了原始硬件數據格式雜亂、類型不統一、排序無序導致難以直觀展示與后續分析利用的問題。
22、應當理解,本部分所描述的內容并非旨在標識本公開的實施例的關鍵或重要特征,也不用于限制本公開的范圍。本公開的其它特征將通過以下的說明書而變得容易理解。
1.一種基于redfish協議的監控方法,其特征在于,所述方法包括:
2.根據權利要求1所述的方法,其特征在于,所述獲取服務器的基板管理控制器bmc的互聯網協議ip地址和認證信息,包括:
3.根據權利要求1所述的方法,其特征在于,所述基于所述認證信息完成與所述bmc的redfish登錄認證并獲取會話令牌,包括:
4.根據權利要求1所述的方法,其特征在于,所述確定所述bmc的硬件資源對應的redfish?uri路徑和字段位置,包括:
5.根據權利要求1所述的方法,其特征在于,所述將所述服務器的硬件數據采集任務拆分為傳感器數據采集任務和風扇數據采集任務,包括:
6.根據權利要求5所述的方法,其特征在于,所述基于所述會話令牌、redfish?uri路徑和字段位置,通過線程池對所述傳感器數據采集任務和風扇數據采集任務進行并行執行,包括:
7.根據權利要求5所述的方法,其特征在于,所述基于future對象同步獲取所述傳感器數據采集任務和風扇數據采集任務得到的采集結果,包括:
8.根據權利要求1所述的方法,其特征在于,所述對所述采集結果進行標準化處理,得到所述服務器的硬件狀態信息,包括:
9.根據權利要求1所述的方法,其特征在于,所述方法還包括:
10.一種基于redfish協議的監控系統,其特征在于,所述系統包括:
11.根據權利要求10所述的系統,其特征在于,所述獲取模塊還用于:
12.根據權利要求10所述的系統,其特征在于,所述通信模塊還用于:
13.根據權利要求10所述的系統,其特征在于,所述確定模塊還用于:
14.一種電子設備,其特征在于,包括:
15.一種存儲有計算機指令的非瞬時計算機可讀存儲介質,其特征在于,所述計算機指令用于使計算機執行根據權利要求1-9中任一項所述的方法。