首页 > 解决方案 > 如何在 sumologic 中创建聚合表?

问题描述

如何构建一个 sumologic 查询,该查询将在聚合表中返回以下日志项,该聚合表对 uri、status_code 和请求数进行分组。例如:uri = /healthcheck、status_code = 200 和 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

标签: sumologic

解决方案


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

| 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

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

希望这可以帮助!


推荐阅读