如何在汇总中创建汇总表?

时间:2018-09-12 11:16:50

标签: sumologic

如何构造汇总查询,该查询将在汇总表中返回以下日志项,该表将uri,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

1 个答案:

答案 0 :(得分:1)

您可能需要为此使用正则表达式。看起来像这样:

| 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

这只是一个示例-日志的确切正则表达式可能会略有不同,具体取决于它们的格式,但这就是我在上面的示例中想到的。

希望这会有所帮助!