ラベル指標

ラベルを使用すると、指標の特性を区別できます。 指標を収集するだけでなく、 MonitoringTargetカスタムリソースを使用すると、オプションの オブザーバビリティ機能の指標にラベルを付けることもできます。

指標のラベルの変更の詳細については、 https://grafana.com/blog/2022/03/21/how-relabeling-in-prometheus-works/ をご覧ください。

始める前に

MonitoringTarget カスタム リソースを管理するには、必要な権限が必要です。

IAM 組織ロールをリクエストする

組織の IAM 管理者に連絡して、次のロールをリクエストしてください。

  • MonitoringTarget PA Creator (monitoringtarget-pa-creator): MonitoringTarget カスタム リソースを作成します。
  • MonitoringTarget PA Editor (monitoringtarget-pa-editor):MonitoringTarget カスタム リソースを編集または変更します。
  • MonitoringTarget PA Viewer (monitoringtarget-pa-viewer~): viewMonitoringTarget` カスタム リソースを表示します。

IAM プロジェクト ロールをリクエストする

プロジェクトの IAM 管理者に連絡して、次のロールをリクエストしてください。

  • MonitoringTarget Editor (monitoringtarget-editor): プロジェクトの名前空間で MonitoringTarget カスタム リソースを編集または変更します。
  • MonitoringTarget Viewer (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 カスタム リソースで、新しいラベルをターゲットとして設定し、置換値を指定します。この Key-Value ペアは、リソースが収集するすべての指標に追加されます。

次のコードサンプルは、MonitoringTarget カスタム リソースで my_new_label ターゲット ラベルを設定し、その値を 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)として扱われ、新しい名前に置き換えられます。

次のコードサンプルは、cpu_usage 指標名 (regex)を cpu_usage_new_name に置き換える方法を MonitoringTarget カスタム リソースで示しています。

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 定義ファイルの名前。