Melhorando a interatividade do dashboard do Kibana com controles de variáveis

Descubra como usar controles de variáveis no Kibana 8.18+ para filtrar visualizações específicas, ajustar intervalos e agrupar por diferentes campos nos dashboards do Kibana.

Observe, proteja e busque seus dados com uma única solução. Do monitoramento de aplicações à detecção de ameaças, o Kibana é sua plataforma versátil para casos de uso críticos. Inicie sua avaliação gratuita de 14 dias agora mesmo.

Temos o prazer de anunciar que os controles de variáveis já estão disponíveis no dashboard do Kibana a partir da versão 8.18 e em toda a série 9.x! Este recurso tem sido uma das adições mais solicitadas pelos usuários do dashboard — e finalmente chegou 🎉 Nos últimos meses, continuamos expandindo e aprimorando os controles de variáveis, tornando este o momento perfeito para dedicarmos um post do blog inteiro a eles.

O que são controles de variáveis?

Se você já usou dashboards do Kibana, provavelmente conhece nossos controles clássicos de dashboards: aqueles menus suspensos úteis que mostram os valores dos seus dados para que você possa filtrar informações com alguns cliques.

Os controles de variáveis parecem semelhantes à primeira vista, mas têm um diferencial inteligente: em vez de filtrar automaticamente todos os painéis do seu dashboard, eles podem ser inseridos diretamente em consultas ES|QL dentro de visualizações específicas.

Isso significa que você pode decidir onde cada controle se aplica. Melhor ainda, você pode usá-los para todos os tipos de truques criativos, como ajustar intervalos, alternar campos de detalhamento ou alterar parâmetros de visualização em tempo real. Basicamente, eles proporcionam aos dashboards uma experiência verdadeiramente interativa, permitindo que você obtenha insights com mais rapidez e facilidade.

Casos de uso para controles de variáveis

Certo, os controles variáveis parecem úteis, mas o que você pode realmente fazer com eles? Aqui estão alguns exemplos de como eles elevam o nível de seu dashboard:

Filtrar visualizações selecionadas

Deseja filtrar algumas visualizações, mas não mexer em outras? Os controles de variáveis permitem exatamente isso. Escolha os painéis aos quais deseja responder e conecte-os nas consultas ES|QL por trás das suas visualizações.

Selecionar diferentes intervalos

Permita que seus usuários escolham entre "5 minutos", "1 hora", "1 dia" ou quaisquer buckets que façam sentido. Crie um controle de variáveis com intervalos predefinidos e conecte-o à sua consulta de séries temporais.

Funções de alteração

Em vez de criar vários gráficos para cada operação, permita que os usuários do dashboard escolham se desejam ver o máximo, a média, diferentes percentis ou qualquer outro agregador.

Agrupe por diferentes campos

Às vezes, é necessário dividir os dados conforme diferentes dimensões durante uma investigação. Com controles de variáveis, você pode definir múltiplos campos "agrupar por" e permitir que os usuários do dashboard escolham aquele que os ajude a descobrir seus insights.

Como você pode criá-los?

A maneira mais fácil (e provavelmente mais agradável) de criar um controle de variável é diretamente pelo editor de consultas ES|QL na sua visualização. Basta começar a digitar sua consulta, usar o menu de preenchimento automático, e o Kibana vai ajudar a estruturar o controle para você.

Mas, se preferir começar pela própria variável, você também pode ir para: Adicionar painel → Controles → Controle de variável e adicionar a variável às suas visualizações após criar o controle.

Exemplo 1: Controle de filtragem com seleção de múltiplos valores

1. Escolha uma visualização atrelada a uma consulta ES|QL e clique em "Criar controle" dentro da instrução WHERE

2. Você será redirecionado automaticamente para o submenu de criação de variáveis, onde o tipo "Valores de uma consulta" será selecionado para você e o nome da variável já estará pré-preenchido. Lembre-se de que o nome de um controle sempre precisa começar com "?...". para ser usado na consulta de visualização.

Normalmente, você precisará de uma consulta como esta para obter os valores de um campo e atualizá-los de acordo com o intervalo de tempo selecionado no dashboard:

3. Ao salvar o controle, ele será exibido na parte superior do painel, e sua consulta de visualização será atualizada com o nome do controle da variável.

4. Se você quiser adicionar seleção multi-valor ao controle, precisa usar a função MV_CONTAINS na consulta e selecionar "Permitir múltiplas seleções" durante a criação do controle na etapa 2 (disponível a partir da 9.3).

Exemplo 2: Controle de intervalo de tempo

Se estiver montando uma série temporal, você poderá facilmente adicionar um controle de variável para o intervalo do histograma de data:

1. Ao escrever uma consulta ES|QL para sua série temporal, clique em "Criar controle". Ao criar uma variável para intervalos, é melhor usar TBUCKET em vez de BUCKET para que aceite intervalos mais legíveis como "1 hora", "1 dia" etc. Também haverá uma opção automática para TBUCKET em breve, para que possa se adaptar automaticamente aos intervalos.

2. Defina os intervalos para preencher as opções no menu suspenso.

3. Selecione diferentes intervalos no menu suspenso e veja como sua visualização muda.

Exemplo 3: variáveis para funções

  1. Crie uma variável usando o tipo de controle "Valores estáticos" e adicione nomes de funções aos seus valores suspensos. É importante usar um nome para sua variável que comece com “??...” para substituir funções.

2. Inclua o nome da variável na sua consulta ES|QL.

Exemplo 4: variáveis para campos

  1. Você pode usar o tipo de controle "Valores estáticos" e anotar os nomes dos campos que quiser. É importante usar um nome de variável que comece com "??..." para aplicá-lo aos campos.

2. Faça referência à variável onde quiser na consulta de visualização.

Controles de variáveis no Discover

Controles variáveis não são apenas um recurso do dashboard — eles também estão disponíveis diretamente no editor ES|QL no Discover. Você pode construir controles para uma experiência de exploração de dados mais rápida no Discover, trazê-los para o dashboard e vice-versa.

Detalhes técnicos

A esta altura, você provavelmente já percebeu que os controles de variáveis vêm com algumas regras — como quais partes de uma consulta eles podem referenciar e os prefixos de nomeação que você precisa usar ("?..." para valores e "?? ...” para campos ou funções). O motivo disso é que variáveis não são apenas simples substituições de string no cliente. Elas são, na verdade, cidadãos de primeira classe na própria linguagem de consulta (conhecidos como parâmetros no ES|QL).

Este design traz grandes vantagens. Por exemplo, o Kibana consegue entender o contexto de cada variável, o que nos permite gerar e preencher automaticamente sua configuração para você. Também é muito mais seguro: como a linguagem valida rigorosamente entradas variáveis, ela impede injeções nocivas e erros se algo parece errado. Além disso, melhora o desempenho e a estabilidade ao transferir validações complexas e tratamento de erros para o servidor em vez do cliente. Uma observação sobre desempenho: uma prática recomendada é criar variáveis que incluam consultas rápidas, pois elas são carregadas antes do dashboard, portanto, consultas lentas podem afetar todo o desempenho do dashboard.

É claro, essa arquitetura também vem com algumas limitações—por enquanto. Variáveis ainda não permitem uma opção “Qualquer” para filtragem, e elas não podem ser usadas atualmente com certos operadores como LIKE ou FROM (para alternar fontes de dados). A boa notícia? Estamos trabalhando ativamente para adicionar essas funcionalidades.

O que o futuro reserva para os controles

Não vamos parar aqui! Algumas das melhorias no nosso radar incluem:

✨ A capacidade de posicionar controles em qualquer lugar do painel

✨ Encadeando seus controles — ou seja, a saída de um controle se torna a entrada do próximo

✨ Melhores opções de seleção como seleção "Qualquer" para variáveis

✨ Novos tipos de controle (controle de buscar e variáveis para suas fontes de dados)

✨ E mais melhorias de qualidade de vida que vocês pediram, como pré-filtrar controles normais.

Se você tiver ideias ou feedback, adoraríamos saber.

Conteúdo relacionado

Pronto para criar buscas de última geração?

Uma pesquisa suficientemente avançada não se consegue apenas com o esforço de uma só pessoa. O Elasticsearch é impulsionado por cientistas de dados, especialistas em operações de aprendizado de máquina, engenheiros e muitos outros que são tão apaixonados por buscas quanto você. Vamos nos conectar e trabalhar juntos para construir a experiência de busca mágica que lhe trará os resultados desejados.

Experimente você mesmo(a)