Grafana包含對Prometheus的內置支持。
添加數據源Grafana
- 單擊頂部標題中的Grafana圖標打開側邊菜單。
- 在
Dashboards
鏈接下的側邊菜單中,您應找到一個名為的鏈接Data Sources
。 - 單擊
+ Add data source
頂部標題中的按鈕。 Prometheus
從“ 類型”下拉列表中選擇。
注意:如果您沒有
Data Sources
在側邊菜單中看到該鏈接,則表示您當前的用戶沒有Admin
當前組織的角色。
數據源選項
名稱 | 描述 |
---|---|
名稱 | 數據源名稱。這是您在面板和查詢中引用數據源的方式。 |
默認 | 默認數據源意味着它將為新面板預先選擇。 |
網址 | 你的Prometheus服務器的http協議,ip和端口(默認端口通常是9090) |
訪問 | 服務器(默認)=需要從Grafana后端/服務器訪問URL,需要從瀏覽器訪問Browser = URL。 |
基本認證 | 啟用Prometheus數據源的基本身份驗證。 |
用戶 | 您的Prometheus用戶的名稱 |
密碼 | 數據庫用戶的密碼 |
刮傷間隔 | 這將用作Prometheus步驟查詢參數的下限。默認值為15秒。 |
查詢編輯器
通過單擊標題>編輯(或在鼠標e
懸停在面板上時按鍵)打開編輯模式下的圖形。
名稱 | 描述 |
---|---|
查詢表達式 | Prometheus查詢表達式,查看Prometheus文檔。 |
圖例格式 | 使用名稱或模式控制時間系列的名稱。例如,{{hostname}} 將替換為標簽的標簽值hostname 。 |
最小步驟 | 設置Prometheus步驟選項的下限。步驟控制Prometheus查詢引擎執行范圍查詢時跳轉的大小。遺憾的是,沒有正式的prometheus文檔鏈接到這個非常重要的選項。 |
解析度 | 控制步驟選項。小步驟可以創建高分辨率圖形,但在較大的時間范圍內可能會很慢,降低分辨率可以加快速度。1/2 將嘗試設置步驟選項,為每個其他像素生成1個數據點。值1/10 將嘗試設置步驟選項,以便每10個像素有一個數據點。 |
指標查找 | 在此輸入字段中搜索度量標准名稱。 |
格式為 | 在表格,時間序列或熱圖之間切換。表格格式僅適用於“表格”面板。熱圖格式適用於在熱圖面板上顯示具有直方圖類型的度量。在引擎蓋下,它將累積直方圖轉換為常規,並按桶綁定排序系列。 |
注意:Grafana稍微修改查詢的請求日期,以使它們與動態計算的步驟對齊。這可確保度量數據的一致顯示,但可能會導致圖表右邊緣的數據間隙很小。
模板
您可以在其位置使用變量,而不是在度量標准查詢中對服務器,應用程序和傳感器名稱等硬編碼進行硬編碼。變量顯示為儀表板頂部的下拉選擇框。這些下拉菜單可以輕松更改儀表板中顯示的數據。
查看模板文檔,了解模板功能和不同類型的模板變量。
查詢變量
Query類型的變量允許您查詢Prometheus以獲取度量標准,標簽或標簽值的列表。Prometheus數據源插件提供了可在Query
輸入字段中使用的以下功能。
名稱 | 描述 |
---|---|
label _ names() | 返回標簽名稱列表。 |
label _ values(label) | 返回label 每個指標中的標簽值列表。 |
label _ values(metric,label) | 返回label 指定度量標准中的標簽值列表。 |
度量(公制) | 返回與指定metric 正則表達式匹配的度量標准列表。 |
查詢 _ 結果(查詢) | 返回一個Prometheus查詢結果列表query 。 |
有關度量標准名稱,標簽名稱和標簽值的詳細信息,請參閱Prometheus文檔。
使用區間和范圍變量
支持
$__range
,$__range_s
並且$__range_ms
只能從Grafana V5.3
可以在查詢變量中使用一些全局內置變量; $__interval
,$__interval_ms
,$__range
,$__range_s
和$__range_ms
,看到全球內置變量以獲取更多信息。query_result
當您需要過濾變量查詢時,這些可以方便地與函數一起使用,因為label_values
函數不支持查詢。
確保將變量的refresh
觸發器設置為On Time Range Change
在更改儀表板上的時間范圍時獲取正確的實例。
用法示例:
根據儀表板中顯示的時間范圍內的平均QPS,使用最繁忙的5個請求實例填充變量:
Query: query_result(topk(5, sum(rate(http_requests_total[$__range])) by (instance)))
Regex: /"([^"]+)"/
在儀表板中顯示的時間范圍內使用具有特定狀態的實例填充變量,使用更精確的$__range_s
:
Query: query_result(max_over_time(<metric>[${__range_s}s]) != <state>)
Regex:
在查詢中使用變量
有兩種語法:
$<varname>
示例:rate(http_requests_total {job =〜“\ $ job”} [5m])[[varname]]
示例:rate(http_requests_total {job =〜“[[job]]”} [5m])
為什么兩種方式?第一種語法更易於讀寫,但不允許您在單詞的中間使用變量。啟用“ 多值”或“ 包含所有值”選項后,Grafana會將標簽從純文本轉換為正則表達式兼容字符串。這意味着你必須使用=~
而不是=
。
注釋
注釋允許您在圖表上疊加豐富的事件信息。您可以通過儀表板菜單/注釋視圖添加注釋查詢。
Prometheus支持兩種查詢注釋的方法。
- 常規度量標准查詢
- 針對掛起和觸發警報的Prometheus查詢(有關詳細信息,請參閱在運行時檢查警報)
步驟選項可用於限制從查詢返回的事件數。
將Grafana指標納入普羅米修斯
從4.6.0開始,Grafana在/metrics
端點上公開了Prometheus的指標。我們還在Grafana中捆綁了一個儀表板,以便您可以更快地開始查看指標。您可以通過轉到數據源編輯頁面並單擊儀表板選項卡來導入捆綁的儀表板。在那里你可以找到一個Grafana儀表板和一個Prometheus儀表板。導入並開始查看所有指標!
使用Provisioning配置數據源
現在可以使用Grafana的配置系統使用配置文件配置數據源。您可以在配置文檔頁面上閱讀有關其工作原理以及可以為數據源設置的所有設置的更多信息
以下是此數據源的一些配置示例。
apiVersion: 1 datasources: - name: Prometheus type: prometheus access: proxy url: http://localhost:9090