Graylog: Verwendung mit Dot NET

Wie Sie Logs von .NET/Serilog an Graylog senden

👋 Willkommen bei der Stackhero-Dokumentation!

Stackhero bietet eine einsatzbereite Graylog Cloud-Lösung, die zahlreiche Vorteile bietet, darunter:

  • Unbegrenzter und dedizierter SMTP-E-Mail-Server inklusive.
  • Mühelose Updates mit nur einem Klick.
  • Anpassbarer Domainname gesichert mit HTTPS (zum Beispiel, https://logs.ihre-firma.com).
  • Optimale Performance und robuste Sicherheit durch eine private und dedizierte VM.

Sparen Sie Zeit und vereinfachen Sie Ihr Leben: Es dauert nur 5 Minuten, um die Graylog Cloud Hosting-Lösung von Stackhero auszuprobieren!

Serilog ist eine beliebte und äußerst flexible Logging-Bibliothek, die häufig für das Log-Management in .NET-Anwendungen eingesetzt wird. Sie ermöglicht es Entwicklern, verschiedene Sinks für die Speicherung und Visualisierung von Logs zu konfigurieren.

Hier ein einfaches Beispiel für die Verwendung von Serilog:

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

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

Um Logs an einen Graylog-Server zu senden, können Sie das Paket serilog-sinks-graylog verwenden. Dieser Sink ermöglicht es, Logs im GELF-Format direkt an Graylog zu übertragen.

  1. Paket installieren:

    Fügen Sie das Paket serilog-sinks-graylog zu Ihrem Projekt hinzu, indem Sie folgenden Befehl ausführen:

    Install-Package serilog.sinks.graylog
    
  2. Serilog für Graylog konfigurieren:

    Ergänzen Sie die Konfiguration Ihrer Anwendung mit folgendem Codeausschnitt. Ersetzen Sie <XXXXXX>.stackhero-network.com durch die Domain Ihrer Graylog-Instanz:

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

    • Melden Sie sich an Ihrem Graylog-Dashboard an.
    • Navigieren Sie zu System > Inputs.
    • Erstellen Sie einen neuen Input vom Typ "GELF UDP".
    • Klicken Sie auf "Launch new input". Aktivieren Sie im erscheinenden Dialog die Option "Global", vergeben Sie einen Namen für den Input und speichern Sie die Einstellungen ohne weitere Änderungen.

Zur Erhöhung der Sicherheit empfiehlt es sich, die IP-Adressen einzuschränken, die eine Verbindung zu Port 12201 herstellen dürfen. Diese Einstellung können Sie im Stackhero-Dashboard vornehmen, indem Sie Ihren Graylog-Service auswählen und unter "Firewall" nur bestimmte IPs zulassen.

Wenn Sie diese Schritte befolgen, kann Ihre .NET-Anwendung Logs sicher und effizient an Ihre Graylog-Instanz senden.