ラベルを使用すると、指標の特性を区別できます。指標の収集に加えて、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
定義ファイルの名前。