1. 程式人生 > >如何用自定義監控搞定個性化業務監控 – 運維派

如何用自定義監控搞定個性化業務監控 – 運維派

IT系統千差萬別,即便是通用的Java、PHP也會由於版本的差異,配置和介面存在大同而小異,但往往就是這些小差別,會對系統的穩定性和效能產生大影響。市面上的IT監控產品都只能對標準應用的流行版本進行準確監控,對於分支版本或企業自己開發的應用系統則需要大量的定製開發才能實現監控,而云智慧監控寶提供一種簡單靈活的監控手段——自定義監控,讓你輕鬆搞定各種應用系統的效能監控。

38

下面就用監控寶一個客戶的案例讓大家認識一下自定義監控

前一段時間,某著名商業企業上線了他們的Tmall系統,雲智慧監控寶為其提供了從伺服器、應用服務和API介面的監控服務,除此之外,該企業還期望通過交易日誌分析瞭解訂單的狀態和效能統計,這部分功能並非監控寶產品自帶功能,為此雲智慧基於監控寶自定義監控功能進行了定製開發,來實現Tmall系統日誌分析和監控功能。 監控部署方面比較麻煩,因為Tmall系統是第三方的,非常不願意我們去監控他們,有很多限制條件,比如不允許日誌伺服器向外網請求,我們的採集服務只能請求日誌伺服器,但最終都得到了圓滿的解決。

下面就看看我們怎麼用自定義監控搞定Tmall日誌監控的

首先,用Python寫了一個增量日誌分析程式,根據Tmall提供的規則把企業所需要的監控指標資料比如訂單總數、失敗訂單數、退款訂單數以及退款失敗訂單數從第三方的日誌檔案中讀取出來,並寫入我們自己的日誌中。 然後,在內網採集器中增加了一個自定義監控的外掛,來請求這個日誌分析程式獲得監控指標資料。 39 最後,在監控寶自定義監控中增加了一個監控專案,選擇採集器Python本地獲取資料,實現了這個需求。在部署上,內網採集器獨立部署在一臺能夠訪問公網的伺服器上,日誌分析程式部署在第三方的日誌集中儲存伺服器上。 由於在專案開始的時候,沒有認真研究客戶日誌樣例檔案和規則說明,所以走了一些彎路,所幸很快校正過來,把所有規則三方確認後升級了一版並最終搞定。這裡提醒各位做專案的,專案管理控制必要的步驟不能省,債早晚都是要還的。。。 這個專案是典型的先苦後甜,雖然前期掉了不少坑,但後來通過監控寶發現了不少Tmall系統的問題,在客戶面前證明了產品的價值,細節涉及隱私,略過不提。 通過這個案例給大家講講監控寶自定義監控,這是我們產品中藏著的一把瑞士軍刀,但由於這個功能是免費的,所以很多使用者反而不太瞭解。

那麼監控寶為什麼會提供這個功能呢?

監控寶靠網站監控打開了一片天地,後來增加了伺服器和服務監控,並逐漸支援Apache、Nginx等典型Web應用,在這個過程中我們發現,即使提供再多的標準服務也無法覆蓋廣大使用者不同版本、不同型別的應用,還有不少中、高階使用者會根據需求自己開發的個性化應用。 對監控來說,簡單說就是採集資料、分析結果、給出告警這三個步驟,而客戶的各類個性化應用對我們來說最難的一點在於資料採集。監控寶自定義監控的工作原理非常簡單,就是將資料採集標準化,我們制定了一個標準格式的資料交換檔案。 <pre> minEnqueueTime:0.0 expiredCount:0 storePercentUsage:0 dequeueCount:906 memoryUsage:96692 consumerCount:3 memoryPercentUsage:0 averageEnqueueTime:14668.775461866415 maxEnqueueTime:1205901.0 dispatchCount:2090 size:92 producerCount:1 enqueueCount:5567 tempPercentUsage:0 </pre> <pre></pre>是必須有的,minEnqueueTime、expiredCount等這些都是我們定義的監控指標,冒號之後是對應的指標值,這個檔案是通過介面的方式定義 40
定義好這個規則之後,剩下的就簡單了,讓被監控的目標程式或是應用把指標寫成這種格式的檔案,做成一個可以被http請求到的資源,不斷的把指標資料值寫進來。之後在自定義監控中建立監控專案,選擇這個規則,就可以了。 舉例說明: ActiveMQ 是Apache的開源訊息匯流排,如果用自定義監控如何實現ActiveMQ的監控需求呢? 第一步,整理出ActiveMQ監控的指標要求 41 第二步,寫個程式讀取ActiveMQ的指標資料,這裡用到了statistics plugin ,在ActiveMQ中配置一下即可。 <broker …>   <plugins>     <statisticsBrokerPlugin/>   </plugins> </broker> 配置項灰常簡單,用java寫個程序隔幾秒鐘取一次指標,程式碼比較挫,可以無視 42 主要是看輸出檔案位置:”/Users/jason/workspace/tomcat7065/webapps/root/mqkeyindex.html” 在本機裝個tomcat,這個位置就是預設的應用目錄,mqkeyindex.html就是我們定義的規則檔案。 43 至此,監控指標讀取和輸出完畢,這部分工作一般是客戶自己完成,或是雲智慧的工程師來幫客戶以專案方式完成,該企業的日誌分析程式就是類似這樣的。 再後面就是監控寶自定義監控的工作了。 因為tomcat在本機,外網訪問不到,所以需要安裝一個採集器,選擇好自定義監控外掛即可。操作過程略過。 44 非常新鮮,剛剛建立的。 45 規則是提前建好的,指標多建立起來好麻煩的說。 46 這個是建立頁面,這裡面的狀態頁其實就是我之前/Users/jason/workspace/tomcat7065/webapps/root/mqkeyindex.html輸出的格式。 這個規則是對照著輸出結果建立的,而用採集器解決了外網訪問不了的問題。 上面提到的那家咖啡企業是採用了“執行內部檔案獲取資料”的方式,和這個方式不太一樣,不過這是最簡單和常用的方式。另外,在規則定義中可以定義圖和線的 47 最後給大家看下效果吧。 48 自定義監控功能非常強大的,如果資料採集輸出環節技術難度不大的話,可以非常快速的搞定一個客戶的特殊監控需求,所以很多老使用者都最愛自定義監控功能。接下來我們會為您介紹監控寶自定義監控的詳細用法,敬請期待。