有谁有尝试在云监视日志上设置度量过滤器的经验吗?想知道我是否在Terraform发现了一只虫子?
这就是我想要做的;
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错误:预期的嵌套对象:
为了明确起见,157:19与包含log_group_name的代码行有关,其中19位于=符号之前。
不过,我认为这与我的模式有关,如果我删除日志组..运行我得到的验证;
aws_cloudwatch_log_metric_filter.AWS_Console_Login::无效或未知密钥:失败
我对AWS过滤模式的要求是不是太高了?
谢谢斯蒂芬
发布于 2018-05-24 13:05:18
试着摆脱你的引号。这是语法方面的失败。问题不在于log_group_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"
}
}这似乎没什么问题。你应该看看弗林特。它是Visual代码代码的一部分,它帮助我跟踪错误所在。
https://stackoverflow.com/questions/50506281
复制相似问题