Partilhar via


Ingerir dados com Fluent Bit no Azure Data Explorer

O Fluent Bit é um agente open source que recolhe registos, métricas e rastreios de várias origens. Permite-lhe filtrar, modificar e agregar dados de eventos antes de os enviar para o armazenamento. O Azure Data Explorer é um serviço de exploração de dados rápido e altamente dimensionável para dados telemétricos e de registo. Este artigo orienta-o ao longo do processo de utilização do Fluent Bit para enviar dados para o Azure Data Explorer.

Neste artigo, vai aprender a:

Para obter uma lista completa dos conectores de dados, veja Descrição geral dos conectores de dados.

Pré-requisitos

Criar uma tabela do Azure Data Explorer para armazenar os seus registos

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

Pode criar uma tabela com colunas para cada uma destas propriedades. Em alternativa, se tiver registos estruturados, pode criar uma tabela com propriedades de registo mapeadas para colunas personalizadas. Para saber mais, selecione o separador relevante.

Para criar uma tabela para registos recebidos a partir do Fluent Bit:

  1. Selecione a base de dados onde pretende 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 recebidas para a coluna correta.

Registar uma aplicação Azure AD com permissões para ingerir dados

A autenticação da aplicação do Azure Active Directory (Azure AD) é utilizada para aplicações que precisam de aceder ao Azure Data Explorer sem um utilizador presente. Para ingerir dados com o Fluent Bit, tem de criar e registar um principal de serviço Azure AD e, em seguida, autorizar este principal a ingerir dados na sua tabela Data Explorer do Azure.

  1. Crie um Azure AD registo de aplicações.

  2. Guarde o ID da Aplicação (cliente), o ID do Diretório (inquilino) e o valor da chave secreta do cliente para utilização nos seguintes passos.

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

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

    Este comando concede permissões à aplicação para ingerir dados na sua tabela. Para obter mais informações, veja Controlo de acesso baseado em funções.

Configurar o Fluent Bit para enviar registos para a sua tabela

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

Campo Descrição
Nome azure_kusto
Match Um padrão para corresponder às etiquetas dos registos recebidos. É sensível a maiúsculas e minúsculas e suporta o caráter star (*) como um caráter universal.
Tenant_Id ID de diretório (inquilino) de Registar uma aplicação Azure AD com permissões para ingerir dados.
Client_Id ID da aplicação (cliente) a partir de Registar uma aplicação Azure AD com permissões para ingerir dados.
Client_Secret O valor da chave secreta do cliente Registar uma aplicação Azure AD com permissões para ingerir dados.
Ingestion_Endpoint Utilize o URI de Ingestão de Dados encontrado no portal do Azure na descrição geral do cluster.
Database_Name O nome da base de dados que contém a tabela de registos.
Table_Name O nome da tabela a partir 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 não tiver criado um mapeamento de ingestão, remova a propriedade do ficheiro de configuração.

Para ver um ficheiro de configuração de exemplo, selecione o separador 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 são ingeridos no Azure Data Explorer

Assim que a configuração estiver concluída, os registos deverão chegar à sua tabela de Data Explorer do Azure.

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

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

    FluentBitLogs
    | take 100