integrazione di .NET AspireSeq
In questo articolo si apprenderà come usare l'integrazione .NET AspireSeq per aggiungere esportatori OTLP (Protocollo OpenTelemetry) che inviano log e tracce a un SeqServer. L'integrazione supporta tramite configurazione log e tracce persistenti tra i riavvii dell'applicazione.
Inizia
Per iniziare a usare l'integrazione di .NET AspireSeq, installare il 📦Aspire.Seq pacchetto NuGet nel progetto client-consume, ad esempio il progetto per l'applicazione che usa il Seqclient.
dotnet add package Aspire.Seq
Per altre informazioni, vedere dotnet add package o Gestisci le dipendenze dei pacchetti nelle applicazioni .NET.
Esempio di utilizzo
Nel file Program.cs dei tuoi progetti, chiamare il metodo di estensione AddSeqEndpoint
per registrare gli esportatori del protocollo OpenTelemetry per inviare log e tracce a Seq e al Dashboard .NET Aspire. Il metodo accetta un parametro del nome di connessione.
builder.AddSeqEndpoint("seq");
Utilizzo dell'host dell'app
Per modellare la risorsa Seq nell'host dell'app, installa il pacchetto NuGet 📦Aspire.Hosting.Seq nel progetto host dell'app .
dotnet add package Aspire.Hosting.Seq
Nel progetto host dell'app, registrare un database Seq e utilizzare la connessione utilizzando i metodi seguenti:
var builder = DistributedApplication.CreateBuilder(args);
var seq = builder.AddSeq("seq")
.ExcludeFromManifest();
var myService = builder.AddProject<Projects.MyService>()
.WithReference(seq);
Il codice precedente registra un Seqserver e propaga la configurazione.
Importante
È necessario accettare il Seq contratto di licenza con l'utente finale per Seq iniziare.
È necessario configurare la registrazione e il tracciamento nel file Program.cs del progetto MyService per Seq utilizzando il codice seguente:
builder.AddSeqEndpoint("seq");
Seq nel manifesto .NET Aspire
Seq non deve far parte del manifesto di distribuzione .NET Aspire, quindi la chiamata concatenata a ExcludeFromManifest
. Si raccomanda di configurare in modo sicuro un'unità di produzione Seqserver fuori da .NET Aspire.
Log e tracce persistenti
Registrare Seq con una directory dati nel progetto AppHost per conservare i dati e la configurazione di Seqtra i riavvii dell'applicazione.
var seq = builder.AddSeq("seq", seqDataDirectory: "./seqdata")
.ExcludeFromManifest();
La directory specificata deve esistere già.
Configurazione
L'integrazione .NET AspireSeq offre opzioni per configurare la connessione a Seq.
Usare i provider di configurazione
L'integrazione .NET AspireSeq supporta Microsoft.Extensions.Configuration. Carica il SeqSettings
dalla configurazione utilizzando il tasto Aspire:Seq
. Esempio appsettings.json che configura alcune delle opzioni:
{
"Aspire": {
"Seq": {
"DisableHealthChecks": true,
"ServerUrl": "http://localhost:5341"
}
}
}
Usare delegati inline
È possibile passare il delegato Action<SeqSettings> configureSettings
per configurare alcune o tutte le opzioni inline, ad esempio per disabilitare i controlli di integrità dal codice:
builder.AddSeqEndpoint("seq", static settings =>
{
settings.DisableHealthChecks = true;
settings.ServerUrl = "http://localhost:5341"
});
Controlli sanitari
Per impostazione predefinita, le integrazioni .NET.NET Aspire abilitano verifiche dello stato di salute per tutti i servizi. Per altre informazioni, vedere panoramica delle integrazioni .NET.NET Aspire.
L'integrazione .NET AspireSeq gestisce le operazioni seguenti:
- Si integra con l'endpoint HTTP
/health
, che specifica che tutti i controlli di integrità registrati devono essere passati affinché l'app sia considerata pronta per accettare il traffico.
Osservabilità e telemetria
.NET
.NET Aspire le integrazioni configurano automaticamente configurazioni di registrazione, traccia e metriche, talvolta note come i pilastri dell'osservabilità. Per altre informazioni sull'osservabilità e la telemetria dell'integrazione, vedere panoramica delle integrazioni .NET.NET Aspire. A seconda del servizio di backup, alcune integrazioni possono supportare solo alcune di queste funzionalità. Ad esempio, alcune integrazioni supportano la registrazione e la traccia, ma non le metriche. Le funzionalità di telemetria possono essere disabilitate anche usando le tecniche presentate nella sezione Configurazione
Registrazione
L'integrazione .NET AspireSeq usa le categorie di log seguenti:
Seq