Seq Forwarder 是一个客户端日志收集器,它通过本地 HTTP API 接收事件并将其保存到自己的内部存储中,直到可以到达远程 Seq 服务器。
Seq Forwarder 默认侦听端口15341
。 HTTP 摄取 API 与 Seq API 相同,因此Serilog.Sinks.Seq等标准客户端库可以直接写入。
Log.Logger = new LoggerConfiguration() .WriteTo.Seq("http://localhost:15341").CreateLogger();Log.Information("你好,Seq转发器!");
客户端应用程序在登录 Seq Forwarder 时可以指定 API 密钥。在这种情况下,客户端提供的 API 密钥将被转发到目标 Seq 服务器。
或者,Seq Forwarder 可以配置一个 API 密钥,并且当客户端应用程序未指定 API 密钥时,将使用该密钥登录到 Seq。
首先,下载适合您平台的发行包,并将其解压到合适的位置。
以下说明使用seqfwd
命令行。要了解可用命令,请尝试seqfwd help
。
要将 Seq Forwarder 设置为 Windows 服务,请从 Seq Forwarder 目录中的管理 PowerShell 提示符中设置目标 Seq 服务器 URL 和可选的 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 MB。在示例中,此值增加到 1 GB。
要升级,请停止服务,覆盖转发器版本包,然后重新启动服务。
在 Windows 上,Seq Forwarder 将使用机器范围的 DPAPI 来加密默认 API 密钥和客户端提供的任何 API 密钥。
在 Linux 上,您需要liblmdb
:
apt install liblmdb-dev
要运行 Seq Forwarder,请配置目标 Seq 服务器 URL,以及一个 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 运行
请注意,在 macOS 和 Linux 上,输出 API 密钥和客户端提供的任何 API 密钥都将以纯文本形式存储。
默认缓冲区大小上限为 64 MB。在示例中,此值增加到 1 GB。
Seq Forwarder 是一个 .NET Core 应用程序,可以在 Windows、macOS 和 Linux 上使用 .NET Core SDK 构建。
要进行调试, 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
请注意,Windows HTTP 和服务相关命令( bind-ssl
、 install
、 restart
、 start
、 status
、 stop
和uninstall
)仅在该平台上可用。
seqfwd config
命令读取和写入SeqForwarder.json :
{“诊断”:{“internalLogPath”:“C: ProgramData Seq Logs ”,“internalLoggingLevel”:“信息” },“输出”:{“serverUrl”:“http://localhost:5341”,“eventBodyLimitBytes”:262144,“rawPayloadLimitBytes”:10485760,“apiKey”:null }, “存储”: {“bufferSizeBytes”: 67108864 }, "api": {"listenUri": "http://localhost:15341" } }
在 Windows 上,此文件位于C:ProgramDataSeqForwarder
中。