mirror of
https://github.com/storytold/terraform-aws-observability-accelerator.git
synced 2026-10-09 00:09:43 +00:00
Move all dashboards to GitOps (#175)
* Typo * Remove Grafana provider * Temp: move dashbaords to gitOps * Move external labels to resource attributes * Avoid DDoS with using 0.0.0.0 * Pre-commit * Transition in two steps Will need to remove provider in a separate version to provide a transition path as removing this will break terraform and leave orphans in the state * Move patterns' dashboards creation to gitOps Standardize config objects for patterns as well * Pre-commit * Create AMP dashboard from external source with Grafana provider * Fix deprecated option * Fix Flux requirements * Run pre-commit * Update example with operator * Cleanup examples * Update multicluster example * Update multicluster example * Drop dead variable * Update docs * Change GitOps branch name * Update docs * Replacing Secrets Manager to SSM to store Grafana API Key (#178) * Fixing SSM * Fixing SSM * Replacing Secrets Manager with SSM * Replacing Secrets Manager with SSM * Update architecture diagram * Update architecture diagram * Update README.md * Update index.md * Fixing Grafana Operator Version * Fix multicluster example * Update docs --------- Co-authored-by: Ela AWS <51791117+elamaran11@users.noreply.github.com> Co-authored-by: Elamaran Shanmugam <elamaran.shan@gmail.com>
This commit is contained in:
@@ -3,8 +3,6 @@ module "aws_observability_accelerator" {
|
||||
aws_region = var.eks_cluster_1_region
|
||||
enable_managed_prometheus = false
|
||||
enable_alertmanager = true
|
||||
create_dashboard_folder = true
|
||||
create_prometheus_data_source = true
|
||||
grafana_api_key = var.grafana_api_key
|
||||
managed_prometheus_workspace_region = null
|
||||
managed_prometheus_workspace_id = var.managed_prometheus_workspace_id
|
||||
@@ -24,23 +22,18 @@ module "eks_cluster_1_monitoring" {
|
||||
|
||||
# This configuration section results in actions performed on AMG and AMP; and it needs to be done just once
|
||||
# And hence, this in performed in conjunction with the setup of the eks_cluster_1 EKS cluster
|
||||
enable_dashboards = true
|
||||
enable_alerting_rules = true
|
||||
enable_recording_rules = true
|
||||
enable_dashboards = true
|
||||
enable_external_secrets = true
|
||||
enable_fluxcd = true
|
||||
enable_alerting_rules = true
|
||||
enable_recording_rules = true
|
||||
|
||||
grafana_api_key = var.grafana_api_key
|
||||
dashboards_folder_id = module.aws_observability_accelerator.grafana_dashboards_folder_id
|
||||
managed_prometheus_workspace_id = module.aws_observability_accelerator.managed_prometheus_workspace_id
|
||||
managed_prometheus_workspace_endpoint = module.aws_observability_accelerator.managed_prometheus_workspace_endpoint
|
||||
managed_prometheus_workspace_region = module.aws_observability_accelerator.managed_prometheus_workspace_region
|
||||
grafana_url = module.aws_observability_accelerator.managed_grafana_workspace_endpoint
|
||||
|
||||
java_config = {
|
||||
enable_alerting_rules = true
|
||||
enable_recording_rules = true
|
||||
scrape_sample_limit = 1
|
||||
}
|
||||
|
||||
prometheus_config = {
|
||||
global_scrape_interval = "60s"
|
||||
global_scrape_timeout = "15s"
|
||||
@@ -68,23 +61,17 @@ module "eks_cluster_2_monitoring" {
|
||||
|
||||
# Since the following were enabled in conjunction with the set up of the
|
||||
# eks_cluster_1 EKS cluster, we will skip them with the eks_cluster_2 EKS cluster
|
||||
enable_dashboards = false
|
||||
enable_alerting_rules = false
|
||||
enable_recording_rules = false
|
||||
enable_dashboards = false
|
||||
enable_external_secrets = false
|
||||
enable_fluxcd = false
|
||||
enable_alerting_rules = false
|
||||
enable_recording_rules = false
|
||||
|
||||
grafana_api_key = var.grafana_api_key
|
||||
dashboards_folder_id = module.aws_observability_accelerator.grafana_dashboards_folder_id
|
||||
managed_prometheus_workspace_id = module.aws_observability_accelerator.managed_prometheus_workspace_id
|
||||
managed_prometheus_workspace_endpoint = module.aws_observability_accelerator.managed_prometheus_workspace_endpoint
|
||||
managed_prometheus_workspace_region = module.aws_observability_accelerator.managed_prometheus_workspace_region
|
||||
grafana_url = module.aws_observability_accelerator.managed_grafana_workspace_endpoint
|
||||
|
||||
java_config = {
|
||||
enable_alerting_rules = false # addressed while setting up the eks_cluster_1 EKS cluster
|
||||
enable_recording_rules = false # addressed while setting up the eks_cluster_1 EKS cluster
|
||||
scrape_sample_limit = 1
|
||||
}
|
||||
|
||||
prometheus_config = {
|
||||
global_scrape_interval = "60s"
|
||||
global_scrape_timeout = "15s"
|
||||
|
||||
@@ -236,8 +236,6 @@ terraform destroy -var-file=terraform.tfvars
|
||||
| <a name="output_aws_region"></a> [aws\_region](#output\_aws\_region) | AWS Region |
|
||||
| <a name="output_eks_cluster_id"></a> [eks\_cluster\_id](#output\_eks\_cluster\_id) | EKS Cluster Id |
|
||||
| <a name="output_eks_cluster_version"></a> [eks\_cluster\_version](#output\_eks\_cluster\_version) | EKS Cluster version |
|
||||
| <a name="output_grafana_dashboard_urls"></a> [grafana\_dashboard\_urls](#output\_grafana\_dashboard\_urls) | URLs for dashboards created |
|
||||
| <a name="output_grafana_prometheus_datasource_test"></a> [grafana\_prometheus\_datasource\_test](#output\_grafana\_prometheus\_datasource\_test) | Grafana save & test URL for Amazon Managed Prometheus workspace |
|
||||
| <a name="output_managed_prometheus_workspace_endpoint"></a> [managed\_prometheus\_workspace\_endpoint](#output\_managed\_prometheus\_workspace\_endpoint) | Amazon Managed Prometheus workspace endpoint |
|
||||
| <a name="output_managed_prometheus_workspace_id"></a> [managed\_prometheus\_workspace\_id](#output\_managed\_prometheus\_workspace\_id) | Amazon Managed Prometheus workspace ID |
|
||||
<!-- END OF PRE-COMMIT-TERRAFORM DOCS HOOK -->
|
||||
|
||||
@@ -79,10 +79,8 @@ module "eks_monitoring" {
|
||||
eks_cluster_id = var.eks_cluster_id
|
||||
|
||||
# control the publishing of dashboards by specifying the boolean value for the variable 'enable_dashboards', default is 'true'
|
||||
# the intention to publish is overruled depending upon whether grafana dashboard folder is created by the observability accelerator
|
||||
enable_dashboards = module.aws_observability_accelerator.grafana_dashboard_folder_created ? var.enable_dashboards : false
|
||||
enable_dashboards = var.enable_dashboards
|
||||
|
||||
dashboards_folder_id = module.aws_observability_accelerator.grafana_dashboards_folder_id
|
||||
managed_prometheus_workspace_id = module.aws_observability_accelerator.managed_prometheus_workspace_id
|
||||
|
||||
managed_prometheus_workspace_endpoint = module.aws_observability_accelerator.managed_prometheus_workspace_endpoint
|
||||
|
||||
@@ -13,16 +13,6 @@ output "managed_prometheus_workspace_id" {
|
||||
value = module.aws_observability_accelerator.managed_prometheus_workspace_id
|
||||
}
|
||||
|
||||
output "grafana_dashboard_urls" {
|
||||
description = "URLs for dashboards created"
|
||||
value = module.eks_monitoring.grafana_dashboard_urls
|
||||
}
|
||||
|
||||
output "grafana_prometheus_datasource_test" {
|
||||
description = "Grafana save & test URL for Amazon Managed Prometheus workspace"
|
||||
value = module.aws_observability_accelerator.grafana_prometheus_datasource_test
|
||||
}
|
||||
|
||||
output "eks_cluster_version" {
|
||||
description = "EKS Cluster version"
|
||||
value = module.eks_monitoring.eks_cluster_version
|
||||
|
||||
@@ -247,8 +247,6 @@ add this `managed_prometheus_region=xxx` and `managed_prometheus_workspace_id=ws
|
||||
| <a name="output_aws_region"></a> [aws\_region](#output\_aws\_region) | AWS Region |
|
||||
| <a name="output_eks_cluster_id"></a> [eks\_cluster\_id](#output\_eks\_cluster\_id) | EKS Cluster Id |
|
||||
| <a name="output_eks_cluster_version"></a> [eks\_cluster\_version](#output\_eks\_cluster\_version) | EKS Cluster version |
|
||||
| <a name="output_grafana_dashboard_urls"></a> [grafana\_dashboard\_urls](#output\_grafana\_dashboard\_urls) | URLs for dashboards created |
|
||||
| <a name="output_grafana_prometheus_datasource_test"></a> [grafana\_prometheus\_datasource\_test](#output\_grafana\_prometheus\_datasource\_test) | Grafana save & test URL for Amazon Managed Prometheus workspace |
|
||||
| <a name="output_managed_prometheus_workspace_endpoint"></a> [managed\_prometheus\_workspace\_endpoint](#output\_managed\_prometheus\_workspace\_endpoint) | Amazon Managed Prometheus workspace endpoint |
|
||||
| <a name="output_managed_prometheus_workspace_id"></a> [managed\_prometheus\_workspace\_id](#output\_managed\_prometheus\_workspace\_id) | Amazon Managed Prometheus workspace ID |
|
||||
<!-- END OF PRE-COMMIT-TERRAFORM DOCS HOOK -->
|
||||
|
||||
@@ -75,10 +75,8 @@ module "eks_monitoring" {
|
||||
grafana_url = module.aws_observability_accelerator.managed_grafana_workspace_endpoint
|
||||
|
||||
# control the publishing of dashboards by specifying the boolean value for the variable 'enable_dashboards', default is 'true'
|
||||
# the intention to publish is overruled depending upon whether grafana dashboard folder is created by the observability accelerator
|
||||
enable_dashboards = module.aws_observability_accelerator.grafana_dashboard_folder_created ? var.enable_dashboards : false
|
||||
enable_dashboards = var.enable_dashboards
|
||||
|
||||
dashboards_folder_id = module.aws_observability_accelerator.grafana_dashboards_folder_id
|
||||
managed_prometheus_workspace_id = module.aws_observability_accelerator.managed_prometheus_workspace_id
|
||||
|
||||
managed_prometheus_workspace_endpoint = module.aws_observability_accelerator.managed_prometheus_workspace_endpoint
|
||||
|
||||
@@ -13,16 +13,6 @@ output "managed_prometheus_workspace_id" {
|
||||
value = module.aws_observability_accelerator.managed_prometheus_workspace_id
|
||||
}
|
||||
|
||||
output "grafana_dashboard_urls" {
|
||||
description = "URLs for dashboards created"
|
||||
value = module.eks_monitoring.grafana_dashboard_urls
|
||||
}
|
||||
|
||||
output "grafana_prometheus_datasource_test" {
|
||||
description = "Grafana save & test URL for Amazon Managed Prometheus workspace"
|
||||
value = module.aws_observability_accelerator.grafana_prometheus_datasource_test
|
||||
}
|
||||
|
||||
output "eks_cluster_version" {
|
||||
description = "EKS Cluster version"
|
||||
value = module.eks_monitoring.eks_cluster_version
|
||||
|
||||
@@ -52,7 +52,7 @@ View the full documentation for this example [here](https://aws-observability.gi
|
||||
|------|-------------|------|---------|:--------:|
|
||||
| <a name="input_aws_region"></a> [aws\_region](#input\_aws\_region) | AWS Region | `string` | n/a | yes |
|
||||
| <a name="input_eks_cluster_id"></a> [eks\_cluster\_id](#input\_eks\_cluster\_id) | Name of the EKS cluster | `string` | `"eks-cluster-with-vpc"` | no |
|
||||
| <a name="input_enable_dashboards"></a> [enable\_dashboards](#input\_enable\_dashboards) | Enables or disables curated dashboards | `bool` | `true` | no |
|
||||
| <a name="input_enable_dashboards"></a> [enable\_dashboards](#input\_enable\_dashboards) | Enables or disables curated dashboards. Dashboards are managed by the Grafana Operator | `bool` | `true` | no |
|
||||
| <a name="input_grafana_api_key"></a> [grafana\_api\_key](#input\_grafana\_api\_key) | API key for authorizing the Grafana provider to make changes to Amazon Managed Grafana | `string` | n/a | yes |
|
||||
| <a name="input_managed_grafana_workspace_id"></a> [managed\_grafana\_workspace\_id](#input\_managed\_grafana\_workspace\_id) | Amazon Managed Grafana Workspace ID | `string` | n/a | yes |
|
||||
| <a name="input_managed_prometheus_workspace_id"></a> [managed\_prometheus\_workspace\_id](#input\_managed\_prometheus\_workspace\_id) | Amazon Managed Service for Prometheus Workspace ID | `string` | `""` | no |
|
||||
@@ -64,9 +64,4 @@ View the full documentation for this example [here](https://aws-observability.gi
|
||||
| <a name="output_aws_region"></a> [aws\_region](#output\_aws\_region) | AWS Region |
|
||||
| <a name="output_eks_cluster_id"></a> [eks\_cluster\_id](#output\_eks\_cluster\_id) | EKS Cluster Id |
|
||||
| <a name="output_eks_cluster_version"></a> [eks\_cluster\_version](#output\_eks\_cluster\_version) | EKS Cluster version |
|
||||
| <a name="output_grafana_dashboard_urls"></a> [grafana\_dashboard\_urls](#output\_grafana\_dashboard\_urls) | URLs for dashboards created |
|
||||
| <a name="output_grafana_prometheus_datasource_test"></a> [grafana\_prometheus\_datasource\_test](#output\_grafana\_prometheus\_datasource\_test) | Grafana save & test URL for Amazon Managed Prometheus workspace |
|
||||
| <a name="output_managed_grafana_workspace_id"></a> [managed\_grafana\_workspace\_id](#output\_managed\_grafana\_workspace\_id) | Amazon Managed Grafana workspace ID |
|
||||
| <a name="output_managed_prometheus_workspace_endpoint"></a> [managed\_prometheus\_workspace\_endpoint](#output\_managed\_prometheus\_workspace\_endpoint) | Amazon Managed Prometheus workspace endpoint |
|
||||
| <a name="output_managed_prometheus_workspace_id"></a> [managed\_prometheus\_workspace\_id](#output\_managed\_prometheus\_workspace\_id) | Amazon Managed Prometheus workspace ID |
|
||||
<!-- END OF PRE-COMMIT-TERRAFORM DOCS HOOK -->
|
||||
|
||||
@@ -50,6 +50,8 @@ module "aws_observability_accelerator" {
|
||||
enable_alertmanager = true
|
||||
|
||||
# reusing existing Amazon Managed Grafana workspace
|
||||
# This is not needed anymore but kept here for a two step transition into
|
||||
# removing the Terraform Grafana provider
|
||||
managed_grafana_workspace_id = var.managed_grafana_workspace_id
|
||||
grafana_api_key = var.grafana_api_key
|
||||
|
||||
@@ -85,10 +87,8 @@ module "eks_monitoring" {
|
||||
grafana_url = module.aws_observability_accelerator.managed_grafana_workspace_endpoint
|
||||
|
||||
# control the publishing of dashboards by specifying the boolean value for the variable 'enable_dashboards', default is 'true'
|
||||
# the intention to publish is overruled depending upon whether grafana dashboard folder is created by the observability accelerator
|
||||
enable_dashboards = module.aws_observability_accelerator.grafana_dashboard_folder_created ? var.enable_dashboards : false
|
||||
enable_dashboards = var.enable_dashboards
|
||||
|
||||
dashboards_folder_id = module.aws_observability_accelerator.grafana_dashboards_folder_id
|
||||
managed_prometheus_workspace_id = module.aws_observability_accelerator.managed_prometheus_workspace_id
|
||||
|
||||
managed_prometheus_workspace_endpoint = module.aws_observability_accelerator.managed_prometheus_workspace_endpoint
|
||||
|
||||
@@ -3,30 +3,6 @@ output "aws_region" {
|
||||
value = module.aws_observability_accelerator.aws_region
|
||||
}
|
||||
|
||||
output "managed_prometheus_workspace_endpoint" {
|
||||
description = "Amazon Managed Prometheus workspace endpoint"
|
||||
value = module.aws_observability_accelerator.managed_prometheus_workspace_endpoint
|
||||
}
|
||||
|
||||
output "managed_prometheus_workspace_id" {
|
||||
description = "Amazon Managed Prometheus workspace ID"
|
||||
value = module.aws_observability_accelerator.managed_prometheus_workspace_id
|
||||
}
|
||||
|
||||
output "managed_grafana_workspace_id" {
|
||||
description = "Amazon Managed Grafana workspace ID"
|
||||
value = module.aws_observability_accelerator.managed_grafana_workspace_id
|
||||
}
|
||||
|
||||
output "grafana_dashboard_urls" {
|
||||
description = "URLs for dashboards created"
|
||||
value = module.eks_monitoring.grafana_dashboard_urls
|
||||
}
|
||||
|
||||
output "grafana_prometheus_datasource_test" {
|
||||
description = "Grafana save & test URL for Amazon Managed Prometheus workspace"
|
||||
value = module.aws_observability_accelerator.grafana_prometheus_datasource_test
|
||||
}
|
||||
output "eks_cluster_version" {
|
||||
description = "EKS Cluster version"
|
||||
value = module.eks_monitoring.eks_cluster_version
|
||||
|
||||
@@ -27,7 +27,7 @@ variable "grafana_api_key" {
|
||||
}
|
||||
|
||||
variable "enable_dashboards" {
|
||||
description = "Enables or disables curated dashboards"
|
||||
description = "Enables or disables curated dashboards. Dashboards are managed by the Grafana Operator"
|
||||
type = bool
|
||||
default = true
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user