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
- Bit fluente.
- Um cluster e um banco de dados do Azure Data Explorer. Crie um cluster e um banco de dados.
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:
Selecione o banco de dados no qual você deseja 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 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.
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.
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.
Para verificar se os logs foram ingeridos, execute a seguinte consulta:
FluentBitLogs | count
Para exibir um exemplo de dados de log, execute a seguinte consulta:
FluentBitLogs | take 100
Conteúdo relacionado
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de