Google Distributed Cloud(GDC)エアギャップの MonitoringTarget カスタム リソースを使用すると、スクレイピングされた指標にラベルを付けて、指標の特性を区別し、時系列データをフィルタできます。指標の収集に加えて、再ラベル付けルールを構成して、指標を別のプロジェクトに転送したり、カスタムの Key-Value ラベルを追加したり、取り込み前に指標の名前を変更したりできます。
Key-Value ラベルペアの一意の組み合わせごとに新しい時系列が作成されるため、データ ストレージが大幅に増加する可能性があります。ユーザー ID やメールアドレスなど、取り得る値が多数ある高基数ディメンションにラベルを使用しないでください。指標の再ラベル付けの詳細については、Prometheus での再ラベル付けの仕組みをご覧ください。
始める前に
MonitoringTarget カスタム リソースを管理するには、必要な権限が必要です。
IAM 組織ロールをリクエストする
IAM 組織管理者に連絡して、次のロールをリクエストしてください。
- MonitoringTarget PA 作成者(
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定義ファイルの名前。