我想使用 Terraform 设置新的 AWS RDS 读/写延迟 Cloudwatch 警报。我在谷歌上搜索了很多,找到了一些相同的例子,但我没有找到任何例子。
我在 terraform main.tf 中写的内容。这段代码是否正确?
resource "aws_cloudwatch_metric_alarm" "postgres_write_latency" {
count = length(var.db_instance_identifier)
alarm_name = "rds-postgres-write-latency-canada"
comparison_operator = "GreaterThanOrEqualToThreshold"
evaluation_periods = "1"
metric_name = "WriteLatency"
namespace = "AWS/RDS"
period = "60"
statistic = "Average"
threshold = "2"
treat_missing_data = "breaching"
dimensions = {
DBInstanceIdentifier = element(var.db_instance_identifier, count.index)
}
alarm_description = "Write IOPS for rds postgres in Canada ${terraform.workspace}"
alarm_actions = [var.sns_topic]
ok_actions = [var.sns_topic]
}
resource "aws_cloudwatch_metric_alarm" "postgres_read_latency" {
count = length(var.db_instance_identifier)
alarm_name = "rds-postgres-read-latency-canada"
comparison_operator = "GreaterThanOrEqualToThreshold"
evaluation_periods = "1"
metric_name = "ReadLatency"
namespace = "AWS/RDS"
period = "60"
statistic = "Average"
threshold = "0.030"
treat_missing_data = "breaching"
dimensions = {
DBInstanceIdentifier = element(var.db_instance_identifier, count.index)
}
alarm_description = "Read IOPS for rds postgres in Canada ${terraform.workspace}"
alarm_actions = [var.sns_topic]
ok_actions = [var.sns_topic]
}
我已经实现了这段代码,但由于 INSUFFICIENT_DATA,它开始向 slack 通道发送垃圾邮件。
我需要一个用于 AWS RDS 读/写延迟 Cloudwatch 警报的有效 terraform 代码。
问题出在
treat_missing_data = "breaching"
。这样做的目的是告诉 cloudwatch,如果缺少数据,则应视为违反了阈值。可用选项及其解释可以在这里找到:https://stackoverflow.com/a/69353795