如何构造一个sumologic查询,该查询将在聚合表中返回下面的日志项,该表对the、status_code和请求数量进行分组。例如: uri = /healthcheck,status_code = 200,请求= 1。
<27>Sep 12 11:03:26 my-app/0.0.0/75a2b6b67d68[2908]: [Wed Sep 12 11:03:26 2018] 00.00.00.00:00000 [200]: /healthcheck我显然不知道如何解析这样的日志,我尝试过这样做,但是它没有工作:
_source="syslog-collector-tcp" "my-app"
| parse "[*] : *" as request发布于 2018-09-12 13:38:51
为此您可能需要使用regex。它看起来应该是:
| parse regex "\[(?<status_code>[0-9]{3})\]: \/(?<uri>.*)$"
| count by status_code, uri这将删除不符合正则表达式标准的日志行。如果您想保留其他行,则需要添加nodrop:
| parse regex "\[(?<status_code>[0-9]{3})\]: \/(?<uri>.*)$" nodrop
| count by status_code, uri这只是一个例子--根据日志的格式化方式,日志的精确正则表达式可能略有不同,但这是我为上面的示例提出的。
希望这能有所帮助!
https://stackoverflow.com/questions/52293882
复制相似问题