使用 Prometheus 資料來源 - Amazon Managed Grafana

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 Prometheus 資料來源

Prometheus 設置

名稱 描述
Name 資料來源名稱。這是您在面板和查詢中查看數據源的方式。
Default 預設資料來源表示將為新面板預先選取該資料來源。
Url 您的 Prometheus 伺服器的網址;例如,https://prometheus.example.org:9090
Access 服務器(默認)= URL 必須從 Grafana 後端/服務器訪問。
Basic Auth 對 Prometheus 資料來源啟用基本驗證。
User 基本驗證的使用者名稱。
Password 基本驗證的密碼。
Scrape interval 將其設置為 Prometheus 中配置的典型抓取和評估間隔。預設值為 15 秒。
Disable metrics lookup 核取此選項將停用查詢欄位的自動完成功能中的度量選擇器和量度/標籤支援。如果您在較大的 Prometheus 實例中遇到性能問題,這將有所幫助。
Custom Query Parameters 將自定義參數添加到 Prometheus 查詢 URL。例如timeoutpartial_responsededup、或max_source_resolution。多個參數應與「&」連接在一起。

Prometheus 查詢編輯器

以下各節提供儀表板和「瀏覽器」中 Prometheus 查詢編輯器的資訊和選項。

儀表板的查詢編輯器

選擇標題,然後選擇「編輯」(E dit) (或在面板上暫停時按 e 鍵),以在編輯模式中開啟圖表。

名稱 描述
Query expression 如需有關 Prometheus 查詢運算式的詳細資訊,請參閱 Prometheus 文件。
Legend format 使用名稱或樣式控制時間序列的名稱。例如,{{hostname}}被替換為標籤的標籤值hostname
Min step Prometheus 範圍查詢的step參數以及和變數的額外下限。$__interval $__rate_interval限制是絕對的,不會由 [解析度] 設定修改。
Resolution 1/1設定$__interval變數和 Prometheus 範圍查詢的step參數,使得每個像素對應於一個資料點。為獲得更好的性能,請使用較低的分辨 1/2只會擷取每個其他像素的資料點,並且每 10 個像素1/10擷取一個資料點。請注意,「最小時間間隔」和「最小」長都會限制$__interval和的最終值step
Metric lookup 在此輸入欄位中搜尋指標名稱。
Format as TableTime series或之間切換HeatmapTable僅適用於表格面板。 Heatmap適用於在熱圖面板上顯示直方圖類型的指標。它將累積直方圖轉換為常規的,並按桶界限排序序列。
Instant 執行「即時」查詢,以僅返回 Prometheus 為請求的時間序列刮取的最新值。即時查詢返回結果比正常範圍查詢快得多。使用它們來查找標示集。
Min time interval 此值乘以「解析度」設定的分母,會為$__interval變數和 Prometheus 範圍查詢的step參數設定下限。默認為「抓取間隔」,如數據源選項中設置的。
注意

Amazon 受管的 Grafana 會修改查詢的請求日期,以使其與動態計算的步驟保持一致。這可確保量度資料的顯示一致,但可能會導致圖表右邊緣的資料間隙很小。

儀表板中的即時查詢

Prometheus 數據源允許您運行即時查詢,該查詢僅查詢最新值。您可以在表格面板中視覺化結果,以查看時間序列的所有可用標籤。

即時查詢結果是由每個系列只有一個資料點所組成。它們可以在一系列覆蓋的幫助下顯示在圖形面板中。若要在圖表中將它們顯示為最新值點,請加入序列取代並進行選取Points > true。若要在整個圖表中顯示水平線,請新增序列覆寫,然後選取Transform > constant如需序列覆寫的更多資訊,請參閱序列取代

瀏覽中的查詢編輯器

名稱 描述
Query expression 如需有關 Prometheus 查詢運算式的詳細資訊,請參閱 Prometheus 文件。
Step StepPrometheus 範圍查詢的參數。時間單位可以在這裡使用,例如:5 秒,1 米,3 小時,1D,1y。如果未指定單位為 s (秒),則預設單位。
Query type Range, Instant, 或 Both. 執行 Range 查詢時,查詢的結果會顯示在圖形和表格中。即時查詢只返回 Prometheus 已經抓取請求的時間序列的最新值,它顯示在表中。選取「兩者」時,會同時執行即時查詢和範圍查詢。範圍查詢的結果顯示在圖形和即時查詢的結果顯示在表中。

度量瀏覽器

指標瀏覽器可讓您快速尋找指標並選取相關標籤以建立基本查詢。當您打開瀏覽器時,您將看到所有可用的指標和標籤。如果您的 Prometheus 執行個體支援,每個量度都會顯示其「說明」和「類型」做為工具提示。

當您選取量度時,瀏覽器會縮小可用標籤,以僅顯示適用於量度的標籤。然後,您可以選取一個或多個標籤,其可用標籤值會顯示在底部區段的清單中。為每個標籤選取一或多個值,以收緊查詢範圍。

注意

如果您不記得要開頭的量度名稱,也可以先選取幾個標籤,以縮小清單範圍,然後尋找相關的標籤值。

量度瀏覽器中的所有清單上方都有一個搜尋欄位,可快速篩選符合特定字串的量度或標籤。值部分只有一個搜索字段。它的過濾適用於所有標籤,以幫助您在選擇標籤後跨標籤查找值,例如,在您的標籤應用程序,作業,job_name 中,只有一個可能具有您正在查找的值。

對查詢感到滿意後,單擊「使用查詢」以運行查詢。「用作費率查詢」按鈕會新增匯率 (...) [$__interval] 圍繞您的查詢,以幫助編寫計數器度量的查詢。「驗證選擇器」按鈕將與 Prometheus 檢查有多少時間序列可用於該選擇器。

限制

量度瀏覽器的硬性限制為 10,000 個標籤 (金鑰) 和 50,000 個標籤值 (包括量度名稱)。如果您的 Prometheus 實例返回更多結果,瀏覽器將繼續運行。但是,結果集將被切斷超過這些最大限制。

模板

您可以在指標查詢中使用變量,而不是對服務器,應用程序和傳感器名稱等硬編碼內容。變數會顯示為儀表板頂端的下拉式選取方塊。您可以使用這些下拉式方塊來變更顯示在儀表板中的資料。

如需範本變數和範本變數的詳細資訊,請參閱〈〉模板和變量

查詢變數

查詢」類型的變數可讓您查詢 Prometheus 以取得量度、標籤或標籤值的清單。Prometheus 數據源插件提供了您可以在查詢輸入字段中使用以下功能。

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

如需測量結果名稱、標籤名稱和標籤的相關資訊,請參閱 Promethe us 說明文件。

使用間隔和範圍變數

注意

Support $__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,將最繁忙的五個要求執行個體填入變數。

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:

使用$__rate_interval變數

$__rate_interval變量是為了在速率函數中使用。它被定義為最大值($__interval+ 抓取間隔,4* 抓取間隔)。抓取間隔是最小步驟設置(AKA query_interval,每個 PromQL 查詢的設置),如果設置了任何設置,否則為 Prometheus 數據源中設置的抓取間隔(但忽略面板中的任何最小間隔設置,因為後者由分辨率設置修改)。

在查詢中使用變數

有兩種語法:

  • $<varname>示例:速率(請求總計 {工作 = 〜 "$ 工作"} [5 米])

  • [[varname]]範例:速率 (http 要求總計 {工作 = 〜 "[工作]"} [5 米])

為什麼有兩種方式? 第一種語法更容易閱讀和寫入,但不允許您在單詞中間使用變量。啟用「多值」或「包含所有值」選項時,Grafana 會將標籤從純文字轉換為正則運算式相容字串。這意味著你必須使用=~而不是=.

註釋

您可以使用註釋在圖表頂部覆蓋豐富的事件信息。您可以使用「圖標板」選單或「註釋」檢視新增註釋查詢 如需詳細資訊,請參閱 註釋

Prometheus 支持兩種查詢註釋的方法。

步驟選項可用來限制查詢傳回的事件數目。