Seq Forwarder — это сборщик журналов на стороне клиента, который получает события через свой локальный HTTP API и сохраняет их в своем внутреннем хранилище до тех пор, пока не будет достигнут удаленный сервер Seq.
По умолчанию Seq Forwarder прослушивает порт 15341
. API приема HTTP идентичен API Seq, поэтому стандартные клиентские библиотеки, такие как Serilog.Sinks.Seq, могут писать в него напрямую.
Log.Logger = new LoggerConfiguration() .WriteTo.Seq("http://localhost:15341").CreateLogger();Log.Information("Привет, Seq Forwarder!");
Клиентские приложения могут указать ключ API при входе в Seq Forwarder. В этом случае ключ API, предоставленный клиентом, будет перенаправлен на целевой сервер Seq.
В качестве альтернативы Seq Forwarder можно настроить с помощью ключа API, и он будет использовать его для входа в Seq, когда клиентские приложения не указывают его.
Сначала загрузите пакет выпуска для вашей платформы и извлеките его в подходящее место.
В приведенных ниже инструкциях используется командная строка seqfwd
. Чтобы узнать о доступных командах, попробуйте seqfwd help
.
Чтобы настроить Seq Forwarder в качестве службы Windows, в административной подсказке PowerShell в каталоге Seq Forwarder установите URL-адрес целевого сервера Seq и дополнительный ключ 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 установить ./seqfwd начало
Ограничение размера буфера по умолчанию составляет 64 МБ. В примере это увеличено до 1 ГБ.
Для обновления остановите службу, перезапишите пакет выпуска сервера пересылки и перезапустите службу.
В Windows Seq Forwarder будет использовать DPAPI на уровне компьютера для шифрования ключа API по умолчанию и любых ключей API, предоставленных клиентами.
В Linux вам понадобится liblmdb
:
apt install liblmdb-dev
Чтобы запустить Seq Forwarder, настройте URL-адрес целевого сервера Seq и, при необходимости, ключ API:
./seqfwd config -k output.serverUrl --value="http://seq.example.com/"./seqfwd config -k output.apiKey --value="1a2b3c4d5e6f"./seqfwd config -k Storage.bufferSizeBytes -в 1073741824 ./seqfwd запуск
Обратите внимание , что в macOS и Linux выходной ключ API и все ключи API, предоставленные клиентами, будут храниться в виде обычного текста.
Ограничение размера буфера по умолчанию составляет 64 МБ. В примере это увеличено до 1 ГБ.
Seq Forwarder — это приложение .NET Core, которое можно создать с помощью .NET Core SDK в Windows, macOS и Linux.
Для отладки можно использовать F5
, но в Windows вам нужно будет либо запустить команду install
(см. ниже), чтобы создать резервирование пространства имен HTTP, либо запустить ее от имени администратора.
По умолчанию журналы «пересылки» будут храниться в папке %PROGRAMDATA%SeqLogs
. Если целевой сервер Seq недоступен, в этих файлах журналов будет сохранено исключение.
Если вам нужно проверить текущую конфигурацию, ее можно найти по адресу: %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
Обратите внимание, что HTTP-команды Windows и команды, связанные со службами ( bind-ssl
, install
, restart
, start
, status
, stop
и uninstall
), доступны только на этой платформе.
Команда seqfwd config
считывает и записывает SeqForwarder.json :
{ "diagnostics": {"internalLogPath": "C:ProgramDataSeqLogs","internalLoggingLevel": "Информация" }, "выход": {"serverUrl": "http://localhost:5341", "eventBodyLimitBytes": 262144, "rawPayloadLimitBytes": 10485760, "apiKey": null }, "хранилище": {"bufferSizeBytes": 67108864 }, "api": {"listenUri": "http://localhost:15341" } }
В Windows этот файл находится в C:ProgramDataSeqForwarder
.