如何使用 Terraform 实施 AWS RDS 读/写延迟 Cloudwatch 警报

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

我想使用 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 代码。

amazon-web-services terraform amazon-rds amazon-cloudwatch
1个回答
0
投票

问题出在

treat_missing_data  = "breaching"
。这样做的目的是告诉 cloudwatch,如果缺少数据,则应视为违反了阈值。可用选项及其解释可以在这里找到:https://stackoverflow.com/a/69353795

© www.soinside.com 2019 - 2024. All rights reserved.