Tob*_*tor 3 amazon-cloudwatch aws-cloudwatch-log-insights
我有包含特定弹簧模式的日志文件。这些字符串模式在每个日志事件中频繁出现。例如:
<abc>108</abc>xyz<abc>22222</abc>
Run Code Online (Sandbox Code Playgroud)
我想统计<abc>CloudWatch 中特定时间段内 的出现情况。
我这样做是为了计算每分钟发生的次数:
fields @timestamp
| parse @message "<abc>" as abc
| filter strcontains(@message, "<abc>")
| stats count(abc) by bin(1m)
Run Code Online (Sandbox Code Playgroud)
但它只对<abc>至少包含一次的日志事件计数 1。在上面的例子中,我期望有两个。
我怎样才能实现这个目标?
我没有看到任何一个函数可以满足您的需要,但是您可以执行以下操作:
fields @timestamp, @message
| filter strcontains(@message, "<abc>")
| fields (strlen(@message)-strlen(replace(@message, "<abc>", ""))) / strlen("<abc>")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2982 次 |
| 最近记录: |