Terraform 地形-aws\u云\u监视\u日志\u度量\u过滤器
有没有人有在cloudwatch日志上设置度量过滤器的经验?想知道我是否在Terraform中发现了一只虫子 这就是我要做的Terraform 地形-aws\u云\u监视\u日志\u度量\u过滤器,terraform,terraform-provider-aws,Terraform,Terraform Provider Aws,有没有人有在cloudwatch日志上设置度量过滤器的经验?想知道我是否在Terraform中发现了一只虫子 这就是我要做的 resource "aws_cloudwatch_log_metric_filter" "AWS_Console_Login" { name = "${var.aws_account_id}_Console_Login_Failure" pattern = "{ ($.eventName = ConsoleLogin) &
resource "aws_cloudwatch_log_metric_filter" "AWS_Console_Login" {
name = "${var.aws_account_id}_Console_Login_Failure"
pattern = "{ ($.eventName = ConsoleLogin) && ($.errorMessage = "Failed authentication") }"
log_group_name = "${var.aws_cloudtrail_name}"
metric_transformation {
name = "${var.aws_account_id}_Console_Login_Failure"
namespace = "AccountMonitoring${var.aws_account_id}"
value = "1"
}
}
当我运行Terraform应用或验证时,我得到了这个响应
错误:在157:19解析cloudwatch.tf时出错:应为嵌套对象:LBRACE get:ASSIGN
需要澄清的是,157:19与包含log_group_name的代码行相关,其中19位于=符号之前
然而,如果我删除日志组,我认为这与我的模式有关。。然后运行一个我得到的验证
aws_cloudwatch_log_metric_filter.aws_Console_Login::无效或未知密钥:失败
我对AWS过滤模式的要求是否过高
谢谢
斯蒂芬试着取消你的报价。这是一个语法错误。问题不在
log\u group\u name
行。在它上面的那个
resource "aws_cloudwatch_log_metric_filter" "AWS_Console_Login" {
name = "${var.aws_account_id}_Console_Login_Failure"
pattern = "{ ($.eventName = ConsoleLogin) && ($.errorMessage = \"Failed authentication\") }"
log_group_name = "${var.aws_cloudtrail_name}"
metric_transformation {
name = "${var.aws_account_id}_Console_Login_Failure"
namespace = "AccountMonitoring${var.aws_account_id}"
value = "1"
}
}
这似乎很好。你应该看看。这是Terraform Visual Studio代码插件的一部分,它帮助我找到了错误所在。谢谢Brandon!!我正在使用Visual Studio代码和Terraform(语法突出显示),无法使tflint正常工作,但看起来确实像我需要的,我必须弄清楚为什么它不为我注册。