Graylog: 解决方法

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

👋 欢迎查阅 Stackhero 文档

Stackhero 提供全托管的 Graylog cloud 解决方案,专为高效与简便而设计。您可以:

  • 依赖于服务内置的无限制、专用 SMTP 邮件服务器
  • 只需一键即可轻松完成更新,无需手动操作。
  • 使用由HTTPS保护的自定义域名(例如 https://logs.your-company.com),为您的团队提供安全、直接的访问。
  • 专属私有基础设施上体验卓越的性能安全性,无共享资源,无干扰邻居。

专注于您的数据,而非工具本身:只需几分钟,即可开始使用 Stackhero 的 Graylog cloud hosting 解决方案。

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

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

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

具体操作如下:

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

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