ラベル指標

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

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

始める前に

MonitoringTarget カスタム リソースを管理するには、必要な権限を管理者にリクエストしてください。

必要な IAM のロール

次のロールをリクエストするには、プロジェクト IAM 管理者にお問い合わせください。

  • MonitoringTarget 作成者monitoringtarget-creator): プロジェクト名前空間に MonitoringTarget カスタム リソースを作成します。
  • 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 カスタム リソースで、新しいラベルをターゲット ラベルとして設定し、置換値を指定します。この 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 指標名 (正規表現)を 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 定義ファイルの名前。