Seq Forwarder ist ein clientseitiger Protokollsammler, der Ereignisse über seine lokale HTTP-API empfängt und sie in seinem eigenen internen Speicher speichert, bis ein Remote-Seq-Server erreicht werden kann.
Seq Forwarder überwacht standardmäßig Port 15341
. Die HTTP-Aufnahme-API ist mit der Seq-API identisch, sodass Standard-Clientbibliotheken wie Serilog.Sinks.Seq direkt darauf schreiben können.
Log.Logger = new LoggerConfiguration() .WriteTo.Seq("http://localhost:15341").CreateLogger();Log.Information("Hallo, Seq Forwarder!");
Clientanwendungen können beim Protokollieren bei Seq Forwarder einen API-Schlüssel angeben. In diesem Fall wird der vom Client bereitgestellte API-Schlüssel an den Ziel-Seq-Server weitergeleitet.
Alternativ kann Seq Forwarder mit einem API-Schlüssel konfiguriert werden und verwendet diesen zur Protokollierung bei Seq, wenn Clientanwendungen keinen angeben.
Laden Sie zunächst das Release-Bundle für Ihre Plattform herunter und extrahieren Sie es an einen geeigneten Speicherort.
Die folgenden Anweisungen verwenden die seqfwd
-Befehlszeile. Um mehr über die verfügbaren Befehle zu erfahren, versuchen Sie es mit seqfwd help
.
Um Seq Forwarder als Windows-Dienst einzurichten, legen Sie über eine administrative PowerShell-Eingabeaufforderung im Seq Forwarder-Verzeichnis die Ziel-Seq-Server-URL und einen optionalen API-Schlüssel fest:
./seqfwd config -k Output.serverUrl --value="http://seq.example.com/"./seqfwd config -k Output.apiKey --value="1a2b3c4d5e6f"./seqfwd config -k storage.bufferSizeBytes -v 1073741824./seqfwd install ./seqfwd start
Die standardmäßige Puffergrößenbeschränkung beträgt 64 MB. Im Beispiel wird dieser auf 1 GB erhöht.
Um ein Upgrade durchzuführen, stoppen Sie den Dienst, überschreiben Sie das Forwarder-Release-Bundle und starten Sie den Dienst neu.
Unter Windows verwendet Seq Forwarder maschinenbezogenes DPAPI, um den Standard-API-Schlüssel und alle von Clients bereitgestellten API-Schlüssel zu verschlüsseln.
Unter Linux benötigen Sie liblmdb
:
apt install liblmdb-dev
Um Seq Forwarder auszuführen, konfigurieren Sie die Ziel-Seq-Server-URL und optional einen API-Schlüssel:
./seqfwd config -k Output.serverUrl --value="http://seq.example.com/"./seqfwd config -k Output.apiKey --value="1a2b3c4d5e6f"./seqfwd config -k storage.bufferSizeBytes -v 1073741824 ./seqfwd ausführen
Beachten Sie , dass unter macOS und Linux der Ausgabe-API-Schlüssel und alle von Clients bereitgestellten API-Schlüssel im Klartext gespeichert werden.
Die Standardpuffergrößenobergrenze beträgt 64 MB. Im Beispiel wird dieser auf 1 GB erhöht.
Seq Forwarder ist eine .NET Core-Anwendung, die mit dem .NET Core SDK unter Windows, macOS und Linux erstellt werden kann.
Zum Debuggen funktioniert F5
, aber unter Windows müssen Sie entweder den install
(siehe unten) ausführen, um eine HTTP-Namespace-Reservierung zu erstellen, oder als Administrator ausführen.
Standardmäßig werden die „Forwarder“-Protokolle unter %PROGRAMDATA%SeqLogs
gespeichert. Wenn der Ziel-Seq-Server nicht verfügbar ist, wird in diesen Protokolldateien eine Ausnahme gespeichert.
Wenn Sie die aktuelle Konfiguration überprüfen müssen, finden Sie sie unter: %PROGRAMDATA%SeqForwarderSeqForwarder.json
> ./seqfwd help Usage: seqfwd <command> [<args>] Available commands are: bind-ssl Bind an installed SSL certificate to an HTTPS port served by Seq Forwarder config View and set fields in the SeqForwarder.json file; run with no arguments to list all fields dump Print the complete log buffer contents as JSON help Show information about available commands install Install the Seq Forwarder as a Windows service restart Restart the Windows service run Run the server interactively start Start the Windows service status Show the status of the Seq Forwarder service stop Stop the Windows service truncate Clear the log buffer contents uninstall Uninstall the Windows service version Print the current executable version
Beachten Sie, dass die Windows-HTTP- und dienstbezogenen Befehle ( bind-ssl
, install
, restart
, start
, status
, stop
und uninstall
) nur auf dieser Plattform verfügbar sind.
Der Befehl seqfwd config
liest und schreibt SeqForwarder.json :
{ "diagnostics": {"internalLogPath": "C:ProgramDataSeqLogs","internalLoggingLevel": "Information" }, „output“: {“serverUrl“: „http://localhost:5341“, „eventBodyLimitBytes“: 262144, „rawPayloadLimitBytes“: 10485760, „apiKey“: null }, „storage“: {“bufferSizeBytes“: 67108864 }, "api": {"listenUri": "http://localhost:15341" } }
Unter Windows befindet sich diese Datei in C:ProgramDataSeqForwarder
.