Man*_*uel 5 amazon-web-services cloudwatch amazon-cloudwatch amazon-cloudwatchlogs
我只是尝试基于CloudWatch Logs Filter创建一个警报,该警报在多个术语上触发(或连接,而不是和)并且不区分大小写
使用"错误警告"作为模式不起作用
我正在寻找对所有以下错误和警告做出反应的过滤器模式:
ERROR: first sample
Error: second sample
error: third sample
{ ERROR: "fourth sample"}
{type: "error"}
WARNING: SOMETHING BAD!
{ WARNING: "fifth sample"}
Run Code Online (Sandbox Code Playgroud)
Edu*_*cio 10
让我们提出两种解决问题的方法......
I - 使用过滤器(日志组)
过滤器示例
?"ERROR" ?"Error" ?"error" ?"EXCEPT" ?"Except" ?"except"
Run Code Online (Sandbox Code Playgroud)
注意:允许您搜索多个案例 - “不区分大小写”的解决方法 - 并按所需的字符串部分。术语之间的连接符为“OR”。
II - 使用查询(日志见解)
查询示例
fields @timestamp, @message
| filter @message like /(?i)(error|except)/
| sort @timestamp desc
| limit 20
Run Code Online (Sandbox Code Playgroud)
注意:允许您不区分大小写并按所需的字符串部分进行搜索。术语之间的连接符为“OR”。
谢谢!
[参考文献:/sf/answers/3698007491/、https://bneijt.nl/blog/cloudwatch-case-insensitive-like-filter/、https://stackoverflow.com/ a/58377451/3223785]
根据有关过滤器和模式语法的AWS文档,您不能使用"错误警告"来捕获"OR"关系,因为:
- 您可以在指标筛选器模式中指定多个术语,但所有术语必须出现在日志事件中才能匹配.
或者换句话说,CloudWatch Log指标筛选器期望"AND"关系.
同样:
- 度量标准过滤器区分大小写.
因此,您将无法通过单个过滤器实现此目的.对于您希望写入Cloudwatch日志的"错误"和"警告"的每个区分大小写的排列,您都需要一个过滤器.
要在所有这些过滤器上设置单个警报,只需将每个过滤器配置为使用相同的CloudWatch指标.以下是AWS控制台中的一个示例,其中每个指标过滤器都针对我的LogMetric/test指标:
然后,我可以根据LogMetric/test指标简单地创建一个CloudWatch警报,以警告这些不同的指标筛选器的总和.
如果您需要过滤一些字符串,则可以OR按照以下步骤进行操作:
?"String1" ?"String2"
Run Code Online (Sandbox Code Playgroud)
等等。试试吧。
| 归档时间: |
|
| 查看次数: |
4338 次 |
| 最近记录: |