Prometheus入門教程(三):Grafana 圖表配置快速入門
阿新 • • 發佈:2020-10-21
# 文章首發於【陳樹義】公眾號,點選跳轉到原文:https://mp.weixin.qq.com/s/sA0nYevO8yz6QLRz03qJSw
前面我們使用 Prometheus + Grafana 實現了一個簡單的 CPU 使用率變化圖,但是這個圖還有許多缺陷,例如:左邊欄的數值太小了無法調整,下面的圖示資訊無法定製化等等。
其實 Grafana 的功能是非常強大的,可以針對不同的需求進行鍼對性設定,從而做出讓你滿意的監控圖表。那麼我們今天就係統地講一講如何設定 Grafana 圖表!
## Dashboard 與 Panel
Dashboard(面板)與 Panel(圖表)是 Prometheus 的基本單元,我們所有的監控資料都會通過這兩個東西來呈現。
Dashboard 就是一個大的面板,裡面包含了無數個圖表(Panel)。例如:我們希望監控訂單系統的各項業務指標,那麼我們可以建立一個名為「訂單業務監控」的面板,然後在這個面板下建立許多個圖表。
## Panel 圖表配置
Panel(圖表)是 Prometheus 中資料呈現的最小單元,我們看到的面板資料,都是由一個個圖表構成的。圖表(Panel)的設定區域一共可以分為三部分:
* 預覽區:用來預覽設定的圖表。
* 資料設定區:用來設定資料來源、資料指標等。
* 圖表設定區:用來對圖表的名稱等進行設定。
![](https://www-shuyi-me.oss-cn-shenzhen.aliyuncs.com/blog/16031126244507.jpg)
### 預覽區
預覽區非常簡單,就是針對「資料設定區」和「圖表設定區」的設定結果,進行模擬顯示,從而讓我們可以實時看到效果,方便我們進行配置。
![](https://www-shuyi-me.oss-cn-shenzhen.aliyuncs.com/blog/16031126406827.jpg)
### 資料設定區
資料設定區可以分為三個設定區域,分別是:
* 查詢設定區:設定查詢資料的資料來源、指標等。
* 轉換設定區:可以對查詢出來的資料進行過濾等。
* 告警設定區:可以對設定的指標設定告警規則。
![](https://www-shuyi-me.oss-cn-shenzhen.aliyuncs.com/blog/16031126472186.jpg)
# 文章首發於【陳樹義】公眾號,點選跳轉到原文:https://mp.weixin.qq.com/s/sA0nYevO8yz6QLRz03qJSw
#### 查詢設定區
查詢設定區可以分為兩塊,分別是:
* 資料來源設定
* 資料指標設定
##### 資料來源設定
資料來源設定用來設定使用哪個資料來源。此外,還可以針對選擇的資料進行更精細化的設定,例如:Max data points 等設定。
![](https://www-shuyi-me.oss-cn-shenzhen.aliyuncs.com/blog/16031126548958.jpg)
##### 資料指標設定
這塊用來設定你想顯示資料來源中的哪個指標、標識填什麼、格式是啥。
![](https://www-shuyi-me.oss-cn-shenzhen.aliyuncs.com/blog/16031126608004.jpg)
整體來說有這麼幾個選項:
* Metrics 指標名
表明這個圖表是用來展示資料來源中的什麼資料,是顯示變化率,還是數值,這裡相當於一個表示式。例如我這裡是用來顯示 CPU 的變化率的,所以我填入的是:「rate(system_cpu_usage[1m])」,這表示使用 1 分鐘的資料變化率來顯示 CPU 的變化情況。
* Legend 圖例
圖例可以設定圖例的顯示數值是什麼,例如這裡我寫了:「{{instance}}-1m」,這表示使用例項名為字首,後面再加上「-1m」字串,最終顯示為:「localhost:8080-1m」,其中 localhost:8080 為例項名。
* Min Step 最小步長
最小步長表示圖形裡每兩個點的最小資料間隔是多少,例如:這裡我設定了 200,那表示圖形上每隔 200 個單位才會有一個點。觀察一下圖形可以大致知道 min step 的作用。
![](https://www-shuyi-me.oss-cn-shenzhen.aliyuncs.com/blog/16031126685281.jpg)
* Resolution 精度
這表示其資料精度是怎樣的,是 1 比 1 的精度,還是原有的 1/2,還是 1/3 等等。如果是 1/2 的話,那麼就是原本 1 個單位顯示一個點,現在 2 個單位合併起來顯示成一個點了,那麼其精度就變低了。
* Format 格式
表示你的資料格式是什麼,這裡有:Time series、Table、Heap Map 三個選項。Time series 表示是時間序列資料,即隨著時間的流動有源源不斷的資料。Table 表示是一個表格資料。Heap Map 表示是熱力圖資料。
我們可以通過左下角的 Query 來增加顯示的資料。例如我這裡使用了 3 個圖例資料來分別顯示:1 分鐘的 CPU 使用率情況、5 分鐘的 CPU 使用率情況、15 分鐘的 CPU 使用率情況。
![](https://www-shuyi-me.oss-cn-shenzhen.aliyuncs.com/blog/16031126777456.jpg)
設定完成後的圖示整體效果如下:
![](https://www-shuyi-me.oss-cn-shenzhen.aliyuncs.com/blog/16031126850517.jpg)
#### 轉換設定區
轉換設定區主要是用來一些更復雜的資料處理,例如:過濾一些資料,做集合操作等。
![](https://www-shuyi-me.oss-cn-shenzhen.aliyuncs.com/blog/16031126926246.jpg)
這塊使用得相對少一些,這裡就不深入講解,等使用到的時候再深入瞭解也不遲。
#### 告警設定區
告警設定區用來進行指標告警,這塊內容也相對簡單,直接看頁面就可以弄清楚了。後面文章也有例子講解,這裡不再贅述。
![](https://www-shuyi-me.oss-cn-shenzhen.aliyuncs.com/blog/16031126996675.jpg)
### 圖表設定區
這塊用來設定圖表名稱、Y 軸顯示樣式等圖表細節的。主要有下面幾個區域:
* Settings 設定
* Visualization 視覺化
#### Setting 設定
用來設定圖表名稱和描述。
![](https://www-shuyi-me.oss-cn-shenzhen.aliyuncs.com/blog/16031127114691.jpg)
#### Visualization 視覺化
用來設定圖表使用什麼格式顯示,有 圖形(Graph)、統計(Stat)、表格(Table)、文字(Text)等。
![](https://www-shuyi-me.oss-cn-shenzhen.aliyuncs.com/blog/16031127199151.jpg)
#### Display 顯示
用來設定圖表樣式相關資訊。
![](https://www-shuyi-me.oss-cn-shenzhen.aliyuncs.com/blog/16031127472115.jpg)
例如 Bars 表示圖形有長條,如下圖所示:
![](https://www-shuyi-me.oss-cn-shenzhen.aliyuncs.com/blog/16031127540208.jpg)
例如設定 Hover tooltip 的 Mode 為 Single,表示滑鼠懸浮到圖表時,只顯示單條線的懸浮提示,而不是全部線條都顯示懸浮提示。
![](https://www-shuyi-me.oss-cn-shenzhen.aliyuncs.com/blog/16031127626183.jpg)
![](https://www-shuyi-me.oss-cn-shenzhen.aliyuncs.com/blog/16031127659124.jpg)
其他設定都相對簡單,這裡不再贅述。
#### Axes 軸
用來設定軸的相關資訊,例如:X/Y軸的顯示單位,X/Y軸的最小最大值等。
![](https://www-shuyi-me.oss-cn-shenzhen.aliyuncs.com/blog/16031127718679.jpg)
例如在顯示 CPU 使用率時,CPU 使用率的資料是 0-1,但是預設是顯示成小數,如下圖所示:
![](https://www-shuyi-me.oss-cn-shenzhen.aliyuncs.com/blog/16031127801625.jpg)
# 文章首發於【陳樹義】公眾號,點選跳轉到原文:https://mp.weixin.qq.com/s/sA0nYevO8yz6QLRz03qJSw
那如果我希望它能用百分比顯示,那麼我可以設定 Left Y 的 Unit 引數,將其設定為:percent(0.0-1.0)。
![](https://www-shuyi-me.oss-cn-shenzhen.aliyuncs.com/blog/16031127863554.jpg)
設定完之後圖表變成了這樣:
![](https://www-shuyi-me.oss-cn-shenzhen.aliyuncs.com/blog/16031127926261.jpg)
其他引數的設定都類似,這裡不再贅述了。
#### legend 圖例
這裡用來設定圖例資訊,例如:圖例的顯示位置、圖例顯示最大值、最小值。
![](https://www-shuyi-me.oss-cn-shenzhen.aliyuncs.com/blog/16031127991304.jpg)
這塊的內容也相對簡單,自己去試試就清楚了,不再贅述。
#### Thresholds 閾值
用來設定一個閾值,當超過指定的值,會有標記成背景顏色。通常用來針對某個關鍵資料,當超過某個值進行高亮,方便一目瞭然檢視資料。
![](https://www-shuyi-me.oss-cn-shenzhen.aliyuncs.com/blog/16031128065929.jpg)
例如 CPU 使用率的例子,我設定了超過 3% 就高亮成紅色(Critical)。
![](https://www-shuyi-me.oss-cn-shenzhen.aliyuncs.com/blog/16031128170449.jpg)
最終效果如下圖所示:
![](https://www-shuyi-me.oss-cn-shenzhen.aliyuncs.com/blog/16031128229499.jpg)
## 總結
我們通過一個 CPU 使用率的例子,將 Grafana 圖表的配置都過了一遍。總的來說,Grafana 圖表配置可分為:預覽區、資料配置區、圖表配置區。其中涉及到了資料來源的配置、資料指標的配置以及各種圖表顯示的配置等。
雖然我們可以直接使用 [Grafana官網 - Dashboards 模組](https://grafana.com/grafana/dashboards)的現成模板,但如果你想做符合自己業務情況的監控面板,掌握 Grafana 圖表的配置可是必不可少哦。
# 文章首發於【陳樹義】公眾號,點選跳轉到原文:https://mp.weixin.qq.com/s/sA0nYevO8yz6QL