Graylog: 解決方法

此文件屬於資料對應問題指南的一部分。請在此處查看完整指南:如何解決 Graylog 索引資料對應問題

👋 歡迎瀏覽 Stackhero 文件

Stackhero 提供全託管的 Graylog cloud 方案,專為高效與簡易而設。您可以:

  • 依賴隨服務附送的無限量、專屬 SMTP 電郵伺服器
  • 只需一鍵即可輕鬆更新,無需手動操作。
  • 使用受 HTTPS 保護的自訂網域名稱(例如 https://logs.your-company.com),讓您的團隊安全直接存取。
  • 專屬私人基礎設施上享有卓越效能安全性,無需與他人共用資源,亦無「嘈吵鄰居」問題。

專注於您的數據,而非工具管理:只需數分鐘,即可開始使用 Stackhero 的 Graylog cloud hosting 方案。

要解決這個問題,您有兩個選擇:

最理想的做法是統一所有發送到 Graylog 的系統所使用的欄位資料型別。例如,確保「level」欄位要麼始終以字串(如「error」、「warn」等)傳送,要麼始終以數字(如 3、4 等)傳送。這種一致性可以避免 mapping 衝突,確保所有文件都能正確寫入。

如果無法在所有系統中統一資料型別,您可以利用 Graylog 的 Pipelines 功能,在資料進入時進行型別轉換。Pipelines 允許您根據特定條件定義規則,對資料進行轉換。

實作步驟如下:

  • 在 Graylog 網頁介面中,前往「System」>「Pipelines」。
  • 點擊「Add new pipeline」建立新 Pipeline。
  • 定義規則,將「level」欄位(或其他欄位)轉換為所需的資料型別。例如,您可以將數值型的 level 轉換為對應的字串(如 3 轉為「error」、4 轉為「warning」等)。

這種方式可以確保所有進入的資料都符合預期的資料型別,避免 mapping 衝突。