loading experience

Architettura e qualità

Osservabilità in .NET: OpenTelemetry e health check

Tracce, metriche e controlli di salute standard per sapere cosa fa la tua applicazione in produzione.

Osservabilità in .NET: OpenTelemetry e health check

Quando un utente segnala "il sito è lento", servono dati, non ipotesi. OpenTelemetry è lo standard aperto per raccogliere tracce, metriche e log, e .NET lo supporta in modo nativo.

Uno standard aperto: si cambia sistema di monitoraggio senza toccare il codice.
Uno standard aperto: si cambia sistema di monitoraggio senza toccare il codice.

Configurazione di base

builder.Services.AddOpenTelemetry()
    .ConfigureResource(r => r.AddService("negozio-api"))
    .WithTracing(t => t
        .AddAspNetCoreInstrumentation()
        .AddHttpClientInstrumentation())
    .WithMetrics(m => m
        .AddAspNetCoreInstrumentation()
        .AddHttpClientInstrumentation()
        .AddRuntimeInstrumentation())
    .UseOtlpExporter();

I dati vengono inviati con il protocollo OTLP a qualsiasi sistema compatibile: soluzioni open source, servizi cloud o il cruscotto di Aspire durante lo sviluppo.

Tracce personalizzate

public static class Telemetria
{
    public static readonly ActivitySource Sorgente = new("Negozio.Ordini");
}

using var attivita = Telemetria.Sorgente.StartActivity("CalcolaSpedizione");
attivita?.SetTag("ordine.paese", ordine.Paese);

Health check

Un endpoint di salute dice a bilanciatori, orchestratori e sistemi di monitoraggio se l'istanza è pronta a ricevere traffico.

builder.Services.AddHealthChecks()
    .AddCheck("spazio-disco", () =>
    {
        var libero = new DriveInfo(AppContext.BaseDirectory).AvailableFreeSpace;
        return libero > 500_000_000
            ? HealthCheckResult.Healthy()
            : HealthCheckResult.Degraded("Spazio su disco in esaurimento");
    });

app.MapHealthChecks("/health");

Cosa misurare davvero

Tempi di risposta per endpoint, percentuale di errori, durata delle query e delle chiamate esterne. Pochi indicatori ben scelti, con soglie di allarme sensate, valgono più di cento grafici che nessuno guarda.

Commenti (0)

Nessun commento ancora.

Lascia un commento