本技術涉及一種操作系統監(jiān)控相關,尤其是指一種實時系統運行異常的監(jiān)控方法及裝置。
背景技術:
1、目前,通用的非實時系統(如windows?os、ios、linux、unix等)運行異常的監(jiān)控方法,可以實現對系統或系統中應用的運行的監(jiān)控,這些監(jiān)控方法比較成熟,并被廣泛使用,但這些監(jiān)控方法由于大部分基于通用的非實時系統而設計,故可能存在以下缺點:
2、一方面,這些監(jiān)控方法中的大多數開源監(jiān)控工具或者第三方監(jiān)控軟件,例如:zabbix、nagios、prometheus等,提供了數據采集、存儲、查詢、告警和可視化的功能,這些軟件需要的系統資源比較多,運行環(huán)境復雜,適用監(jiān)控數據量龐大的情況。而大部分實時系統需要被監(jiān)控處理的數據量較小,且實時系統的系統資源相對有限,因此并不適用于這類監(jiān)控軟件的運行。
3、另一方面,這些監(jiān)控方法中的一些系統異常的監(jiān)控方法,實時性較低,例如基于日志監(jiān)控(使用相關的日志監(jiān)控工具來收集、索引和分析日志數據,幫助定位問題)的方法,類似事后(即事件發(fā)生并產生日志之后)分析,不適用于實時系統中對系統異常的高實時性響應的要求。
4、再一方面,這些監(jiān)控方法中的一些系統異常的監(jiān)控方法,是基于程序修改的監(jiān)控方式,主要針對已知問題和部分系統底層致命問題的監(jiān)控,其監(jiān)控顆粒度較細(例如監(jiān)控系統資源和應用程序的特定性能指標,如cpu使用率、內存使用量、磁盤i/o性能等,以及應用程序的錯誤率和響應時間等),而且主要是針對明顯的致命問題進行監(jiān)控,對于表面看起來正常運行的系統,這類方法無法判定一段時間內整個系統的運行是否出現異常。例如use方法(指通過使用率(utilization)、飽和度(saturation)和錯誤數(errors)三個核心指標來快速定位系統資源的性能瓶頸的方法),雖然能監(jiān)控整個系統的當前情況,但對于系統表面看起來正常運行時(如未監(jiān)控到當前情況有異常),use方法難以判定一段時間內整個系統的運行是否出現異常。
5、因此,針對實時系統具有系統資源不多、且對實時性有很高要求的特點下,如何提供一種適用于實時系統運行異常的監(jiān)控方案,且可在系統未產生明顯致命問題的前提下,可評估一段時間內系統是否可能存在異常,是有待解決的技術問題。
技術實現思路
1、鑒于現有技術的以上問題,本技術提供一種實時系統運行異常的監(jiān)控方法及裝置,以適用于實時系統,且可實現在系統未產生明顯致命問題的前提下,可評估一段時間內系統是否可能存在異常。
2、為達到上述目的,本技術第一方面提供了一種實時系統運行異常的監(jiān)控方法,包括以下步驟:
3、在實時系統處于正常狀態(tài)下和監(jiān)控狀態(tài)下,分別執(zhí)行數據的采集與聚類處理;所述數據的采集與聚類處理包括:對所監(jiān)測的至少一種數據在一采樣周期內執(zhí)行n次采樣,形成n個樣本點,對所述n個樣本點基于聚類算法聚類,得到所述一采樣周期內的聚類結果;
4、根據所述監(jiān)控運行狀態(tài)下的聚類結果與所述正常狀態(tài)下的聚類結果的差異程度,確定所述監(jiān)控運行狀態(tài)下實時系統運行出現異常的可能性。
5、由上,本技術所述的實時系統運行異常監(jiān)控方法通過監(jiān)控運行中的數據特征變化,將聚類結果的差異程度作為評價系統運行異??赡苄浴S捎诒O(jiān)控中的數據無需任何形式的修改與介入,所需監(jiān)控的數據量也較小,因而所使用系統資源較少;監(jiān)控結果在采集數據后,只需進行聚類算法便可立即得到,實時性好;尤其是,由于所本技術所述的方法的核心思想為通過監(jiān)控評價的內容是一段時間內運行數據的特征變化,判斷整套系統與方案在一段時間內的數據交互和數據處理是否存在異常,因此可在系統未產生明顯致命問題的前提下評估一段時間內系統是否可能存在異常。
6、另外,由于本技術方案可以實現在系統未產生明顯致命問題的前提下,判斷出一段時間內系統是否可能出現異常,進而,在系統或應用的程序開發(fā)設計中,還可針對本使用申請方案評估系統異常時的情況設計相應的接管和處理程序,以提高程序運行的穩(wěn)定性。
7、作為第一方面的一種可能的實現方式,所述至少一種數據包括至少以下之一:系統驅動讀寫的數據量、系統驅動調用操作系統提供的接口的調用結果、cpu使用率。
8、由上,由于數據交互接口位于系統驅動程序,數據處理單元和核心位于cpu,而所述的數據可以表征操作系統驅動程序與cpu之間的數據交互和數據處理過程,因此可以很好地從整體上代表操作系統的運行情況。
9、可選的,所述系統驅動調用操作系統提供的接口的調用結果包括:分別表示沒調用、調用成功、調用有警告或調用有錯誤的4個特征值;所述聚類算法中指定簇的數量為4。
10、由上,系統驅動調用操作系統提供的接口的調用結果通過調用成功與否等數據的監(jiān)控可以監(jiān)控系統是否正常運行;根據接口的調用結果確定簇的數量,可更準確地對聚類結果進行引導。
11、可選的,所述聚類算法包括k-means算法。
12、由上,k-means聚類算法的資源消耗較小,所需監(jiān)控的數據量也較小,在資源不多的實時系統中,可以實現粗粒度的系統整體方案監(jiān)控。
13、作為第一方面的一種可能的實現方式,所述監(jiān)控運行狀態(tài)下的聚類結果與所述正常狀態(tài)下的聚類結果的差異程度,根據所述監(jiān)控運行狀態(tài)下的聚類的簇內平方和與所述正常狀態(tài)下的聚類的簇內平方和進行計算。
14、由上,簇內平方和是一個簇內所有點與該簇質心(中心點)之間的距離的平方和,用來衡量粗的聚類效果。由于簇內平方和的運算量較小,且在整體數據偏差不大的情況下可以表示整體的數據特征,因此可以起到節(jié)約計算,反映迅速的效果。
15、作為第一方面的一種可能的實現方式,所述一采樣周期內執(zhí)行n次采樣,是以設定的采樣時間間隔執(zhí)行所述n次采樣,其中,所述采樣時間間隔和/或所述n可預先配置。
16、由上,通過用戶自定義采樣時間間隔和/或次數的方式執(zhí)行采樣,可以適應各類執(zhí)行不同任務的實時操作系統對監(jiān)控數據量及數據種類的不同需求。
17、作為第一方面的一種可能的實現方式,所述執(zhí)行n次采樣時所形成的樣本點臨時存放于內存中。
18、由上,將采樣結果臨時存放于高速的內存中,具有提高訪問速度,減少數據傳輸,降低存放成本等優(yōu)勢。
19、本技術第二方面提供了一種實時系統運行異常的監(jiān)控裝置,包括:
20、數據采集與聚類處理模塊,用于在實時系統處于正常狀態(tài)下和監(jiān)控狀態(tài)下,分別被調用以執(zhí)行數據的采集與聚類處理;所述數據的采集與聚類處理包括:對所監(jiān)測的至少一種數據在一采樣周期內執(zhí)行n次采樣,形成n個樣本點,對所述n個樣本點基于聚類算法聚類,得到所述一采樣周期內的聚類結果;
21、異常確定模塊,用于根據所述監(jiān)控運行狀態(tài)下的聚類結果與所述正常狀態(tài)下的聚類結果的差異程度,確定所述監(jiān)控運行狀態(tài)下實時系統運行出現異常的可能性。
22、本技術第三方面提供了一種計算設備,包括:處理器,以及存儲器,其上存儲有程序指令,所述程序指令當被所述處理器執(zhí)行時使得所述處理器執(zhí)行第一方面任意一項所述的實時系統運行異常的監(jiān)控方法。
23、本技術第四方面提供了一種計算機可讀存儲介質,其上存儲有程序指令,所述程序指令當被計算機執(zhí)行時使得所述計算機執(zhí)行第一方面任一項所述的實時系統運行異常的監(jiān)控方法。