Goaccess: 使用 GoAccess 解析 JSON

创建于 2016-10-10  ·  3评论  ·  资料来源: allinurl/goaccess

问候,先生。 你能帮我解析json日志文件吗?
日志字符串示例:

{"ip": "176.122.232.00", "host": "cdn.tv.com", "path": "/dtv/c_1199622700411804.ts", "status": "200", "user_agent": "YX_XY/1.0.1.0.3364", "length": 1392120, "date": "2016-10-09T20:00:00+03:00"}

我正在使用这种格式:
goaccess -f access.log --log-format='%^: "%h", %^:%^, %^: "%R", %^: %s, %^: "%u",%^: %b, %^: "%dT%t+%^"' --date-format='%Y-%m-%d' > /report.html

并得到

Parsing... [1 734 743] [867 371/s]s]
GoAccess - version 0.8.5 - Dec  5 2014 06:36:01
Fatal error has occurred
Error occured at: goaccess.c - main - 832
Nothing valid to process

我的日志格式有什么问题?
谢谢。

question

最有用的评论

对于那些无法识别的选项,请升级到最新版本。

大的问题,在日志格式中最重要的部分之一是下面的字符%^或任何其他说明符。 解析器将查找该字符,例如,如果我有%^: ,这意味着我希望解析器跳过所有内容,直到找到: 。 这很有帮助,所以我不必使用一堆%^来忽略字段。 即将推出的版本将通过显示哪些令牌与日志格式不匹配来更好地处理这个问题,这将使事情变得更容易。

有关可用日志说明符的列表,请查看

所有3条评论

这应该有效:

goaccess -f access.log --log-format='%^: "%h",%^: "%v",%^: "%U",%^: "%s",%^: "%u",%^: %b,%^: "%dT%t+%^"%^' --date-format='%Y-%m-%d' --time-format='%T' --http-protocol=no --http-method=no

感谢您的回复,
我有这个错误
goaccess: unrecognized option '--time-format=%T' (可能我有新版本)

然后我删除了选项时间格式并又出现了 2 个错误。

goaccess: option '--http-protocol' doesn't allow an argument
goaccess: option '--http-method' doesn't allow an argument

当我删除所有这些选项时,我终于得到了我的报告。
顺便说一下,您能否为后代解释一下这种日志格式? :)

对于那些无法识别的选项,请升级到最新版本。

大的问题,在日志格式中最重要的部分之一是下面的字符%^或任何其他说明符。 解析器将查找该字符,例如,如果我有%^: ,这意味着我希望解析器跳过所有内容,直到找到: 。 这很有帮助,所以我不必使用一堆%^来忽略字段。 即将推出的版本将通过显示哪些令牌与日志格式不匹配来更好地处理这个问题,这将使事情变得更容易。

有关可用日志说明符的列表,请查看

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

tbarbette picture tbarbette  ·  3评论

SergioDG-YCC picture SergioDG-YCC  ·  3评论

SerenaAi picture SerenaAi  ·  3评论

DestinyWang picture DestinyWang  ·  3评论

olimpo88 picture olimpo88  ·  3评论