作者:尹正傑
版權宣告:原創作品,謝絕轉載!否則將追究法律責任。
目錄
- 一.tables(表格)展示資料
- 1.環境準備
- 2.配置Query(查詢)
- 3.配置Transform(轉換)
- 4.新增Overrides(覆蓋)屬性
- 5.配置多指標監控展示
- 5.1 統計系統負載
- 5.2 統計CPU核數
- 5.3 統計CPU使用率
- 5.4 統計記憶體總量
- 5.5 統計記憶體使用率
- 5.6 統計網路卡出流量
- 6.配置閾值和背景色
- 6.1 配置指定的表格顏色
- 6.2 壓力測試觀察Thresholds(閾值)顏色變化
- 6.3 Cell options(單元選項)
- 二.grafana變數定義
- 1.grafna變數的型別
- 2.Custom變數型別定義
- 3.Query變數型別定義
- 4.實戰案例
- 4.1 查詢叢集的總記憶體
- 4.2 統計記憶體的使用率
- 5.變數的巢狀
- 三.匯入dashboard模板
- 1.匯出當前dashboard(模擬備份)
- 2.匯入dashboard(模擬恢復)
- 3.匯入官方的模板
一.tables(表格)展示資料
1.環境準備
如上圖所示,我們配置了4個node_exporter被Prometheus監控了,本實驗就是在此基礎上執行的。
2.配置Query(查詢)
如上圖所示,依次配置一個Table的查詢就可以看到顯示的資訊。
3.配置Transform(轉換)
如上圖所示,點選"Transform",而後選擇"Filter by name",只勾選"instance","nodename","release",我們就可以將不需要的欄位過濾掉。
4.新增Overrides(覆蓋)屬性
如上圖所示,依次點選"Overrides","Add field override","Fields with name"
如下圖所示,"Fields with name"選擇響應的列欄位(比如instance),而後點選"add override property",選擇"Stamd options> Display name"
5.配置多指標監控展示
5.1 統計系統負載
如上圖所示,我們依次按照圖示執行,並新增"node_load5-0"查詢,發現最終展示效果並不理想,需要配置"Transform"頁面。
如下圖所示,我們在"Transform"頁面新增"Merge"轉換,而後在為"Value #B"新增Overrides配置進行輸出展示
5.2 統計CPU核數
如上圖所示,繼續新增CPU核心數監控,PromQL語句: count(node_cpu_seconds_total{mode='system'}) by (instance)
5.3 統計CPU使用率
如上圖所示,繼續新增CPU使用率監控,PromQL語句: (1 - avg(rate(node_cpu_seconds_total{mode="idle"}[1m])) by (instance)) * 100
5.4 統計記憶體總量
如上圖所示,繼續新增記憶體總量的監控,PromQL語句: node_memory_MemTotal_bytes-0
值得注意的是,需要當我們為記憶體配置屬性時要配置兩個,一個是列的名稱(Display name),另一個是單位轉換(Unit)
5.5 統計記憶體使用率
如上圖所示,繼續新增記憶體使用率的監控,PromQL語句: (1 - (node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes))*100
5.6 統計網路卡出流量
如上圖所示,繼續網路卡出流量的監控,PromQL語句:max(rate(node_network_transmit_bytes_total[1m])) by (instance)
6.配置閾值和背景色
6.1 配置指定的表格顏色
如上圖所示,我們可以為指定表格新增一個"Cell type"屬性,然後選擇"Colored background",就可以發現其會自動變色。
6.2 壓力測試觀察Thresholds(閾值)顏色變化
1.安裝stress壓測工具
[root@node-exporter42 ~]# apt -y install stress
2.開始記憶體壓測
[root@node-exporter42 ~]# stress --cpu 8 --io 4 --vm 2 --vm-bytes 128M --timeout 10m
stress: info: [2103] dispatching hogs: 8 cpu, 4 io, 2 vm, 0 hdd
3.觀察監控變化
如上圖所示,表格的顏色變紅了,根本原因是超過了定義的"Thresholds"(閾值)預設值: 80,我們可以自行修改該閾值喲~
6.3 Cell options(單元選項)
如上圖所示,我們可以定義"Cell options"(單元選項),修改背景色,顏色之類的,但是個人感覺還是Auto的看著比較順眼,你可以自行修改哈。
二.grafana變數定義
1.grafna變數的型別
grafana常用的變數型別包括但不限於:
- Query:
動態查詢的型別。
- Custom:
使用者自定義的字串。
- Data source:
資料來源。
2.Custom變數型別定義
如上圖所示,我們可以使用自定義變數,至於變數的具體字串,我們可以自行定義,比如: system,user,idle
如下圖所示,我們定義好變數可以直接在grafana中進行引用,對應的PromQL語句: node_cpu_seconds_total{mode="${custom_cpu_mode}"}
3.Query變數型別定義
如上圖所示,我們可以配置Query Type型別選擇"Label values",而後安裝步驟依次配置:
- Label標籤選擇器基於mode過濾。
- 如果還過濾不出來更詳細的可以使用Metric進行再次篩選。
- 如果還要進一步篩選,可以定義Regex,比如"i.*"表示以i開頭的mode,符合結果的僅有"idle","iowait","irq"等。
如下圖所示,就是我們使用變數展示後的效果,對應的PromQL語句: node_cpu_seconds_total{mode="${query_cpu_mode}"}
4.實戰案例
4.1 查詢叢集的總記憶體
如上圖所示,我們定義一個"instance"變數,並勾選"Multi-value"選項。
如下圖所示,我們就可以選擇多個主機的資訊進行檢視啦~對應的PromQL語句: node_memory_MemTotal_bytes{instance=~"${instance}"}
4.2 統計記憶體的使用率
如上圖所示,表示對應記憶體的使用率。
5.變數的巢狀
如上圖所示,我們定義device變數,引用了instance變數。
實現效果如下圖所示,當我們修改了instance變數時,對應的device的網路卡裝置可能也會隨之變化喲~
三.匯入dashboard模板
1.匯出當前dashboard(模擬備份)
如上圖所示,我們可以將自習做的dashboard匯出相當於備份,而且也可以給其他人共享。
2.匯入dashboard(模擬恢復)
如上圖所示,如果本地的dashboard刪除了,或者別人要用咱們的dashboard就可以手動匯入啦
3.匯入官方的模板
如上圖所示,我們可以去grafana官網匯入我們所需要的模板使用介面。
參考連結:
https://grafana.com/grafana/dashboards/