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" 等)。

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