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
。