Compartilhar via


Ingerir dados com o Fluent Bit no Azure Data Explorer

O Fluent Bit é um agente de software livre que coleta logs, métricas e rastreamentos de várias fontes. Ele permite filtrar, modificar e agregar dados de evento antes de enviá-los ao armazenamento. O Azure Data Explorer é um serviço de exploração de dados rápido e altamente escalonável para dados de log e telemetria. Este artigo orienta você pelo processo de uso do Fluent Bit para enviar dados para o Azure Data Explorer.

Neste artigo, você aprenderá a:

Para obter uma lista completa de conectores de dados, consulte Visão geral dos conectores de dados.

Pré-requisitos

Criar uma tabela de Data Explorer do Azure para armazenar seus logs

O Fluent Bit encaminha logs para o Azure Data Explorer no formato JSON com três propriedades: log (dinâmico), tag (cadeia de caracteres) e timestamp (datetime).

Você pode criar uma tabela com colunas para cada uma dessas propriedades. Como alternativa, se você tiver logs estruturados, poderá criar uma tabela com propriedades de log mapeadas para colunas personalizadas. Para saber mais, selecione a guia relevante.

Para criar uma tabela para logs de entrada do Fluent Bit:

  1. Selecione o banco de dados no qual você deseja criar a tabela.

  2. Execute o seguinte comando .create table:

    .create table FluentBitLogs (log:dynamic, tag:string, timestamp:datetime)
    

    O Azure Data Explorer mapeia automaticamente as propriedades JSON de entrada para a coluna correta.

Registrar um aplicativo Azure AD com permissões para ingerir dados

A autenticação de aplicativo do Azure Active Directory (Azure AD) é usada para aplicativos que precisam acessar o Azure Data Explorer sem a presença de um usuário. Para ingerir dados usando o Fluent Bit, você precisa criar e registrar uma entidade de serviço Azure AD e autorizar essa entidade de segurança a ingerir dados em sua tabela de Data Explorer do Azure.

  1. Crie um registro de aplicativo Azure AD.

  2. Salve a ID do aplicativo (cliente), a ID do Diretório (locatário) e o valor da chave secreta do cliente para uso nas etapas a seguir.

  3. Execute o seguinte comando, substituindo <MyDatabase> pelo nome do banco de dados:

    .add database MyDatabase ingestors ('aadapp=<Application (client) ID>;<Directory (tenant) ID>' 'Fluent Bit application)
    

    Esse comando concede permissões ao aplicativo para ingerir dados em sua tabela. Para obter mais informações, confira Controle de acesso baseado em função.

Configurar o Fluent Bit para enviar logs para sua tabela

Para configurar o Fluent Bit para enviar logs para sua tabela de Data Explorer do Azure, crie um modo clássico ou um arquivo de configuração do modo YAML com as seguintes propriedades de saída:

Campo Descrição
Nome azure_kusto
Corresponder a Um padrão para corresponder às marcas de registros de entrada. Ele diferencia maiúsculas de minúsculas e dá suporte ao caractere star (*) como curinga.
Tenant_Id ID do diretório (locatário) de Registrar um aplicativo Azure AD com permissões para ingerir dados.
Client_id ID do aplicativo (cliente) de Registrar um aplicativo Azure AD com permissões para ingerir dados.
Client_Secret O valor da chave secreta do cliente Registre um aplicativo Azure AD com permissões para ingerir dados.
Ingestion_Endpoint Use o URI de Ingestão de Dados encontrado no portal do Azure sob a visão geral do cluster.
Database_name O nome do banco de dados que contém sua tabela de logs.
Table_Name O nome da tabela de Criar uma tabela de Data Explorer do Azure.
Ingestion_Mapping_Reference O nome do mapeamento de ingestão de Criar uma tabela de Data Explorer do Azure. Se você não criou um mapeamento de ingestão, remova a propriedade do arquivo de configuração.

Para ver um arquivo de configuração de exemplo, selecione a guia relevante:

[SERVICE]
    Daemon Off
    Flush 1
    Log_Level trace
    HTTP_Server On
    HTTP_Listen 0.0.0.0
    HTTP_Port 2020
    Health_Check On

[INPUT]
    Name tail
    Path /var/log/containers/*.log
    Tag kube.*
    Mem_Buf_Limit 1MB
    Skip_Long_Lines On
    Refresh_Interval 10

[OUTPUT]
    Name azure_kusto
    Match *
    Tenant_Id azure-tenant-id
    Client_Id azure-client-id
    Client_Secret azure-client-secret
    Ingestion_Endpoint azure-data-explorer-ingestion-endpoint
    Database_Name azure-data-explorer-database-name
    Table_Name azure-data-explorer-table-name

Verifique se os dados foram ingeridos no Azure Data Explorer

Depois que a configuração for concluída, os logs deverão chegar à tabela Data Explorer do Azure.

  1. Para verificar se os logs foram ingeridos, execute a seguinte consulta:

    FluentBitLogs
    | count
    
  2. Para exibir um exemplo de dados de log, execute a seguinte consulta:

    FluentBitLogs
    | take 100