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
- Fluent Bit.
- Um cluster e uma base de dados do Azure Data Explorer. Criar um cluster e uma base de dados.
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:
Selecione a base de dados onde pretende criar a tabela.
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.
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.
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.
Para verificar se os registos foram ingeridos, execute a seguinte consulta:
FluentBitLogs | count
Para ver um exemplo de dados de registo, execute a seguinte consulta:
FluentBitLogs | take 100