@@ -112,3 +112,95 @@ resource "aws_cloudwatch_metric_alarm" "ec2_cpuutilization_alert_warning" {
112
112
)
113
113
}
114
114
}
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