ClickHouse Managed Postgres は、ClickHouse Cloud API で Prometheus 互換のメトリクス用エンドポイントを 2 つ公開しています。
| Endpoint | Path | Returns |
|---|---|---|
| Org | /v1/organizations/{orgId}/postgres/prometheus |
組織内のすべての ClickHouse Managed Postgres サービスのメトリクス |
| Instance | /v1/organizations/{orgId}/postgres/{pgId}/prometheus |
単一のサービスのメトリクス |
認証
このエンドポイントでは、OpenAPI の他の部分と同じ [APIキー] を使用します。作成方法や組織 ID、サービス ID の確認方法については、 OpenAPI ガイドを参照してください。
KEY_ID=mykeyid
KEY_SECRET=mykeysecret
ORG_ID=myorgid
PG_ID=mypgid組織内のすべてのサービスをスクレイプする
curl -s --user "$KEY_ID:$KEY_SECRET" \
"https://api.clickhouse.cloud/v1/organizations/$ORG_ID/postgres/prometheus"単一サービスのスクレイピング
curl -s --user "$KEY_ID:$KEY_SECRET" \
"https://api.clickhouse.cloud/v1/organizations/$ORG_ID/postgres/$PG_ID/prometheus"レスポンス例
# HELP PostgresServiceInfo PostgreSQLサービスに関する情報(ステータスおよびバージョンを含む)。
# TYPE PostgresServiceInfo gauge
PostgresServiceInfo{clickhouse_org="ca04a310-730d-4ce0-93dd-39f2cd2d5e6f",postgres_service="0c330583-6396-86d0-82cd-ed0f23b0d38c",postgres_service_name="my-postgres",postgres_status="running",postgres_version="18"} 1
# HELP PostgresServer_ActiveConnections 状態別のアクティブな接続数。
# TYPE PostgresServer_ActiveConnections gauge
PostgresServer_ActiveConnections{clickhouse_org="ca04a310-730d-4ce0-93dd-39f2cd2d5e6f",postgres_service="0c330583-6396-86d0-82cd-ed0f23b0d38c",postgres_service_name="my-postgres",state="active"} 1
PostgresServer_ActiveConnections{clickhouse_org="ca04a310-730d-4ce0-93dd-39f2cd2d5e6f",postgres_service="0c330583-6396-86d0-82cd-ed0f23b0d38c",postgres_service_name="my-postgres",state="idle"} 4
# HELP PostgresServer_CacheHitRatio バッファcacheのヒット率:cacheから提供されたblocks数と、アクセスされた総blocks数の比率(%)。
# TYPE PostgresServer_CacheHitRatio gauge
PostgresServer_CacheHitRatio{clickhouse_org="ca04a310-730d-4ce0-93dd-39f2cd2d5e6f",postgres_service="0c330583-6396-86d0-82cd-ed0f23b0d38c",postgres_service_name="my-postgres"} 100メトリクスの一覧とその意味については、 メトリクス リファレンスを参照してください。
Prometheus の設定
この設定では、組織レベルのエンドポイントを 60 秒ごとにスクレイプします。
scrape_configs:
- job_name: "managed-postgres"
scheme: https
metrics_path: "/v1/organizations/<ORG_ID>/postgres/prometheus"
static_configs:
- targets: ["api.clickhouse.cloud"]
basic_auth:
username: <KEY_ID>
password: <KEY_SECRET>
honor_labels: true
scrape_interval: 60sこのエンドポイントはメトリクスを1分ごとに更新します。60s より短い間隔で
スクレイプすると、サンプルが重複し、Gauge
パネルでは階段状のパターンになります。
honor_labels: true を設定すると、エンドポイントの postgres_service と
postgres_service_name ラベルは、Prometheus に上書きされずそのまま保持されます。
単一のサービスをスクレイプするには、metrics_path に /<PG_ID> を追加します。
あらかじめ用意された Grafana ダッシュボード
あらかじめ用意された Grafana ダッシュボードでは、エンドポイントが公開するあらゆるメトリクスを可視化できます。これには、ソート可能なサービス一覧テーブル、CPU とメモリの使用率、閾値アラート付きのディスク使用量、状態別の接続数、トランザクションとロールバック率、Tuple のアクティビティ、I/O、データベースごとのストレージ使用量、デッドロックが含まれます。

ダッシュボードのインポート
ダッシュボード JSON のダウンロード
Grafana でインポート画面を開く
Dashboards → New → Import に移動します。JSON ファイルをアップロードするか、その内容を貼り付けます。
Prometheus データソースを選択する
DS_PROMETHEUS の入力を求められたら、前のセクションで設定したエンドポイントをスクレイプしている Prometheus データソースを選択します。
Grafana をプロビジョニングで運用している場合は、JSON を
ダッシュボードのプロビジョニングパスに配置します。Grafana は ${DS_PROMETHEUS}
参照を、そのインスタンスで利用可能な Prometheus データソースに対応付けます。
テンプレート変数
このダッシュボードでは、3 つの変数を使用します。
- データソース — このダッシュボードの基になる Prometheus データソース。
- サービス —
postgres_service_nameに対する複数選択フィルター。 既定値は All です。1 つ以上のサービスを選択すると、すべてのパネルをその範囲に絞り込めます。 - スクレイプ間隔 — 非表示の定数で、既定値は
60sです。これは Grafana の$__rate_intervalの計算に使われます。スクレイプ間隔が異なる場合は、 JSON 内でこの値を変更してください。
ドリルインするために単一のサービスに絞り込む
いくつかのパネルは、Service 変数で単一の
サービスに絞り込むと、さらに詳細を確認できるように設計されています。たとえば CPU by mode パネルでは、
user、system、iowait、steal、その他の CPU
モードを積み上げて表示するため、スパイクの原因がアプリケーションコードなのか、カーネルの処理なのか、
ディスク待ちなのか、あるいはハイパーバイザーの競合なのかを判断できます。
Grafana と Datadog とのインテグレーション
このエンドポイントは ClickHouse Prometheus
エンドポイント と同じ形式のため、そこで説明されている Grafana Cloud、Grafana
Alloy、Datadog OpenMetrics agent の設定は、ここでもそのまま利用できます。metrics_path は ClickHouse ではなく、ClickHouse Managed Postgres の組織または
インスタンスのパスを指すようにしてください。