使用 Prometheus 示例

本文說明如何使用 Google Cloud Managed Service for Prometheus,針對直方圖指標擷取 Prometheus 範例。您必須使用下列其中一種方式:

  • Managed Service for Prometheus 代管收集作業版本 0.7.0 以上
  • Managed Service for Prometheus 自行部署的收集版本 2.35.0-gmp.5-gke.0 以上
  • OpenTelemetry 收集器

範例通常用於將追蹤 ID 與在一段時間間隔內收集的指標資料建立關聯,但也可以用於將任何非指標資料與收集的指標建立關聯。將追蹤資訊與指標資料一併儲存,您就能快速找出與指標值突然變化相關的追蹤記錄,不必使用時間戳記手動交叉比對追蹤資訊和指標資料,找出應用程式在記錄指標資料時發生的情形。

Managed Service for Prometheus 範例與 Cloud Trace 和第三方追蹤工具 (例如 Grafana Tempo) 相容。

以下螢幕截圖顯示 Grafana 圖表,其中包含一系列直方圖值區和相關範例,其中一個範例已展開:

顯示直方圖區塊和範例的 Grafana 圖表。

Managed Service for Prometheus 中的 Prometheus 範例

您可以使用 OpenMetrics 公開格式,在 Prometheus 中支援範例。OpenMetrics 範例的結構如下:

  • 範例的值:必須是整數或 64 位元浮點值。
  • (選用) 時間戳記:必須是 Unix Epoch 秒,可為負值。
  • 範例的標籤數量,通常包括 trace_idspan_id 值;所有標籤名稱和值的總長度不得超過 128 個 UTF-8 字元,或 Go 應用程式中的 128 個 rune

Google Cloud Managed Service for Prometheus 只能擷取附加至直方圖指標的範例。無法擷取連結至計數器指標的範例。Prometheus 直方圖指標會轉換為類似的 Cloud Monitoring Distribution 類型,後者支援範例。Cloud Monitoring 中的非發布指標不支援範例。

您可以查詢示例,但只能查詢 24 個月內的資料。請將這個保留期限與上游 Prometheus 進行比較,後者只會在資料在記憶體中時保留範例,通常少於 14 天。Managed Service for Prometheus 會將範例儲存至時間序列,因此範例會根據時間序列的保留政策保留。如要進一步瞭解 Cloud Monitoring 中的資料保留設定,請參閱「資料保留」一文。

啟用取樣值擷取功能

如果您使用 Managed Service for Prometheus 搭配 managed collection 0.7.0 以上版本,系統會自動啟用示例攝取功能。

如果您使用 Managed Service for Prometheus 搭配自行部署的收集功能,則必須在啟動伺服器時啟用取樣值攝取功能,方法是指定下列功能旗標

--enable-feature=exemplar-storage

使用範例編寫指標

每個 Prometheus 用戶端都有自己的操作說明,可在該用戶端中正確使用範例。請按照下列操作說明,讓應用程式以 OpenMetrics 格式公開指標,方便 Prometheus 從應用程式的 /metrics 端點擷取資料。如需範例,請參閱以下內容:

與 Cloud Trace 整合

您可以使用與 Cloud Trace 相容的範例,編寫 Prometheus 直方圖。您可以在 Cloud Monitoring 熱力圖表上顯示資料 (包括範例),並透過範例查看相關追蹤範圍的詳細資料。您也可以在 Trace 中分析追蹤記錄資料。詳情請參閱「在熱力圖表中顯示示例」。

如要建立與 Trace 相容的範例,Prometheus 範例必須包含下列標籤:

  • project_id
  • trace_id
  • span_id

如果範例包含這三個標籤,系統就會使用這些標籤建立與 Trace 相容的 SpanContext 物件,並附加至為 Cloud Monitoring Distribution 儲存桶建立的範例。

除了組成完整 SpanContext 的標籤外,所有標籤都會加入 Distribution 值區範例所附加的 DroppedLabels 物件。

使用範例查詢指標

Prometheus API 會公開 api/v1/query_exemplars 端點,用於查詢範例。

設定用於與 Google Cloud Managed Service for Prometheus 互動的查詢介面時,系統會自動納入範例查詢。如要瞭解如何設定查詢介面,請參閱「使用 Grafana 進行查詢」或「使用 Prometheus API 或 UI 進行查詢」。