Partilhar via


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. O K2Bridge é uma aplicação de código aberto em contentores. Ele atua como um proxy entre uma instância do Kibana e um cluster do Azure Data Explorer. Este artigo descreve como usar o K2Bridge para criar essa conexão.

O K2Bridge traduz consultas do Kibana para o Kusto Query Language (KQL) e envia os resultados do Azure Data Explorer de volta para o Kibana.

Ligação Kibana com o Azure Data Explorer através do K2Bridge.

O K2Bridge suporta os separadores Discover, Visualize e Dashboard do Kibana.

Com a guia Descobrir , você pode:

  • Pesquise e explore os dados.
  • Filtrar resultados.
  • Adicione ou remova campos na grade de resultados.
  • Visualize o conteúdo do registro.
  • Guarde e partilhe pesquisas.

Com a guia Visualizar , você pode:

  • Crie visualizações como gráficos de barras, gráficos circulares, 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.
  • Guarde o painel.

A imagem a seguir mostra uma instância do Kibana vinculada ao Azure Data Explorer pelo K2Bridge. A experiência do utilizador no Kibana mantém-se inalterada.

Página do Kibana vinculada ao Azure Data Explorer.

Pré-requisitos

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

Se você optar por utilizar uma entidade de serviço do Microsoft Entra, precisará criar uma entidade de serviço do Microsoft Entra. Para a instalação, você precisará do ClientID e de um Secret. Recomendamos uma entidade de serviço com permissão de visualizador e desencorajamos 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 ao sistema, precisará obter a identidade gerenciada do pool de agentes ClientID (localizada no grupo de recursos "[MC_xxxx]" gerado)

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

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

  1. Faça o download dos gráficos Helm necessários.

  2. Adicione a dependência do Elasticsearch ao Helm. A dependência é necessária porque o K2Bridge usa uma pequena instância interna do Elasticsearch. A instância atende solicitações relacionadas a metadados, como consultas de padrões de índice e consultas salvas. Essa instância interna não salva dados corporativos. 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 para os valores corretos para 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 obter mais informações, consulte MC_ grupo de recursos. O ADX_SECRET_ID só é necessário se utilizar um service principal do Microsoft Entra.

    2. Opcionalmente, habilite a telemetria do Application Insights. Se você estiver usando o Application Insights pela primeira vez, crie um recurso do 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. Visualizações e painéis são suportados apenas com a versão Kibana 7.10. As tags de imagem mais recentes são: 6.8_latest e 7.16_latest, que suportam Kibana 6.8 e Kibana 7.10, respectivamente. A imagem de '7.16_latest' suporta Kibana OSS 7.10.2, e sua instância interna do Elasticsearch é 7.16.2.

      Se uma entidade de serviço Microsoft Entra foi 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 foi 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 Helm para implantar o Kibana. Opcionalmente, execute este comando:

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

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

    7. Exponha o Kibana aos utilizadores. Existem vários métodos para fazê-lo. O método que você usa depende em grande parte do seu caso de uso.

      Por exemplo, você pode expor o serviço como um serviço de balanceador de carga. Para fazer isso, adicione o parâmetro --set service.type=LoadBalancer ao comando de instalação anterior do Kibana Helm.

      Em seguida, execute este comando:

      kubectl get service -w -n k2bridge
      

      A saída deve ter esta aparência:

      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 de EXTERNAL-IP gerado que aparece. Use-o para acessar o Kibana abrindo um navegador e indo para <EXTERNAL-IP>:5601.

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

    Num novo exemplo 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 deve corresponder exatamente ao nome da tabela ou da função sem um asterisco (*). Você pode copiar a linha relevante da lista.

Observação

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

Descobrir dados

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

Captura de tela do separador Descobrir no Kibana.

  1. No Kibana, selecione a guia Descobrir .

  2. Na lista de padrões 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 tiverem um campo de filtro de tempo, você poderá especificar o intervalo de tempo. No canto superior direito da página Descobrir , selecione um filtro de tempo. Por padrão, a página mostra os dados dos últimos 15 minutos.

    Captura de ecrã a mostrar a seleção de um filtro de tempo.

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

    Captura de ecrã de um registo expandido no separador Descobrir.

  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 Hora , se o campo de tempo existir.

    Captura de ecrã a mostrar a adição de colunas.

  6. Na barra de consultas, você pode pesquisar dados por:

    • Introduzir um termo de pesquisa.
    • Usando a sintaxe de consulta Lucene. Por exemplo:
      • Procure por "erro" para encontrar todos os registros que contêm esse valor.
      • Pesquise por "status: 200" para obter todos os registros com um valor de status de 200.
    • Usando os 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 a registros em que o valor da cidade de destino começa com "L" ou "l". (O K2Bridge não diferencia maiúsculas de minúsculas.)

    Captura de ecrã de consultas em execução.

Observação

Apenas a sintaxe de consulta Lucene do kibana é suportada. Não use a opção KQL, que significa Kibana Query Language.

Sugestão

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

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

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

    Sugestão

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

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

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

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

  2. Selecione Guardar ou Partilhar para manter a sua pesquisa.

    Screenshot de como guardar uma pesquisa no Kibana.

Visualizar dados

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

Criar uma visualização a partir da guia Descobrir

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

    Captura de ecrã a mostrar a seleção de um campo nos campos disponíveis no separador Descobrir.

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

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

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

    Captura de tela da edição da visualização na guia Visualizar.

Criar uma visualização a partir da guia Visualizar

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

    Captura de ecrã a mostrar a seleção do separador Visualizar.

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

    Captura de tela mostrando a seleção de um tipo de visualização.

  3. Depois de a visualização ser gerada, poderá editar as métricas e adicionar até um compartimento.

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

Observação

O K2Bridge suporta a agregação de um bucket. Algumas agregações suportam opções de pesquisa. Use a sintaxe Lucene, não a opção KQL, que significa a sintaxe Kibana Query Language.

Importante

  • As seguintes visualizações são suportadas: Vertical bar, Area chart, Line chart, Horizontal bar, Pie chart, Gauge, Data table, , Heat mape Goal chartMetric chart.
  • As seguintes métricas são suportadas: Average, Count, Max, Median, Min, Percentiles, Standard deviation, Sum, Top hits e Unique count.
  • A métrica Percentiles ranks não é suportada.
  • O uso de agregações de bucket é opcional, você pode visualizar dados sem agregação de bucket.
  • Os seguintes buckets são suportados: No bucket aggregation, Date histogram, Filters, Range, Date rangeHistogram, e Terms.
  • Os buckets IPv4 range e Significant terms não são suportados.

Criar painéis

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

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

    Captura de ecrã a mostrar a seleção do separador Dashboard.

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

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

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

  3. Para adicionar uma visualização já criada, clique em Adicionar uma existente e selecione uma visualização.

  4. Para organizar painéis, organizar painéis por prioridade, redimensioná-los e muito mais, clique em Editar e use as seguintes opções:

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

    Captura de ecrã de dashboards com visualizações de dados do Azure Data Explorer.