Ingerir dados com o coletor NLog no Azure Data Explorer
Importante
Esse conector pode ser usado na Análise em Tempo Real no Microsoft Fabric. Use as instruções neste artigo com as seguintes exceções:
- Se necessário, crie bancos de dados usando as instruções em Criar um banco de dados KQL.
- Se necessário, crie tabelas usando as instruções em Criar uma tabela vazia.
- Obtenha URIs de consulta ou ingestão usando as instruções em Copiar URI.
- Execute consultas em um conjunto de consultas KQL.
O NLog é uma plataforma de log flexível e gratuita para várias plataformas .NET, incluindo o .NET Standard. O NLog permite que você escreva em vários destinos, como um banco de dados, arquivo ou console. Com o NLog, você pode alterar a configuração de log em tempo real. O coletor NLog é um destino para NLog que permite que você envie suas mensagens de log para um cluster do Azure Data Explorer. O plug-in é criado com base na biblioteca Azure-Kusto-Data e fornece uma maneira eficiente de coletar seus logs no cluster.
Neste artigo, você aprenderá a:
Para obter uma lista completa de conectores de dados, consulte Visão geral dos conectores de dados.
Pré-requisitos
- SDK do .NET 6.0 ou posterior
- Um cluster e um banco de dados do Azure Data Explorer
Configure seu ambiente
Nesta seção, você preparará seu ambiente para usar o conector NLog.
Instalar o pacote
Adicione o pacote NuGet NLog.Azure.Kusto . Use o comando Install-Package especificando o nome do pacote NuGet.
Install-Package NLog.Azure.Kusto
Criar um registro de aplicativo Microsoft Entra
Microsoft Entra autenticação de aplicativo é usada para aplicativos que precisam acessar o Azure Data Explorer sem um usuário presente. Para ingerir dados usando o conector NLog, você precisa criar e registrar uma entidade de serviço Microsoft Entra e autorizar essa entidade de segurança a ingerir dados em um banco de dados do Azure Data Explorer.
- Usando o cluster do Azure Data Explorer, siga as etapas de 1 a 7 em Criar um registro de aplicativo Microsoft Entra no Azure Data Explorer.
- Salve os seguintes valores a serem usados em etapas posteriores:
- ID do aplicativo (cliente)
- ID do diretório (locatário)
- Valor da chave secreta do cliente
Conceder as permissões do aplicativo Microsoft Entra
Na guia consulta da interface do usuário da Web, conecte-se ao cluster. Para obter mais informações sobre como se conectar, consulte Adicionar clusters.
Navegue até o banco de dados no qual você deseja ingerir dados.
Execute o comando de gerenciamento a seguir, substituindo os espaços reservados. Substitua DatabaseName pelo nome do banco de dados de destino e ApplicationID pelo valor salvo anteriormente. Esse comando concede ao aplicativo a função de ingestor de banco de dados . Para obter mais informações, consulte Gerenciar funções de segurança de banco de dados.
.add database <DatabaseName> ingestors ('aadapp=<ApplicationID>') 'Azure Data Explorer App Registration'
Observação
O último parâmetro é uma cadeia de caracteres que aparece como observações quando você consulta as funções associadas a um banco de dados. Para obter mais informações, consulte Exibir funções de segurança existentes.
Criar uma tabela e um mapeamento de ingestão
Crie uma tabela de destino para os dados de entrada.
No editor de consultas, execute o seguinte comando de criação de tabela, substituindo o espaço reservado TableName pelo nome da tabela de destino:
.create table <TableName> (Timestamp:datetime, Level:string, Message:string, FormattedMessage:dynamic, Exception:string, Properties:dynamic)
Adicionar a configuração de destino do Azure Data Explorer ao seu aplicativo
Use as seguintes etapas para:
- Adicionar a configuração de destino do Data Explorer do Azure
- Compilar e executar o aplicativo
Adicione o destino de Data Explorer do Azure ao arquivo de configuração NLog.
<targets> <target name="adxtarget" xsi:type="ADXTarget" IngestionEndpointUri="<ADX connection string>" Database="<ADX database name>" TableName="<ADX table name>" ApplicationClientId="<AAD App clientId>" ApplicationKey="<AAD App key>" Authority="<AAD tenant id>" /> </targets> ##Rules <rules> <logger name="*" minlevel="Info" writeTo="adxtarget" /> </rules>
Para obter mais opções, consulte Conector do Nlog do Data Explorer do Azure.
Envie dados para o Azure Data Explorer usando o coletor NLog. Por exemplo:
logger.Info("Processed {@Position} in {Elapsed:000} ms.", position, elapsedMs); logger.Error(exceptionObj, "This was exception"); logger.Debug("Processed {@Position} in {Elapsed:000} ms. ", position, elapsedMs); logger.Warn("Processed {@Position} in {Elapsed:000} ms. ", position, elapsedMs);
Compile e execute o aplicativo. Por exemplo, se você estiver usando o Visual Studio, pressione F5.
Verifique se os dados estão no cluster. Na interface do usuário da Web, execute a seguinte consulta substituindo o espaço reservado pelo nome da tabela usada anteriormente:
<TableName> | take 10
Executar o aplicativo de exemplo
Use o aplicativo gerador de log de exemplo como um exemplo mostrando como configurar e usar o coletor NLog.
Clone o repositório git do coletor NLog usando o seguinte comando git:
git clone https://github.com/Azure/azure-kusto-nlog-sink.git
Defina as seguintes variáveis ambientais para que o arquivo de configuração NLog possa lê-las imediatamente do ambiente:
Variável Descrição INGEST_ENDPOINT O URI de ingestão do cluster no cluster> de formatohttps://ingest-<.<region.kusto.windows.net>. DATABASE O nome que diferencia maiúsculas de minúsculas do banco de dados de destino. APP_ID ID do cliente do aplicativo necessária para autenticação. Você salvou esse valor em Criar um registro de aplicativo Microsoft Entra. APP_KEY Chave do aplicativo necessária para autenticação. Você salvou esse valor em Criar um registro de aplicativo Microsoft Entra. AZURE_TENANT_ID A ID do locatário no qual o aplicativo está registrado. Você salvou esse valor em Criar um registro de aplicativo Microsoft Entra. Você pode definir as variáveis de ambiente manualmente ou usando os seguintes comandos:
No terminal, navegue até a pasta raiz do repositório clonado e execute o seguinte
dotnet
comando para compilar o aplicativo:cd .\NLog.Azure.Kusto.Samples\ dotnet build
No terminal, navegue até a pasta exemplos e execute o seguinte
dotnet
comando para executar o aplicativo:dotnet run
Na interface do usuário da Web, selecione o banco de dados de destino e execute a consulta a seguir para explorar os dados ingeridos.
ADXNLogSample | take 10
Sua saída deve ser semelhante à seguinte imagem:
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