Graylog: 解决方法

本文档属于数据映射问题指南的一部分。您可以在此处查看完整指南:如何解决 Graylog 索引数据映射问题

👋 欢迎使用 Stackhero 文档!

Stackhero 提供即用型 Graylog 云 解决方案,具有众多优势,包括:

  • 包含无限制和专用的 SMTP 电子邮件服务器
  • 只需点击即可轻松完成更新
  • 使用 HTTPS 保护的可定制域名(例如,https://logs.your-company.com)。
  • 专用私有 VM提供的最佳性能和强大安全性

节省时间简化您的生活:只需 5 分钟即可试用 Stackhero 的 Graylog 云托管 解决方案!

您可以通过以下两种方式解决该问题:

理想的解决方案是,统一所有向 Graylog 发送数据的系统中各字段的数据类型。例如,确保 "level" 字段始终以字符串(如 "error"、"warn" 等)或始终以数字(3、4 等)形式发送。保持数据类型一致可避免映射冲突,确保所有文档都能被正确写入。

如果无法在所有系统间统一数据类型,您可以利用 Graylog 的 Pipelines 功能,在数据接收时进行类型转换。Pipelines 允许您根据特定条件定义规则,对数据进行转换。

具体操作如下:

  • 在 Graylog Web 界面进入 "System" > "Pipelines"。
  • 点击 "Add new pipeline" 创建新 Pipeline。
  • 定义规则,将 "level" 字段(或其他字段)转换为所需的数据类型。例如,可以将数值型 level 转换为对应的字符串(如 3 转为 "error",4 转为 "warning" 等)。

通过这种方式,所有接收的数据都能符合预期的数据类型,避免映射冲突。