Sdílet prostřednictvím


integrace .NET AspireSeq

V tomto článku se dozvíte, jak pomocí integrace .NET AspireSeq přidat exportéry OpenTelemetry Protocol (OTLP), které odesílají logy a sledování do SeqServer. Integrace podporuje trvalé protokoly a sledování napříč restartováními aplikací díky konfiguraci.

Začněte

Pokud chcete začít s integrací .NET AspireSeq, nainstalujte balíček NuGet 📦Aspire. BalíčekSeq nainstalujte v projektu využívajícím client, tj. v projektu aplikace, která používá Seqclient.

dotnet add package Aspire.Seq

Další informace najdete v tématu dotnet add package nebo Řízení závislostí balíčků v aplikacích .NET.

Příklad využití

V souboru Program.cs vašich projektů zavolejte metodu rozšíření AddSeqEndpoint, která zaregistruje exportéry protokolu OpenTelemetry, aby odesílaly protokoly a trasování do Seq a řídicího panelu .NET Aspire. Metoda přebírá parametr názvu připojení.

builder.AddSeqEndpoint("seq");

Využití hostitele aplikace

Pokud chcete modelovat prostředek Seq v hostiteli aplikace, nainstalujte balíček NuGet 📦Aspire.Hosting.Seq v projektu hostitele aplikace.

dotnet add package Aspire.Hosting.Seq

V hostitelském projektu aplikace zaregistrujte databázi Seq a pomocí následujících metod využijte připojení:

var builder = DistributedApplication.CreateBuilder(args);

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

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

Předchozí kód zaregistruje Seqserver a rozšíří jeho konfiguraci.

Důležitý

Musíte přijmout licenční smlouvu s koncovým uživatelem Seq, aby Seq zahájilo.

V Program.cs souboru projektu MyService nakonfigurujte protokolování a trasování tak, aby Seq pomocí následujícího kódu:

builder.AddSeqEndpoint("seq");

Seq v manifestu .NET Aspire

Seq by neměl být součástí manifestu nasazení .NET Aspire, a proto došlo ke zřetězenému volání ExcludeFromManifest. Doporučujeme, abyste nastavili bezpečný produkční Seqserver mimo .NET Aspire.

Stálé protokoly a sledování

Zaregistrujte Seq s datovým adresářem v projektu AppHost, abyste si zachovali data a konfiguraci Seqv rámci restartování aplikace.

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

Zadaný adresář již musí existovat.

Konfigurace

Integrace .NET AspireSeq poskytuje možnosti konfigurace připojení k Seq.

Použití zprostředkovatelů konfigurace

Integrace .NET AspireSeq podporuje Microsoft.Extensions.Configuration. Načte SeqSettings z konfigurace pomocí klíče Aspire:Seq. Příklad appsettings.json, který konfiguruje některé z možností:

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

Použití vložených delegátů

Delegáta Action<SeqSettings> configureSettings můžete použít k nastavení některých nebo všech možností přímo v kódu, například k zakázání kontrol stavu:

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

Kontroly stavu

Ve výchozím nastavení integrace .NET.NET Aspire umožní kontrolu stavu pro všechny služby. Další informace naleznete v přehledu integrací .NET.NET Aspire.

Integrace .NET AspireSeq zpracovává následující:

  • Integruje se s koncovým bodem /health HTTP, který určuje, že všechny registrované kontroly stavu musí úspěšně projít, aby byla aplikace považována za připravenou přijímat síťový provoz.

Pozorovatelnost a telemetrie

.NET .NET Aspire integrace automaticky nastaví konfigurace protokolování, trasování a metrik, které jsou někdy označovány jako pilíře pozorovatelnosti. Další informace o pozorovatelnosti a telemetrii integrace najdete v přehledu integrace .NET.NET Aspire. V závislosti na zálohovací službě můžou některé integrace podporovat pouze některé z těchto funkcí. Například některé integrace podporují protokolování a trasování, ale ne metriky. Funkce telemetrie je také možné zakázat pomocí technik uvedených v části Konfigurace.

Protokolování

Integrace .NET AspireSeq používá následující kategorie protokolů:

  • Seq

Viz také