鲍渔爱好者 2023-12-08 13:56 采纳率: 33.3%
浏览 14
已结题

grayLog接收日志报错,求请教

https://blog.ossq.cn/3057.html
参考了这个帖子在centos7上部署了mongodb6.0+opensearch2.8+graylog5.1.7测试环境,但是测试时grayLog一直报错,导致查询无数据,不知道到底是怎么引起的。
通过命令模拟发送日志数据 echo 'this is test log' > /dev/udp/127.0.0.1/12201,在springboot logback里面配置发送数据也是一样的错误
检查了mongo,opensearch,graylog服务都正常,查看/var/log/graylog-server/server.log的错误信息如下

img


有两个问题,一是空指针异常,二是接收日志消息的timestamp慢了8个小时,检查了服务器和graylog配置文件时区设置是Asia/Shanghai 没错

  • 写回答

1条回答 默认 最新

  • 「已注销」 2023-12-08 22:28
    关注

    该回答引用AI(Brad)
    根据您提供的信息,我认为您遇到的问题可能有以下两个原因:

    • 空指针异常:根据错误信息,空指针异常发生在 org.graylog.plugins.cef.parser.MappedMessage.<init> 方法中。该方法用于将 CEF 格式的日志消息转换为 Graylog 的内部格式。因此,很有可能是 CEF 格式的日志消息不正确,导致 MappedMessage 对象无法正确初始化。
    • 接收日志消息的 timestamp 慢了 8 个小时:根据错误信息,接收日志消息的 timestamp 比实际时间慢了 8 个小时。这可能是由于 Graylog 服务器的时区设置不正确导致的。

    为了解决这些问题,您可以尝试以下方法:

    1. 检查 CEF 格式的日志消息是否正确。您可以使用 CEF 格式的日志消息验证工具来验证日志消息的格式是否正确。
    2. 检查 Graylog 服务器的时区设置是否正确。您可以通过修改 /etc/graylog/server/server.conf 文件中的 timezone 参数来设置 Graylog 服务器的时区。

    具体的操作步骤如下:

    检查 CEF 格式的日志消息是否正确

    1. 下载并安装 CEF 格式的日志消息验证工具。
    2. 将要验证的日志消息复制到文本编辑器中。
    3. 使用 CEF 格式的日志消息验证工具来验证日志消息的格式。

    检查 Graylog 服务器的时区设置是否正确

    1. 打开 /etc/graylog/server/server.conf 文件。
    2. 找到 timezone 参数。
    3. timezone 参数设置为正确的时区。

    例如,如果您所在的地区使用北京时间,则可以将 timezone 参数设置为 Asia/Shanghai

    修改完 /etc/graylog/server/server.conf 文件后,请重启 Graylog 服务器。

    如果您按照上述方法操作后仍然无法解决问题,您可以尝试在 Graylog 的社区论坛或 Stack Overflow 上寻求帮助。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 12月19日
  • 已采纳回答 12月11日
  • 创建了问题 12月8日