Grafana文檔(Prometheus)

在Grafana使用Prometheus

Grafana包含對Prometheus的內置支持。正則表達式

將數據源添加到Grafana

  1. 點擊頂部標題中的Grafana圖標打開側邊菜單
  2. Dashboards連接下的側邊菜單中,你應找到名爲Data Sources的連接
  3. 點擊頂部標題中的+ Add data source按鈕
  4. 從類型下拉列表中選擇Prometheus
注意:若是你沒有在側邊菜單中看到 Data Sources連接,則表示你當前的用戶沒有當前組織的 Admin角色。

數據源選項

名稱 描述
Name 數據源名稱,這是你在面板和查詢中引用數據源的方式
Default 默認數據源意味着它將爲新面板預先選擇
Url 你的Prometheus服務的http協議,IP和端口(默認端口一般是9090)
Access Server (default) = 須要從Grafana後端/服務器訪問的URL,Browser = 須要從瀏覽器訪問的URL
Basic Auth 啓用對Prometheus數據源的基自己份驗證
User 你的Prometheus用戶名
Password 數據庫用戶的密碼
Scrape interval 這將用做Prometheus步驟查詢參數的下限,默認值爲15秒

查詢編輯器

單擊標題,以編輯模式打開圖形 > 編輯(或在鼠標懸停在面板上時按e鍵)。數據庫

prometheus_query_editor.gif

名稱 描述
Query expression Prometheus查詢表達式,請查看Prometheus文檔
Legend format 使用名稱或模式控制時間系列的名稱,例如,{{hostname}}將替換爲標籤hostname的標籤值
Min step 設置Prometheus步驟選項的下限,步驟控制Prometheus查詢引擎執行範圍查詢時跳轉的大小,遺憾的是,沒有官方的prometheus文檔連接到這個很是重要的選項
Resolution 控制步驟選項,小步驟能夠建立高分辨率圖形,但在較大的時間範圍內可能會很慢,下降分辨率能夠加快速度。1/2將嘗試設置步驟選項覺得每一個其餘像素生成1個數據點,值爲1/10將嘗試設置步長選項,所以每10個像素就有一個數據點。
Metric lookup 在此輸入字段來搜索指標名稱
Format as 在表格,時間序列或心跳圖之間切換,表格格式僅適用於表格面板,心跳圖格式適用於在心跳圖面板上顯示具備直方圖類型的指標。在引擎蓋下,它將累積的直方圖轉換爲規則序列,並按桶綁定對序列進行排序。

模板

你能夠在指標查詢中使用變量代替硬編碼服務器、應用程序和傳感器名稱等內容。變量顯示爲儀表盤頂部的下拉選擇框,這些下拉菜單能夠輕鬆更改儀表盤中顯示的數據。查看模板文檔,瞭解模板功能和不一樣類型的模板變量。express

查詢變量

查詢類型的變量容許你查詢Prometheus以獲取指標、標籤或標籤值的列表,Prometheus數據源插件提供瞭如下可在Query輸入字段中使用的函數。segmentfault

名稱 描述
label_values(label) 返回每一個指標中label的標籤值列表
label_values(metric, label) 返回指定指標中label的標籤值列表
metrics(metric) 返回與指定的metric正則表達式匹配的指標列表
query_result(query) 返回query的Prometheus查詢結果列表

有關指標名稱、標籤名稱和標籤值的詳細信息,請參閱Prometheus文檔後端

使用區間和範圍變量

支持 $__range$__range_s$__range_ms,僅適用於Grafana v5.3

能夠在查詢變量中使用一些全局內置變量;$__interval$__interval_ms$__range$__range_s$__range_ms,有關詳細信息,請參閱全局內置變量。當你須要過濾變量查詢時,這些能夠方便地與query_result函數一塊兒使用,由於label_values函數不支持查詢。api

確保將變量的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指標歸入Prometheus

從4.6.0開始,Grafana在/metrics端點上爲Prometheus公開了指標,咱們還在Grafana中捆綁了一個儀表盤,以便你能夠更快地開始查看指標。你能夠經過到數據源編輯頁面並點擊儀表盤選項卡來導入捆綁的儀表盤,在那裏你能夠找到一個Grafana儀表盤和一個Prometheus儀表盤,導入並開始查看全部指標!

使用Provisioning配置數據源

如今可使用Grafana的Provisioning系統使用配置文件配置數據源,你能夠在Provisioning文檔頁面上閱讀有關其工做原理以及能夠爲數據源設置的全部設置的更多信息。

如下是此數據源的一些Provisioning示例:

apiVersion: 1

datasources:
  - name: Prometheus
    type: prometheus
    access: proxy
    url: http://localhost:9090
相關文章
相關標籤/搜索