CloudWatch:计算日志文件中特定字符串的出现次数

2024-04-28

我有包含特定弹簧模式的日志文件。这些字符串模式在每个日志事件中频繁出现。 例如:

<abc>108</abc>xyz<abc>22222</abc>

我想统计出现的次数<abc>CloudWatch 中的特定时间段。

我这样做是为了计算每分钟发生的次数:

fields @timestamp
| parse @message "<abc>" as abc
| filter strcontains(@message, "<abc>")
| stats count(abc) by bin(1m)

但它只对包含以下内容的日志事件计数 1:<abc>至少一次。在上面的例子中,我期望有两个。

我怎样才能实现这个目标?


我没有看到任何一个函数可以满足您的需要,但是您可以执行以下操作:

fields @timestamp, @message
| filter strcontains(@message, "<abc>")
| fields (strlen(@message)-strlen(replace(@message, "<abc>", ""))) / strlen("<abc>")
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CloudWatch:计算日志文件中特定字符串的出现次数 的相关文章

随机推荐