Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Importante
Este conector pode ser utilizado na Análise em Tempo Real no Microsoft Fabric. Utilize as instruções neste artigo com as seguintes exceções:
- Se necessário, crie bases de dados com as instruções em Criar uma base de dados KQL.
- Se necessário, crie tabelas com as instruções em Criar uma tabela vazia.
- Obtenha URIs de consulta ou ingestão com as instruções em Copiar URI.
- Execute consultas num conjunto de consultas KQL.
O NLog é uma plataforma de registo flexível e gratuita para várias plataformas .NET, incluindo o padrão .NET. O NLog permite-lhe escrever em vários destinos, como uma base de dados, um ficheiro ou uma consola. Com o NLog, pode alterar a configuração de registo no local. O sink do NLog é um destino para o NLog que lhe permite enviar as suas mensagens de registo para um cluster do Azure Data Explorer. O plug-in baseia-se na biblioteca Azure-Kusto-Data e fornece uma forma eficiente de afundar os registos no cluster.
Neste artigo, vai aprender a:
Para obter uma lista completa dos conectores de dados, veja Descrição geral dos conectores de dados.
Pré-requisitos
- SDK .NET 6.0 ou posterior
- Um cluster e uma base de dados do Azure Data Explorer
Configurar o ambiente
Nesta secção, irá preparar o seu ambiente para utilizar o conector NLog.
Instalar o pacote
Adicione o pacote NuGet NLog.Azure.Kusto . Utilize o comando Install-Package especificando o nome do pacote NuGet.
Install-Package NLog.Azure.Kusto
Criar um registo de aplicações Microsoft Entra
Microsoft Entra autenticação de aplicações é utilizada para aplicações que precisam de aceder ao Azure Data Explorer sem um utilizador presente. Para ingerir dados com o conector NLog, tem de criar e registar um principal de serviço Microsoft Entra e, em seguida, autorizar este principal a ingerir dados numa base de dados do Azure Data Explorer.
- Com o cluster do Azure Data Explorer, siga os passos 1 a 7 em Criar um registo de aplicações Microsoft Entra no Azure Data Explorer.
- Guarde os seguintes valores para serem utilizados em passos posteriores:
- ID da Aplicação (cliente)
- ID do Diretório (inquilino)
- Valor da chave de segredo do cliente
Conceder as permissões da aplicação Microsoft Entra
No separador consulta da IU da Web, ligue-se ao cluster. Para obter mais informações sobre como ligar, veja Adicionar clusters.
Navegue para a base de dados na qual pretende ingerir dados.
Execute o seguinte comando de gestão, substituindo os marcadores de posição. Substitua DatabaseName pelo nome da base de dados de destino e ApplicationID pelo valor guardado anteriormente. Este comando concede à aplicação a função de ingestor de bases de dados . Para obter mais informações, veja Gerir funções de segurança de bases de dados.
.add database <DatabaseName> ingestors ('aadapp=<ApplicationID>') 'Azure Data Explorer App Registration'
Nota
O último parâmetro é uma cadeia que aparece como notas quando consulta as funções associadas a uma base de dados. Para obter mais informações, veja Ver funções de segurança existentes.
Criar uma tabela e mapeamento de ingestão
Crie uma tabela de destino para os dados recebidos.
No editor de consultas, execute o seguinte comando de criação de tabelas, substituindo o marcador de posição 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 à sua aplicação
Utilize os seguintes passos para:
- Adicionar a configuração de destino do Azure Data Explorer
- Compilar e executar a aplicação
Adicione o destino Data Explorer do Azure no ficheiro de configuração do 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, veja Conector Nlog do Azure Data Explorer.
Enviar dados para o Azure Data Explorer com o sink 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 a aplicação. Por exemplo, se estiver a utilizar o Visual Studio, prima F5.
Verifique se os dados estão no cluster. Na IU da Web, execute a seguinte consulta substituindo o marcador de posição pelo nome da tabela que utilizou anteriormente:
<TableName> | take 10
Execute a aplicação de exemplo
Utilize a aplicação geradora de registos de exemplo como exemplo que mostra como configurar e utilizar o sink do NLog.
Clone o repositório git do sink do NLog com o seguinte comando git:
git clone https://github.com/Azure/azure-kusto-nlog-sink.git
Defina as seguintes variáveis ambientais, para que o ficheiro de configuração do NLog possa lê-las imediatamente a partir do ambiente:
Variável Descrição INGEST_ENDPOINT O URI de ingestão do cluster no cluster> de formatoshttps://ingest-<.<region.kusto.windows.net>. BASE DE DADOS O nome sensível às maiúsculas e minúsculas da base de dados de destino. APP_ID ID do cliente da aplicação necessário para autenticação. Guardou este valor em Criar um registo da Aplicação Microsoft Entra. APP_KEY Chave de aplicação necessária para autenticação. Guardou este valor em Criar um registo da Aplicação Microsoft Entra. AZURE_TENANT_ID O ID do inquilino no qual a aplicação está registada. Guardou este valor em Criar um registo da Aplicação Microsoft Entra. Pode definir manualmente as variáveis de ambiente ou utilizar os seguintes comandos:
No terminal, navegue para a pasta raiz do repositório clonado e execute o seguinte
dotnet
comando para criar a aplicação:cd .\NLog.Azure.Kusto.Samples\ dotnet build
No terminal, navegue para a pasta de exemplos e execute o seguinte
dotnet
comando para executar a aplicação:dotnet run
Na IU da Web, selecione a base de dados de destino e execute a seguinte consulta para explorar os dados ingeridos.
ADXNLogSample | take 10
O resultado deve ter um aspeto semelhante à seguinte imagem: