Graylog: Utilizzo con Dot NET

Come inviare log da .NET/Serilog a Graylog

👋 Benvenuti nella documentazione di Stackhero!

Stackhero offre una soluzione Graylog cloud pronta all'uso che fornisce numerosi vantaggi, tra cui:

  • Server email SMTP illimitato e dedicato incluso.
  • Aggiornamenti senza sforzo con un solo clic.
  • Nome di dominio personalizzabile sicuro con HTTPS (ad esempio, https://logs.tua-azienda.com).
  • Prestazioni ottimali e sicurezza robusta grazie a una VM privata e dedicata.

Risparmia tempo e semplifica la tua vita: bastano 5 minuti per provare la soluzione Graylog cloud hosting di Stackhero!

Serilog è una libreria di logging popolare e altamente estensibile, ampiamente utilizzata per gestire i log nelle applicazioni .NET. Consente agli sviluppatori di configurare vari sink per l'archiviazione e la visualizzazione dei log.

Ecco un esempio di base che dimostra l'uso di Serilog:

var log = new LoggerConfiguration()
    .WriteTo.Console()
    .WriteTo.File("log.txt")
    .CreateLogger();

log.Information("Hello, Serilog!");

Per inviare log a un server Graylog, è possibile utilizzare il pacchetto serilog-sinks-graylog. Questo sink facilita la trasmissione dei log nel formato GELF direttamente a Graylog.

  1. Installare il pacchetto:

    Aggiungi il pacchetto serilog-sinks-graylog al tuo progetto eseguendo il seguente comando:

    Install-Package serilog.sinks.graylog
    
  2. Configurare Serilog per Graylog:

    Aggiorna la configurazione della tua applicazione con il seguente codice. Sostituisci <XXXXXX>.stackhero-network.com con il dominio della tua istanza Graylog:

    var loggerConfig = new LoggerConfiguration()
        .WriteTo.Graylog(
            new GraylogSinkOptions
            {
                HostnameOrAddress = "<XXXXXX>.stackhero-network.com",
                Port = 12201
            }
        );
    
  3. Configurare Graylog:

    • Accedi alla tua dashboard Graylog.
    • Vai a System > Inputs.
    • Crea un nuovo input di tipo "GELF UDP".
    • Clicca su "Launch new input". Nella finestra modale che appare, abilita l'opzione "Global", assegna un titolo all'input e salva le impostazioni senza ulteriori modifiche.

Per migliorare la sicurezza, è consigliabile limitare gli IP autorizzati a connettersi alla porta 12201. Puoi configurare questo accedendo alla dashboard di Stackhero, selezionando il tuo servizio Graylog e gestendo le impostazioni del "Firewall" per consentire solo IP specifici.

Seguendo questi passaggi, puoi abilitare la tua applicazione .NET a inviare log alla tua istanza Graylog in modo sicuro ed efficiente.