集群監控處理系統及方法
【專利摘要】本發明公開了一種集群監控處理系統及方法,該集群監控處理系統包括中央控制器、多個監控容器以及多個目標服務器,該些監控容器用于存儲與可處理事件對應的處理程序以及與待分析事件對應的分析程序;中央控制器用于將監控參數分別傳輸至該些監控容器,并將該些監控容器分發出去;該些監控容器用于監控該些目標服務器,并在出現的事件為可處理事件時執行與該出現的事件對應的處理程序并將處理結果傳輸至中央控制器,在出現的事件為待分析事件時執行與該出現的事件對應的分析程序并將分析結果傳輸至中央控制器;中央控制器用于在接收到該分析結果時發出告警。本發明的集群監控處理系統減少了運維人員的參與,提高了目標服務器的運維效率。
【專利說明】集群監控處理系統及方法
【技術領域】
[0001]本發明涉及互聯網【技術領域】,特別涉及一種集群監控處理系統及方法。
【背景技術】
[0002]目前,對于計算機集群系統的監控主要有兩種監控方式,一種是集中式監控,適用于小型集群,將監控的信息從每一臺計算機上采集回來,并統一匯總做告警,例如Nag1s、Zabbix (Nag1s和Zabbix均為網絡監視工具)等;另外一種是分布式監控,適用于大型集群,大型集群的特點是計算機數量龐大,一般分布在多個數據中心,這種情況下集中式監控無法處理龐大的信息采集,因此使用分布式的監控方法進行監控并將監控到的數據放回到消息總線上集中處理,例如OpenStack(云計算管理平臺)中的Monasca(項目名稱)項目。
[0003]在傳統的集中式監控和分布式監控中,當告警發生時均需要運維人員來跟進處理,而處理告警的效率取決于運維人員的經驗,效率低下。這種從監控到告警再到運維人員處理告警的模式已經無法滿足當前這種大規模集群運維的需求。
【發明內容】
[0004]本發明要解決的技術問題是為了克服現有技術集群系統的監控中由運維人員處理告警導致效率低下的缺陷,提供一種高效率的集群監控處理系統及方法。
[0005]本發明是通過下述技術方案來解決上述技術問題的:
[0006]一種集群監控處理系統,其特點在于,包括一中央控制器、多個監控容器以及多個目標服務器,
[0007]該些監控容器用于存儲與可處理事件對應的處理程序以及與待分析事件對應的分析程序;
[0008]中央控制器用于將監控參數分別傳輸至該些監控容器,并將該些監控容器分發出去;
[0009]該些監控容器用于根據該監控參數監控該些目標服務器,并在該些目標服務器出現的事件為可處理事件時執行與該出現的事件對應的處理程序并將處理結果傳輸至該中央控制器,在該些目標服務器出現的事件為待分析事件時執行與該出現的事件對應的分析程序并將分析結果傳輸至該中央控制器;
[0010]該中央控制器用于在接收到該分析結果時發出告警。
[0011]本方案中,監控參數包括監控目標,可處理事件為監控容器能做出處理的事件,待分析事件為監控容器僅能做出分析不能做出處理的事件。每個監控容器根據接收到的監控目標去監控目標服務器,例如目標服務器的主機名、IP(互聯網協議)地址等。當目標服務器出現的事件為可處理事件時,監控容器執行與該出現的事件對應的處理程序并將處理結果傳輸至中央控制器,不需要運維人員的參與就能完成目標服務器的運維,節約了人力,提高了效率。當目標服務器出現的事件為待分析事件時,監控容器執行與該出現的事件對應的分析程序并將分析結果傳輸至中央控制器,中央控制器在接收到該分析結果時發出告警,該分析結果包括處理建議,運維人員可以根據監控容器做出的處理建議處理告警,提高了目標服務器的運維效率。
[0012]較佳地,該些監控容器分為多個類型,各類型的監控容器分別用于監控目標服務器的不同性能,中央控制器還用于根據該些目標服務器的數量和該些監控容器的處理能力確定各類型的監控容器的數量使得每個目標服務器的待監控性能均被監控。
[0013]本方案中,監控容器分為多個類型,例如容量類監控容器和進程類監控容器等,不同類型的監控容器分別用于監控目標服務器的不同性能,例如容量類監控容器用于監控目標服務器的磁盤容量,進程類監控容器用于監控目標服務器的進程運行狀況等。中央控制器用于根據目標服務器的數量和監控容器的處理能力確定各類型的監控器的數量,并將監控參數分別傳輸至所有監控容器,最后將所有監控容器分發出去使得每個目標服務器的待監控性能均被監控。監控容器的處理能力為一個監控容器在不阻塞的情況下正常監控目標服務器的數量,取決于監控容器中的處理程序和分析程序。
[0014]較佳地,該監控參數包括監控頻率和/或訪問密鑰。例如,中央控制器可以根據待監控性能對目標服務器整體性能的影響程度設置監控頻率,根據目標服務器中信息的重要程度設置訪問密鑰。
[0015]較佳地,該些監控容器均使用Docker。Docker是提供商DotCloud開源的一個基于LXC(LXC為Linux Container的簡寫,Linux Container容器是一種內核虛擬化技術)的高級容器引擎。
[0016]本發明還提供一種集群監控處理方法,其特點在于,利用如上所述的集群監控處理系統實現,該集群監控處理方法包括以下步驟:
[0017]S1、該中央控制器將該監控參數分別傳輸至該些監控容器,并將該些監控容器分發出去;
[0018]S2、該些監控容器根據該監控參數監控該些目標服務器,并在該些目標服務器出現的事件為可處理事件時執行與該出現的事件對應的處理程序并將處理結果傳輸至該中央控制器,在該些目標服務器出現的事件為待分析事件時執行與該出現的事件對應的分析程序并將分析結果傳輸至該中央控制器;
[0019]S3、該中央控制器在接收到該分析結果時發出告警。
[0020]較佳地,該些監控容器分為多個類型,各類型的監控容器分別監控目標服務器的不同性能,將步驟S1替換為步驟S1 ’,
[0021]S/、該中央控制器根據該些目標服務器的數量和該些監控容器的處理能力確定各類型的監控容器的數量,并將該監控參數分別傳輸至所有監控容器,以及將所有監控容器分發出去,監控容器的數量使得每個目標服務器的待監控性能均被監控。
[0022]較佳地,該監控參數包括監控頻率和/或訪問密鑰。
[0023]較佳地,該些監控容器均使用Docker。
[0024]在符合本領域常識的基礎上,上述各優選條件,可任意組合,即得本發明各較佳實例。
[0025]本發明的積極進步效果在于:與現有技術相比,本發明集群監控處理系統通過利用分發出去的監控容器來監控目標服務器并執行相應的處理程序或分析程序,減少了運維人員的參與,大大提高了目標服務器的運維效率。
【專利附圖】
【附圖說明】
[0026]圖1為本發明實施例的集群監控處理系統的結構框圖。
[0027]圖2為本發明實施例的集群監控處理方法的流程圖。
【具體實施方式】
[0028]下面舉個較佳實施例,并結合附圖來更清楚完整地說明本發明。
[0029]一種集群監控處理系統,如圖1所示,包括中央控制器10、多個不同類型的監控容器11以及集群12,其中,集群12包括多個目標服務器13,監控容器包括A類監控容器和B類監控容器等多個類型的監控容器,監控容器11均使用Docker。監控容器11用于存儲與可處理事件對應的處理程序以及與待分析事件對應的分析程序。其中,監控容器中的處理程度和分析程序由運維人員定期更新,使得監控容器不僅能夠自動處理更多的事件,而且對事件分析的結果更加優化,當運維人員接收到告警時能更有效地做出處理決定。
[0030]如圖1所示,中央控制器用于根據目標服務器13的數量和A類監控容器的處理能力將A類監控容器復制為四個,見圖1中A類監控容器重疊的部分,中央控制器用于根據標服務器13的數量和B類監控容器的處理能力將B類監控容器復制為三個,見圖1中B類監控容器重疊的部分。A類監控容器和B類監控容器均用于通過Https (網絡協議)的方式訪問中央控制器以獲取監控參數,不同類型的監控容器獲取到不同的監控參數。其中,監控參數包括監控目標、監控頻率和訪問密鑰。中央控制器用于將所有監控容器分發到集群12中,監控容器11的數量使得每個目標服務器13的待監控性能均被監控。
[0031]該些監控容器用于根據該監控參數監控該些目標服務器,并在該些目標服務器出現的事件為可處理事件時執行與該出現的事件對應的處理程序并將處理結果傳輸至該中央控制器,在該些目標服務器出現的事件為待分析事件時執行與該出現的事件對應的分析程序并將分析結果傳輸至該中央控制器;該中央控制器用于在接收到該分析結果時發出告警。其中,監控容器中的常規監控使用Nag1s做快速采集。
[0032]本實施例還提供一種集群監控處理方法,利用如上所述的集群監控處理系統實現,如圖2所示,該集群監控處理方法包括以下步驟:
[0033]步驟101、該中央控制器根據該些目標服務器的數量和該些監控容器的處理能力確定各類型的監控容器的數量,并將該監控參數分別傳輸至所有監控容器,以及將所有監控容器分發出去,監控容器的數量使得每個目標服務器的待監控性能均被監控;
[0034]步驟102、該些監控容器根據該監控參數監控該些目標服務器,并在該些目標服務器出現的事件為可處理事件時執行與該出現的事件對應的處理程序并將處理結果傳輸至該中央控制器,在該些目標服務器出現的事件為待分析事件時執行與該出現的事件對應的分析程序并將分析結果傳輸至該中央控制器;
[0035]步驟103、該中央控制器在接收到該分析結果時發出告警。
[0036]下面舉兩個具體的例子來說明本發明,以使本領域的技術人員能夠更好地理解本發明的技術方案。
[0037]設使用場景一中集群監控處理系統包括中央控制器、1100臺目標服務器以及磁盤空間監控容器。經測試,一個磁盤空間監控容器的處理能力為在不阻塞的情況下正常監控目標服務器的數量為200臺,因此要監控所有目標服務器的磁盤空間,至少需要6個磁盤空間監控容器。首先,中央控制器根據目標服務器的數量和磁盤空間監控容器的處理能力確定磁盤空間監控容器的數量為6個,分別為監控容器Al、監控容器A2、監控容器A3、監控容器A4、監控容器A5以及監控容器A6。其次,中央控制器將第I?200臺目標服務器的主機名和IP地址以及每兩分鐘監控一次的監控頻率傳輸至監控容器Al,中央控制器將第201?400臺目標服務器的主機名和IP地址以及每兩分鐘監控一次的監控頻率傳輸至監控容器A2,以此類推,中央控制器將第1001?1100臺目標服務器的主機名和IP地址以及每兩分鐘監控一次的監控頻率傳輸至監控容器A6。然后,中央控制器將6個磁盤空間監控容器分發出去。
[0038]當監控容器Al監控到第150臺目標服務器的磁盤空間使用量達到80%,且占用大量空間的文件在監控容器Al中的安全刪除文件列表中,即為可處理事件,監控容器Al將該占用大量空間的文件安全刪除并將刪除的結果傳輸至中央控制器。當監控容器A6監控到第1080臺目標服務器的磁盤空間使用量達到90%,且占用大量空間的文件不在監控容器A6中的安全刪除文件列表中,即為待分析事件,監控容器A6對該占用大量空間的文件進行分析,根據增長速度預測磁盤空間的使用量何時會達到100%,并將分析結果傳輸至中央控制器,中央控制器在接收到分析結果時發出告警,運維人員在接收到告警時,根據分析結果可以知道事件發生的原因并獲得具體的行動目標,提高了運維人員處理該告警的效率。
[0039]設使用場景二中集群監控處理系統包括中央控制器、多個目標服務器以及宿主機監控容器,其中多個目標服務器均為宿主機。由于用戶的使用虛擬機在宿主機上負載分布不均勻,造成有的宿主機繁忙,有的宿主機很閑。當宿主機監控容器M監控到宿主機繁忙時,宿主機監控容器M通過查看繁忙宿主機上所有虛擬機的負載歷史選擇可以遷移的虛擬機N,并根據負載歷史選擇最合適的在線遷移時間P,即虛擬機的負載低峰時間。中央控制器查詢是否有其他的宿主機監控容器嘗試對虛擬機N進行遷移,若沒有,宿主機監控容器M傳輸一預遷移虛擬機N的信號至中央控制器。如果其他宿主機監控容器也監控到宿主機監控容器M類似的問題則會自動繞開。當到達遷移時間P時,宿主機監控容器M在核查到符合遷移條件時將虛擬機N遷移到空閑的宿主機上,并在遷移的過程中查看對方宿主機的性能指標,以及在遷移完成后進行核查,最后將遷移結果傳輸至中央控制器。其中,遷移條件包括對方宿主機是否空閑、是否有足夠的空間等。
[0040]雖然以上描述了本發明的【具體實施方式】,但是本領域的技術人員應當理解,這些僅是舉例說明,本發明的保護范圍是由所附權利要求書限定的。本領域的技術人員在不背離本發明的原理和實質的前提下,可以對這些實施方式做出多種變更或修改,但這些變更和修改均落入本發明的保護范圍。
【權利要求】
1.一種集群監控處理系統,其特征在于,包括一中央控制器、多個監控容器以及多個目標服務器, 該些監控容器用于存儲與可處理事件對應的處理程序以及與待分析事件對應的分析程序; 中央控制器用于將監控參數分別傳輸至該些監控容器,并將該些監控容器分發出去; 該些監控容器用于根據該監控參數監控該些目標服務器,并在該些目標服務器出現的事件為可處理事件時執行與該出現的事件對應的處理程序并將處理結果傳輸至該中央控制器,在該些目標服務器出現的事件為待分析事件時執行與該出現的事件對應的分析程序并將分析結果傳輸至該中央控制器; 該中央控制器用于在接收到該分析結果時發出告警。
2.如權利要求1所述的集群監控處理系統,其特征在于,該些監控容器分為多個類型,各類型的監控容器分別用于監控目標服務器的不同性能,中央控制器還用于根據該些目標服務器的數量和該些監控容器的處理能力確定各類型的監控容器的數量使得每個目標服務器的待監控性能均被監控。
3.如權利要求1或2所述的集群監控處理系統,其特征在于,該監控參數包括監控頻率和/或訪問密鑰。
4.如權利要求1所述的集群監控處理系統,其特征在于,該些監控容器均使用Docker。
5.一種集群監控處理方法,其特征在于,利用如權利要求1所述的集群監控處理系統實現,該集群監控處理方法包括以下步驟: 51、該中央控制器將該監控參數分別傳輸至該些監控容器,并將該些監控容器分發出去; 52、該些監控容器根據該監控參數監控該些目標服務器,并在該些目標服務器出現的事件為可處理事件時執行與該出現的事件對應的處理程序并將處理結果傳輸至該中央控制器,在該些目標服務器出現的事件為待分析事件時執行與該出現的事件對應的分析程序并將分析結果傳輸至該中央控制器; 53、該中央控制器在接收到該分析結果時發出告警。
6.如權利要求5所述的集群監控處理方法,其特征在于,該些監控容器分為多個類型,各類型的監控容器分別監控目標服務器的不同性能,將步驟S1替換為步驟S/, S/、該中央控制器根據該些目標服務器的數量和該些監控容器的處理能力確定各類型的監控容器的數量,并將該監控參數分別傳輸至所有監控容器,以及將所有監控容器分發出去,監控容器的數量使得每個目標服務器的待監控性能均被監控。
7.如權利要求5所述的集群監控處理方法,其特征在于,該監控參數包括監控頻率和/或訪問密鑰。
8.如權利要求5所述的集群監控處理方法,其特征在于,該些監控容器均使用Docker。
【文檔編號】H04L29/08GK104468282SQ201410835782
【公開日】2015年3月25日 申請日期:2014年12月23日 優先權日:2014年12月23日
【發明者】錢永超 申請人:攜程計算機技術(上海)有限公司