Skip to content

Commit 79559d0

Browse files
authored
chore: Make dashboard configurations overridable (#232)
Make dashboard configurations overridable
1 parent a6c0875 commit 79559d0

File tree

3 files changed

+33
-33
lines changed

3 files changed

+33
-33
lines changed

modules/eks-monitoring/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ See examples using this Terraform modules in the **Amazon EKS** section of [this
7070
| Name | Description | Type | Default | Required |
7171
|------|-------------|------|---------|:--------:|
7272
| <a name="input_adot_loglevel"></a> [adot\_loglevel](#input\_adot\_loglevel) | Verbosity level for ADOT collector logs. This accepts (detailed\|normal\|basic), see https://aws-otel.github.io/docs/components/misc-exporters for mor infos. | `string` | `"normal"` | no |
73-
| <a name="input_adothealth_monitoring_config"></a> [adothealth\_monitoring\_config](#input\_adothealth\_monitoring\_config) | Config object for ADOT health monitoring | <pre>object({<br> flux_gitrepository_name = string<br> flux_gitrepository_url = string<br> flux_gitrepository_branch = string<br> flux_kustomization_name = string<br> flux_kustomization_path = string<br><br> dashboards = object({<br> grafana_adothealth_dashboard_url = string<br> })<br> })</pre> | `null` | no |
73+
| <a name="input_adothealth_monitoring_config"></a> [adothealth\_monitoring\_config](#input\_adothealth\_monitoring\_config) | Config object for ADOT health monitoring | <pre>object({<br> flux_gitrepository_name = string<br> flux_gitrepository_url = string<br> flux_gitrepository_branch = string<br> flux_kustomization_name = string<br> flux_kustomization_path = string<br><br> dashboards = object({<br> health = string<br> })<br> })</pre> | `null` | no |
7474
| <a name="input_apiserver_monitoring_config"></a> [apiserver\_monitoring\_config](#input\_apiserver\_monitoring\_config) | Config object for API server monitoring | <pre>object({<br> flux_gitrepository_name = string<br> flux_gitrepository_url = string<br> flux_gitrepository_branch = string<br> flux_kustomization_name = string<br> flux_kustomization_path = string<br><br> dashboards = object({<br> basic = string<br> advanced = string<br> troubleshooting = string<br> })<br> })</pre> | `null` | no |
7575
| <a name="input_custom_metrics_config"></a> [custom\_metrics\_config](#input\_custom\_metrics\_config) | Configuration object to enable custom metrics collection | <pre>map(object({<br> enableBasicAuth = bool<br> path = string<br> basicAuthUsername = string<br> basicAuthPassword = string<br> ports = string<br> droppedSeriesPrefixes = string<br> }))</pre> | `null` | no |
7676
| <a name="input_eks_cluster_id"></a> [eks\_cluster\_id](#input\_eks\_cluster\_id) | EKS Cluster Id | `string` | n/a | yes |
@@ -115,7 +115,7 @@ See examples using this Terraform modules in the **Amazon EKS** section of [this
115115
| <a name="input_istio_config"></a> [istio\_config](#input\_istio\_config) | Configuration object for ISTIO monitoring | <pre>object({<br> enable_alerting_rules = bool<br> enable_recording_rules = bool<br> enable_dashboards = bool<br> scrape_sample_limit = number<br><br> flux_gitrepository_name = string<br> flux_gitrepository_url = string<br> flux_gitrepository_branch = string<br> flux_kustomization_name = string<br> flux_kustomization_path = string<br><br> managed_prometheus_workspace_id = string<br> prometheus_metrics_endpoint = string<br><br> dashboards = object({<br> cp = string<br> mesh = string<br> performance = string<br> service = string<br> })<br> })</pre> | `null` | no |
116116
| <a name="input_java_config"></a> [java\_config](#input\_java\_config) | Configuration object for Java/JMX monitoring | <pre>object({<br> enable_alerting_rules = bool<br> enable_recording_rules = bool<br> enable_dashboards = bool<br> scrape_sample_limit = number<br><br><br> flux_gitrepository_name = string<br> flux_gitrepository_url = string<br> flux_gitrepository_branch = string<br> flux_kustomization_name = string<br> flux_kustomization_path = string<br><br> grafana_dashboard_url = string<br><br> prometheus_metrics_endpoint = string<br> })</pre> | `null` | no |
117117
| <a name="input_ksm_config"></a> [ksm\_config](#input\_ksm\_config) | Kube State metrics configuration | <pre>object({<br> create_namespace = bool<br> k8s_namespace = string<br> helm_chart_name = string<br> helm_chart_version = string<br> helm_release_name = string<br> helm_repo_url = string<br> helm_settings = map(string)<br> helm_values = map(any)<br><br> scrape_interval = string<br> scrape_timeout = string<br> })</pre> | <pre>{<br> "create_namespace": true,<br> "helm_chart_name": "kube-state-metrics",<br> "helm_chart_version": "4.24.0",<br> "helm_release_name": "kube-state-metrics",<br> "helm_repo_url": "https://prometheus-community.github.io/helm-charts",<br> "helm_settings": {},<br> "helm_values": {},<br> "k8s_namespace": "kube-system",<br> "scrape_interval": "60s",<br> "scrape_timeout": "15s"<br>}</pre> | no |
118-
| <a name="input_kubeproxy_monitoring_config"></a> [kubeproxy\_monitoring\_config](#input\_kubeproxy\_monitoring\_config) | Config object for kube-proxy monitoring | <pre>object({<br> flux_gitrepository_name = string<br> flux_gitrepository_url = string<br> flux_gitrepository_branch = string<br> flux_kustomization_name = string<br> flux_kustomization_path = string<br><br> dashboards = object({<br> grafana_kubeproxy_dashboard_url = string<br> })<br> })</pre> | `null` | no |
118+
| <a name="input_kubeproxy_monitoring_config"></a> [kubeproxy\_monitoring\_config](#input\_kubeproxy\_monitoring\_config) | Config object for kube-proxy monitoring | <pre>object({<br> flux_gitrepository_name = string<br> flux_gitrepository_url = string<br> flux_gitrepository_branch = string<br> flux_kustomization_name = string<br> flux_kustomization_path = string<br><br> dashboards = object({<br> default = string<br> })<br> })</pre> | `null` | no |
119119
| <a name="input_logs_config"></a> [logs\_config](#input\_logs\_config) | Configuration object for logs collection | <pre>object({<br> cw_log_retention_days = number<br> })</pre> | <pre>{<br> "cw_log_retention_days": 90<br>}</pre> | no |
120120
| <a name="input_managed_prometheus_cross_account_role"></a> [managed\_prometheus\_cross\_account\_role](#input\_managed\_prometheus\_cross\_account\_role) | Amazon Managed Prometheus Workspace's Account Role Arn | `string` | `""` | no |
121121
| <a name="input_managed_prometheus_workspace_endpoint"></a> [managed\_prometheus\_workspace\_endpoint](#input\_managed\_prometheus\_workspace\_endpoint) | Amazon Managed Prometheus Workspace Endpoint | `string` | `""` | no |

modules/eks-monitoring/locals.tf

Lines changed: 29 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,9 @@ locals {
3939

4040
scrape_sample_limit = 1000
4141

42-
flux_gitrepository_name = "aws-observability-accelerator"
43-
flux_gitrepository_url = "https://github.com/aws-observability/aws-observability-accelerator"
44-
flux_gitrepository_branch = "v0.2.0"
42+
flux_gitrepository_name = var.flux_gitrepository_name
43+
flux_gitrepository_url = var.flux_gitrepository_url
44+
flux_gitrepository_branch = var.flux_gitrepository_branch
4545
flux_kustomization_name = "grafana-dashboards-java"
4646
flux_kustomization_path = "./artifacts/grafana-operator-manifests/eks/java"
4747

@@ -60,9 +60,9 @@ locals {
6060

6161
scrape_sample_limit = 1000
6262

63-
flux_gitrepository_name = "aws-observability-accelerator"
64-
flux_gitrepository_url = "https://github.com/aws-observability/aws-observability-accelerator"
65-
flux_gitrepository_branch = "v0.2.0"
63+
flux_gitrepository_name = var.flux_gitrepository_name
64+
flux_gitrepository_url = var.flux_gitrepository_url
65+
flux_gitrepository_branch = var.flux_gitrepository_branch
6666
flux_kustomization_name = "grafana-dashboards-nginx"
6767
flux_kustomization_path = "./artifacts/grafana-operator-manifests/eks/nginx"
6868

@@ -81,9 +81,9 @@ locals {
8181

8282
scrape_sample_limit = 1000
8383

84-
flux_gitrepository_name = "aws-observability-accelerator"
85-
flux_gitrepository_url = "https://github.com/aws-observability/aws-observability-accelerator"
86-
flux_gitrepository_branch = "v0.2.0"
84+
flux_gitrepository_name = var.flux_gitrepository_name
85+
flux_gitrepository_url = var.flux_gitrepository_url
86+
flux_gitrepository_branch = var.flux_gitrepository_branch
8787
flux_kustomization_name = "grafana-dashboards-istio"
8888
flux_kustomization_path = "./artifacts/grafana-operator-manifests/eks/istio"
8989

@@ -100,42 +100,42 @@ locals {
100100

101101
apiserver_monitoring_config = {
102102
# can be overriden by providing a config
103-
flux_gitrepository_name = "aws-observability-accelerator"
104-
flux_gitrepository_url = "https://github.com/aws-observability/aws-observability-accelerator"
105-
flux_gitrepository_branch = "v0.2.0"
106-
flux_kustomization_name = "grafana-dashboards-apiserver"
107-
flux_kustomization_path = "./artifacts/grafana-operator-manifests/eks/apiserver"
103+
flux_gitrepository_name = try(var.apiserver_monitoring_config.flux_gitrepository_name, var.flux_gitrepository_name)
104+
flux_gitrepository_url = try(var.apiserver_monitoring_config.flux_gitrepository_url, var.flux_gitrepository_url)
105+
flux_gitrepository_branch = try(var.apiserver_monitoring_config.flux_gitrepository_branch, var.flux_gitrepository_branch)
106+
flux_kustomization_name = try(var.apiserver_monitoring_config.flux_kustomization_name, "grafana-dashboards-apiserver")
107+
flux_kustomization_path = try(var.apiserver_monitoring_config.flux_kustomization_path, "./artifacts/grafana-operator-manifests/eks/apiserver")
108108

109109
dashboards = {
110-
basic = "https://raw.githubusercontent.com/aws-observability/aws-observability-accelerator/v0.2.0/artifacts/grafana-dashboards/eks/apiserver/apiserver-basic.json"
111-
advanced = "https://raw.githubusercontent.com/aws-observability/aws-observability-accelerator/v0.2.0/artifacts/grafana-dashboards/eks/apiserver/apiserver-advanced.json"
112-
troubleshooting = "https://raw.githubusercontent.com/aws-observability/aws-observability-accelerator/v0.2.0/artifacts/grafana-dashboards/eks/apiserver/apiserver-troubleshooting.json"
110+
basic = try(var.apiserver_monitoring_config.dashboards.basic, "https://raw.githubusercontent.com/aws-observability/aws-observability-accelerator/v0.2.0/artifacts/grafana-dashboards/eks/apiserver/apiserver-basic.json")
111+
advanced = try(var.apiserver_monitoring_config.dashboards.advanced, "https://raw.githubusercontent.com/aws-observability/aws-observability-accelerator/v0.2.0/artifacts/grafana-dashboards/eks/apiserver/apiserver-advanced.json")
112+
troubleshooting = try(var.apiserver_monitoring_config.dashboards.troubleshooting, "https://raw.githubusercontent.com/aws-observability/aws-observability-accelerator/v0.2.0/artifacts/grafana-dashboards/eks/apiserver/apiserver-troubleshooting.json")
113113
}
114114
}
115115

116116
adothealth_monitoring_config = {
117117
# can be overriden by providing a config
118-
flux_gitrepository_name = "aws-observability-accelerator"
119-
flux_gitrepository_url = "https://github.com/aws-observability/aws-observability-accelerator"
120-
flux_gitrepository_branch = "v0.2.0"
121-
flux_kustomization_name = "grafana-dashboards-adothealth"
122-
flux_kustomization_path = "./artifacts/grafana-operator-manifests/eks/adot"
118+
flux_gitrepository_name = try(var.adothealth_monitoring_config.flux_gitrepository_name, var.flux_gitrepository_name)
119+
flux_gitrepository_url = try(var.adothealth_monitoring_config.flux_gitrepository_url, var.flux_gitrepository_url)
120+
flux_gitrepository_branch = try(var.adothealth_monitoring_config.flux_gitrepository_branch, var.flux_gitrepository_branch)
121+
flux_kustomization_name = try(var.adothealth_monitoring_config.flux_kustomization_name, "grafana-dashboards-adothealth")
122+
flux_kustomization_path = try(var.adothealth_monitoring_config.flux_kustomization_path, "./artifacts/grafana-operator-manifests/eks/adot")
123123

124124
dashboards = {
125-
health = "https://raw.githubusercontent.com/aws-observability/aws-observability-accelerator/v0.2.0/artifacts/grafana-dashboards/adot/adothealth.json"
125+
health = try(var.adothealth_monitoring_config.dashboards.health, "https://raw.githubusercontent.com/aws-observability/aws-observability-accelerator/v0.2.0/artifacts/grafana-dashboards/adot/adothealth.json")
126126
}
127127
}
128128

129129
kubeproxy_monitoring_config = {
130130
# can be overriden by providing a config
131-
flux_gitrepository_name = "aws-observability-accelerator"
132-
flux_gitrepository_url = "https://github.com/aws-observability/aws-observability-accelerator"
133-
flux_gitrepository_branch = "v0.2.0"
134-
flux_kustomization_name = "grafana-dashboards-kubeproxy"
135-
flux_kustomization_path = "./artifacts/grafana-operator-manifests/eks/kube-proxy"
131+
flux_gitrepository_name = try(var.kubeproxy_monitoring_config.flux_gitrepository_name, var.flux_gitrepository_name)
132+
flux_gitrepository_url = try(var.kubeproxy_monitoring_config.flux_gitrepository_url, var.flux_gitrepository_url)
133+
flux_gitrepository_branch = try(var.kubeproxy_monitoring_config.flux_gitrepository_branch, var.flux_gitrepository_branch)
134+
flux_kustomization_name = try(var.kubeproxy_monitoring_config.flux_kustomization_name, "grafana-dashboards-kubeproxy")
135+
flux_kustomization_path = try(var.kubeproxy_monitoring_config.flux_kustomization_path, "./artifacts/grafana-operator-manifests/eks/kube-proxy")
136136

137137
dashboards = {
138-
default = "https://raw.githubusercontent.com/aws-observability/aws-observability-accelerator/v0.2.0/artifacts/grafana-dashboards/eks/kube-proxy/kube-proxy.json"
138+
default = try(var.kubeproxy_monitoring_config.dashboards.default, "https://raw.githubusercontent.com/aws-observability/aws-observability-accelerator/v0.2.0/artifacts/grafana-dashboards/eks/kube-proxy/kube-proxy.json")
139139
}
140140
}
141141
}

modules/eks-monitoring/variables.tf

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -544,7 +544,7 @@ variable "adothealth_monitoring_config" {
544544
flux_kustomization_path = string
545545

546546
dashboards = object({
547-
grafana_adothealth_dashboard_url = string
547+
health = string
548548
})
549549
})
550550

@@ -562,7 +562,7 @@ variable "kubeproxy_monitoring_config" {
562562
flux_kustomization_path = string
563563

564564
dashboards = object({
565-
grafana_kubeproxy_dashboard_url = string
565+
default = string
566566
})
567567
})
568568

0 commit comments

Comments
 (0)