From 94125be4838c548a66b11c43fc066c14c15cecf8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fernando=20Guill=C3=A9n=20Su=C3=A1rez?= Date: Tue, 15 Apr 2025 14:59:00 +0200 Subject: [PATCH] Added alerts for RDS metrics EBSByteBalance and EBSIOBalance --- aws/cloudwatch/alarm.tf | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/aws/cloudwatch/alarm.tf b/aws/cloudwatch/alarm.tf index 30af8100..5eef91d1 100644 --- a/aws/cloudwatch/alarm.tf +++ b/aws/cloudwatch/alarm.tf @@ -205,6 +205,45 @@ resource "aws_cloudwatch_metric_alarm" "db_replica_lag" { } } +resource "aws_cloudwatch_metric_alarm" "db_ebs_byte_balance" { + count = length(var.database_identifiers) + alarm_name = "${var.project}-${var.environment}-db-${var.database_identifiers[count.index]}-ebsbytebalance" + comparison_operator = "LessThanThreshold" + period = var.alarm_period + evaluation_periods = var.alarm_evaluation_periods + metric_name = "EBSByteBalance%" + namespace = "AWS/RDS" + statistic = "Average" + threshold = 20 + alarm_description = "Alert when EBSByteBalance% drops below 20%" + treat_missing_data = var.treat_missing_data + alarm_actions = var.sns_topic_arns + ok_actions = var.sns_topic_arns + datapoints_to_alarm = var.datapoints_to_alarm + dimensions = { + DBInstanceIdentifier = var.database_identifiers[count.index] + } +} + +resource "aws_cloudwatch_metric_alarm" "db_ebs_io_balance" { + count = length(var.database_identifiers) + alarm_name = "${var.project}-${var.environment}-db-${var.database_identifiers[count.index]}-ebsiobalance" + comparison_operator = "LessThanThreshold" + period = var.alarm_period + evaluation_periods = var.alarm_evaluation_periods + metric_name = "EBSIOBalance%" + namespace = "AWS/RDS" + statistic = "Average" + threshold = 20 + alarm_description = "Alert when EBSIOBalance% drops below 20%" + treat_missing_data = var.treat_missing_data + alarm_actions = var.sns_topic_arns + ok_actions = var.sns_topic_arns + datapoints_to_alarm = var.datapoints_to_alarm + dimensions = { + DBInstanceIdentifier = var.database_identifiers[count.index] + } +} resource "aws_cloudwatch_metric_alarm" "redis_cpu" { count = length(var.elasticache_cluster_names)