閱讀608 返回首頁    go 阿裏雲 go 技術社區[雲棲]


道旅鬼穀子分享:如何打好業務監控的組合拳

來自 道旅旅遊科技股份有限公司 鬼穀子 的撰稿

業務背景

公司由於業務迅速擴展,需要針對業務方麵進行定製監控。通過選型最終采用了 ARMS 方案。以下篇幅簡單介紹了方案的大致概要以及最終效果,以供讀者參考。

選擇

以下是幾個產品方案的對比。需要解釋的是,以下三個產品在我們的架構中都有大量使用,但是隻是在本監控方案中,由於一些業務場景的特殊性,我們使用了業務實時監控服務 ARMS,雖然這並不代表 ARMS 是一個銀彈。

MaxCompute

我們以前用過 MaxCompute 作周期性的業務數據計算,缺點非常明顯,就是延遲性太高,這對於實時監控來說是致命的直接被PASS。

流計算

參加深圳雲棲大會的時候了解到流計算如獲至寶,也回來嚐試使用過一段時間,在實時監控的功能節點上是很重要的一環沒錯,但太過於細節,導致整條線過程冗長且繁雜,最後也放棄了。

業務實時監控服務 ARMS

一套組合拳,在數據分析、實時計算、報警、API、持久化存儲等方麵給我們節省了不少時間,也提供了更多的可能性。所以,最終我們選擇了 ARMS。

架構

image

數據源

IIS日誌

Windows ECS 安裝 Logtail 對 IIS 產生的日誌進行實時抓取

業務日誌

使用日誌服務 SDK 提交日誌

實時數據分析

ARMS 的配置分為以下幾個部分,由於篇幅原因,僅列出重點,詳細內容不贅述。

日誌切分

根據規則對日誌進行切分、類型轉換、字段重組等

數據集

將符合條件的數據進行匯總保存(留待後續分析和監控使用),按需設置報警(郵件、短信)

數據使用

對接 API

通過對接 API,可以對數據集內的數據進行查詢,以便後續的業務分析和問題複查

業務分析

實時查詢數據集內的結果,根據業務在內存中進行二次計算形成報表

監控

我們做了個 Monitoring 的項目,對接 Grafana 的 Datasource,這樣便可以在 Grafana 實時看到數據集內的數據。

使用案例

供應商酒店請求分析 監控

該場景用於我們對供應商酒店請求數的業務監控和事後分析,主要使用方是業務人員。介紹如下:

  • 通過日誌服務 SDK 在酒店請求接口中埋點日誌
  • 在 ARMS 後台根據供應商 Id,酒店 Id,請求維度等參數配置數據集
  • 對接 ARMS 接口,通過下鑽的方式獲取到數據。
  • 在內存中根據業務進行二次計算
  • 生成報表

image

調用第三方接口的 Status Code 監控

該場景用於我們對供應商酒店請求的狀態碼分析,主要使用方是運維和開發。本方案實現了 ARMS 對 Grafana 的對接,基本介紹如下:

  • 通過 Logtail 實時抓取 IIS 日誌
  • 在 ARMS 後台配置好數據集
  • 在 Monitoring 項目中對接 ARMS 接口,並根據 simpleJson 接口規則實現 Grafana Data Source 對接。 image
  • 為 SimpleJson 的 Search 接口定義 target 規則,並生成 target 與配置對應關係
  • 使用 ARMS 的下鑽功能為 SimpleJson 的 Search 接口支持 Templating 功能 image
  • 在 Grafana 中使用 Moniroing 提供的 simpleJson 接口實現展示數據 image

最後更新:2017-09-22 16:04:04

  上一篇:go  mongodb查詢處理流程
  下一篇:go  semi-sync插件崩潰導致MySQL重啟故障詳析