Seq Forwarder é um coletor de log do lado do cliente que recebe eventos por meio de sua API HTTP local e os persiste em seu próprio armazenamento interno até que um servidor Seq remoto possa ser alcançado.
O Seq Forwarder escuta na porta 15341
por padrão. A API de ingestão HTTP é idêntica à Seq, portanto, bibliotecas de cliente padrão como Serilog.Sinks.Seq podem gravar nela diretamente.
Log.Logger = new LoggerConfiguration() .WriteTo.Seq("http://localhost:15341").CreateLogger();Log.Information("Olá, Seq Forwarder!");
Os aplicativos cliente podem especificar uma chave de API ao fazer login no Seq Forwarder. Neste caso, a chave API fornecida pelo cliente será encaminhada para o servidor Seq de destino.
Como alternativa, o Seq Forwarder pode ser configurado com uma chave de API e a usará para registrar no Seq quando os aplicativos clientes não especificarem uma.
Primeiro, baixe o pacote de lançamento para sua plataforma e extraia-o em um local adequado.
As instruções abaixo usam a linha de comando seqfwd
. Para aprender sobre os comandos disponíveis, tente seqfwd help
.
Para configurar o Seq Forwarder como um serviço do Windows, em um prompt administrativo do PowerShell no diretório do Seq Forwarder, defina a URL do servidor Seq de destino e uma chave de API opcional:
./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 instalar ./seqfwd início
O limite de tamanho do buffer padrão é 64 MB. No exemplo, isso foi aumentado para 1 GB.
Para atualizar, pare o serviço, substitua o pacote de lançamento do encaminhador e reinicie o serviço.
No Windows, o Seq Forwarder usará DPAPI com escopo de máquina para criptografar a chave de API padrão e quaisquer chaves de API fornecidas pelos clientes.
No Linux, você precisará de liblmdb
:
apt install liblmdb-dev
Para executar o Seq Forwarder, configure a URL do servidor Seq de destino e, opcionalmente, uma chave de 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 executado
Observe que no macOS e no Linux, a chave de API de saída e quaisquer chaves de API fornecidas pelos clientes serão armazenadas em texto simples.
O limite de tamanho do buffer padrão é 64 MB. No exemplo, isso foi aumentado para 1 GB.
Seq Forwarder é um aplicativo .NET Core que pode ser criado usando o SDK do .NET Core no Windows, macOS e Linux.
Para depurar, F5
funcionará, mas no Windows você precisará executar o comando install
(veja abaixo) para criar uma reserva de namespace HTTP ou executar como Administrador.
Por padrão, os logs do "encaminhador" serão armazenados em %PROGRAMDATA%SeqLogs
. Se o servidor Seq de destino não estiver disponível, uma exceção será armazenada nesses arquivos de log.
Se você precisar inspecionar a configuração atual, ela pode ser encontrada em: %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
Observe que os comandos HTTP e relacionados ao serviço do Windows ( bind-ssl
, install
, restart
, start
, status
, stop
e uninstall
) estão disponíveis apenas nessa plataforma.
O comando seqfwd config
lê e grava SeqForwarder.json :
{ "diagnóstico": {"internalLogPath": "C:ProgramDataSeqLogs","internalLoggingLevel": "Informações" }, "output": {"serverUrl": "http://localhost:5341","eventBodyLimitBytes": 262144,"rawPayloadLimitBytes": 10485760,"apiKey": nulo }, "armazenamento": {"bufferSizeBytes": 67108864 }, "api": {"listenUri": "http://localhost:15341" } }
No Windows, esse arquivo fica em C:ProgramDataSeqForwarder
.