本發(fā)明涉及主機監(jiān)控領(lǐng)域,具體涉及一種監(jiān)控服務(wù)器及基于命令行的主機監(jiān)控方法。
背景技術(shù):
參見圖1,目前主流的主機監(jiān)控系統(tǒng)都是需要在被監(jiān)控主機上安裝監(jiān)控客戶端,使用監(jiān)控客戶端收集被監(jiān)控主機的狀態(tài)參數(shù)數(shù)據(jù),比如cpu、內(nèi)存、磁盤、進程等使用狀態(tài)反饋到監(jiān)控服務(wù)器,由監(jiān)控服務(wù)器負責(zé)相應(yīng)的處理邏輯,判斷被監(jiān)控主機是否發(fā)生異常,是否需要告警及記錄數(shù)據(jù)。
對于傳統(tǒng)的主機監(jiān)控系統(tǒng),當(dāng)每個被監(jiān)控主機上需要安裝部署和程序應(yīng)用升級時,需要對對應(yīng)的監(jiān)控客戶端進行升級更新,造成龐大的人力輸出;另外,分布在各個被監(jiān)控主機上的監(jiān)控客戶端也會消耗被監(jiān)控主機的資源,當(dāng)監(jiān)控客戶端出現(xiàn)bug時,也會影響到被監(jiān)控主機的正常運行。
技術(shù)實現(xiàn)要素:
本發(fā)明提供了一種監(jiān)控服務(wù)器及基于命令行的主機監(jiān)控方法,能夠減少成本和提高效率。
本發(fā)明解決上述技術(shù)問題的技術(shù)方案如下:一種監(jiān)控服務(wù)器,包括命令發(fā)送模塊、數(shù)據(jù)收集模塊、數(shù)據(jù)分析模塊和報警模塊;
所述命令發(fā)送模塊,用于向每一個被監(jiān)控主機發(fā)送命令行;
所述數(shù)據(jù)收集模塊,用于收集每一個被監(jiān)控主機根據(jù)命令行獲取并反饋的各項狀態(tài)參數(shù)數(shù)據(jù);
所述數(shù)據(jù)分析模塊,用于根據(jù)收集的每一個被監(jiān)控主機的各項狀態(tài)參數(shù)數(shù)據(jù),分析判斷每一個被監(jiān)控主機是否發(fā)生異常;
所述報警模塊,用于當(dāng)分析判斷出被監(jiān)控主機發(fā)生異常時,進行異常報警。
本發(fā)明的有益效果為:監(jiān)控服務(wù)器通過命令行來收集每一個被監(jiān)控主機的各項狀態(tài)參數(shù)數(shù)據(jù),不需要在每一個被監(jiān)控主機上安裝客戶端,被監(jiān)控主機脫離了監(jiān)控客戶端而存在,保證了被監(jiān)控主機的獨立性,很大程度上節(jié)省了安裝、升級所需要的人力成本。
在上述技術(shù)方案的基礎(chǔ)上,本發(fā)明還可以作如下改進。
進一步的,所述監(jiān)控服務(wù)器還包括:
通信模塊,用于通過加密協(xié)議與每一個被監(jiān)控主機通信連接。
所述進一步的有益效果為:監(jiān)控服務(wù)器通過加密協(xié)議與每一個被監(jiān)控主機之間進行連接,保證了遠程通信過程中數(shù)據(jù)傳輸?shù)陌踩浴?/p>
進一步的,所述數(shù)據(jù)收集模塊,用于收集各個被監(jiān)控主機根據(jù)命令行獲取的并經(jīng)過加密處理的各項狀態(tài)參數(shù)數(shù)據(jù);
還包括數(shù)據(jù)解密模塊,用于對每一個被監(jiān)控主機加密后的各項狀態(tài)參數(shù)數(shù)據(jù)進行解密,并將解密后的各項狀態(tài)參數(shù)數(shù)據(jù)發(fā)送給數(shù)據(jù)分析模塊;
所述數(shù)據(jù)分析模塊,用于對解密后的每一個被監(jiān)控主機的各項狀態(tài)參數(shù)數(shù)據(jù)進行分析,判斷每一個被監(jiān)控主機是否出現(xiàn)異常。
所述進一步的有益效果為:在每一個被監(jiān)控主機與監(jiān)控服務(wù)器進行數(shù)據(jù)傳輸?shù)倪^程中,對傳輸?shù)臄?shù)據(jù)進行了加密處理,使傳輸?shù)臄?shù)據(jù)更安全。
進一步的,所述數(shù)據(jù)分析模塊,用于對各項狀態(tài)參數(shù)數(shù)據(jù)進行分析,判斷每一個被監(jiān)控主機是否出現(xiàn)異常具體包括:
將每一個被監(jiān)控主機的每一項狀態(tài)參數(shù)數(shù)據(jù)與對應(yīng)的閾值范圍進行比較,若超出對應(yīng)的閾值范圍,則判定為該被監(jiān)控主機出現(xiàn)異常。
進一步的,所述各項狀態(tài)參數(shù)數(shù)據(jù)為CPU使用狀態(tài)、內(nèi)存使用狀態(tài)、磁盤使用狀態(tài)和進程狀態(tài)。
為了解決本發(fā)明的技術(shù)問題,還可以提供一種基于命令行的主機監(jiān)控方法,包括:
S1,監(jiān)控服務(wù)器與每一個被監(jiān)控主機遠程通信連接,且向每一個被監(jiān)控主機發(fā)送命令行;
S2,監(jiān)控服務(wù)器收集每一個被監(jiān)控主機根據(jù)命令行獲取并反饋的各項狀態(tài)參數(shù)數(shù)據(jù);
S3,監(jiān)控服務(wù)器對每一個被監(jiān)控主機的各項狀態(tài)參數(shù)數(shù)據(jù)進行分析,判斷每一個被監(jiān)控主機是否發(fā)生異常,若發(fā)生異常,則進行報警。
進一步的,所述監(jiān)控服務(wù)器與每一個所述被監(jiān)控主機通過加密協(xié)議遠程通信連接。
進一步的,所述步驟S2具體包括:
監(jiān)控服務(wù)器收集各個被監(jiān)控主機根據(jù)命令行獲取的并經(jīng)過加密處理的各項狀態(tài)參數(shù)數(shù)據(jù);
所述步驟S3具體包括:
監(jiān)控服務(wù)器對每一個被監(jiān)控主機的加密后的各項狀態(tài)參數(shù)數(shù)據(jù)進行解密,并對解密后的各項狀態(tài)參數(shù)數(shù)據(jù)進行分析,判斷每一個被監(jiān)控主機是否出現(xiàn)異常,若發(fā)生異常,則進行報警。
進一步的,所述步驟S3中監(jiān)控服務(wù)器對每一個被監(jiān)控主機的各項狀態(tài)參數(shù)數(shù)據(jù)進行分析,判斷每一個被監(jiān)控主機是否出現(xiàn)異常具體包括:
將每一個被監(jiān)控主機的每一項狀態(tài)參數(shù)數(shù)據(jù)與對應(yīng)的閾值范圍進行比較,若超出對應(yīng)的閾值范圍,則判定為該被監(jiān)控主機出現(xiàn)異常。
進一步的,所述各項狀態(tài)參數(shù)數(shù)據(jù)為CPU使用狀態(tài)、內(nèi)存使用狀態(tài)、磁盤使用狀態(tài)和進程狀態(tài)。
附圖說明
圖1為現(xiàn)有技術(shù)的主機監(jiān)控連接框圖示意圖;
圖2為本發(fā)明一實施例的一種監(jiān)控服務(wù)器連接框圖示意圖;
圖3為本發(fā)明一個實施例的一種監(jiān)控服務(wù)器連接框圖示意圖;
圖4為本發(fā)明另一個實施例的一種基于命令行的主機監(jiān)控方法流程圖;
圖5為本發(fā)明又一個實施例的一種基于命令行的主機監(jiān)控方法流程圖。
具體實施方式
以下結(jié)合附圖對本發(fā)明的原理和特征進行描述,所舉實例只用于解釋本發(fā)明,并非用于限定本發(fā)明的范圍。
參見圖2,為實施例1的一種監(jiān)控服務(wù)器,包括命令發(fā)送模塊、數(shù)據(jù)收集模塊、數(shù)據(jù)分析模塊和報警模塊;
所述命令發(fā)送模塊,用于向每一個被監(jiān)控主機發(fā)送命令行;
所述數(shù)據(jù)收集模塊,用于收集每一個被監(jiān)控主機根據(jù)命令行獲取并反饋的各項狀態(tài)參數(shù)數(shù)據(jù);
所述數(shù)據(jù)分析模塊,用于根據(jù)收集的每一個被監(jiān)控主機的各項狀態(tài)參數(shù)數(shù)據(jù),分析判斷每一個被監(jiān)控主機是否發(fā)生異常;
所述報警模塊,用于當(dāng)分析判斷出被監(jiān)控主機發(fā)生異常時,進行異常報警。
可以理解為,本實施例的監(jiān)控服務(wù)器是通過命令行來對各被監(jiān)控主機進行操作的,來獲取每一個被監(jiān)控主機上的各項狀態(tài)參數(shù)數(shù)據(jù),即監(jiān)控服務(wù)器中的命令發(fā)送模塊向每一個被監(jiān)控主機發(fā)送命令行,當(dāng)被監(jiān)控主機接收到命令行時,將自身的各項狀態(tài)參數(shù)數(shù)據(jù)反饋給監(jiān)控服務(wù)器,監(jiān)控服務(wù)器中的數(shù)據(jù)收集模塊收集各個被監(jiān)控主機反饋的各項狀態(tài)參數(shù)數(shù)據(jù),而無需在每一個被監(jiān)控主機上安裝對應(yīng)的監(jiān)控客戶端,由監(jiān)控客戶端來收集每一個被監(jiān)控主機的各項狀態(tài)參數(shù)數(shù)據(jù),被監(jiān)控主機脫離了監(jiān)控客戶端而存在,保證了被監(jiān)控主機的獨立性,很大程度上節(jié)省了安裝、升級所需要的人力成本,當(dāng)被監(jiān)控主機的數(shù)量越多,采用本實施例的部署安裝效率的提高會更明顯。本實施例中的命令行包括Unix/linux系統(tǒng)的bash/sh/ksh/csh或者Windows NT系統(tǒng)的cmd.exe/命令提示字符,即當(dāng)監(jiān)控服務(wù)器和各個被監(jiān)控主機為Linux操作系統(tǒng)時,命令行為shell命令行;當(dāng)監(jiān)控服務(wù)器和各個被監(jiān)控主機為Windows操作系統(tǒng)時,命令行為cmd命令行,本實施例適用于所有可使用命令行的服務(wù)器運維及狀態(tài)監(jiān)測領(lǐng)域。
參見圖3,為實施例2的一種監(jiān)控服務(wù)器,本實施例相比上述實施例2,監(jiān)控服務(wù)器中還包括通信模塊,所述通信模塊,用于通過加密協(xié)議與每一個被監(jiān)控主機通信連接。
其中,所述監(jiān)控服務(wù)器中的通信模塊與每一個所述被監(jiān)控主機通過加密協(xié)議遠程通信連接,本實施例中監(jiān)控服務(wù)器通過ssh(Secure Shell,安全外殼協(xié)議)加密協(xié)議與每一個被監(jiān)控主機遠程通信連接,保證了遠程通信過程中的安全性。
其中,所述數(shù)據(jù)收集模塊,用于收集各個被監(jiān)控主機根據(jù)命令行獲取的并經(jīng)過加密處理的各項狀態(tài)參數(shù)數(shù)據(jù);
在監(jiān)控服務(wù)器還包括數(shù)據(jù)解密模塊,用于對每一個被監(jiān)控主機加密后的各項狀態(tài)參數(shù)數(shù)據(jù)進行解密,并將解密后的各項狀態(tài)參數(shù)數(shù)據(jù)發(fā)送給數(shù)據(jù)分析模塊;
所述數(shù)據(jù)分析模塊,用于對解密后的每一個被監(jiān)控主機的各項狀態(tài)參數(shù)數(shù)據(jù)進行分析,判斷每一個被監(jiān)控主機是否出現(xiàn)異常。
可以理解為,在每一個被監(jiān)控主機將自身的各項狀態(tài)參數(shù)數(shù)據(jù)傳輸給監(jiān)控服務(wù)器的過程中,對各項狀態(tài)參數(shù)數(shù)據(jù)進行加密,監(jiān)控服務(wù)器中的數(shù)據(jù)收集模塊接收到這些狀態(tài)參數(shù)數(shù)據(jù)后,采用監(jiān)控服務(wù)器中的數(shù)據(jù)解密模塊對其進行解密,保證了數(shù)據(jù)傳輸過程中的安全性。
其中,數(shù)據(jù)分析模塊對各項狀態(tài)參數(shù)數(shù)據(jù)進行分析,判斷每一個被監(jiān)控主機是否出現(xiàn)異常的具體過程為:將每一個被監(jiān)控主機的每一項狀態(tài)參數(shù)數(shù)據(jù)與對應(yīng)的閾值范圍進行比較,若超出對應(yīng)的閾值范圍,則判定為該被監(jiān)控主機出現(xiàn)異常。比如,本實施例中各項狀態(tài)參數(shù)數(shù)據(jù)主要為CPU使用狀態(tài)、內(nèi)存使用狀態(tài)、磁盤使用狀態(tài)和進程狀態(tài),當(dāng)CPU、內(nèi)存、磁盤和進程的剩余容量小于最低閾值時,表明對應(yīng)的被監(jiān)控主機出現(xiàn)異常。需要說明的是,由于各個被監(jiān)控主機的性能參數(shù)不一樣,監(jiān)控服務(wù)器為每一個被監(jiān)控主機設(shè)置不同的閾值,區(qū)別對待,更具有合理性。
參見圖4,為實施例3的一種基于命令行的主機監(jiān)控方法,包括:
S1,監(jiān)控服務(wù)器與每一個被監(jiān)控主機遠程通信連接,且向每一個被監(jiān)控主機發(fā)送命令行;
S2,監(jiān)控服務(wù)器收集每一個被監(jiān)控主機根據(jù)命令行獲取并反饋的各項狀態(tài)參數(shù)數(shù)據(jù);
S3,監(jiān)控服務(wù)器對每一個主機的各項狀態(tài)參數(shù)數(shù)據(jù)進行分析,判斷每一個被監(jiān)控主機是否發(fā)生異常,若發(fā)生異常,則進行報警。
可以理解為,本實施例的監(jiān)控服務(wù)器是通過命令行來對各被監(jiān)控主機進行操作的,來獲取每一個被監(jiān)控主機上的各項狀態(tài)參數(shù)數(shù)據(jù),即監(jiān)控服務(wù)器向每一個被監(jiān)控主機發(fā)送命令行,當(dāng)被監(jiān)控主機接收到命令行時,將自身的各項狀態(tài)參數(shù)數(shù)據(jù)反饋給監(jiān)控服務(wù)器。而無需在每一個被監(jiān)控主機上安裝對應(yīng)的監(jiān)控客戶端,由監(jiān)控客戶端來收集每一個被監(jiān)控主機的各項狀態(tài)參數(shù)數(shù)據(jù),在每一個被監(jiān)控主機上安裝一個監(jiān)控客戶端,會消耗對應(yīng)被監(jiān)控主機上的資源,當(dāng)監(jiān)控客戶端出現(xiàn)bug時,也會影響被監(jiān)控主機的正常運行,本實施例中被監(jiān)控主機脫離了監(jiān)控客戶端而存在,減小了被監(jiān)控主機的內(nèi)存,保證了被監(jiān)控主機的獨立性,很大程度上節(jié)省了安裝、升級所需要的人力成本,當(dāng)被監(jiān)控主機的數(shù)量越多,采用本實施例的部署安裝效率的提高會更明顯。
參見圖5,為實施例4的一種基于命令行的主機監(jiān)控方法,包括:
S1’,監(jiān)控服務(wù)器與每一個被監(jiān)控主機通過加密協(xié)議遠程通信連接,且向每一個被監(jiān)控主機發(fā)送命令行;
S2’,監(jiān)控服務(wù)器收集各個被監(jiān)控主機根據(jù)命令行獲取的并經(jīng)過加密處理的各項狀態(tài)參數(shù)數(shù)據(jù);
S3’,監(jiān)控服務(wù)器對每一個被監(jiān)控主機的加密后的各項狀態(tài)參數(shù)數(shù)據(jù)進行解密;
S4’,將每一個被監(jiān)控主機的解密后的每一項狀態(tài)參數(shù)數(shù)據(jù)與對應(yīng)的閾值范圍進行比較,若超出對應(yīng)的閾值范圍,則判定為該被監(jiān)控主機出現(xiàn)異常;
S5’,若被監(jiān)控主機發(fā)生異常,則進行報警。
下面對上述步驟進行具體介紹,首先,監(jiān)控服務(wù)器通過加密協(xié)議與每一個被監(jiān)控主機遠程通信連接,即監(jiān)控服務(wù)器可以遠程對各個被監(jiān)控主機進行監(jiān)控。本實施例中,監(jiān)控服務(wù)器向每一個被監(jiān)控主機發(fā)送命令行,當(dāng)被監(jiān)控主機接收到監(jiān)控服務(wù)器發(fā)送的命令行時,將自身的各項狀態(tài)參數(shù)數(shù)據(jù)加密后反饋給監(jiān)控服務(wù)器,比如,可采用非對稱RAS加密算法對各項狀態(tài)參數(shù)數(shù)據(jù)進行加密。監(jiān)控服務(wù)器接收到每一個被監(jiān)控主機反饋的加密后的數(shù)據(jù)后,進行解密,得到解密后的各項狀態(tài)參數(shù)數(shù)據(jù),并將每一個被監(jiān)控主機的各項狀態(tài)參數(shù)數(shù)據(jù)與對應(yīng)的閾值進行比較,若不在閾值范圍內(nèi),表明該被監(jiān)控主機存在異常,監(jiān)控服務(wù)器進行異常報警。
本發(fā)明提供的一種監(jiān)控服務(wù)器及基于命令行的主機監(jiān)控方法,監(jiān)控服務(wù)器通過命令行來對各被監(jiān)控主機進行操作,獲取每一個被監(jiān)控主機上的各項狀態(tài)參數(shù)數(shù)據(jù),無需在每一個被監(jiān)控主機上安裝對應(yīng)的監(jiān)控客戶端,由監(jiān)控客戶端來收集每一個被監(jiān)控主機的各項狀態(tài)參數(shù)數(shù)據(jù),在每一個被監(jiān)控主機上安裝一個監(jiān)控客戶端,會消耗對應(yīng)被監(jiān)控主機上的資源,當(dāng)監(jiān)控客戶端出現(xiàn)bug時,也會影響被監(jiān)控主機的正常運行,本實施例中被監(jiān)控主機脫離了監(jiān)控客戶端而存在,減小了被監(jiān)控主機的內(nèi)存,保證了被監(jiān)控主機的獨立性,很大程度上節(jié)省了安裝、升級所需要的人力成本,當(dāng)被監(jiān)控主機的數(shù)量越多,采用本實施例的部署安裝效率的提高會更明顯;監(jiān)控服務(wù)器通過加密協(xié)議與每一個被監(jiān)控主機遠程通信連接,保證了遠程通信的安全性;以及在每一個被監(jiān)控主機與監(jiān)控服務(wù)器的數(shù)據(jù)傳輸過程中,實用了加密解密技術(shù),保證了遠程數(shù)據(jù)傳輸?shù)陌踩浴?/p>
以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。