1

我最近使用 Monolog 集成了我们的 PHP Web 应用程序,并添加了对登录 Graylog 的支持。直到最近,我一直在使用Graylog VM,并成功记录了发送给它的所有信息。

我们现在已经启动了一个成熟的专用 Graylog 服务器:该服务器当前正在通过 UDP 记录 syslog 信息,并且它再次完美运行。

然而,由于各种原因,我们选择为我正在开发的应用程序使用 HTTP 输入,因此我在 Graylog 中创建了一个 HTTP 本地输入(为了记录,我也尝试了一个全局输入)。但是,找不到该应用程序的日志。应用程序中没有引发异常,例如在连接错误的情况下会发生这种情况,而且我使用的配置与我的 VM 完全相同,所以我相当确定问题不在应用程序端。

更奇怪的是,Graylog确实收到了该输入的流量

您可以在右侧以浅灰色看到输入有流量,但已处理 0 个字节 - 或者,我不太确定这意味着什么。

那么:这是什么意思?我该如何调试和解决这个问题?

编辑:我不确定我的客户端代码是否正确......今天我尝试通过以下方式手动向服务器发送消息curl

curl -XPOST http://A.B.C.D:1200/gelf -p0 -d '{"short_message":"YO DUDEZ!", "host":"host-pc", "facility":"testHTTP", "_foo":"bar"}'

并且该消息已正确记录。

4

1 回答 1

1

我注意到一些奇怪的事情:我在晚上 9 点左右记录了前一天的日志,在我实际记录这些日志 5 小时后。由于我在 GMT-5 时区,我认为这可能是问题所在:服务器有正确的时间,但时区是 GMT+0。

所以如果有人偶然发现这种问题,请确保将来搜索日志:Graylog默认只从当前时刻开始搜索,您需要从左上角的蓝色图标中选择“绝对”搜索并然后手动选择您的开始和结束日期时间。

TL;DR 更改服务器时区解决了问题。确保将来检查日志。

于 2015-04-24T15:54:54.853 回答