如何在 sumologic 中创建聚合 table?

How do I create an aggregated table in sumologic?

我如何构建一个 sumologic 查询,该查询将 returns 聚合 table 中的以下日志项,该聚合将 uri、status_code 和请求数分组。例如:uri = /healthcheck, status_code = 200 and requests = 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

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

| 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

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

希望对您有所帮助!