Graylog: Verwendung mit Dot NET
Wie man Logs von .NET/Serilog an Graylog sendet
👋 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 hochgradig erweiterbare Logging-Bibliothek, die weit verbreitet für die Verwaltung von Logs in .NET-Anwendungen genutzt wird. Sie ermöglicht es Entwicklern, verschiedene Sinks für die Speicherung und Visualisierung von Logs zu konfigurieren.
Hier ist ein einfaches Beispiel, das die Verwendung von Serilog demonstriert:
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 erleichtert die Übertragung von Logs im GELF-Format direkt an Graylog.
Schritt-für-Schritt-Anleitung
-
Paket installieren:
Fügen Sie das Paket
serilog-sinks-graylogzu Ihrem Projekt hinzu, indem Sie den folgenden Befehl ausführen:Install-Package serilog.sinks.graylog -
Serilog für Graylog konfigurieren:
Aktualisieren Sie Ihre Anwendungskonfiguration mit dem folgenden Code-Snippet. Ersetzen Sie
<XXXXXX>.stackhero-network.comdurch die Domain Ihrer Graylog-Instanz:var loggerConfig = new LoggerConfiguration() .WriteTo.Graylog( new GraylogSinkOptions { HostnameOrAddress = "<XXXXXX>.stackhero-network.com", Port = 12201 } ); -
Graylog einrichten:
- Melden Sie sich bei 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 Modal die Option "Global", weisen Sie dem Input einen Titel zu und speichern Sie die Einstellungen ohne weitere Änderungen.
- Melden Sie sich bei Ihrem
Um die Sicherheit zu erhöhen, ist es ratsam, die IPs einzuschränken, die sich mit Port 12201 verbinden dürfen. Sie können dies konfigurieren, indem Sie das Stackhero-Dashboard aufrufen, Ihren Graylog-Dienst auswählen und die "Firewall"-Einstellungen verwalten, um nur bestimmte IPs zuzulassen.
Indem Sie diese Schritte befolgen, können Sie Ihre .NET-Anwendung sicher und effizient Logs an Ihre Graylog-Instanz senden lassen.