ラベル指標

ラベルを使用すると、指標の特性を区別できます。指標の収集に加えて、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 編集者(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 カスタム リソースで、新しいラベルをターゲットとして設定し、置換値を指定します。この Key-Value ペアは、リソースが収集するすべての指標に追加されます。

次のコードサンプルは、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 定義ファイルの名前。