-
Notifications
You must be signed in to change notification settings - Fork 1
/
alerts.tf
127 lines (121 loc) · 6.5 KB
/
alerts.tf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
# -------------------------------------------------------------------------------------
#
# Copyright (c) 2024, WSO2 LLC. (http://www.wso2.com). All Rights Reserved.
#
# This software is the property of WSO2 LLC. and its suppliers, if any.
# Dissemination of any information or reproduction of any material contained
# herein in any form is strictly forbidden, unless permitted by WSO2 expressly.
# You may not alter or remove any copyright or other notice from copies of this content.
#
# --------------------------------------------------------------------------------------
module "alert_group" {
source = "git::https://github.com/wso2/aws-terraform-modules.git//modules/aws/SNS-Topic?ref=v1.12.0"
count = var.eks_cluster_enable_monitoring_global_flag ? 1 : 0
topic_name = "alert-group"
subscribers = var.alert_subscribers
project = var.project
environment = var.environment_name
region = var.region
application = var.client_name
tags = var.default_tags
}
module "eks_cluster_node_cpu_utilization_warning_alert" {
source = "git::https://github.com/wso2/aws-terraform-modules.git//modules/aws/Metric-Alarm?ref=v1.12.0"
enabled = var.eks_cluster_enable_monitoring_global_flag
tags = var.default_tags
metric_namespace = local.eks_container_insights_metrics_namespace
metric_name = local.node_cpu_utilization_metric_name
alarm_description = "This alarm monitors VM CPU utilization in the cluster and triggers a warning alert"
alarm_actions = [module.alert_group[0].topic_arn]
comparison_operator = local.cloud_watch_gte_metrics_threshold_string
threshold = var.eks_cluster_node_cpu_utilization_warning_threshold
metric_usage_prefix = join("-", [local.node_cpu_utilization_metric_name_usage, local.warning_alert_usage_suffix])
dimensions = {
ClusterName = module.eks_cluster.eks_cluster_name
}
statistic = local.cloud_watch_average_statistic_string
project = var.project
environment = var.environment_name
region = var.region
application = var.client_name
}
module "eks_cluster_node_memory_utilization_warning_alert" {
source = "git::https://github.com/wso2/aws-terraform-modules.git//modules/aws/Metric-Alarm?ref=v1.12.0"
enabled = var.eks_cluster_enable_monitoring_global_flag
tags = var.default_tags
metric_namespace = local.eks_container_insights_metrics_namespace
metric_name = local.node_memory_utilization_metric_name
alarm_description = "This alarm monitors VM Memory utilization in the cluster and triggers a warning alert"
alarm_actions = [module.alert_group[0].topic_arn]
comparison_operator = local.cloud_watch_gte_metrics_threshold_string
threshold = var.eks_cluster_node_memory_utilization_warning_threshold
metric_usage_prefix = join("-", [local.node_memory_utilization_metric_name_usage, local.warning_alert_usage_suffix])
dimensions = {
ClusterName = module.eks_cluster.eks_cluster_name
}
statistic = local.cloud_watch_average_statistic_string
project = var.project
environment = var.environment_name
region = var.region
application = var.client_name
}
module "eks_cluster_container_cpu_utilization_warning_alert" {
source = "git::https://github.com/wso2/aws-terraform-modules.git//modules/aws/Metric-Alarm?ref=v1.12.0"
enabled = var.eks_cluster_enable_monitoring_global_flag
tags = var.default_tags
metric_namespace = local.eks_container_insights_metrics_namespace
metric_name = local.container_cpu_utilization_metric_name
alarm_description = "This alarm monitors container CPU utilization in the cluster and triggers a warning alert"
alarm_actions = [module.alert_group[0].topic_arn]
comparison_operator = local.cloud_watch_gte_metrics_threshold_string
threshold = var.eks_cluster_container_cpu_utilization_warning_threshold
metric_usage_prefix = join("-", [local.container_cpu_utilization_metric_name_usage, local.warning_alert_usage_suffix])
dimensions = {
ClusterName = module.eks_cluster.eks_cluster_name
}
statistic = local.cloud_watch_average_statistic_string
project = var.project
environment = var.environment_name
region = var.region
application = var.client_name
}
module "eks_cluster_container_memory_utilization_warning_alert" {
source = "git::https://github.com/wso2/aws-terraform-modules.git//modules/aws/Metric-Alarm?ref=v1.12.0"
enabled = var.eks_cluster_enable_monitoring_global_flag
tags = var.default_tags
metric_namespace = local.eks_container_insights_metrics_namespace
metric_name = local.container_memory_utilization_metric_name
alarm_description = "This alarm monitors container memory utilization in the cluster and triggers a warning alert"
alarm_actions = [module.alert_group[0].topic_arn]
comparison_operator = local.cloud_watch_gte_metrics_threshold_string
threshold = var.eks_cluster_container_memory_utilization_warning_threshold
metric_usage_prefix = join("-", [local.container_memory_utilization_metric_name_usage, local.warning_alert_usage_suffix])
dimensions = {
ClusterName = module.eks_cluster.eks_cluster_name
}
statistic = local.cloud_watch_average_statistic_string
project = var.project
environment = var.environment_name
region = var.region
application = var.client_name
}
module "eks_cluster_container_restarts_warning_alert" {
source = "git::https://github.com/wso2/aws-terraform-modules.git//modules/aws/Metric-Alarm?ref=v1.12.0"
enabled = var.eks_cluster_enable_monitoring_global_flag
tags = var.default_tags
metric_namespace = local.eks_container_insights_metrics_namespace
metric_name = local.container_restarts_metric_name
alarm_description = "This alarm monitors container restarts in the cluster and triggers a warning alert"
alarm_actions = [module.alert_group[0].topic_arn]
comparison_operator = local.cloud_watch_gte_metrics_threshold_string
threshold = var.eks_cluster_container_restart_warning_threshold
metric_usage_prefix = join("-", [local.container_restarts_metric_name_usage, local.warning_alert_usage_suffix])
dimensions = {
ClusterName = module.eks_cluster.eks_cluster_name
}
statistic = local.cloud_watch_average_statistic_string
project = var.project
environment = var.environment_name
region = var.region
application = var.client_name
}