Visualize dados do Azure Data Explorer no Kibana com o conector de código aberto K2Bridge

O K2Bridge (Kibana-Kusto Bridge) permite que você use o Azure Data Explorer como uma fonte de dados e visualize esses dados no Kibana. K2Bridge é um aplicativo em contêineres de código aberto. Ele atua como um proxy entre uma instância do Kibana e um cluster Azure Data Explorer. Este artigo descreve como usar o K2Bridge para criar essa conexão.

O K2Bridge converte consultas Kibana em KQL (Linguagem de Consulta Kusto) e envia os resultados Azure Data Explorer de volta ao Kibana.

Conexão Kibana com Azure Data Explorer via K2Bridge.

O K2Bridge dá suporte às guias Descobrir, Visualizar e Painel do Kibana.

Com a guia Descobrir, você pode:

  • Entender e explorar os dados.
  • Filtrar resultados.
  • Adicionar ou remover campos na grade de resultados.
  • Exibir conteúdo do registro.
  • Salvar e compartilhar pesquisas.

Com a guia Visualizar, você pode:

  • Crie visualizações como: gráficos de barras, gráficos de pizza, tabelas de dados, mapas de calor e muito mais.
  • Salvar uma visualização

Com a guia Painel, você pode:

  • Crie painéis usando visualizações novas ou salvas.
  • Salve um painel.

A imagem a seguir mostra uma instância Kibana vinculada Azure Data Explorer por K2Bridge. A experiência do usuário no Kibana permanece inalterada.

Página Kibana vinculada ao Azure Data Explorer.

Pré-requisitos

Antes de visualizar dados de Azure Data Explorer no Kibana, tenha o seguinte pronto:

Se você optar por usar uma entidade de serviço Microsoft Entra, precisará criar uma entidade de serviço Microsoft Entra. Para a instalação, você precisará da ClientID e de um Segredo. Recomendamos uma entidade de serviço com permissão de visualizador e não recomendamos o uso de permissões de nível superior. Para atribuir permissões, consulte Gerenciar permissões de banco de dados no portal do Azure ou usar comandos de gerenciamento para Gerenciar funções de segurança de banco de dados.

Se você optar por usar uma identidade atribuída pelo sistema, precisará obter a identidade gerenciada do pool de agentes ClientID (localizada no grupo de recursos "[MC_xxxx]" gerado)

Executar K2Bridge no AKS (Serviço de Kubernetes do Azure)

Por padrão, o gráfico do Helm de K2Bridge faz referência a uma imagem disponível publicamente localizada no MCR (Microsoft Container Registry). O MCR não requer credenciais.

  1. Baixe os gráficos do Helm necessários.

  2. Adicione a dependência Elasticsearch ao Helm. A dependência é necessária porque o K2Bridge usa uma pequena instância interna do Elasticsearch. A instância de serviços solicitações relacionadas a metadados, como consultas de padrões de índice e consultas salvas. Essa instância interna não salva dados de negócios. Você pode considerar a instância como um detalhe de implementação.

    1. Para adicionar a dependência do Elasticsearch ao Helm, execute estes comandos:

      helm repo add elastic https://helm.elastic.co
      helm repo update
      
    2. Para obter o gráfico K2Bridge do diretório de gráficos do repositório GitHub:

      1. Clone o repositório do GitHub.

      2. Vá para o diretório do repositório raiz K2Bridges.

      3. Execute este comando:

        helm dependency update charts/k2bridge
        
  3. Implante o K2Bridge.

    1. Defina as variáveis com os valores corretos do seu ambiente.

      ADX_URL=[YOUR_ADX_CLUSTER_URL] #For example, https://mycluster.westeurope.kusto.windows.net
      ADX_DATABASE=[YOUR_ADX_DATABASE_NAME]
      ADX_CLIENT_ID=[SERVICE_PRINCIPAL_CLIENT_ID]
      ADX_CLIENT_SECRET=[SERVICE_PRINCIPAL_CLIENT_SECRET]
      ADX_TENANT_ID=[SERVICE_PRINCIPAL_TENANT_ID]
      

      Observação

      Ao usar uma identidade gerenciada, o valor ADX_CLIENT_ID é a ID do cliente da identidade gerenciada, localizada no grupo de recursos "[MC_xxxx]" gerado. Para saber mais, confira MC_ resource group. O ADX_SECRET_ID só será necessário se você usar uma entidade de serviço Microsoft Entra.

    2. Opcionalmente, habilite a telemetria do Application Insights. Se você estiver usando o Application Insights pela primeira vez, crie um recurso de Application Insights. Copie a chave de instrumentação para uma variável.

      APPLICATION_INSIGHTS_KEY=[INSTRUMENTATION_KEY]
      COLLECT_TELEMETRY=true
      
    3. Instale o gráfico K2Bridge. Há suporte apenas para visualizações e painéis com a versão Kibana 7.10. As marcas de imagem mais recentes são: 6.8_latest e 7.16_latest, que dão suporte ao Kibana 6.8 e Kibana 7.10, respectivamente. A imagem de '7.16_latest' dá suporte ao Kibana OSS 7.10.2, e a instância interna do Elasticsearch é 7.16.2.

      Se uma entidade de serviço Microsoft Entra tiver sido usada:

      helm install k2bridge charts/k2bridge -n k2bridge --set settings.adxClusterUrl="$ADX_URL" --set settings.adxDefaultDatabaseName="$ADX_DATABASE" --set settings.aadClientId="$ADX_CLIENT_ID" --set settings.aadClientSecret="$ADX_CLIENT_SECRET" --set settings.aadTenantId="$ADX_TENANT_ID" [--set image.tag=6.8_latest/7.16_latest] 
      [--set image.repository=$REPOSITORY_NAME/$CONTAINER_NAME] 
      [--set privateRegistry="$IMAGE_PULL_SECRET_NAME"] [--set settings.collectTelemetry=$COLLECT_TELEMETRY]
      

      ou se a identidade gerenciada tiver sido usada:

      helm install k2bridge charts/k2bridge -n k2bridge --set settings.adxClusterUrl="$ADX_URL" --set settings.adxDefaultDatabaseName="$ADX_DATABASE" --set       settings.aadClientId="$ADX_CLIENT_ID" --set settings.useManagedIdentity=true --set settings.aadTenantId="$ADX_TENANT_ID" [--set image.tag=7.16_latest] [--set  settings.collectTelemetry=$COLLECT_TELEMETRY]
      

      Em Configuração, você pode encontrar o conjunto completo de opções de configuração.

    4. A saída do comando anterior sugere o próximo comando do Helm para implantar o Kibana. Como opção, execute este comando:

      helm install kibana elastic/kibana -n k2bridge --set image=docker.elastic.co/kibana/kibana-oss --set imageTag=7.10.2 --set elasticsearchHosts=http://k2bridge:8080
      
    5. Use o encaminhamento de porta para acessar o Kibana no localhost.

      kubectl port-forward service/kibana-kibana 5601 --namespace k2bridge
      
    6. Conecte-se ao Kibana ao acessar http://127.0.0.1:5601.

    7. Exponha o Kibana aos usuários. Existem vários métodos para fazer isso. O método usado depende muito do seu caso de uso.

      Por exemplo, você pode expor o serviço como um serviço Load Balancer. Para fazer isso, adicione o parâmetro --set service.type=LoadBalancer ao Helm Kibana anterior no comando install.

      Em seguida, execute este comando:

      kubectl get service -w -n k2bridge
      

      O resultado deve ser assim:

      NAME            TYPE           CLUSTER-IP     EXTERNAL-IP   PORT(S)          AGE
      kibana-kibana   LoadBalancer   xx.xx.xx.xx    <pending>     5601:30128/TCP   4m24s
      

      Em seguida, você pode usar o valor EXTERNAL-IP gerado que aparece. Use-o para acessar o Kibana abrindo um navegador e acessando <EXTERNAL-IP>:5601.

  4. Configure padrões de índice para acessar seus dados.

    Em uma nova instância do Kibana:

    1. Abra o Kibana.
    2. Navegue até Gerenciamento.
    3. Selecione Padrões de Índice.
    4. Crie um padrão de índice. O nome do índice precisa corresponder exatamente ao nome da tabela ou nome da função sem um asterisco (*). Você pode copiar a linha relevante da lista.

Observação

Para executar o K2Bridge em outros provedores do Kubernetes, altere o valor storageClassName do Elasticsearch em values.yaml para corresponder ao sugerido pelo provedor.

Descobrir dados

Quando Azure Data Explorer é configurado como uma fonte de dados para Kibana, você pode usar o Kibana para explorar os dados.

Captura de tela da aba Discover no Kibana.

  1. No Kibana, selecione a guia Descobrir.

  2. Na lista padrão de índice, selecione um padrão de índice que defina a fonte de dados a ser explorada. Aqui, o padrão de índice é uma tabela do Azure Data Explorer.

    Captura de tela da lista de padrões da fonte de dados.

  3. Se os dados têm um campo de filtro de tempo, você pode especificar o intervalo de tempo. No canto superior direito da página Descobrir, selecione um filtro de hora. Por padrão, a página mostra os dados dos últimos 15 minutos.

    Captura de tela da seleção de um filtro de horário.

  4. A tabela de resultados mostra os primeiros 500 registros. Você pode expandir um documento para examinar seus dados de campo no formato JSON ou tabela.

    Captura de tela de um registro expandido na aba Discover.

  5. Você pode adicionar colunas específicas à tabela de resultados selecionando adicionar ao lado do nome do campo. Por padrão, a tabela de resultados inclui a coluna _source e uma coluna Time se o campo de hora existir.

    Captura de tela de adição de colunas.

  6. Na barra de consulta, você pode pesquisar os dados:

    • Inserindo um termo de pesquisa.
    • Usando a sintaxe de consulta Lucene. Por exemplo:
      • Pesquise "erro" para encontrar todos os registros que contêm esse valor.
      • Pesquise "status: 200" para obter todos os registros com um valor de status de 200.
    • Usando operadores lógicos AND, OR e NOT.
    • Usando os caracteres curinga asterisco (*) e ponto de interrogação (?). Por exemplo, a consulta "destination_city: L *" corresponde aos registros em que o valor de destino-cidade começa com "L" ou "l". (K2Bridge não diferencia maiúsculas de minúsculas.)

    Captura de tela de consultas em execução.

Observação

Há suporte apenas para a sintaxe de consulta Lucene do Kibana. Não use a opção KQL, que significa Linguagem de Consulta Kibana.

Dica

Em Pesquisando, você pode encontrar mais regras de pesquisa e lógica.

  1. Para filtrar os resultados da pesquisa, use a lista Campo disponível. A lista de campos é onde você pode ver:

    • Os cinco valores principais para o campo.
    • O número de registros que contêm o campo.
    • A porcentagem de registros que contêm cada valor.

    Dica

    Use a lupa para localizar todos os registros que têm um valor específico.

    Captura de tela de uma lista de campos com a lupa realçada.

    Você também pode usar a lupa para filtrar os resultados e ver a exibição de formato de tabela de resultados de cada registro nela.

    Captura de tela de uma lista de tabelas com a lupa realçada.

  2. Selecione Salvar ou Compartilhar para reter sua pesquisa.

    Captura de tela de como salvar uma pesquisa no Kibana.

Visualizar dados

Use visualizações do Kibana para obter exibições rápidas de dados do Azure Data Explorer.

Criar uma visualização na guia Descobrir

  1. Para criar uma visualização de barra vertical, na guia Descobrir, localize a barra lateral Campos disponíveis.

    Captura de tela da seleção de um campo nos campos disponíveis da aba Discover.

  2. Selecione um nome de campo e clique em Visualizar.

    Captura de tela da criação de uma visualização e da seleção de um campo.

  3. A guia Visualizar é aberta e exibe a visualização. Para editar os dados e as métricas da visualização, confira também Criar uma visualização na guia Visualizar.

    Captura de tela da edição de uma visualização na aba Visualize.

Criar uma visualização na guia Visualizar

  1. Selecione a guia Visualizar e clique em Criar visualização.

    Captura de tela da seleção da aba Visualize.

  2. Na janela Nova visualização, selecione um tipo de visualização.

    Captura de tela da seleção de um tipo de visualização.

  3. Depois que a visualização for gerada, você poderá editar as métricas e adicionar até um bucket.

    Captura de tela da edição de métricas.

Observação

O K2Bridge dá suporte à agregação de um bucket. Algumas agregações dão suporte para opções de pesquisa. Use a sintaxe Lucene, não a opção KQL, que significa a sintaxe da Linguagem de Consulta Kibana.

Importante

  • Há suporte para as seguintes visualizações: Vertical bar, Area chart, Line chart, Horizontal bar, Pie chart, Gauge, Data table, Heat map, Goal chart e Metric chart.
  • Há suporte para as seguintes métricas: Average, Count, Max, Median, Min, Percentiles, Standard deviation, Sum, Top hits e Unique count.
  • Não há suporte para a métrica Percentiles ranks.
  • O uso das agregações de bucket é opcional; você pode visualizar dados sem agregação de bucket.
  • Há suporte para os seguintes buckets: No bucket aggregation, Date histogram, Filters, Range, Date range, Histogram e Terms.
  • Não há suporte para os buckets IPv4 range e Significant terms.

Criar dashboards

Você pode criar painéis com visualizações do Kibana para resumir, comparar e contrastar exibições rápidas de dados do Azure Data Explorer.

  1. Para criar um painel, selecione a guia Painel e clique em Criar painel.

    Captura de tela da seleção da aba Dashboard.

    O novo painel é aberto no modo de edição.

  2. Para adicionar um novo painel de visualização, clique em Criar.

    Captura de tela da adição de uma visualização a um painel.

  3. Para adicionar uma visualização que você já criou, clique em Adicionar uma existente e selecione uma visualização.

  4. Para dispor, organizar por prioridade e redimensionar os painéis e muito mais, clique em Editar e use as seguintes opções:

    • Para mover um painel, clique e segure o cabeçalho do painel e arraste para o novo local.
    • Para redimensionar um painel, clique no controle para redimensionar e arraste para as novas dimensões.

    Captura de tela de painéis com visualizações de dados do Azure Data Explorer.