Graylog: Utilizzo con Dot NET

Come inviare i 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 molto diffusa e altamente estendibile, ampiamente utilizzata per la gestione dei log nelle applicazioni .NET. Consente agli sviluppatori di configurare diversi sink per l’archiviazione e la visualizzazione dei log.

Ecco un esempio di base che mostra come utilizzare Serilog:

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

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

Per inviare i log a un server Graylog, è possibile utilizzare il pacchetto serilog-sinks-graylog. Questo sink permette di trasmettere i log in formato GELF direttamente a Graylog.

  1. Installare il pacchetto:

    Aggiunga il pacchetto serilog-sinks-graylog al suo progetto eseguendo il seguente comando:

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

    Aggiorni la configurazione della sua applicazione con il seguente snippet di codice. Sostituisca <XXXXXX>.stackhero-network.com con il dominio della sua istanza Graylog:

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

    • Acceda alla dashboard di Graylog.
    • Vada su System > Inputs.
    • Crei un nuovo input di tipo "GELF UDP".
    • Clicchi su "Launch new input". Nella finestra che appare, abiliti l’opzione "Global", assegni un titolo all’input e salvi senza modificare ulteriori impostazioni.

Per aumentare la sicurezza, è consigliabile limitare gli IP autorizzati a connettersi sulla porta 12201. Può configurare questa impostazione accedendo alla dashboard Stackhero, selezionando il suo servizio Graylog e gestendo le impostazioni del "Firewall" per consentire solo IP specifici.

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