É possível executar qualquer consulta com o plugin do ClickHouse.
O construtor de consultas é uma opção prática para consultas mais simples, mas, para consultas mais complexas, você precisará usar o SQL Editor.
Todas as consultas no construtor de consultas têm um tipo de consulta e exigem que pelo menos uma coluna seja selecionada.
Os tipos de consulta disponíveis são:
- Table: o tipo de consulta mais simples para exibir dados em formato de tabela. Funciona bem como uma opção genérica tanto para consultas simples quanto para consultas complexas que contêm funções de agregação.
- Logs: otimizado para criar consultas de logs. Funciona melhor na visualização Explore com as configurações padrão definidas.
- Time Series: mais indicado para criar consultas de séries temporais. Permite selecionar uma coluna de tempo específica e adicionar funções de agregação.
- Traces: otimizado para pesquisar/visualizar rastreamentos. Funciona melhor na visualização Explore com as configurações padrão definidas.
- SQL Editor: o SQL Editor pode ser usado quando você quiser controle total sobre a consulta. Nesse modo, qualquer consulta SQL pode ser executada.
A configuração Tipo de consulta altera o layout do construtor de consultas para corresponder ao tipo de consulta que está sendo criada.
O tipo de consulta também determina qual painel é usado para visualizar os dados.
O tipo de consulta mais flexível é a consulta de tabela. Ela funciona como uma categoria genérica para os outros construtores de consulta, projetada para lidar com consultas simples e de agregação.
Esse tipo de consulta exibirá os dados como uma tabela.
O tipo de consulta de logs oferece um construtor de consultas voltado para consultar dados de logs.
Os padrões podem ser configurados na configuração de logs da fonte de dados, permitindo que o construtor de consultas seja pré-carregado com um database/table e colunas padrão.
OpenTelemetry também pode ser habilitado para selecionar automaticamente as colunas de acordo com uma versão do esquema.
Os filtros Time e Level são adicionados por padrão, juntamente com um Order By para a coluna Time.
Esses filtros estão vinculados aos respectivos campos e serão atualizados conforme as colunas forem alteradas.
O filtro Level é excluído do SQL por padrão; ao alterá-lo da opção IS ANYTHING, ele será habilitado.
O tipo de consulta de logs oferece suporte a links de dados.
Esse tipo de consulta renderiza os dados no painel de logs, juntamente com um painel de histograma de logs na parte superior.
As colunas extras selecionadas na consulta podem ser visualizadas na linha de log expandida:
O tipo de consulta de séries temporais é semelhante a table, mas com foco em dados de séries temporais.
As duas visualizações são, em grande parte, iguais, com estas diferenças importantes:
- Um campo Time dedicado.
- No modo Aggregate, uma macro de intervalo de tempo é aplicada automaticamente junto com um Agrupar por para o campo Time.
- No modo Aggregate, o campo “coluna” fica oculto.
- Um filtro de intervalo de tempo e um ORDER BY são adicionados automaticamente para o campo Time.
A visualização está sem dados?Em alguns casos, o painel de séries temporais pode parecer cortado porque o limite padrão é 1000.Tente remover a cláusula LIMIT definindo-a como 0 (se o seu conjunto de dados permitir).
Esse tipo de consulta exibirá os dados no painel de séries temporais.
O tipo de consulta de rastreamento oferece um construtor de consultas para pesquisar e visualizar rastreamentos com facilidade.
Ele foi projetado para dados do OpenTelemetry, mas é possível selecionar colunas para renderizar rastreamentos de um esquema diferente.
Os padrões podem ser configurados na configuração de rastreamento da fonte de dados para permitir que o construtor de consultas seja pré-carregado com um banco de dados/tabela e colunas padrão. Se houver padrões configurados, a seleção de colunas ficará recolhida por padrão.
O OpenTelemetry também pode ser ativado para selecionar automaticamente as colunas de acordo com uma versão do esquema.
Filtros padrão são adicionados com o objetivo de mostrar apenas spans de nível superior.
Também é incluído um ORDER BY para as colunas Time e Duration Time.
Esses filtros estão vinculados aos respectivos campos e serão atualizados conforme as colunas forem alteradas.
O filtro Service Name é excluído do SQL por padrão; ao alterá-lo da opção IS ANYTHING, ele será ativado.
O tipo de consulta de rastreamento oferece suporte a links de dados.
Esse tipo de consulta renderiza os dados na visualização de tabela no modo Trace Search e no painel de rastreamento no modo Trace ID.
Para consultas complexas demais para o construtor de consultas, você pode usar o SQL Editor.
Isso dá a você controle total sobre a consulta, permitindo escrever e executar ClickHouse SQL puro.
O SQL Editor pode ser aberto selecionando “SQL Editor” na parte superior do editor de consultas.
Funções de macro ainda podem ser usadas nesse modo.
Você pode alternar entre tipos de consulta para obter a visualização que melhor se adapta à sua consulta.
Essa alternância também tem efeito na visualização de dashboard, especialmente com dados de séries temporais.
Os links de dados do Grafana
podem ser usados para direcionar para novas consultas.
Esse recurso foi habilitado no plugin do ClickHouse para vincular um trace a logs e vice-versa. Ele funciona melhor com o OpenTelemetry configurado tanto para logs quanto para rastreamento na configuração da fonte de dados
Exemplo de links de trace em uma tabela
Exemplo de links de trace em logs
Como criar um link de dados
Você pode criar um link de dados selecionando uma coluna chamada traceID na sua consulta. Esse nome não diferencia maiúsculas de minúsculas e permite adicionar um sublinhado antes de “ID”. Por exemplo: traceId, TraceId, TRACE_ID e tracE_iD seriam todos válidos.
Se o OpenTelemetry estiver habilitado em uma consulta de logs ou traces, uma coluna de trace ID será incluída automaticamente.
Ao incluir uma coluna de trace ID, os links “View Trace” e “View Logs” serão associados aos dados.
Com os links de dados disponíveis, você pode abrir rastreamento e logs usando o trace ID fornecido.
“View Trace” abrirá um painel dividido com o trace, e “View Logs” abrirá uma consulta de logs filtrada pelo trace ID.
Se o link for clicado em um dashboard em vez da visualização Explore, ele será aberto em uma nova aba na visualização Explore.
É necessário ter padrões configurados tanto para logs quanto para rastreamento ao alternar entre tipos de consulta (de logs para rastreamento e de rastreamento para logs). Os padrões não são necessários ao abrir um link do mesmo tipo de consulta, já que a consulta pode ser simplesmente copiada.
Exemplo de visualização de um trace (painel direito) a partir de uma consulta de logs (painel esquerdo)
Macros são uma forma simples de adicionar SQL dinâmico à sua consulta.
Antes de uma consulta ser enviada ao servidor ClickHouse, o plugin expandirá a macro e a substituirá pela expressão completa.
Consultas tanto do SQL Editor quanto do Query Builder podem usar macros.
As macros podem ser incluídas em qualquer parte da consulta, várias vezes, se necessário.
Veja um exemplo de uso da macro $__timeFilter:
Entrada:
Saída final da consulta:
Neste exemplo, o intervalo de tempo do dashboard do Grafana é aplicado à coluna log_time.
O plugin também aceita a notação com chaves {}. Use essa notação quando for necessário usar consultas dentro de parâmetros.
Esta é uma lista de todas as macros disponíveis no plugin: