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

无法通过Terraform创建AWS Glue日志指标过滤器,报错找不到日志组

解决Terraform创建CloudWatch日志指标过滤器时找不到日志组的问题

常见问题排查与解决方法

1. 日志组名称匹配问题

AWS控制台对日志组名称的末尾斜杠兼容,但Terraform的aws_cloudwatch_log_group数据源可能严格匹配名称。试试去掉名称末尾的斜杠:

data "aws_cloudwatch_log_group" "aws_glue_log" {
    name = "/aws-glue/python-jobs"
}

或者直接在指标过滤器资源中指定日志组名称,跳过数据源查询:

resource "aws_cloudwatch_log_metric_filter" "event_filter" {
  name           = "someNAme"
  pattern        = "ALERT"
  log_group_name = "/aws-glue/python-jobs/"
  metric_transformation {
    name          = "filtermetric"
    namespace     = "Glue"
    value         = "1"
    default_value = "0"
  }
}

2. 凭证或区域不匹配

  • 确认Terraform使用的AWS账号和控制台一致,且凭证拥有logs:DescribeLogGroups权限。
  • 检查Terraform的AWS区域配置,确保和日志组所在区域相同:
provider "aws" {
  region = "your-region" # 替换为日志组实际所在区域
}

3. 日志组未提前创建

如果该日志组是Glue作业首次运行时自动生成的,Terraform执行时可能还不存在。可以用count条件判断,仅当日志组存在时创建指标过滤器:

data "aws_cloudwatch_log_group" "aws_glue_log" {
  name = "/aws-glue/python-jobs/"
}

resource "aws_cloudwatch_log_metric_filter" "event_filter" {
  count          = data.aws_cloudwatch_log_group.aws_glue_log.exists ? 1 : 0
  name           = "someNAme"
  pattern        = "ALERT"
  log_group_name = data.aws_cloudwatch_log_group.aws_glue_log.name
  metric_transformation {
    name          = "filtermetric"
    namespace     = "Glue"
    value         = "1"
    default_value = "0"
  }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 02:05:16