我最近使用Monolog集成了我们的PHP Web应用程序,并添加了对登录Graylog的支持。直到最近我才使用Graylog VM并且我已成功记录发送给它的所有信息。
我们现在已经启动了一个成熟的专用Graylog服务器:服务器当前正在通过UDP记录系统日志信息,并且它再次正常运行。
但是由于各种原因,我们选择为我正在使用的应用程序使用HTTP输入,所以我在Graylog中创建了一个HTTP本地输入(为了记录,我也尝试了一个全局输入)。但是,找不到该应用程序的日志。应用程序中没有异常,例如,在发生连接错误的情况下会发生这种情况,而且我使用与我的VM完全相同的配置,因此我非常确定问题不在应用程序端。
更奇怪的是Graylog does receive traffic on that input!
你可以在右边看到,浅灰色,输入上的是流量,但是已经处理了0个字节 - 或者,我不太清楚这意味着什么。< / p>
那么:这是什么意思?我该如何调试并修复此问题?
编辑:我不确定我的客户端代码是否正确...今天我尝试通过curl
手动向服务器发送消息:
curl -XPOST http://A.B.C.D:1200/gelf -p0 -d '{"short_message":"YO DUDEZ!", "host":"host-pc", "facility":"testHTTP", "_foo":"bar"}'
正确记录了消息。
答案 0 :(得分:1)
我注意到一些奇怪的事情:前一天的日志记录是在我实际登录后的5个小时后的晚上9点左右记录的。由于我处于GMT-5时区,我认为这可能是问题所在:服务器有合适的时间,但时区是GMT + 0。
所以,如果有人遇到这类问题,确保将来搜索日志:Graylog默认只搜索当前时刻,你需要选择“Absolute”从左上角的蓝色图标搜索,然后手动选择开始和结束日期时间。
TL; DR更改服务器时区修复了问题。确保将来检查日志。