@@ -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