一種基于搜索引擎的數據監控方法和系統的制作方法
【技術領域】
[0001 ]本發明涉及數據監控領域,更為具體而言,涉及一種基于搜索引擎的數據監控方 法和系統。
【背景技術】
[0002] 隨著電子商務相關技術和業務的快速發展,平臺化的監控方式滿足不了日益增長 的各種不同數據的監控要求。目前,應用服務器為了滿足不斷多樣化的大量應用需求,大多 以服務器集群的形式進行部署,而且應用的數量不斷增加,各種不同應用之間的數據交互 更加復雜。因此,如何對集群形式的應用服務器系統中的各項數據進行有效監控,成為了數 據監控領域亟需解決的技術問題。
【發明內容】
[0003] 為解決上述技術問題,本發明提供了一種基于搜索引擎的數據監控方法和系統。
[0004] 根據本發明實施方式的第一方面,提供了一種基于搜索引擎的數據監控方法,該 方法可包括通過監控服務器端接收應用服務器上的監控數據,并將所述監控數據寫入搜索 引擎以便所述搜索引擎對所述監控數據進行存儲和索引;根據預設的監控指標從所述搜索 引擎獲取對所述監控數據的統計數據,以便對超過監控閾值的指標發出報警信息。
[0005] 在本發明的一些實施方式中,所述應用服務器上的監控數據是由設置于所述應用 服務器的監控代理端采集,封裝為JS0N格式,通過消息中間件發送至所述監控服務器端。
[0006] 在本發明的一些實施方式中,所述監控數據包括指標名稱、指標采集時間和指標 對應的數值。
[0007] 在本發明的一些實施方式中,所述監控指標包括以下的一種或多種:CPU、內存、頁 面訪問量、頁面響應時間、頁面響應大小、異常響應碼、訪問地區排名、訪問URL排名、來源 URL排名、進程、端口、JVM服務線程數、JVM堆內存使用、JVM裝載類數目、數據庫連接池和 ERROR級日志。
[0008] 在本發明的一些實施方式中,所述根據預設的監控指標從所述搜索引擎獲取對所 述監控數據的統計數據包括:根據預設的監控指標從所述搜索引擎通過全文檢索獲取對所 述監控數據的統計數據。
[0009] 在本發明的一些實施方式中,所述報警信息包括:指標名稱和所述指標的數值超 過所述監控閾值的時間。
[0010] 根據本發明實施方式的第二方面,提供了一種基于搜索引擎的數據監控系統,該 系統可包括:監控服務器端,用于接收應用服務器上的監控數據,并將所述監控數據寫入搜 索引擎;搜索引擎,用于對所述監控數據進行存儲和索引;所述監控服務器端,還用于根據 預設的監控指標從所述搜索引擎獲取對所述監控數據的統計數據,以便對超過監控閾值的 指標發出報警信息。
[0011] 在本發明的一些實施方式中,所述系統還包括:監控代理端,設置于應用服務器 上,用于采集所述應用服務器上的監控數據,將所述監控數據封裝為JSON格式,并通過消息 中間件發送至所述監控服務器端。
[0012] 在本發明的一些實施方式中,所述監控數據包括指標名稱、指標采集的時間和指 標對應的數值。
[0013] 在本發明的一些實施方式中,所述監控指標包括以下的一種或多種:CPU、內存、頁 面訪問量、頁面響應時間、頁面響應大小、異常響應碼、訪問地區排名、訪問URL排名、來源 URL排名、進程、端口、JVM服務線程數、JVM堆內存使用、JVM裝載類數目、數據庫連接池和 ERROR級日志。
[0014] 在本發明的一些實施方式中,所述監控服務器端根據預設的監控指標從所述搜索 引擎獲取對所述監控數據的統計數據包括:根據預設的監控指標從所述搜索引擎通過全文 檢索獲取對所述監控數據的統計數據。
[0015] 在本發明的一些實施方式中,所述報警信息包括:指標名稱和所述指標的數值超 過所述監控閾值的時間。
[0016] 實施本發明提供的基于搜索引擎的數據監控方法和系統,能夠通過搜索引擎對非 結構化的應用日志等各類監控數據進行有效、高速的檢索,及時對應用服務器的各類異常 情況進行監控和報警。
【附圖說明】
[0017] 圖1是根據本發明一種實施方式的基于搜索引擎的數據監控方法的流程示意圖;
[0018] 圖2是根據本發明一種實施方式的基于搜索引擎的數據監控系統的結構示意圖;
[0019] 圖3是根據本發明一種實施方式的基于搜索引擎的數據監控系統的結構示意圖。
【具體實施方式】
[0020] 以下結合附圖和【具體實施方式】對本發明的各個方面進行詳細闡述。其中,眾所周 知的模塊、單元及其相互之間的連接、鏈接、通信或操作沒有示出或未作詳細說明。并且,所 描述的特征、架構或功能可在一個或一個以上實施方式中以任何方式組合。本領域技術人 員應當理解,下述的各種實施方式只用于舉例說明,而非用于限制本發明的保護范圍。還可 以容易理解,本文所述和附圖所示的各實施方式中的模塊或單元或處理方式可以按各種不 同配置進行組合和設計。
[0021 ]參見圖1,圖1是根據本發明一種實施方式的基于搜索引擎的數據監控方法的流程 示意圖,該方法可包括:
[0022] S101,通過監控服務器端接收應用服務器上的監控數據,并將所述監控數據寫入 搜索引擎以便所述搜索引擎對所述監控數據進行存儲和索引;
[0023] S102,根據預設的監控指標從所述搜索引擎獲取對所述監控數據的統計數據,以 便對超過監控閾值的指標發出報警信息。
[0024]在本發明的實施方式中,基于搜索引擎的數據監控方法可包括:步驟S101,通過監 控服務器端接收應用服務器上的監控數據,并將所述監控數據寫入搜索引擎以便所述搜索 引擎對所述監控數據進行存儲和索引。其中,應用服務器上的監控數據可以是由設置于應 用服務器上的監控代理Agent端采集,封裝為JS0N格式,通過消息中間件(例如,分布式消息 中間件)發送至所述監控服務器Server端。
[0025] 需要說明的是,本發明的應用服務器可包括WEB應用服務器,一般以集群的形式向 外提供應用服務,例如,接收客戶端的諸如查詢、下單和支付之類的交易請求,對這些請求 進行處理,并記錄相應的應用日志,例如交易成功、交易失敗、交易異常等信息,并可將這些 日志信息依次分為inf 〇級別、warn ing級別和error級別。在應用服務器集群中的每臺應用 服務器均設置一個監控代理Agent端,通過各個應用服務器上的監控Agent端采集該應用服 務器上的各類監控數據。監控Agent端在應用服務器上采集的監控數據可包括各種不同的 數據,從數據類型來劃分,可包括:WEB訪問日志、應用日志(例如,上面舉例說明的交易成 功、交易失敗、交易異常等日志信息)、操作系統的使用數據等等;從數據的結構來劃分,一 條監控數據可包括:需要監控的指標名稱、指標采集時間(例如,該指標名稱對應指標的采 集時間)和指標對應的數值(例如,在該采集時間的時間點上指標名稱對應指標的數值)。
[0026] 設置于應用服務器的監控Agent端在采集監控數據后,將這些監控數據解釋成 JS0N格式,通過分布式消息中間件以消息隊列的形式發送至監控服務器端,接著,監控服務 器端讀取消息隊列中的消息,并將消息以JS0N的格式寫入搜索引擎(例如,基于lucene構建 的分布式搜索引擎等),搜索引擎可以實時地對消息進行索引和存儲,而且通過JS0N格式也 可以對消息中的監控相關字段進行分詞和索引,以便后續從搜索引擎中檢索監控指標對應 的監控數據。
[0027]步驟S102中,監控服務器端根據預設的監控指標從搜索引擎獲取對監控數據的統 計數據,例如,可通過全文檢索檢索搜索引擎中監控指標對應的監控數據,得到對這些監控 數據的統計數據,將這些統計數據保存以便后續監控顯示,然后將統計得到的各項監控指 標的數值與指標相應的監控閾值進行比較,若超過(例如,大于或等于)監控閾值,則對超過 監控閾值的指標發出報警信息。其中,監控指標可包括下述的一種或多種:CPU、內存、頁面 訪問量、頁面響應時間、頁面響應大小、異常響應碼(例如,40X、50X等響應碼)、訪問地區排 名、訪問URL排名、來源URL排名、進程、端口、JVM服務線程數、JVM堆內存使用、JVM裝載類數 目、數據庫連接池、ERROR級日志。對于不同的監控指標,可設置相應的監控閾值,然而對于 其中的一些監控指標,也可以不設置監控閾值,例如訪問地區排名、訪問URL排名、來源URL 排