Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

Interroger la base de données système de ClickHouse

Toutes les instances ClickHouse incluent un ensemble de tables système dans la base de données system, qui contiennent des informations sur :

  • L'état du serveur, les processus et l'environnement.
  • Les processus internes du serveur.
  • Les options utilisées lors de la compilation du binaire ClickHouse.

L'interrogation directe de ces tables est utile pour la surveillance des déploiements ClickHouse, en particulier pour l'introspection approfondie et le débogage.

Utilisation de la ClickHouse Cloud Console

La ClickHouse Cloud console inclut une console SQL et des outils de création de tableaux de bord qui peuvent être utilisés pour interroger les tables système. Par exemple, la requête ci-dessous permet d'examiner combien de nouvelles parts sont créées au cours des deux dernières heures (et à quelle fréquence) :

SELECT
    count() AS new_parts,
    toStartOfMinute(event_time) AS modification_time_m,
    table,
    sum(rows) AS total_written_rows,
    formatReadableSize(sum(size_in_bytes)) AS total_bytes_on_disk
FROM clusterAllReplicas(default, system.part_log)
WHERE (event_type = 'NewPart') AND (event_time > (now() - toIntervalHour(2)))
GROUP BY
    modification_time_m,
    table
ORDER BY
    modification_time_m ASC,
    table DESC

Tableau de bord avancé d’observabilité intégré

ClickHouse inclut un tableau de bord avancé d’observabilité intégré, accessible à l’adresse $HOST:$PORT/dashboard (nécessite un nom d’utilisateur et un mot de passe), qui affiche les métriques Cloud Overview contenues dans system.dashboards.

Tableau de bord avancé natif d’observabilité

Pour en savoir plus sur les visualisations disponibles et sur leur utilisation pour le dépannage, consultez la documentation du tableau de bord avancé.

Interroger l’ensemble des nœuds et des versions

Pour obtenir une vue complète du cluster, les utilisateurs peuvent exploiter la fonction clusterAllReplicas en combinaison avec la fonction merge. La fonction clusterAllReplicas permet d’interroger les tables système sur l’ensemble des réplicas du cluster "default", en regroupant les données propres à chaque nœud dans un résultat unifié. Combinée à la fonction merge, elle permet de cibler toutes les données système d’une table donnée dans un cluster.

Par exemple, pour trouver les 5 requêtes ayant le temps d’exécution le plus long sur l’ensemble des réplicas au cours de la dernière heure :

SELECT
    type,
    event_time,
    query_duration_ms,
    query,
    read_rows,
    tables
FROM clusterAllReplicas(default, system.query_log)
WHERE event_time >= (now() - toIntervalMinute(60)) AND type = 'QueryFinish'
ORDER BY query_duration_ms DESC
LIMIT 5
FORMAT VERTICAL

Cette approche est particulièrement utile pour la surveillance et le débogage des opérations à l’échelle du cluster, ce qui permet aux utilisateurs d’analyser efficacement l’état et les performances de leur déploiement ClickHouse Cloud.

Pour plus de détails, consultez l’interrogation sur plusieurs nœuds.

Considérations relatives au système

Pour le monitoring de production en temps réel avec une séparation opérationnelle, envisagez d’utiliser l’endpoint de métriques compatible Prometheus ou les Cloud Console dashboards, qui s’appuient tous deux sur des métriques pré-collectées et n’émettent pas de requêtes vers le service sous-jacent.

Navigation