Skip to content

Commit d04c6ae

Browse files
committed
adding alarms for RAM & disk
1 parent 05b35d3 commit d04c6ae

File tree

1 file changed

+92
-0
lines changed

1 file changed

+92
-0
lines changed

custom.tf

Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,3 +112,95 @@ resource "aws_cloudwatch_metric_alarm" "ec2_cpuutilization_alert_warning" {
112112
)
113113
}
114114
}
115+
116+
resource "aws_cloudwatch_metric_alarm" "ec2_memory_utilization_alert_info" {
117+
alarm_name = "${var.name}_high_memory_alert"
118+
comparison_operator = "GreaterThanOrEqualToThreshold"
119+
evaluation_periods = "5"
120+
datapoints_to_alarm = "4"
121+
treat_missing_data = "ignore"
122+
metric_name = "MemoryUtilization"
123+
namespace = "CWAgent"
124+
period = "120"
125+
statistic = "Average"
126+
threshold = "85"
127+
alarm_description = "This metric monitors EC2 memory utilization"
128+
alarm_actions = [var.alarm_info_sns_topic_arn]
129+
unit = "Percent"
130+
dimensions = {
131+
InstanceId = try(
132+
aws_instance.this[0].id,
133+
aws_instance.ignore_ami[0].id
134+
)
135+
}
136+
}
137+
138+
resource "aws_cloudwatch_metric_alarm" "ec2_memory_utilization_alert_warning" {
139+
alarm_name = "${var.name}_critical_memory_alert"
140+
comparison_operator = "GreaterThanOrEqualToThreshold"
141+
evaluation_periods = "15"
142+
datapoints_to_alarm = "12"
143+
treat_missing_data = "ignore"
144+
metric_name = "MemoryUtilization"
145+
namespace = "CWAgent"
146+
period = "120"
147+
statistic = "Maximum"
148+
threshold = "95"
149+
alarm_description = "This metric monitors EC2 memory utilization"
150+
alarm_actions = [var.alarm_sns_topic_arn]
151+
unit = "Percent"
152+
dimensions = {
153+
InstanceId = try(
154+
aws_instance.this[0].id,
155+
aws_instance.ignore_ami[0].id,
156+
)
157+
}
158+
}
159+
160+
resource "aws_cloudwatch_metric_alarm" "ec2_disk_utilization_alert_info" {
161+
alarm_name = "${var.name}_high_disk_alert"
162+
comparison_operator = "GreaterThanOrEqualToThreshold"
163+
evaluation_periods = "5"
164+
datapoints_to_alarm = "4"
165+
treat_missing_data = "ignore"
166+
metric_name = "DiskSpaceUtilization"
167+
namespace = "CWAgent"
168+
period = "120"
169+
statistic = "Average"
170+
threshold = "85"
171+
alarm_description = "This metric monitors EC2 disk space utilization"
172+
alarm_actions = [var.alarm_info_sns_topic_arn]
173+
unit = "Percent"
174+
dimensions = {
175+
InstanceId = try(
176+
aws_instance.this[0].id,
177+
aws_instance.ignore_ami[0].id,
178+
)
179+
MountPath = "/"
180+
Filesystem = "ext4"
181+
}
182+
}
183+
184+
resource "aws_cloudwatch_metric_alarm" "ec2_disk_utilization_alert_warning" {
185+
alarm_name = "${var.name}_critical_disk_alert"
186+
comparison_operator = "GreaterThanOrEqualToThreshold"
187+
evaluation_periods = "15"
188+
datapoints_to_alarm = "12"
189+
treat_missing_data = "ignore"
190+
metric_name = "DiskSpaceUtilization"
191+
namespace = "CWAgent"
192+
period = "120"
193+
statistic = "Maximum"
194+
threshold = "95"
195+
alarm_description = "This metric monitors EC2 disk space utilization"
196+
alarm_actions = [var.alarm_sns_topic_arn]
197+
unit = "Percent"
198+
dimensions = {
199+
InstanceId = try(
200+
aws_instance.this[0].id,
201+
aws_instance.ignore_ami[0].id,
202+
)
203+
MountPath = "/"
204+
Filesystem = "ext4"
205+
}
206+
}

0 commit comments

Comments
 (0)