对 AWS CloudWatch Log 指标筛选器的 Terraform 中的无效指标筛选器模式错误进行故障排除

问题描述 投票:0回答:1

我在尝试使用 Terraform 配置 AWS CloudWatch Log Metric Filter 时遇到错误。我的目标是创建一个指标过滤器,根据级别和记录器字段捕获特定的日志数据。但是,我不断收到“无效的指标过滤器模式”错误,并且我不确定如何更正模式语法。

这是我的 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"
      #      message = "$.message"
    }
  }
}

我收到的错误是:

Error: putting CloudWatch Logs Metric Filter (logGroupCount: InvalidParameterException: Invalid metric filter pattern
with module.data-retention.aws_cloudwatch_log_metric_filter.log_count_metric_filter
on <> line 21, in resource "aws_cloudwatch_log_metric_filter" "log_count_metric_filter":

我尝试了该模式的几种变体(

pattern = "{$.level $.logger}"
),例如删除逗号,更改结构,但我不断遇到相同的错误。我正在寻找有关如何根据 AWS CloudWatch Logs 过滤器模式语法正确设置此模式格式的指南。

amazon-web-services logging amazon-cloudwatch aws-cloudwatch-log-insights
1个回答
0
投票

正确的模式

pattern        = "{ $.level = * && $.logger = *  }"
© www.soinside.com 2019 - 2024. All rights reserved.