ClickHouse Managed Postgres expose deux points de terminaison de métriques compatibles Prometheus sur la ClickHouse Cloud API :
| Endpoint | Path | Renvoie |
|---|---|---|
| Org | /v1/organizations/{orgId}/postgres/prometheus |
Les métriques de tous les services ClickHouse Managed Postgres de l'org |
| Instance | /v1/organizations/{orgId}/postgres/{pgId}/prometheus |
Les métriques d'un seul service |
Authentification
L’point de terminaison utilise les mêmes [clés API] que le reste de l’OpenAPI ; consultez le guide OpenAPI pour savoir comment les créer et retrouver les identifiants de votre organisation et de votre service.
KEY_ID=mykeyid
KEY_SECRET=mykeysecret
ORG_ID=myorgid
PG_ID=mypgidCollecte des métriques de tous les services d’une organisation
curl -s --user "$KEY_ID:$KEY_SECRET" \
"https://api.clickhouse.cloud/v1/organizations/$ORG_ID/postgres/prometheus"Collecte des métriques d’un seul service
curl -s --user "$KEY_ID:$KEY_SECRET" \
"https://api.clickhouse.cloud/v1/organizations/$ORG_ID/postgres/$PG_ID/prometheus"Exemple de réponse
# HELP PostgresServiceInfo Information about PostgreSQL service, including status and version.
# 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 Number of active connections by state.
# 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 Buffer cache hit ratio: blocks served from cache vs. total blocks accessed (%).
# 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"} 100Pour la liste complète des métriques et de leur signification, consultez la référence des métriques.
Configuration de Prometheus
Cette configuration interroge le point de terminaison de l’org toutes les 60 secondes :
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: 60sLe point de terminaison actualise les métriques une fois par minute. Une collecte plus fréquente que
60s duplique les échantillons et produit un effet en escalier sur les
panneaux de jauge.
Définissez honor_labels: true afin que les labels postgres_service et
postgres_service_name du point de terminaison soient préservés au lieu
d’être écrasés par Prometheus.
Pour collecter un seul service, ajoutez /<PG_ID> à metrics_path.
Tableau de bord Grafana prêt à l’emploi
Un tableau de bord Grafana prêt à l’emploi visualise toutes les métriques exposées par le point de terminaison — un tableau triable des services, l’utilisation du CPU et de la mémoire, l’utilisation du disque avec des alertes sur seuil, les connexions par état, les transactions et le taux de rollback, l’activité des tuples, les E/S, le stockage par base de données et les interblocages.

Importation du tableau de bord
Téléchargez le fichier JSON du tableau de bord
Ouvrez le flux d’importation dans Grafana
Accédez à Tableaux de bord → Nouveau → Importer. Téléversez le fichier JSON ou collez son contenu.
Choisissez votre source de données Prometheus
Lorsque l’entrée DS_PROMETHEUS vous est demandée, sélectionnez la source de données Prometheus qui récupère les métriques depuis le point de terminaison configuré dans la section précédente.
Pour les déploiements Grafana provisionnés, placez le fichier JSON dans votre
chemin de provisionnement des tableaux de bord. Grafana associe la référence ${DS_PROMETHEUS}
à une source de données Prometheus disponible dans l’instance.
Variables de modèle
Le tableau de bord expose trois variables :
- Source de données — la source de données Prometheus sur laquelle repose le tableau de bord.
- Service — filtre à sélection multiple sur
postgres_service_name. Par défaut, la valeur est All ; choisissez un ou plusieurs services pour limiter la portée de chaque panneau. - Intervalle de collecte — constante masquée, définie par défaut sur
60s. Elle détermine le calcul de$__rate_intervalpar Grafana. Modifiez cette valeur dans le JSON si votre intervalle de collecte est différent.
Filtrer sur un seul service pour une analyse approfondie
Plusieurs panneaux sont conçus pour permettre une analyse approfondie une fois que
vous avez filtré sur un seul service via la variable Service. Le panneau CPU par mode, par
exemple, empile user, system, iowait, steal et d’autres modes
CPU afin de vous permettre de déterminer si un pic est dû au code de l’application, à une activité du noyau,
à des attentes liées au disque ou à une contention de l’hyperviseur.
Intégration avec Grafana et Datadog
Le point de terminaison suit la même structure que le point de terminaison Prometheus
de ClickHouse, donc les configurations de Grafana Cloud, Grafana
Alloy et de l’agent OpenMetrics de Datadog qui y sont décrites
s’appliquent aussi ici. Faites pointer metrics_path vers le chemin de l’org ou de l’instance ClickHouse Managed Postgres plutôt que vers celui de ClickHouse.