標籤指標

標籤可讓您區分指標的特徵。除了收集指標外,MonitoringTarget 自訂資源還可讓您為選用的觀測功能標示指標:

如要進一步瞭解指標重新標籤,請參閱 https://grafana.com/blog/2022/03/21/how-relabeling-in-prometheus-works/。

事前準備

如要管理 MonitoringTarget 自訂資源,您必須具備必要權限。

要求 IAM 組織角色

請與 IAM 機構組織管理員聯絡,要求下列角色:

  • MonitoringTarget PA 建立者 (monitoringtarget-pa-creator):建立 MonitoringTarget 自訂資源。
  • MonitoringTarget PA 編輯者 (monitoringtarget-pa-editor):編輯或修改 MonitoringTarget 自訂資源。
  • MonitoringTarget PA 檢視者 (monitoringtarget-pa-viewer~): viewMonitoringTarget` 自訂資源。

要求 IAM 專案角色

請與 IAM 專案管理員聯絡,要求下列角色:

  • MonitoringTarget 編輯者 (monitoringtarget-editor):編輯或修改專案命名空間中的 MonitoringTarget 自訂資源。
  • MonitoringTarget 檢視者 (monitoringtarget-viewer):查看專案命名空間中的 MonitoringTarget 自訂資源。

將指標傳送至其他專案

容器作者可以編寫程式碼,將特定指標傳送至其他專案,甚至是他們不擁有的專案。如要將指標傳送至特定專案,請在程式碼中為指標新增 _gdch_project 標籤,並將其值設為目的地專案名稱。

或者,您也可以使用 MonitoringTarget 自訂資源,將「所有」收集到的指標資料傳送至其他專案。在 metricsRelabelings 欄位中,將 _gdch_project 標籤設為目標標籤,並以新專案名稱做為替換值。

下列程式碼範例說明如何在 MonitoringTarget 自訂資源中設定 _gdch_project 目標標籤,將指標傳送至名為 another-project-name 的專案:

apiVersion: monitoring.gdc.goog/v1
kind: MonitoringTarget
metadata:
  # Choose the same namespace as the workload pods.
  namespace: PROJECT_NAMESPACE
  name: MONITORING_TARGET_NAME
spec:
  [...]
  podMetricsEndpoints:
    [...]
    metricsRelabelings:
      - action: replace
        targetLabel: _gdch_project
        replacement: another-project-name
      [...]

更改下列內容:

  • PROJECT_NAMESPACE:專案命名空間。
  • MONITORING_TARGET_NAME:MonitoringTarget 定義檔案的名稱。

為指標新增標籤

標籤可識別指標特徵,有助於觀測及監控。您可以新增標籤,讓標籤顯示在原本未公開的已抓取容器中。在 MonitoringTarget 自訂資源中,將新標籤設為目標,並提供替換值。這個鍵/值組合會新增至資源收集的所有指標。

下列程式碼範例說明如何設定 my_new_label 目標標籤,並在 MonitoringTarget 自訂資源中將其值設為 my_label_value:

apiVersion: monitoring.gdc.goog/v1
kind: MonitoringTarget
metadata:
  # Choose the same namespace as the workload pods.
  namespace: PROJECT_NAMESPACE
  name: MONITORING_TARGET_NAME
spec:
  [...]
  podMetricsEndpoints:
    [...]
    metricsRelabelings:
      - action: replace
        targetLabel: my_new_label
        replacement: my_label_value
      [...]

更改下列內容:

  • PROJECT_NAMESPACE:專案命名空間。
  • MONITORING_TARGET_NAME:MonitoringTarget 定義檔案的名稱。

重新命名指標

您可以使用 MonitoringTarget 資源重新命名容器的指標。在 metricsRelabelings 欄位中設定原始指標名稱和替代名稱。原始名稱會視為規則運算式 (regex),並由新名稱取代。

下列程式碼範例說明如何將 MonitoringTarget 自訂資源中的 cpu_usage 指標名稱 (規則運算式) 替換為 cpu_usage_new_name:

apiVersion: monitoring.gdc.goog/v1
kind: MonitoringTarget
metadata:
  # Choose the same namespace as the workload pods.
  namespace: PROJECT_NAMESPACE
  name: MONITORING_TARGET_NAME
spec:
  [...]
  podMetricsEndpoints:
    [...]
    metricsRelabelings:
      - action: replace
        regex: cpu_usage
        replacement: cpu_usage_new_name
        sourceLabels: [__name__]
        targetLabel: __name__
      [...]

更改下列內容:

  • PROJECT_NAMESPACE:專案命名空間。
  • MONITORING_TARGET_NAME:MonitoringTarget 定義檔案的名稱。