Graylog: Verwendung mit Dot NET

Wie Sie Logs von .NET/Serilog an Graylog senden

👋 Willkommen in der Stackhero-Dokumentation

Stackhero bietet eine vollständig verwaltete Graylog Cloud-Lösung, die auf Geschwindigkeit und Einfachheit ausgelegt ist. Sie können:

  • Auf einen unbegrenzten, dedizierten SMTP-E-Mail-Server vertrauen, der in Ihrem Service enthalten ist.
  • Updates mühelos per Klick anwenden – ganz ohne manuellen Aufwand.
  • Einen individuellen Domainnamen nutzen, der durch HTTPS gesichert ist (zum Beispiel https://logs.your-company.com), sodass Ihr Team sicheren und direkten Zugriff erhält.
  • Von hoher Performance und Sicherheit auf einer privaten, dedizierten Infrastruktur profitieren – ohne geteilte Ressourcen oder störende Nachbarn.

Konzentrieren Sie sich auf Ihre Daten, nicht auf das Tooling: Mit Stackheros Graylog Cloud Hosting können Sie in nur wenigen Minuten starten.

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.