要解决此问题,可以使用一个小技巧-将排除的模式和或条件一起包含在不同的指标中。例如:
{
"metricTransformations": [
{
"metricNamespace": "AWS/Logs",
"metricName": "LogEventCount-Or",
"metricValue": "$.extra.field1",
"metricFilters": [
{
"filterPattern": "{ $.extra.field1 = \"value1\" || $.extra.field1 = \"value2\" }",
"logGroupName": "your-log-group",
"metricValue": "$.extra.field1"
},
{
"filterPattern": "{ $.extra.field1 != \"value3\" }",
"logGroupName": "your-log-group",
"metricValue": "$.extra.field1"
}
]
}
]
}
在这个例子中,我们创建了两个不同的指标:“LogEventCount-Or”,一个包含或条件,一个包含排除条件。这些指标使用相同的日志组名称,但分别使用不同的过滤器模式。