1. 程式人生 > >Prometheus入門教程(三):Grafana 圖表配置快速入門

Prometheus入門教程(三):Grafana 圖表配置快速入門

# 文章首發於【陳樹義】公眾號,點選跳轉到原文: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