ラベル指標

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

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

始める前に

MonitoringTarget カスタム リソースを管理するために必要な権限を取得するには、関連する MonitoringTarget ロールのいずれかを付与するよう組織 IAM 管理者またはプロジェクト IAM 管理者に依頼してください。

必要なアクセスレベルと権限に応じて、組織またはプロジェクトでこのリソースの作成者、編集者、閲覧者のロールを取得できます。詳細については、IAM 権限を準備するをご覧ください。

別のプロジェクトに指標を送信する

コンテナ作成者は、所有していないプロジェクトを含め、別のプロジェクトに送信する特定の指標をコーディングできます。特定のプロジェクトに指標を送信するには、コード内の指標に _gdch_project ラベルを追加し、その値を宛先プロジェクト名に設定します。

または、MonitoringTarget カスタム リソースを使用して、収集されたすべての指標データを別のプロジェクトに送信します。_gdch_project ラベルを metricsRelabelings フィールドのターゲット ラベルとして設定し、新しいプロジェクト名を置換値として設定します。

次のコードサンプルは、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: プロジェクトの 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: プロジェクトの 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: プロジェクトの Namespace。
  • MONITORING_TARGET_NAME: MonitoringTarget 定義ファイルの名前。