Passer au contenu principal
N’importe quelle requête peut être exécutée avec le plugin ClickHouse. Le query builder est une option pratique pour les requêtes simples, mais pour les requêtes plus complexes, vous devrez utiliser le SQL Editor. Toutes les requêtes du query builder ont un type de requête et nécessitent la sélection d’au moins une colonne. Les types de requête disponibles sont les suivants :
  • Table : le type de requête le plus simple pour afficher les données sous forme de tableau. Il convient aussi bien aux requêtes simples qu’aux requêtes complexes contenant des fonctions d’agrégation.
  • Logs : optimisé pour créer des requêtes sur les logs. Fonctionne le mieux dans la vue Explore avec les valeurs par défaut configurées.
  • Time Series : particulièrement adapté à la création de requêtes de séries temporelles. Permet de sélectionner une colonne de temps dédiée et d’ajouter des fonctions d’agrégation.
  • Traces : optimisé pour rechercher et afficher les traces. Fonctionne le mieux dans la vue Explore avec les valeurs par défaut configurées.
  • SQL Editor : le SQL Editor peut être utilisé lorsque vous souhaitez garder un contrôle total sur la requête. Dans ce mode, toute requête SQL peut être exécutée.

Types de requête

Le paramètre Type de requête modifie la disposition du générateur de requêtes afin qu’elle corresponde au type de requête en cours de création. Le type de requête détermine également le panneau utilisé pour visualiser les données.

Tableau

Le type de requête le plus flexible est la requête de type tableau. Il s’agit d’une option générique qui regroupe les autres constructeurs de requêtes conçus pour gérer les requêtes simples et les requêtes d’agrégation. Ce type de requête affiche les données sous forme de tableau.

Journaux

Le type de requête logs propose un query builder axé sur l’interrogation des données de logs. Des valeurs par défaut peuvent être configurées dans la configuration des logs de la source de données afin de précharger le query builder avec une base de données/table et des colonnes par défaut. OpenTelemetry peut également être activé pour sélectionner automatiquement les colonnes en fonction d’une version de schéma. Les filtres Time et Level sont ajoutés par défaut, ainsi qu’un Order By sur la colonne Time. Ces filtres sont liés à leurs champs respectifs et se mettront à jour lorsque les colonnes seront modifiées. Le filtre Level est exclu du SQL par défaut ; il est activé dès que vous remplacez l’option IS ANYTHING. Le type de requête logs prend en charge les liens de données.
Ce type de requête affiche les données dans le panneau de logs, avec un panneau d’histogramme des logs en haut. Les colonnes supplémentaires sélectionnées dans la requête peuvent être consultées dans la ligne de log développée :

Séries temporelles

Le type de requête de séries temporelles est similaire à table, mais se concentre sur les données de séries temporelles. Les deux vues sont globalement identiques, avec toutefois les différences notables suivantes :
  • Un champ Time dédié.
  • En Aggregate mode, une macro d’intervalle de temps est automatiquement appliquée, avec un Group By sur le champ Time.
  • En Aggregate mode, le champ “Columns” est masqué.
  • Un filtre sur l’intervalle de temps et un Order By sont automatiquement ajoutés pour le champ Time.
Des données manquent dans votre visualisation ?Dans certains cas, le panneau de séries temporelles peut sembler tronqué, car la limite par défaut est de 1000.Essayez de supprimer la clause LIMIT en la définissant sur 0 (si votre jeu de données le permet).
Ce type de requête affichera les données dans le panneau de séries temporelles.

Traces

Le type de requête de trace propose un générateur de requêtes pour rechercher et afficher facilement des traces. Il est conçu pour les données OpenTelemetry, mais il est possible de sélectionner des colonnes pour afficher des traces à partir d’un autre schéma. Des valeurs par défaut peuvent être configurées dans la configuration des traces de la source de données afin de précharger le générateur de requêtes avec une base de données/table et des colonnes par défaut. Si des valeurs par défaut sont configurées, la sélection des colonnes sera réduite par défaut. OpenTelemetry peut également être activé pour sélectionner automatiquement les colonnes en fonction d’une version de schéma. Des filtres par défaut sont ajoutés afin de n’afficher que les spans de premier niveau. Un ORDER BY sur les colonnes Time et Duration Time est également inclus. Ces filtres sont associés à leurs champs respectifs et se mettront à jour lorsque les colonnes seront modifiées. Le filtre Service Name est exclu du SQL par défaut ; le modifier depuis l’option IS ANYTHING l’activera. Le type de requête de trace prend en charge les liens de données. Ce type de requête affichera les données dans la vue tableau pour le mode Trace Search, et dans le panneau de traces pour le mode Trace ID.

SQL Editor

Pour les requêtes trop complexes pour le query builder, vous pouvez utiliser le SQL Editor. Il vous donne un contrôle total sur la requête en vous permettant d’écrire et d’exécuter directement du ClickHouse SQL. Le SQL Editor peut être ouvert en sélectionnant “SQL Editor” en haut de l’éditeur de requêtes. Les fonctions macro peuvent toujours être utilisées dans ce mode. Vous pouvez basculer entre les types de requêtes pour obtenir la visualisation la mieux adaptée à votre requête. Ce changement a également un effet en vue dashboard, notamment avec les données de séries temporelles. Les liens de données de Grafana peuvent être utilisés pour créer des liens vers de nouvelles requêtes. Cette fonctionnalité a été activée dans le plugin ClickHouse pour lier une trace aux logs et inversement. Elle fonctionne mieux lorsque OpenTelemetry est configuré à la fois pour les logs et les traces dans la configuration de la source de données
Exemple de liens de traces dans un tableau
Exemple de liens de traces dans les logs
Vous pouvez créer un lien de données en sélectionnant une colonne nommée traceID dans votre requête. Ce nom n’est pas sensible à la casse et accepte l’ajout d’un trait de soulignement avant « ID ». Par exemple : traceId, TraceId, TRACE_ID et tracE_iD sont tous valides. Si OpenTelemetry est activé dans une requête de logs ou de trace, une colonne d’ID de trace sera ajoutée automatiquement. En incluant une colonne d’ID de trace, les liens “View Trace” et “View Logs” seront associés aux données.

Fonctionnalités de liaison

Avec les data links en place, vous pouvez ouvrir des traces et des logs à l’aide du trace ID fourni. View Trace” ouvre un panneau fractionné contenant la trace, et “View Logs” ouvre une requête de logs filtrée sur le trace ID. Si vous cliquez sur le lien depuis un dashboard plutôt que depuis la vue Explore, il s’ouvrira dans un nouvel onglet de la vue Explore. Il est nécessaire de configurer des valeurs par défaut pour les logs et les traces lorsque vous passez d’un type de requête à l’autre (des logs vers les traces et des traces vers les logs). En revanche, aucune valeur par défaut n’est requise lors de l’ouverture d’un lien du même type de requête, car la requête peut simplement être copiée.
Exemple d’affichage d’une trace (panneau de droite) à partir d’une requête de logs (panneau de gauche)

Macros

Les macros sont un moyen simple d’ajouter du SQL dynamique à votre requête. Avant qu’une requête ne soit envoyée au serveur ClickHouse, le plugin développe la macro et la remplace par l’expression complète. Les requêtes du SQL Editor comme du Query Builder peuvent utiliser des macros.

Utilisation des macros

Les macros peuvent être utilisées n’importe où dans la requête, et plusieurs fois si nécessaire. Voici un exemple d’utilisation de la macro $__timeFilter : Entrée :
Résultat final de la requête :
Dans cet exemple, l’intervalle de temps du tableau de bord Grafana est appliqué à la colonne log_time. Le plugin prend également en charge la notation avec des accolades {}. Utilisez cette notation lorsqu’il est nécessaire d’utiliser des requêtes dans les paramètres.

Liste des macros

Voici la liste de toutes les macros disponibles dans le plugin :
Dernière modification le 1 juillet 2026