本發明涉及一種網絡監控系統,尤其涉及網絡游戲業務狀態監控系統及方法。
背景技術:
智能監控即通過監控平臺,實時的收集匯總當前線上業務服務器的狀態數據,并將這些數據進行存儲和展示,同時對于這些數據的狀態進行實時的判斷,一旦出現異常,則發出報警。
為了能夠滿足大規模服務器的需求,現有的監控平臺均采用了分布式的架構,將所有的數據進行匯總,便于統一的管理和展示,不僅能夠滿足大規模服務器的使用需求,而且對于全國乃至全球多機房部署擁有先天性的支持優勢。
但是現有的監控平臺,橫向擴展性較差,尤其無法滿足大規模多機房分布的實時監控要求,無法將所有數據匯總到一個統一的平臺內展示,同時對于機房到全國網絡狀態的實時監控也沒有實現。
技術實現要素:
為了解決現有技術存在的不足,本發明的目的在于提供一種網絡游戲業務狀態監控系統及方法,實現大規模多機房分布網絡游戲業務狀態和機房到全國網絡狀態的智能實時監控。
為實現上述目的,本發明提供的網絡游戲業務狀態監控系統系統,包括,業務狀態采集單元、后端監控服務器、前端監控服務器,以及監控數據庫,其中,
所述業務狀態采集單元,其對游戲服務器進行監控數據采集,并將所述監控數據發送給所述后端監控服務器;
所述后端監控服務器,其用于對所述監控數據處理;
所述前端監控服務器,其用于所述監控數據的展示以及監控內容的配置;
所述監控數據庫,其用于存儲監控數據和探測數據。
進一步地,所述業務狀態采集單元還包括,客戶端、代理端,以及探測端,
所述客戶端,其根據所述前端監控服務器的監控內容配置信息,對游戲服務器進行監控數據采集,并將所述監控數據通過所述代理端發送給所述后端監控服務器;
所述代理端,其與所述后端監控服務器和所述客戶端進行連接通信,將所述客戶端的監控數據傳輸至所述后端監控服務器;
所述探測端,其用于對網絡進行探測和探測數據的統計匯總。
進一步地,所述客戶端,其安裝在游戲服務器中,自動采集所需的游戲服務器監控數據。
進一步地,所述代理端,其與所述客戶端進行長連接,定時獲取所述客戶端采集的監控數據。
更進一步地,所述探測端根據用戶預先定義的時間周期和發包規則,定時對網絡進行探測。
為實現上述目的,本發明提供的網絡游戲業務狀態監控方法,包括以下步驟:
1)配置游戲服務器的監控內容;
2)對游戲服務器進行數據采集;
3)對監控數據進行處理并存儲;
4)展示監控數據,并對異常的監控數據進行報警。
進一步地,所述步驟1)配置游戲服務器的監控內容,是前端監控服務器接收用戶的操作,對游戲服務器的監控內容進行配置。
進一步地,所述步驟2)對游戲服務器進行數據采集,是客戶端根據對配置游戲服務器的監控內容,對游戲服務器進行數據采集。
進一步地,所述步驟3)對監控數據進行處理,是后端監控服務器根據規則對監控數據進行匯總。
更進一步地,所述步驟4)展示監控數據,并對異常的監控數據進行報警包括以下步驟:
a)前端監控服務器查詢監控數據庫中的監控數據并進行展示;
b)后端監控服務器對于異常的監控數據,進行報警處理。
本發明的網絡游戲業務狀態監控系統及方法監控數據的采集完全由客戶端,因此具有如下的技術效果:
1.自動完成,并且支持自定義采集方式,具有良好的擴展性。用戶通過配置一臺前端監控服務器的采集項目后,服務端能夠自動將相關的配置派發到客戶端處,隨后客戶端便會遵從配置文件的內容定時進行采集,在采集過程中無需服務端干預,不但降低了服務端的壓力,而且大大提升了客戶端采集的安全性和穩定性,保證了數據采集的規范性和一致性,同時由于客戶端允許用戶自行編寫腳本插件作為客戶端的采集工具,大大豐富了可以采集的內容,幾乎可以適應所有的采集需求。
2.架構中包括代理端,支持擴區域、擴網段、擴機房監控。對于小規模服務器的監控只需要在一個網段內即可,但是隨著業務量的增大,不可避免的會出現服務器分布在不同的網段,不同機房,甚至不同的城市,而且這些服務器本身可能之間還無法連通。代理端完美的解決了這些問題,能夠將全國各地不同的服務器通過代理端與后端服務器相連,從而解決了大規模分布式部署的服務器監控的問題。
3.數據最終進行匯聚,統一化的處理,便于管理與控制。所有的服務器監控數據都會通過代理端將數據傳回服務端進行數據的存儲、處理、展示等,不僅能夠保證數據的安全性,而且更加便于對于所有監控數據的管理與使用,而無需在各地分別建立數據中心進行處理,大大降低了運營與管理成本。
4.機房至全國網絡的實時探測,能夠了解各地玩家到游戲服務器的網絡情況。通過探測端使得機房到全國各地的網絡情況變得清晰透明,尤其是網絡游戲這種需要與玩家實時互動的業務,更是需要關注網絡情況,從而保障用戶體驗。
正是因為有了代理端的存在,能夠大大提高服務端對于客戶端的承載能力,同時解決了不同機房之間網絡互聯互通的問題,從而實現了分布式、大規模的服務器監控能力。
本發明的其它特征和優點將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實施本發明而了解。
附圖說明
附圖用來提供對本發明的進一步理解,并且構成說明書的一部分,并與本發明的實施例一起,用于解釋本發明,并不構成對本發明的限制。在附圖中:
圖1為根據本發明的網絡游戲業務狀態監控系統架構圖;
圖2為根據本發明的網絡游戲業務狀態監控方法流程圖。
具體實施方式
以下結合附圖對本發明的優選實施例進行說明,應當理解,此處所描述的優選實施例僅用于說明和解釋本發明,并不用于限定本發明。
圖1為根據本發明的網絡游戲業務狀態監控系統架構圖,如圖1所示,本發明的網絡游戲業務狀態監控系統,包括,多個業務狀態采集單元10、后端監控服務器20、前端監控服務器30,以及監控數據庫40,其中,
業務狀態采集單元10,在每個機房,或者每個獨立不互通的網段進行部署,并與后端監控服務器20連通,將采集的游戲服務器的監控數據傳送到后端監控服務器20。
后端監控服務器20,其負責監控數據相關的處理工作,包括將監控數據存儲至監控數據庫40中,分析當前采集到的監控數據,將監控數據根據一定的規則進行匯總(例如總在線人數),對于異常的監控數據,根據配置的規則進行相應的報警工作等。所有的數據處理工作均由后端監控服務器20完成,因此后端監控服務器20也是整個監控方法的大腦所在。
本實施例中,后端監控服務器20作為整個系統的大腦,肩負著對所有數據進行處理的功能。需要部署在一個盡可能穩定的機房環境中,因為一旦后端出現故障,那么整個監控系統將變得無法正常使用。部署后端監控服務器需要根據實際監控的游戲服務器數量,以及監控的數據量來決定,由于后端主要負責計算等高強度工作,因此消耗的資源也較大,包括CPU、內存、網絡帶寬等,因此需要一臺強大性能的服務器來保證系統的正常運行。
前端監控服務器30,主要負責監控數據的展示以及監控內容的配置工作,包括查詢數據庫中所有記錄的監控數據(包括當前和歷史),配置每臺游戲服務器需要的監控項,每個監控項對應的閾值,一旦超過閾值需要發出報警的對象,報警的具體內容等一切需要配置的內容,均在前端實現,因此前端也是整個監控方法的眼睛所在。
本實施例中,前端監控服務器30作為整個系統的入口,不但需要為用戶展示采集到的數據,更需要讓用戶對所有的游戲服務器進行相應的配置。雖然前端出現故障并不會影響整個監控采集的功能,但是作為整個系統與用戶交互的入口,會對用戶的體驗,以及監控的調整變更造成很大的影響。因此同樣需要保證前端的穩定性,建議部署在相對穩定的機房,同時使用負載均衡的方式來保證高可用性。
監控數據庫40,其分別連接后端監控服務器20和前端監控服務器30,存儲監控數據和探測數據。
本發明的業務狀態采集單元10,進一步包括:多個客戶端101、代理端102,以及探測端103,
每一個客戶端101,用于游戲服務器的數據采集,其根據前端監控服務器30接受用戶對游戲服務器進行監控的內容配置信息,對游戲服務器進行監控數據采集,并將采集的監控數據通過代理端102發送給后端監控服務器20。其中,監控數據采集包括了游戲服務器基礎數據(如:CPU、內存、網卡等)的采集和業務數據的采集(如:在線人數、排隊人數、連接數據庫狀態等)。
代理端102,其作為后端監控服務器20和客戶端101數據交互的中間橋梁,同時與后端監控服務器20和客戶端101進行連接通信,將客戶端101的所有監控數據平穩安全的傳輸至后端監控服務器20。代理端102會與歸屬于其下的客戶端101進行長連接,并定時去客戶端101處獲取所有采集到的監控數據,將獲取到的所有數據整理匯總后提交至后端監控服務器20。
本實施例中,代理端102需要在每個機房,或者每個獨立不互通的網段進行部署,同時需要保證代理端102與其管理的所有客戶端101的網絡是連通的,并且代理端102能夠與后端監控服務器20連通。由于代理端102需要與很多客戶端程序相連,因此代理端102對于所在服務器的連接數是最主要的資源開銷。只要保證了代理端102的網絡通常,則監控數據就可以源源不斷的從客戶端101傳回后端監控服務器20。
探測端103,其用于檢測機房到全國各地的網絡情況,包括丟包率和延遲兩個維度。探測端103會根據用戶預先定義好的時間周期以及發包規則,定時的對全國各地主要IP進行相應的發包探測工作,并將探測得到的探測數據進行統計匯總,傳輸給后端監控服務器20并存儲到監控數據庫40中。前端監控服務器30會對于這種特定格式的探測數據進行分析,并以中國地圖的形式將這些數據展現在一幅中國地圖上,從而清晰的看到全國各地到機房的實時網絡情況。
本實施例中,探測端103需要部署在游戲業務所在的機房,如果此機房擁有多個網絡出口,則需要在每個網絡出口均部署探測端102以保證監控的完整性。同時需要收集全國各地主要地區的網絡IP地址,并通過前端配置到系統中。系統會使每個探測端102都對所有錄入的IP進行實時的探測,并將得到的結果返回至服務端進行相應的處理。由于探測端103需要不斷的發包進行探測,因此對于網絡帶寬消耗的資源較大,在部署時應盡可能選擇在網絡條件較好的地方,避免因為部署所在的服務器異常導致誤報的情況。
本發明的網絡游戲業務狀態監控系統,其服務端做為整個監控體系的核心部分,負責數據的存儲與展示,分析與計算,判斷與報警等重要工作。由于服務端的功能較多,因此服務端拆分為了前端與后端兩部分。
圖2為根據本發明的網絡游戲業務狀態監控方法流程圖,下面將參考圖2,對本發明的網絡游戲業務狀態監控方法進行詳細描述。
首先,在步驟201,前端監控服務器30接收用戶的輸入,對所有的游戲服務器的監控內容進行相應配置,并將監控的內容配置信息通過后端監控服務器20發送到相應的業務狀態采集單元10的客戶端101。
在步驟202,客戶端101根據所述監控的內容配置信息,對相應的游戲服務器進行監控數據采集,監控數據采集包括了游戲服務器基礎數據(如:CPU、內存、網卡等)的采集和業務數據的采集(如:在線人數、排隊人數、連接數據庫狀態等)。
在步驟203,客戶端101將采集的游戲服務器的監控數據,通過代理端102發送給后端監控服務器20。
在步驟204,后端監控服務器20接收監控數據并進行處理,包括將監控數據存儲至監控數據庫40中,分析當前采集到的監控數據,將監控數據根據一定的規則進行匯總(例如總在線人數),對于異常的監控數據,根據配置的規則進行相應的報警工作等。
在步驟205,前端監控服務器30為用戶展示采集到的監控數據查詢,并監控數據庫40中所有記錄的監控數據(包括當前和歷史);根據監控的內容配置信息,配置每個監控項對應的閾值,一旦超過閾值發出報警提示。
本發明的客戶端101,包含了windows和linux兩個版本,由于目前網絡游戲采用的服務器操作系統主要就是這兩種操作系統,因此客戶端101完全可以滿足業務的實際需求。在客戶端101內,會包含各類數據采集所需的采集插件,客戶端根據用戶預先定義的規則邏輯,自動定時調用這些插件進行相應的采集工作,并將采集得到的數據保存在內存中,等待代理端前來獲取。
對于所有需要監控的游戲服務器,均需要根據自身運行的系統(Linux或者Windows)安裝對應版本的客戶端程序,客戶端程序中會包含常用的數據采集插件,用于配合客戶端自動采集使用??蛻舳藘H需要第一次安裝初始化,一旦完成后,后續客戶端均會以系統服務的形式存在,能夠隨著操作系統自動的起停,無需用戶干預。由于客戶端的功能精煉,經過優化后對于服務器的開銷非常的小,幾乎可以忽略不計,用戶無需擔心由于監控客戶端對服務器負載造成任何影響。
本領域普通技術人員可以理解:以上所述僅為本發明的優選實施例而已,并不用于限制本發明,盡管參照前述實施例對本發明進行了詳細的說明,對于本領域的技術人員來說,其依然可以對前述各實施例記載的技術方案進行修改,或者對其中部分技術特征進行等同替換。凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護范圍之內。