【问题标题】:CloudWatch Logs Filter case insensitive multiple terms or connectedCloudWatch Logs 过滤不区分大小写的多个术语或已连接
【发布时间】:2017-03-04 18:06:51
【问题描述】:
我只是想创建一个基于 CloudWatch Logs 过滤器的警报,该过滤器在多个术语(或连接,非和)上触发并且不区分大小写
使用“错误警告”作为模式不起作用
我正在寻找对以下所有错误和警告做出反应的过滤器模式:
ERROR: first sample
Error: second sample
error: third sample
{ ERROR: "fourth sample"}
{type: "error"}
WARNING: SOMETHING BAD!
{ WARNING: "fifth sample"}
【问题讨论】:
标签:
amazon-web-services
amazon-cloudwatch
cloudwatch
amazon-cloudwatchlogs
【解决方案1】:
如果你需要过滤一些字符串,你可以OR他们如下:
?"String1" ?"String2"
等等。试试看。
【解决方案2】:
根据有关 Filter and Pattern Syntax 的 AWS 文档,您不能使用“错误警告”来捕获“OR”关系,因为:
- 您可以在度量过滤器模式中指定多个术语,但所有术语都必须出现在日志事件中才能匹配。
或者换句话说,CloudWatch Log 指标过滤器需要一个“AND”关系。
同样:
因此,您将无法使用单个过滤器实现此目的。对于您希望写入 Cloudwatch 日志的每个区分大小写的“错误”和“警告”排列,您需要一个过滤器。
要对所有这些过滤器设置一个警报,只需将每个过滤器配置为使用相同的 CloudWatch 指标。这是 AWS 控制台中的一个示例,其中我的每个指标过滤器都针对我的 LogMetric/test 指标:
然后,我可以简单地基于 LogMetric/test 指标创建 CloudWatch 警报,以针对这些不同指标过滤器的总和发出警报。