一種云計算環境中實時監控在線配置方法
【專利摘要】本發明公開了一種云計算環境中實時監控在線配置方法。該方法包括:建立配置模板知識庫;接收用戶輸入的監控關鍵字;判斷知識庫中是否存在與用戶輸入的關鍵字對應的配置模板;若判斷為知識庫中不存在與用戶輸入的關鍵字對應的配置模板,則在模板知識庫中增加與該關鍵字對應的配置模板;探測被監控虛擬機上已安裝服務的信息,根據與所述關鍵字對應的配置模板和所探測到的已安裝服務的信息,生成與所述用戶輸入的關鍵字對應的所述被監控虛擬機的監控配置文件。本發明可簡化用戶在線添加監控配置的過程,使用戶聚焦于監控服務本身,而不是復雜的配置內容。
【專利說明】一種云計算環境中實時監控在線配置方法【技術領域】
[0001]本發明涉及云計算中虛擬機監控領域,具體涉及一種虛擬機實時監控在線智能配置的方法。
【背景技術】
[0002]在云計算環境中,有大量的具有實際業務的虛擬機在運行。一個好的云管理平臺需要有監控系統,能夠根據用戶的實際業務需求對虛擬機上特定服務進行監控,包括該服務的狀態、詳細信息等,并且能夠對嚴重服務進行短信或郵件報警。為了提高云管理平臺中監控系統的易用性,宜盡量減少用戶為每個虛擬機添加監控的學習成本以及勞動力成本,減少用戶添加監控重復內容配置的過程,需要盡可能減少管理人員的工作復雜度。
[0003]對虛擬機監控進行配置主要是對該虛擬機上服務監控配置的初始化,配置信息可以包括:虛擬機的主機名稱、IP地址、主機檢查命令、服務名稱、服務檢查命令、檢查時間段、檢查時間間隔、重試最大次數、重試時間間隔、報警開關、報警條件、報警時間段、報警時間間隔、聯系人(組),以及其他的個性化設置。
[0004]通常,實時監控的配置工作分為兩部分:首先是準備工作,用戶需要了解該虛擬機所需監控的所有服務名稱;然后是用戶手動添加所有的配置信息。由于云計算中虛擬機數量很大這一特點,由用戶手動來完成虛擬機監控配置的工作難度是比較大的,并且用戶體驗很差。主要原因如下:1.云計算環境中的虛擬機數量很多,可能一次會創建幾十、上百臺的虛擬機,如果都由用戶手動來進行監控配置的準備工作,則需要了解每一臺虛擬機的實際業務情況,工作量非常大;2.監控配置項組合較多,使用較靈活,但一般情況下一些配置項是不重要的,并且很多配置項為重復工作,用戶需要手動編寫多項配置并確保無拼寫錯誤,用戶體驗很差。
[0005]此外,現有的一些配 置方法都要求用戶十分清楚虛擬機中每一個實際業務的服務名稱以及檢查腳本的名稱,這給用戶帶來了煩惱。因此,亟待更為簡便智能的方法來完成到虛擬機實時監控的在線配置。
【發明內容】
[0006]基于上述目標,本發明提出了一種較智能、靈活的虛擬機實時監控在線配置方法,用來解決當前虛擬機實時監控配置方法的較復雜、繁瑣的問題。
[0007]為了解決上述技術問題,本發明提供了一種云計算環境中實時監控在線配置方法。該方法包括:
[0008]建立配置模板知識庫;
[0009]接收用戶輸入的監控關鍵字;
[0010]判斷知識庫中是否存在與用戶輸入的關鍵字對應的配置模板;
[0011]若判斷為知識庫中不存在與用戶輸入的關鍵字對應的配置模板,則在模板知識庫中增加與該關鍵字對應的配置模板;[0012]探測被監控虛擬機上已安裝服務的信息,根據與所述關鍵字對應的配置模板和所探測到的已安裝服務的信息,生成與所述用戶輸入的關鍵字對應的所述被監控虛擬機的監控配置文件。
[0013]其中,所述探測被監控虛擬機上已安裝服務的信息、根據與所述關鍵字對應的配置模板和所探測到的已安裝服務的信息、生成與所述用戶輸入的關鍵字對應的所述被監控虛擬機的監控配置文件的步驟,進一步包括:制作與所述關鍵字對應的配置模板的副本;根據所述副本的服務項列表探測被監控虛擬機上已安裝服務的信息;根據所探測到的已安裝服務的信息,修改所述副本以生成與所述用戶輸入的關鍵字對應的所述被監控虛擬機的監控配置文件。
[0014]進一步,所探測到的已安裝服務的信息可包括所探測到的已安裝服務的服務名稱及版本信息。
[0015]其中,所述根據所探測到的已安裝服務的信息、修改所述副本以生成與所述用戶輸入的關鍵字對應的所述被監控虛擬機的監控配置文件的處理,進一步包括:將所述副本中相比所探測到的已安裝服務的服務名稱多出的服務相關配置刪除;在所述副本中設置所述被監控虛擬機的IP地址及主機名稱;將所述副本作為用于監控所述被監控虛擬機的配置文件。
[0016]其中,所述探測被監控虛擬機上已安裝服務的信息的步驟,進一步包括:獲取被監控虛擬機的IP地址和系統類型;獲取所述副本中的服務列表;輪詢服務列表,基于被監控虛擬機的IP地址和系統類型查詢被監控虛擬機是否安裝服務列表中的各服務;保留所述副本中查詢結果表示已在被監控虛擬機中安裝的服務的配置項,并將被保留的配置項的命令參數修改為所探測到的被監控虛擬機的相應配置值;刪除所述副本中查詢結果表示未在被監控虛擬機中安裝的服務的配置項。
[0017]此外,所述探測被監控虛擬機上已安裝服務的信息的步驟,還可包括:
[0018]根據用戶輸入的IP地址確定所述被監控虛擬機,再探測被監控虛擬機上已安裝服務的信息。
[0019]此外,所述探測被監控虛擬機上已安裝服務的信息的步驟,還包括:
[0020]根據用戶輸入的IP地址段確定一個以上所述被監控虛擬機,再分別探測各個被監控虛擬機上已安裝服務的信息
[0021]此外,所述探測被監控虛擬機上已安裝服務的信息的步驟,還包括:
[0022]將自動檢測到的全部虛擬機或與用戶輸入的關鍵字匹配的一類虛擬機均作為被監控虛擬機,再分別探測各個被監控虛擬機上已安裝服務的信息。
[0023]此外,所述在模板知識庫中增加與該關鍵字對應的配置模板的處理,進一步包括:
[0024]提示用戶用于配置與該關鍵字對應的配置模板的輸入的服務檢查參數信息;
[0025]根據用戶輸入的服務檢查參數信息和配置框架生成與該關鍵字對應的配置模板。
[0026]此外,所述配置模板包括以下配置項:主機名稱、主機IP地址、服務名稱、服務所屬主機名稱和服務檢查命令;以及/或者,根據用戶輸入的監控命令來生成配置內容。
[0027]與現有技術相比,本發明的一個或多個實施例可以具有如下優點:本發明通過根據用戶輸入的關鍵字,自動探測被監控虛擬機上已安裝的服務,從而自動生成與關鍵字對應的配置文件,可簡化用戶在線添加監控配置的過程,使用戶聚焦于監控服務本身,而不是復雜的配置內容。此外,不需要用戶登錄到虛擬機內部查詢就可以對虛擬機上屬于某一類型監控的所有服務進行監控配置。
[0028]本發明尤其適合于確保以下應用場景下的虛擬機實時監控在線配置的易用性--云計算的公有云場景,企業提供虛擬機給用戶,每個用戶都有個性化的業務需求并且需要了解這些業務的運行狀態,在這種情況下用戶需要遠程登錄虛擬機內部,了解具體的服務名稱進行詳細的監控配置,應用本發明就可以避免用戶遠程登錄虛擬機的過程,智能探測被監控虛擬機上安裝的服務名稱,自動完成相應監控模板的制作。
[0029]本發明可以在很大程度上提高云計算中虛擬機實時監控在線配置的易用性和規范性,具有較高的實用價值和商業價值。
[0030]本發明既支持Linux系統,也支持Windows系統,用戶不需要提供每個目標系統類型的信息。
[0031]本發明的其它特征和優點將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實施本發明而了解。本發明的目的和其他優點可通過在說明書、權利要求書以及附圖中所特別指出的結構來實現和獲得。
【專利附圖】
【附圖說明】
[0032]附圖用來提供對本發明的進一步理解,并且構成說明書的一部分,與本發明的實施例共同用于解釋本發明,并不構成對本發明的限制。在附圖中:
[0033]圖1是根據本發明實施例的云計算環境中實時監控在線配置方法的流程圖;
[0034]圖2是根據本發明實施例的一配置模板實例;
`[0035]圖3是根據本發明實施例的云計算環境中實時監控在線配置方法的步驟S150的處理流程示意圖。
[0036]圖4是根據本發明實施例的云計算環境中實時監控在線配置方法的步驟S150中子步驟S152的處理流程示意圖。
【具體實施方式】
[0037]以下將結合附圖及實施例來詳細說明本發明的實施方式,借此對本發明如何應用技術手段來解決技術問題,并達成技術效果的實現過程能充分理解并據以實施。需要說明的是,只要不構成沖突,本發明中的各個實施例以及各實施例中的各個特征可以相互結合,所形成的技術方案均在本發明的保護范圍之內。
[0038]另外,在附圖的流程圖示出的步驟可以在諸如一組計算機可執行指令的計算機系統中執行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執行所示出或描述的步驟。
[0039]本實施例中,以rhel6.0作為宿主機的例子,并使用其自帶的kvm為虛擬機監控程序,Iibvirt為虛擬機管理程序,可分別安裝rhel6.0和windows server2008操作系統作為本發明方案實施的目標虛擬機,并分別在rhel6.0和windows server2008上實現了本發明的虛擬機實時監控在線配置。這里的虛擬機監控配置以關鍵字SNMP (Simple NetworkManagement Protocol,簡單網絡管理協議)為例,其具體包括虛擬機可通過SNMP監控到的所有服務名稱、檢查命令、檢查時間段、檢查時間間隔等配置。
[0040]下面結合圖1詳細說明本實施例的云計算環境中實時監控在線配置方法。
[0041 ] 步驟SI 10,建立配置模板知識庫;
[0042]步驟S120,接收用戶輸入的監控關鍵字;
[0043]步驟S130,判斷知識庫中是否存在與用戶輸入的關鍵字對應的配置模板若判斷為知識庫中不存在與用戶輸入的關鍵字對應的配置模板,則進入步驟S140,反之,進入步驟S150 ;
[0044]步驟S140,在模板知識庫中增加與該關鍵字對應的配置模板,進入步驟S150 ;
[0045]步驟S150,探測被監控虛擬機上已安裝服務的信息,根據與所述關鍵字對應的配置模板和所探測到的已安裝服務的信息,生成與所述用戶輸入的關鍵字對應的所述被監控虛擬機的監控配置文件。最后,可將生成的與所述被監控虛擬機的監控配置文件加載到云管理平臺監控系統安裝目錄。
[0046]步驟SllO中,配置模板知識庫中存儲的配置模板。配置模板可包括主機名稱、主機IP地址、服務名稱、服務所屬主機名稱和服務檢查命令等配置項。此外,還可根據用戶輸入的監控命令來生成配置內容。這樣,可增強知識庫的自主學習性能,盡量減少煩惱用戶的配置操作。
[0047]步驟S120,接收用戶輸入的監控關鍵字,所輸入的關鍵字可為SNMP、數據庫、中間件等公共應用服務,對應不同的監控類型,每個監制類型或關鍵字對應于知識庫中的一個配置模板。換而言之,知識庫中存儲有分別與各種服務類型對應的配置模板。
[0048]在本實例中,以用戶輸入SNMP作為實例來進行說明,
[0049]步驟S130中,判斷知識庫中是否存在與關鍵字SNMP對應的配置模板。若判斷為知識庫中不存在與用戶輸入的關鍵字對應的配置模板,則可按照如下流程添加相應配置模板至知識庫中:
[0050]a)系統將以snmp_template.cfg.1n為名創建一個新的配置模板
[0051]圖2示出一配置模板實例。針對不同監控類型(關鍵字),模板格式基本相同,但是服務部分的check_co_and會根據不同模板有不同的內容。通過圖2可知,配置模板可包括兩部分內容:一部分為主機監控配置模板,包括主機名稱、主機IP地址等信息;一部分為服務監控配置模板,包括服務名稱,服務所屬主機名稱、服務檢查命令等。
[0052]b)提示用戶添加服務名稱CPU Usage以及檢查命令check_snmp_cpu
[0053]在本實例中,該命令名稱check_snmp_cpu對應的實際執行命令可為:/usr/local/cobra/libexec/check_snmp - h 10.1.1.1 - o system, cpu。而在傳統技術中則要求用戶輸入指定檢查命令具體信息的詳細命令:/usr/local/cobra/libexec/check_snmp-h 10.1.1.1 - ο system, cpu,這就給用戶增添了煩惱。
[0054]c)解析用戶輸入的服務名稱及檢查命令,完成這兩項配置初始化工作
[0055]在snmp_template.cfg.1n中找到CPU監控的執行命令、檢查間隔、報警類別等信息,并結合用戶輸入的服務名稱生成新的配置文件snmp_template_hostname.cfg。更具體地,可生成snmp_template.cfg.1n的一副本,結合用戶輸入的服務名稱修改該副本以得到新的配置文件 snmp_template_hostname.cfg。
[0056]d)完成其他配置項初始化配置。[0057]e)保存為配置模板。
[0058]步驟S140中,可提示用戶用于配置與該關鍵字對應的配置模板的輸入的服務檢查參數信息;根據用戶輸入的服務檢查參數信息和配置框架生成與該關鍵字對應的配置模板。
[0059]步驟S150中,探測被監控虛擬機上已安裝服務的信息,根據與所述關鍵字對應的配置模板和所探測到的已安裝服務的信息,生成與所述用戶輸入的關鍵字對應的所述被監控虛擬機的監控配置文件,進一步可包括(參考圖3):
[0060]步驟S151,制作與所述關鍵字對應的配置模板的副本。
[0061]步驟S152,根據所述副本的服務項列表探測被監控虛擬機上已安裝服務的信息,其中,所探測到的已安裝服務的信息包括所探測到的已安裝服務的服務名稱及版本信息
坐寸ο
[0062]步驟S153,將所述副本中相比所探測到的已安裝服務的服務名稱多出的服務相關配置刪除。
[0063]本實例獲取的OID中,進程統計信息、系統開機時間以及可用交換分區均在模板中可以匹配到。考慮篇幅和重復性,圖2僅以一個host和一個service作為例子來說明。“進程統計信息、系統開機時間以及可用交換分區”是對應圖2中第二個模塊的defineservice來說的。本實例中分別獲取了進程統計信息、系統開機時間以及可用交換分區所對應的0ID,那么可以生成三個define servie段配置文件,這三段的區別在于service_description 的值不同(可能分別是 Process、UpTime、Swap),以及 check_command 中-ο 參數不同(分別為實際獲取到的OID值)。登錄用戶數未收集到知識庫snmp_template.cfg.1n配置模板中。本實例中進程統計信息、系統開機時間以及可用交換分區OID值與知識庫snmp_template.cfg.1n配置模板中相應服務一致,無需修改。本實例中的登錄用戶數不存在于模板中,故可按照配置模板的格式增加Login Users的配置。
[0064]步驟S154,在所述副本中設置所述被監控虛擬機的IP地址及主機名稱。
[0065]步驟S155,將所述副本作為用于監控所述被監控虛擬機的配置文件。
[0066]通過步驟S153?步驟S155,根據所探測到的已安裝服務的信息,修改所述副本以生成與所述被監控虛擬機的監控配置文件。
[0067]更具體地,步驟S152可進一步包括:
[0068]步驟S1520,確定被監控虛擬機;
[0069]步驟S1521,獲取被監控虛擬機的IP地址和系統類型;
[0070]步驟S1522,獲取所述副本中的服務列表;
[0071]步驟S1523,輪詢服務列表,基于被監控虛擬機的IP地址和系統類型查詢被監控虛擬機是否安裝服務列表中的各服務;
[0072]步驟S1524,保留所述副本中查詢結果表示已在被監控虛擬機中安裝的服務的配置項,并將被保留的配置項的命令參數修改為所探測到的被監控虛擬機的相應配置值。更具體地,以圖 2 為例,如模板中是“$USERl$/check_snmp -H $ARG1$ -C $ARG2$ -P $ARG3$-o $ARG4$ -w $ARG5$ _c $ARG6$”,這里的參數均為類似“$ARG1$”格式的內容。對命令參數的修改,是將類似“$ARG1$”默認格式的內容修改為相應的具體的信息,例如前述check_snmp命令中第一個參數“$ARG1$”需要修改為實際的被監控虛擬機的IP地址,如10.1.80.1。其它命令參數也是相同的處理。
[0073]步驟S1525,刪除所述副本中查詢結果表示未在被監控虛擬機中安裝的服務的配置項。
[0074]在步驟S1520中,可根據用戶輸入的IP地址確定所述被監控虛擬機,再探測被監控虛擬機上已安裝服務的信息。還可以根據用戶輸入的IP地址段確定一個以上所述被監控虛擬機,再分別探測各個被監控虛擬機上已安裝服務的信息。也可以將自動檢測。自動探測使用nmap工具可以獲取某存活狀態IP的主機或虛擬機開放的服務端口信息并保存該信息。到的全部虛擬機或與用戶輸入的關鍵字匹配的一類虛擬機均作為被監控虛擬機,再分別探測各個被監控虛擬機上已安裝服務的信息。
[0075]本實例探測實例獲取云管理平臺中記錄的該虛擬機IP地址:10.1.80.200,虛擬機主機名稱為rhel6_64,操作系統類型為linux。系統探測被監控虛擬機可用的OID(Object ID:對象標識符)值以及對應的服務名稱。
[0076]本實例探測實例獲取被監控虛擬機rhel6_64中可用的OID和對應服務名稱如下:
[0077].1.3.6.1.2.1.25.1.6.0Process Totality
[0078].1.3.6.1.2.1.25.1.1.0System UP Time
[0079].1.3.6.1.4.1.2021.4.4.0Available Memory Swap
[0080].1.3.6.1.2.1.25.1.5.0Login Users
[0081]其他OID及服務名稱均為統一如上的格式,這一過程本領域技術人員均可理解,在此不予贅述。
[0082]最后,可將所生成的與所述用戶輸入的關鍵字SNMP對應的所述被監控虛擬機的監控配置文件snmp_rhel6_64.cfg加載到云管理平臺監控系統安裝目錄/opt/cobra/etc下。
[0083]本實施例只是列舉了其中一種比較典型的方式。可以理解的是本發明適用于批量添加虛擬機實時監控配置信息設置,這一過程本領域技術人員均可理解,在此不予贅述。
[0084]本實施例僅以rhel6.0系統的虛擬機為例說明統一、智能、靈活的虛擬機實時監控在線配置的過程,事實上本發明適用于任何系統的虛擬機以及交換機設備,其中,最典型的應用場景是Linux和Windows系統的虛擬機。以上是以單個虛擬機實時監控在線配置為例,也適用于對多個虛擬機進行批量設置同一類型關鍵字的虛擬機實時監控配置。以上是以SNMP監控關鍵字為例,也適用于其他類型如數據庫、中間件、公共應用服務為關鍵字的實時監控在線配置,這一過程本領域技術人員均可理解,在此不予贅述。
[0085]雖然本發明所揭露的實施方式如上,但所述的內容只是為了便于理解本發明而采用的實施方式,并非用以限定本發明。任何本發明所屬【技術領域】內的技術人員,在不脫離本發明所揭露的精神和范圍的前提下,可以在實施的形式上及細節上作任何的修改與變化,但本發明的專利保護范圍,仍須以所附的權利要求書所界定的范圍為準。
【權利要求】
1.一種云計算環境中實時監控在線配置方法,其特征在于,包括: 建立配置模板知識庫; 接收用戶輸入的監控關鍵字; 判斷知識庫中是否存在與用戶輸入的關鍵字對應的配置模板; 若判斷為知識庫中不存在與用戶輸入的關鍵字對應的配置模板,則在模板知識庫中增加與該關鍵字對應的配置模板; 探測被監控虛擬機上已安裝服務的信息,根據與所述關鍵字對應的配置模板和所探測到的已安裝服務的信息,生成與所述用戶輸入的關鍵字對應的所述被監控虛擬機的監控配置文件。
2.根據權利要求1所述的方法,其特征在于,所述探測被監控虛擬機上已安裝服務的信息、根據與所述關鍵字對應的配置模板和所探測到的已安裝服務的信息、生成與所述用戶輸入的關鍵字對應的所述被監控虛擬機的監控配置文件的步驟,進一步包括: 制作與所述關鍵字對應的配置模板的副本; 根據所述副本的服務項列表探測被監控虛擬機上已安裝服務的信息; 根據所探測到的已安裝服務的信息,修改所述副本以生成與所述用戶輸入的關鍵字對應的所述被監控虛擬機的監控配置文件。
3.根據權利要求2所述的方 法,其特征在于,所探測到的已安裝服務的信息包括所探測到的已安裝服務的服務名稱及版本信息。
4.根據權利要求3所述的方法,其特征在于,所述根據所探測到的已安裝服務的信息、修改所述副本以生成與所述用戶輸入的關鍵字對應的所述被監控虛擬機的監控配置文件的處理,進一步包括: 將所述副本中相比所探測到的已安裝服務的服務名稱多出的服務相關配置刪除; 在所述副本中設置所述被監控虛擬機的IP地址及主機名稱; 將所述副本作為用于監控所述被監控虛擬機的配置文件。
5.根據權利要求2所述的方法,其特征在于,所述探測被監控虛擬機上已安裝服務的信息的步驟,進一步包括: 獲取被監控虛擬機的IP地址和系統類型; 獲取所述副本中的服務列表; 輪詢服務列表,基于被監控虛擬機的IP地址和系統類型查詢被監控虛擬機是否安裝服務列表中的各服務; 保留所述副本中查詢結果表示已在被監控虛擬機中安裝的服務的配置項,并將被保留的配置項的命令參數修改為所探測到的被監控虛擬機的相應配置值; 刪除所述副本中查詢結果表示未在被監控虛擬機中安裝的服務的配置項。
6.根據權利要求1至5中任一項所述的方法,其特征在于,所述探測被監控虛擬機上已安裝服務的信息的步驟,還包括: 根據用戶輸入的IP地址確定所述被監控虛擬機,再探測被監控虛擬機上已安裝服務的信息。
7.根據權利要求1至5中任一項所述的方法,其特征在于,所述探測被監控虛擬機上已安裝服務的信息的步驟,還包括:根據用戶輸入的IP地址段確定一個以上所述被監控虛擬機,再分別探測各個被監控虛擬機上已安裝服務的信息。
8.根據權利要求1至5中任一項所述的方法,其特征在于,所述探測被監控虛擬機上已安裝服務的信息的步驟,還包括: 將自動檢測到的全部虛擬機或與用戶輸入的關鍵字匹配的一類虛擬機均作為被監控虛擬機,再分別探測各個被監控虛擬機上已安裝服務的信息。
9.根據權利要求1至5中任一項所述的方法,其特征在于,所述在模板知識庫中增加與該關鍵字對應的配置模板的處理,進一步包括: 提示用戶用于配置與該關鍵字對應的配置模板的輸入的服務檢查參數信息; 根據用戶輸入的服務檢查參數信息和配置框架生成與該關鍵字對應的配置模板。
10. 根據權利要求1至5中任一項所述的方法,其特征在于, 所述配置模板包括以下配置項:主機名稱、主機IP地址、服務名稱、服務所屬主機名稱和服務檢查命令;以及/或者, 根據用戶輸入的監控命令來生成配置內容。
【文檔編號】H04L12/26GK103490941SQ201310072236
【公開日】2014年1月1日 申請日期:2013年3月7日 優先權日:2013年3月7日
【發明者】蔡柳青 申請人:中標軟件有限公司