第十二 講:Grafana 超實⽤用企業級監控繪圖⼯工具的結合
本講內容
- Grafana 這款軟體的介紹
- Grafana 下載/安裝/配置/運⾏
- Grafana 設定資料來源 連線prometheus_server
- Grafana 建⽴ Dashboard
- Grafana 建立 graph 成圖
- Grafana graph進階內容
- Grafana Dashboard 全域性部署優化
- Grafana json備份 和 還原
- Grafana 實現報警功能 連線(4.0新功能 重要!)
Grafana介紹
Grafana是⼀款近⼏年新興的 開源資料繪圖⼯具平臺,預設⽀持如下這麼多鍾 資料來源作為輸⼊
Grafana 下載/安裝/配置/運⾏
官網地址:https://grafana.com/
下載安裝執行
#下載 wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-4.6.3-1.x86_64.rpm #安裝 rpm -ivh grafana-4.6.3-1.x86_64.rpm #執行 rpm -ivh grafana-4.6.3-1.x86_64.rpm systemctl daemon-reload systemctl enable grafana-server.service systemctl start grafana-server.service
訪問預設使用3000埠
預設使用者名稱和密碼為admin
新增資料來源
新增後檢視
建立圖形
建立Graph圖形
點選編輯edit
count_netstat_wait_connections
可以設定 整個graph的解析度 如果希望圖形更清晰 可以設定 Height的部分 到200-400px
接下來我們看 Metrics選項卡的部分
預設影象下⽅的輸出資訊 是輸出全部的標籤 看著很亂 我們可以定製⾃⼰的 標籤別名
接下來 我們來到 Legend選項卡
在這⾥ 我們可以進⼀步 對輸出值 進⾏規劃 可以講顯⽰數值 額外設定 最⼩ 最⼤ 平均 當前 數值進⾏顯⽰ 最終可以做成這種樣⼦的顯⽰
最終效果
Grafana json備份 和 還原
SAVE as 當我們的dashboard設定的graph越來越多時 我們除了即時儲存 還要掌握 匯出的⽅法 以便永久儲存
在最上⾯ 設定的部分 選擇 View Json
將全部的json copy出來 儲存到第⼀個地⽅ 以備不時之需 Grafana⽀持將 json導⼊ 還原成 dashboard
刪除監控圖
Grafana 實現報警功能 連線(4.0新功能 重要!)
Grafana 4.0之後 ⽀持報警功能
所有的graph圖形都可以 設定連線上多個報警平臺 並設定閾 值並報警
這個是⼀個⾮常重要的新功能 有了這個 新功能後 prometheus_server(alertmanager外掛)-Pagerduty 僅僅作為資料 源即可(沒有必要再使⽤prometheus做報警設定了)
整個的流程如下
接下來我們來看下 如何設定grafana的報警功能
1) 新建⼀個報警平臺 連線渠道(Alerting channel) 我們先去Pagerduty 獲取⼀個Integration Key 這個Integration Key 實際上是⼀串數字,作為讓其他軟體連線到⾃⼰的 認證碼 xxxxxxxxxxxxxxxx
2) 回到我們的 Dashboard => Graph 我們來設定 報警閾值
可以是 avg() 也可以是 max() min() 等等 對⼀段資料的數值 進⾏估算 ,可以⾛ 平均 也可以取最⼤值 最⼩值 然後 OF 之後 選擇我們的 之前的查詢公式 Query(A,1m,now) 其中的 A 就是我們在建立 Graph Metrics選項卡的 設定的第⼀ 個查詢公式 1m 代表的是 取1分鐘內的資料 IS ABOVE 後 就是報警的觸發閾值了 當⼤於110的時候 就會發出報警到 Pagerduty 儲存之後 我們的Graph圖 如下
3) 繼續設定 我們的 notification
設定一個CPU使用率的監控圖
查詢語句是
(1-sum(increase(node_cpu{mode="idle"}[1m])) by(instance) / sum(increase(node_cpu[1m])) by(instance))*100
有達到閾值返回true
報錯報警規則