本發明涉及一種服務器運維領域,特別是涉及一種服務器活躍度檢測系統及方法。
背景技術:
隨著虛擬化、云平臺、docker等技術的發展,服務器(包括虛擬機和物理服務器)的自動化部署的效率越來越高。“服務器交付”成為一件非常容易的運維事件,帶來的結果是服務器數量也隨著飛速增加。
這給運維人員帶來了一個問題:這些線上的服務器是否真正的take traffic,是否會隨著應用功能更新迭代漸漸的不再被使用。僅僅依靠用戶主動意識到服務器不再被使用而提出服務器下線請求這種方式,往往不能覆蓋全面。在線上環境中肯定會存在低負載的服務器、甚至于僵尸機器。
技術實現要素:
本發明要解決的技術問題是為了克服現有技術中的缺陷僅僅依靠用戶主動意識到服務器不再被使用而提出服務器下線請求這種方式,往往不能覆蓋全面,而提供一種服務器活躍度檢測系統及方法。
本發明是通過下述技術方案來解決上述技術問題的:
本發明提供了一種服務器活躍度檢測系統,其特點在于,包括:
監控數據采集模塊,用于采集服務器的監控數據;
運維事件采集模塊,用于采集服務器的運維事件,并從所述運維事件中獲取服務器的運維操作數據;
數據預處理模塊,用于對所述監控數據及所述運維操作數據進行預處理,提取特征信息,生成訓練模塊的輸入向量;
訓練模塊,用于對預先準備的服務器的樣本數據進行訓練,以得到一組支持向量;
檢測模塊,用于利用所述支持向量對待檢測的服務器的活躍度進行檢測,并輸出檢測結果。
較佳地,所述服務器活躍度檢測系統還包括:
服務器處理模塊,用于根據所述檢測結果,對檢測結果為空閑的服務器進行處理。
較佳地,所述檢測結果包括空閑和忙碌,當所述檢測結果為空閑時,所述服務器處理模塊用于對檢測結果為空閑的服務器進行縮容或下線操作。
較佳地,所述監控數據包括CPU(中央處理器)數據、LOAD(負載)數據、Memory(存儲)數據、網絡連接數據、網卡流量數據。
較佳地,所述運維事件包括服務器賬號申請事件、服務器登錄事件、服務器發布事件。
本發明的目的在于還提供了一種服務器活躍度檢測方法,其特點在于,其利用上述的服務器活躍度檢測系統實現,包括以下步驟:
S1、監控數據采集模塊采集服務器的監控數據;
S2、運維事件采集模塊采集服務器的運維事件,并從所述運維事件中獲取服務器的運維操作數據;
S3、數據預處理模塊對所述監控數據及所述運維操作數據進行預處理,提取特征信息,生成訓練模塊的輸入向量;
S4、訓練模塊對預先準備的服務器的樣本數據進行訓練,以得到一組支持向量;
S5、檢測模塊利用所述支持向量對待檢測的服務器的活躍度進行檢測,并輸出檢測結果。
較佳地,所述服務器活躍度檢測系統還包括服務器處理模塊,步驟S5之后還包括:
S6、服務器處理模塊根據所述檢測結果,對檢測結果為空閑的服務器進行處理。
較佳地,所述檢測結果包括空閑和忙碌,當所述檢測結果為空閑時,所述服務器處理模塊對檢測結果為空閑的服務器進行縮容或下線操作。
較佳地,所述監控數據包括CPU數據、LOAD數據、Memory數據、網絡連接數據、網卡流量數據。
較佳地,所述運維事件包括服務器賬號申請事件、服務器登錄事件、服務器發布事件。
本發明的積極進步效果在于:本發明可以對線上服務器進行資源評估,根據檢測結果后續進行縮容或者下線處理,從而節約資源,提高服務器資源利用率,減少機房機柜的使用,減少運維成本。
附圖說明
圖1為本發明的較佳實施例的服務器活躍度檢測系統的模塊示意圖。
圖2為本發明的較佳實施例的服務器活躍度檢測方法的流程圖。
具體實施方式
下面通過實施例的方式進一步說明本發明,但并不因此將本發明限制在所述的實施例范圍之中。
如圖1所示,本發明的服務器活躍度檢測系統包括監控數據采集模塊1、運維事件采集模塊2、數據預處理模塊3、訓練模塊4、檢測模塊5以及服務器處理模塊6;
其中,所述監控數據采集模塊1用于采集服務器的監控數據,例如CPU數據、LOAD數據、Memory數據、網絡連接數據、網卡流量數據等數據;具體可以采集一定時間內(如1個月)的服務器運行時的監控數據,以反映服務器的資源使用情況;
所述運維事件采集模塊2用于采集服務器的運維事件,并從所述運維事件中獲取服務器的運維操作數據;其中,所述運維事件包括服務器賬號申請事件、服務器登錄事件、服務器發布事件等運維事件,獲取的運維操作數據具體包括上線時間、最新應用發布時間、登錄權限、最近登錄時間、最近變更操作時間等數據;具體可以采集一定時間內(如1個月)的服務器的運維事件;本發明采集到的服務器相關數據具體如下表1所示;
表1
所述數據預處理模塊3用于對所述監控數據及所述運維操作數據進行預處理,提取特征信息,生成訓練模塊的輸入向量;其中,可以直接將所述監控數據及所述運維操作數據作為訓練模塊的輸入向量,或者可以對所述監控數據及所述運維操作數據進行加權處理后作為訓練模塊的輸入向量;
所述訓練模塊4用于對預先準備的服務器的樣本數據進行訓練,以得到一組支持向量;其中,服務器的樣本數據可以預想進行準備和設置,將訓練之后得到的一組支持向量存入SVM庫,這組支持向量就是訓練后得到的模型;
所述檢測模塊5用于利用所述支持向量對待檢測的服務器的活躍度進行檢測,并輸出檢測結果;其中,具體的檢測結果包括空閑和忙碌。
所述服務器處理模塊6則會根據所述檢測結果,對檢測結果為空閑的服務器進行處理。具體地,當所述檢測結果為空閑時,所述服務器處理模塊6用于對檢測結果為空閑的服務器進行縮容或下線操作。
本發明使用SVM支持向量機,支持向量機的學習算法是求解凸二次規劃的最優化算法;
本發明基于機器學習,在模型建立后通過不停的訓練模型可以不斷地進行模型優化和修正,達到評估結果準確率高的效果,在實際使用中準確率達到95%以上;
本發明通過多維度數據,包括服務器自身的運行數據、服務器登錄操作記錄、服務器應用運行情況、服務器應用發布情況等進行評估來達到減少誤判情況發生的效果。
本發明還提供了一種服務器活躍度檢測方法,其利用上述的服務器活躍度檢測系統實現,如圖2所示,包括以下步驟:
步驟101、監控數據采集模塊采集服務器的監控數據;
步驟102、運維事件采集模塊采集服務器的運維事件,并從所述運維事件中獲取服務器的運維操作數據;
步驟103、數據預處理模塊對所述監控數據及所述運維操作數據進行預處理,提取特征信息,生成訓練模塊的輸入向量;
步驟104、訓練模塊對預先準備的服務器的樣本數據進行訓練,以得到一組支持向量;
步驟105、檢測模塊利用所述支持向量對待檢測的服務器的活躍度進行檢測,并輸出檢測結果;
步驟106、服務器處理模塊根據所述檢測結果,對檢測結果為空閑的服務器進行處理。
其中,所述檢測結果包括空閑和忙碌,當所述檢測結果為空閑時,所述服務器處理模塊對檢測結果為空閑的服務器進行縮容或下線操作。
雖然以上描述了本發明的具體實施方式,但是本領域的技術人員應當理解,這些僅是舉例說明,本發明的保護范圍是由所附權利要求書限定的。本領域的技術人員在不背離本發明的原理和實質的前提下,可以對這些實施方式做出多種變更或修改,但這些變更和修改均落入本發明的保護范圍。