Les déploiements BYOC incluent des capacités complètes d’observability, vous permettant de surveiller vos services ClickHouse via une stack Prometheus de monitoring dédiée, ainsi que via les endpoints de métriques directement exposés par les serveurs ClickHouse. Toutes les données d’observability restent dans votre compte cloud, ce qui vous donne un contrôle total sur votre infrastructure de monitoring.
Approches de monitoring Prometheus
BYOC offre deux principales façons de collecter et de visualiser des métriques avec Prometheus :
- Se connecter à la stack Prometheus intégrée : accédez à l’instance Prometheus centralisée préinstallée qui s’exécute dans votre cluster Kubernetes BYOC.
- Scraper directement les métriques de ClickHouse : pointez votre propre déploiement Prometheus vers l’endpoint
/metrics_allexposé par chaque service ClickHouse.
Comparaison des méthodes de supervision
| Capability | Stack Prometheus intégré | Scraping direct depuis les services ClickHouse |
|---|---|---|
| Portée des métriques | Consolide les métriques de ClickHouse, de Kubernetes et des services associés (visibilité complète du cluster) | Métriques provenant uniquement de serveurs ClickHouse individuels |
| Processus de configuration | Nécessite de mettre en place un accès via un réseau privé (par exemple, via un load balancer privé) | Il suffit de configurer Prometheus pour scraper l'endpoint ClickHouse public ou privé |
| Mode de connexion | Via le load balancer privé au sein de votre VPC/réseau | Le même endpoint que celui utilisé pour accéder à la base de données |
| Authentification | Aucune (accès limité au réseau privé) | Utilise les identifiants du service ClickHouse |
| Prérequis réseau | Load balancer privé et connectivité réseau appropriée | Disponible depuis tout réseau ayant accès à votre endpoint ClickHouse |
| Idéal pour | Supervision globale de l'infrastructure et des services | Supervision et intégration au niveau du service |
| Mode d'intégration | Configurer la fédération dans un Prometheus externe pour ingérer les métriques du cluster | Ajouter directement les endpoints de métriques ClickHouse à votre config Prometheus |
Recommandation : pour la plupart des cas d'usage, nous recommandons d'intégrer le stack Prometheus intégré, car il fournit des métriques complètes sur tous les composants de votre déploiement BYOC (services ClickHouse, cluster Kubernetes et services associés), et pas seulement sur les serveurs ClickHouse.
La stack Prometheus BYOC intégrée
ClickHouse BYOC déploie une stack Prometheus de monitoring complète au sein de votre cluster Kubernetes, incluant Prometheus, Grafana, AlertManager et, éventuellement, Thanos pour le stockage à long terme des métriques. Cette stack collecte des métriques provenant de :
- serveurs ClickHouse et de ClickHouse Keeper
- du cluster Kubernetes et des composants système
- des nœuds de l’infrastructure sous-jacente
Accéder à la stack Prometheus
Pour vous connecter à la stack Prometheus intégrée :
- Activez le répartiteur de charge privé de votre infrastructure BYOC dans la ClickHouse Cloud console (voir Répartiteurs de charge).
- Demandez l’URL de l’endpoint Prometheus à ClickHouse Support.
- Vérifiez la connectivité réseau privée avec l’endpoint Prometheus, généralement via un peering VPC/VNet ou une autre configuration de réseau privé.
Les formats d’endpoint varient selon le type de connectivité :
| Connectivité | Format de l’endpoint |
|---|---|
| Peering VPC/VNet | https://prometheus-internal.<subdomain>.<region>.<cloud>.clickhouse-byoc.com |
| Endpoint privé | https://prometheus.<label>.<subdomain>.<region>.<cloud>.clickhouse-byoc.com |
<cloud> correspond à aws, gcp ou azure. Pour les endpoints privés, <label> dépend du Cloud : vpce sur AWS, p sur GCP et privatelink sur Azure.
Intégration à vos outils de monitoring
Vous pouvez exploiter la stack Prometheus BYOC dans votre écosystème de monitoring de plusieurs façons :
Option 1 : interroger l’API Prometheus
- Accédez directement à l’endpoint de l’API Prometheus depuis votre plateforme de monitoring préférée ou vos dashboards personnalisés.
- Utilisez des requêtes PromQL pour extraire, agréger et visualiser les métriques dont vous avez besoin.
- Idéal pour créer des dashboards sur mesure ou des pipelines d’alerte.
Endpoint de requête Prometheus /query :
https://prometheus-internal.<subdomain>.<region>.<cloud>.clickhouse-byoc.com/queryOption 2 : fédérer les métriques vers votre propre instance Prometheus
- Configurez votre instance Prometheus externe pour fédérer (pull) les métriques de la stack Prometheus BYOC de ClickHouse.
- Cela vous permet d’unifier et de centraliser la collecte des métriques provenant de plusieurs environnements ou clusters.
- Exemple de configuration de fédération Prometheus :
scrape_configs:
- job_name: 'federate-clickhouse-byoc'
scrape_interval: 15s
honor_labels: true
metrics_path: '/federate'
params:
'match[]':
- '{job="clickhouse"}'
- '{job="kubernetes"}'
static_configs:
- targets:
- 'prometheus-internal.<subdomain>.<region>.<cloud>.clickhouse-byoc.com'Intégration du service ClickHouse avec Prometheus
Les services ClickHouse exposent un endpoint de métriques compatible avec Prometheus, que vous pouvez scraper directement à l’aide de votre propre instance Prometheus. Cette approche fournit des métriques propres à ClickHouse, mais n’inclut pas les métriques Kubernetes ni celles des services associés.
Accès à l’endpoint de métriques
L’endpoint de métriques est disponible à l’adresse /metrics_all sur le point de terminaison de votre service ClickHouse :
curl --user <username>:<password> https://<service-subdomain>.<byoc-subdomain>.<region>.<provider>.clickhouse-byoc.com:8443/metrics_allExemple de réponse :
# HELP ClickHouse_CustomMetric_StorageSystemTablesS3DiskBytes The amount of bytes stored on disk `s3disk` in system database
# TYPE ClickHouse_CustomMetric_StorageSystemTablesS3DiskBytes gauge
ClickHouse_CustomMetric_StorageSystemTablesS3DiskBytes{hostname="c-jet-ax-16-server-43d5baj-0"} 62660929
# HELP ClickHouse_CustomMetric_NumberOfBrokenDetachedParts The number of broken detached parts
# TYPE ClickHouse_CustomMetric_NumberOfBrokenDetachedParts gauge
ClickHouse_CustomMetric_NumberOfBrokenDetachedParts{hostname="c-jet-ax-16-server-43d5baj-0"} 0
# HELP ClickHouse_CustomMetric_TotalNumberOfErrors The total number of errors on server since the last restart
# TYPE ClickHouse_CustomMetric_TotalNumberOfErrors gauge
ClickHouse_CustomMetric_TotalNumberOfErrors{hostname="c-jet-ax-16-server-43d5baj-0"} 9Authentification
L’endpoint de métriques nécessite une authentification à l’aide d’identifiants ClickHouse. Nous recommandons d’utiliser l’utilisateur default ou de créer un utilisateur dédié avec les permissions minimales requises pour le scraping des métriques.
Permissions requises :
- Permission
REMOTEpour se connecter au service - Permissions
SELECTsur les tables système concernées
Exemple de configuration de l’utilisateur :
CREATE USER scrapping_user IDENTIFIED BY 'secure_password';
GRANT REMOTE ON *.* TO scrapping_user;
GRANT SELECT ON system._custom_metrics_dictionary_custom_metrics_tables TO scrapping_user;
GRANT SELECT ON system._custom_metrics_dictionary_database_replicated_recovery_time TO scrapping_user;
GRANT SELECT ON system._custom_metrics_dictionary_failed_mutations TO scrapping_user;
GRANT SELECT ON system._custom_metrics_dictionary_group TO scrapping_user;
GRANT SELECT ON system._custom_metrics_dictionary_shared_catalog_recovery_time TO scrapping_user;
GRANT SELECT ON system._custom_metrics_dictionary_table_read_only_duration_seconds TO scrapping_user;
GRANT SELECT ON system._custom_metrics_view_error_metrics TO scrapping_user;
GRANT SELECT ON system._custom_metrics_view_histograms TO scrapping_user;
GRANT SELECT ON system._custom_metrics_view_metrics_and_events TO scrapping_user;
GRANT SELECT(description, metric, value) ON system.asynchronous_metrics TO scrapping_user;
GRANT SELECT ON system.custom_metrics TO scrapping_user;
GRANT SELECT(name, value) ON system.errors TO scrapping_user;
GRANT SELECT(description, event, value) ON system.events TO scrapping_user;
GRANT SELECT(description, labels, metric, value) ON system.histogram_metrics TO scrapping_user;
GRANT SELECT(description, metric, value) ON system.metrics TO scrapping_user;Configuration de Prometheus
Configurez votre instance Prometheus pour scraper l’endpoint de métriques ClickHouse :
global:
scrape_interval: 15s
scrape_configs:
- job_name: "clickhouse"
static_configs:
- targets: ["<service-subdomain>.<byoc-subdomain>.<region>.<provider>.clickhouse-byoc.com:8443"]
scheme: https
metrics_path: "/metrics_all"
basic_auth:
username: <username>
password: <password>
honor_labels: trueRemplacez :
<service-subdomain>.<byoc-subdomain>.<region>.<provider>.clickhouse-byoc.com:8443par l’endpoint réel de votre service<username>et<password>par les identifiants de votre utilisateur de scraping
ClickHouse Mixin
Pour les équipes qui souhaitent disposer d’un ensemble de tableaux de bord prêt à l’emploi, ClickHouse propose un ClickHouse Mixin pour Prometheus. Il s’agit d’un tableau de bord Grafana préconfiguré, conçu spécialement pour surveiller les clusters ClickHouse.
Configurer Grafana et importer le Mix-in ClickHouse
Une fois votre instance Prometheus intégrée à votre stack de monitoring ClickHouse, vous pouvez visualiser les métriques dans Grafana en suivant ces étapes :
- Ajouter Prometheus comme source de données dans Grafana Accédez à « Data sources » dans la barre latérale de Grafana, cliquez sur « Add data source », puis sélectionnez « Prometheus ». Saisissez l’URL de votre instance Prometheus ainsi que les identifiants nécessaires à la connexion.



- Importer le tableau de bord ClickHouse Dans Grafana, accédez à la section des tableaux de bord et choisissez « Import ». Vous pouvez soit téléverser le fichier JSON du tableau de bord, soit en coller directement le contenu. Récupérez le fichier JSON depuis le repository du mixin ClickHouse : JSON du tableau de bord du Mix-in ClickHouse

- Explorer vos métriques Une fois le tableau de bord importé et configuré avec votre source de données Prometheus, vous devriez voir les métriques en temps réel de vos services ClickHouse Cloud.
