Seq Forwarder est un collecteur de journaux côté client qui reçoit les événements via son API HTTP locale et les conserve dans son propre stockage interne jusqu'à ce qu'un serveur Seq distant puisse être atteint.
Seq Forwarder écoute sur le port 15341
par défaut. L'API d'ingestion HTTP est identique à celle de Seq, donc les bibliothèques clientes standard comme Serilog.Sinks.Seq peuvent y écrire directement.
Log.Logger = new LoggerConfiguration() .WriteTo.Seq("http://localhost:15341").CreateLogger();Log.Information("Bonjour, Seq Forwarder!");
Les applications clientes peuvent spécifier une clé API lors de la connexion à Seq Forwarder. Dans ce cas, la clé API fournie par le client sera transmise au serveur Seq cible.
Alternativement, Seq Forwarder peut être configuré avec une clé API et l'utilisera pour se connecter à Seq lorsque les applications clientes n'en spécifient pas.
Tout d’abord, téléchargez le bundle de versions pour votre plate-forme et extrayez-le vers un emplacement approprié.
Les instructions ci-dessous utilisent la ligne de commande seqfwd
. Pour en savoir plus sur les commandes disponibles, essayez seqfwd help
.
Pour configurer Seq Forwarder en tant que service Windows, à partir d'une invite administrative PowerShell dans le répertoire Seq Forwarder, définissez l'URL du serveur Seq cible et une clé API facultative :
./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 installer ./seqfwd démarrer
La limite par défaut de la taille du tampon est de 64 Mo. Dans l'exemple, celle-ci est augmentée à 1 Go.
Pour mettre à niveau, arrêtez le service, écrasez le bundle de versions du redirecteur et redémarrez le service.
Sous Windows, Seq Forwarder utilisera DPAPI à l'échelle de la machine pour chiffrer la clé API par défaut et toutes les clés API fournies par les clients.
Sous Linux, vous aurez besoin liblmdb
:
apt install liblmdb-dev
Pour exécuter Seq Forwarder, configurez l'URL du serveur Seq cible et éventuellement une clé API :
./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 exécuté
Notez que sous macOS et Linux, la clé API de sortie et toutes les clés API fournies par les clients seront stockées en texte brut.
La taille maximale du tampon par défaut est de 64 Mo. Dans l'exemple, celle-ci est augmentée à 1 Go.
Seq Forwarder est une application .NET Core qui peut être créée à l'aide du SDK .NET Core sur Windows, macOS et Linux.
Pour déboguer, F5
fonctionnera, mais sous Windows, vous devrez soit exécuter la commande install
(voir ci-dessous) pour créer une réservation d'espace de noms HTTP, soit l'exécuter en tant qu'administrateur.
Par défaut, les journaux du « redirecteur » seront stockés sous %PROGRAMDATA%SeqLogs
. Si le serveur Seq de destination n'est pas disponible, une exception sera stockée dans ces fichiers journaux.
Si vous devez inspecter la configuration actuelle, elle peut être trouvée à l'adresse : %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
Notez que les commandes Windows HTTP et liées aux services ( bind-ssl
, install
, restart
, start
, status
, stop
et uninstall
) ne sont disponibles que sur cette plate-forme.
La commande seqfwd config
lit et écrit SeqForwarder.json :
{ "diagnostics": {"internalLogPath": "C:ProgramDataSeqLogs","internalLoggingLevel": "Informations" }, "output": {"serverUrl": "http://localhost:5341", "eventBodyLimitBytes": 262144, "rawPayloadLimitBytes": 10485760, "apiKey": null }, "stockage": {"bufferSizeBytes": 67108864 }, "api": {"listenUri": "http://localhost:15341" } }
Sous Windows, ce fichier réside dans C:ProgramDataSeqForwarder
.