Graylog: 使用與 Dot NET
如何從 .NET/Serilog 發送日誌到 Graylog
👋 歡迎來到 Stackhero 文件!
Stackhero 提供一個即用型的 Graylog cloud 解決方案,帶來多項好處,包括:
- 包含無限和專用的 SMTP 電郵伺服器。
- 只需一鍵即可輕鬆更新。
- 使用 HTTPS 保護的可自訂域名(例如,https://logs.your-company.com)。
- 由專用私有 VM提供的最佳性能和強大安全性。
節省時間並簡化您的生活:只需 5 分鐘即可嘗試 Stackhero 的 Graylog cloud hosting 解決方案!
Serilog 是一個受歡迎且高度可擴展的日誌庫,廣泛用於管理 .NET 應用程式中的日誌。它允許開發人員配置各種接收器以進行日誌存儲和可視化。
以下是一個演示 Serilog 使用的基本範例:
var log = new LoggerConfiguration()
.WriteTo.Console()
.WriteTo.File("log.txt")
.CreateLogger();
log.Information("Hello, Serilog!");
要將日誌發送到 Graylog 伺服器,您可以使用 serilog-sinks-graylog 套件。此接收器可直接將日誌以 GELF 格式傳輸到 Graylog。
分步指南
-
安裝套件:
通過執行以下命令將
serilog-sinks-graylog套件添加到您的專案中:Install-Package serilog.sinks.graylog -
為 Graylog 配置 Serilog:
使用以下代碼片段更新您的應用程式配置。將
<XXXXXX>.stackhero-network.com替換為您的 Graylog 實例的域名:var loggerConfig = new LoggerConfiguration() .WriteTo.Graylog( new GraylogSinkOptions { HostnameOrAddress = "<XXXXXX>.stackhero-network.com", Port = 12201 } ); -
設置 Graylog:
- 登錄到您的
Graylog儀表板。 - 導航到 System > Inputs。
- 創建一個類型為 "GELF UDP" 的新輸入。
- 點擊 "Launch new input"。在出現的模態窗口中,啟用 "Global" 選項,為輸入分配一個標題,並在不進一步更改的情況下保存設置。
- 登錄到您的
為了增強安全性,建議限制允許連接到端口 12201 的 IP。您可以通過訪問 Stackhero 儀表板,選擇您的 Graylog 服務,並管理 "Firewall" 設置以僅允許特定 IP 來配置此項。
通過遵循這些步驟,您可以使您的 .NET 應用程式安全且高效地將日誌發送到您的 Graylog 實例。