Partilhar via


.NET Aspire Seq integração

Neste artigo, irá aprender a usar a integração de .NET AspireSeq para adicionar exportadores do protocolo OpenTelemetry (OTLP) que enviam logs e rastros para um SeqServer. A integração suporta logs e rastreamentos persistentes em reinicializações de aplicativos por meio da configuração.

Começar

Para começar com a integração .NET AspireSeq, instale o 📦Aspire.Seq pacote NuGet no projeto que consome client, ou seja, o projeto para o aplicativo que usa o Seqclient.

dotnet add package Aspire.Seq

Para obter mais informações, consulte dotnet add package ou Gerir dependências de pacotes em aplicações .NET.

Exemplo de utilização

No arquivo Program.cs dos seus projetos, chame o método de extensão AddSeqEndpoint para registar OpenTelemetry exportadores de protocolo para enviar registos e rastreios para Seq e o Dashboard .NET Aspire. O método usa um parâmetro de nome de conexão.

builder.AddSeqEndpoint("seq");

Utilização do anfitrião da aplicação

Para modelar o recurso Seq no host do aplicativo, instale o pacote NuGet 📦Aspire.Hosting.Seq no projeto de host da app .

dotnet add package Aspire.Hosting.Seq

Em seu projeto de host de aplicativo, registre um banco de dados Seq e consuma a conexão usando os seguintes métodos:

var builder = DistributedApplication.CreateBuilder(args);

var seq = builder.AddSeq("seq")
                 .ExcludeFromManifest();

var myService = builder.AddProject<Projects.MyService>()
                       .WithReference(seq);

O código anterior registra um Seqserver e propaga sua configuração.

Importante

Tem de aceitar o Seq Contrato de Licença de Utilizador Final para Seq começar:

No arquivo Program.cs do projeto MyService, configure o registro em log e o rastreamento para Seq usando o seguinte código:

builder.AddSeqEndpoint("seq");

Seq no manifesto .NET Aspire

Seq não deve fazer parte do manifesto de distribuição .NET Aspire, daí a chamada em cadeia para ExcludeFromManifest. Recomenda-se que configure um Seqserver de produção seguro fora de .NET Aspire.

Logs e rastreios persistentes

Registre Seq com um diretório de dados em seu projeto AppHost para reter os dados e a configuração do Seqnas reinicializações do aplicativo.

var seq = builder.AddSeq("seq", seqDataDirectory: "./seqdata")
                 .ExcludeFromManifest();

O diretório especificado já deve existir.

Configuração

A integração .NET AspireSeq fornece opções para configurar a conexão com Seq.

Usar provedores de configuração

A integração .NET AspireSeq suporta Microsoft.Extensions.Configuration. Ele carrega o SeqSettings da configuração usando a tecla Aspire:Seq. Exemplo de appsettings.json que configura algumas das opções:

{
  "Aspire": {
    "Seq": {
      "DisableHealthChecks": true,
      "ServerUrl": "http://localhost:5341"
    }
  }
}

Usar delegados embutidos

Você pode passar o Action<SeqSettings> configureSettings delegado para configurar algumas ou todas as opções em linha, por exemplo, para desativar as verificações de integridade a partir do código:

builder.AddSeqEndpoint("seq", static settings => 
{
    settings.DisableHealthChecks  = true;
    settings.ServerUrl = "http://localhost:5341"
});

Controlos sanitários

Por padrão, as integrações .NET.NET Aspire habilitam verificações de integridade para todos os serviços. Para obter mais informações, consulte .NET.NET Aspire visão geral das integrações.

A integração .NET AspireSeq lida com o seguinte:

  • Integra-se com o endpoint HTTP /health, que especifica que todas as verificações de integridade registadas devem ser aprovadas para que a aplicação seja considerada pronta para aceitar tráfego.

Observabilidade e telemetria

.NET .NET Aspire integrações configuram automaticamente Registo, Rastreamento e Métricas, que às vezes são conhecidos como os pilares da observabilidade. Para obter mais informações sobre observabilidade e telemetria de integração, consulte Visão geral de integrações .NET.NET Aspire. Dependendo do serviço de suporte, algumas integrações podem suportar apenas alguns desses recursos. Por exemplo, algumas integrações suportam registro em log e rastreamento, mas não métricas. As funcionalidades de telemetria também podem ser desativadas usando as técnicas apresentadas na seção Configuração.

Registo

A integração .NET AspireSeq usa as seguintes categorias de log:

  • Seq

Ver também