1. 程式人生 > >influxDB + grafana 開發流量監控系統

influxDB + grafana 開發流量監控系統

  應公司業務需求,利用influxDB + grafana實踐開發一個介面監控系統。

  首先準備工作,docker 拉取grafana 映象

    docker run -d -p 3000:3000 grafana/grafana,本地執行映象,更改對應配置,監聽http://localhost:3000,首次登陸grafana面板使用者名稱預設為admin,

密碼123456;grafana會提示更改密碼,根據需求,可以更改對應密碼。  登陸grafana後,建立對應資料庫

其中要注意填寫資料傳輸地址時,一般用IP。緊接著,我們便可穿建立一個儀表板,來開發我們對應的面板需求了。

metrics選項卡定義要呈現的系列資料和源。每個資料來源都提供不同的選項。

  

 

  1、之前建立好的的資料來源名字

      2、添加個 query

      3、資料聚合函式處理,根據不同需求調整

      4、圖示展示註釋,可包含變數名稱

  可以根據需求新增多個query篩選想要的資料。

  1、圖形面板開發:

   

 設定面板的標題,是否根據有效值遍歷新面板。

選擇X軸model值,可展示資料走勢圖,柱狀圖。

時間範圍選項卡通過控制時間範圍和時間偏移量,允許您覆蓋儀表板時間範圍並指定面板特定時間。

開發完整的圖形面板如下圖:

2、餅裝圖面板開發:從grafana4.開始餅圖外掛已經內建了,但是其他版本需通過grafana-cli自行安裝。

通過metric選項卡控制資料佔比,可更直觀瞭解對應值得佔比,

完整餅狀圖展示如下圖:

3、儀表板間的連線跳轉、引數傳遞及通訊(文件沒有該概念)

   儀表板間的相互通行依靠地址跳轉,引數傳遞來實現,以table面板為例

  

通過link連結我們便可跳轉到任意我們需要跳轉的地址,但是當需要帶上一些我們需要的地址引數是,我們又改怎麼辦呢,當然我們需要使用到grafana中變數的設定。

可通過度量值(metric)或者tag值進行變數提取,通過正則表示式對值進行過濾。注:不同變數資料來源有不同的查詢變數配置。然後在跳轉連結中新增該變數進行賦值(&var-name="value")實現儀表板之間的引數傳遞及通訊。

  總結:以上實踐實現了對介面監控,更為直觀的看出,指定時間段內的訪問量,請求狀況,錯誤佔比等。

  改善空間:1、配置預警系統,通過發郵件方式,提示訪問預警等功能,

       2、圖形面板可新增時間段註釋,更加方便檢視指定時間段實時狀況,及時間控制。