You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Terraform配置AWS CloudWatch日志指标过滤器的无效模式错误排查

解决AWS CloudWatch日志指标过滤器「Invalid metric filter pattern」错误

你的错误根源在于CloudWatch日志过滤器的语法不符合AWS规范,以下是修正后的配置和语法说明:

修正后的Terraform配置

resource "aws_cloudwatch_log_metric_filter" "log_count_metric_filter" {
  name           = "logGroupCount"
  // 正确的过滤器模式:单大括号包裹,多条件空格分隔,通配符用*
  pattern        = "{ $.level = * $.logger = * }"
  log_group_name = "myLogGroup"

  metric_transformation {
    name      = "logErrorCount"
    namespace = "logSpace"
    value     = "1"
    dimensions = {
      level  = "$.level"
      logger = "$.logger"
    }
  }
}

语法错误解析与规则说明

  • 大括号结构错误:你原来用了两个独立的{},CloudWatch要求所有JSON过滤条件必须放在单个大括号内,多个条件用空格分隔表示逻辑AND。
  • 通配符写法错误:<*>不是CloudWatch的合法通配符,匹配任意值直接用*即可。
  • 字段匹配规则:
    • 匹配任意非空值:$.字段名 = *
    • 匹配特定字符串值:$.level = "ERROR"(注意要加双引号)
    • 忽略字段值只检查存在性:$.level(仅当日志中存在该字段时匹配)

扩展场景示例

如果要仅捕获level为ERROR的日志,模式可以写成:

{ $.level = "ERROR" $.logger = * }

内容的提问来源于stack exchange,提问作者Sarangan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 20:54:58