📑

GKE 上のワークロードのメトリクスを Google Managed Prometheus で回収するまで

2024/03/10に公開

ゴール

Google Managed Prometheus を利用して GKE 上のワークロードのメトリクスを回収する方法を解説します。

前提

GKE 上にメトリクスを出力するワークロードがデプロイされていることを前提としています。

手順

GKE で Google Managed Prometheus を有効化する

今回は Terraform で GKE を管理します。
google_container_cluster リソースにおいて monitoring_config.managed_prometheus.enabled = true を設定します。
https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/container_cluster#managed_prometheus

この設定により GKE に PodMonitoring CRD ( podmonitorings.monitoring.googleapis.com ) が追加されます。

UI 上でも Managed Prometheus が有効化されているのを確認します。

PodMonitoring をデプロイする

Google Managed Prometheus でメトリクスを回収するには以下のような PodMonitoring リソースをデプロイする必要があります。

apiVersion: monitoring.googleapis.com/v1alpha1
kind: PodMonitoring
metadata:
  name: XXX
spec:
  selector:
    matchLabels:
      app: XXX
  endpoints:
  - port: metrics
    path: /metrics
    interval: 1m

spec.selector で対象の Pod のラベルなどを指定します。
spec.endpoints には Pod においてメトリクスを出力している port を指定します。

Cloud Monitoring で確認する

Cloud Monitoring の Metrics explorer でメトリクスを確認できます。

料金を確認する

Google Managed Prometheus の料金は以下のドキュメントをご確認ください。
100 万サンプルごとに $0.06 かかります。
https://cloud.google.com/managed-prometheus#pricing

SKU としては A4E4-DF03-CDB6 となっています。

Discussion