在AWS Cloudwatch日志指标过滤器中匹配数组条目

Ste*_*man 11 amazon-cloudwatch

我将JSON字符串上传到AWS Cloudwatch日志,现在我正在尝试编写一个过滤器,从这些日志生成指标.

假设我有以下JSON:

{"test_results":[{"result":"success","name":"foo","nr_failed":0},{"result":"failure","name":"bar","nr_failed" :3}]}

AWS Cloudwatch日志指标过滤器允许我指定如下模式:

{$ .test_results [0] .result ="失败"}

上述方法是"如果'test_results'值中的第0个条目的'result'字段的值为'failure',则匹配整行".在这种特殊情况下,第0个条目的结果为"成功",因此不匹配.但下一行将匹配:

{$ .test_results [1] .result ="失败"}

现在假设我想匹配整行,如果任何条目的值为'failure'.基本上,我想这样做:

{$ .test_results [*].result ="failure"}

但模式语法似乎不允许数组索引中的通配符.如何匹配任何结果值为"失败"的行?

或者,我如何选择"test_results"数组中所有"nr_failed"字段的数值并从中创建指标?

小智 -2

我发现仅使用“失败”作为度量过滤器是有效的,它不是特别优雅,但可能对您有用。

在此输入图像描述