# Existing Cluster with the AWS Observability accelerator base module and Infrastructure monitoring --- This example demonstrates how to use the AWS Observability Accelerator Terraform module with Infrastructure monitoring enabled. The current example deploys the [AWS Distro for OpenTelemetry Operator](https://docs.aws.amazon.com/eks/latest/userguide/opentelemetry.html) for Amazon EKS with its requirements and make use of existing Managed Service for Prometheus and Amazon Managed Grafana workspaces. It also uses the `infrastructure monitoring`, one of our [workloads modules](../../modules/workloads/) to provide an existing EKS cluster with an OpenTelemetry collector, curated Grafana dashboards, Prometheus alerting and recording rules with multiple configuration options. #### ⚠️ Grafana API Key ## Prerequisites 1. EKS cluster 2. Prometheus 3. Grafana ## Deploy ```sh terraform apply ``` ## Requirements | Name | Version | |------|---------| | [grafana](#requirement\_grafana) | 1.25.0 | ## Providers | Name | Version | |------|---------| | [aws](#provider\_aws) | n/a | ## Modules | Name | Source | Version | |------|--------|---------| | [eks\_observability\_accelerator](#module\_eks\_observability\_accelerator) | ../../ | n/a | | [workloads\_infra](#module\_workloads\_infra) | ../../modules/workloads/infra | n/a | ## Resources | Name | Type | |------|------| | [aws_eks_cluster.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/eks_cluster) | data source | | [aws_eks_cluster_auth.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/eks_cluster_auth) | data source | ## Inputs | Name | Description | Type | Default | Required | |------|-------------|------|---------|:--------:| | [aws\_region](#input\_aws\_region) | AWS Region | `string` | n/a | yes | | [eks\_cluster\_id](#input\_eks\_cluster\_id) | EKS Cluster Id | `string` | n/a | yes | | [grafana\_api\_key](#input\_grafana\_api\_key) | API key for authorizing the Grafana provider to make changes to Amazon Managed Grafana | `string` | `""` | no | | [grafana\_endpoint](#input\_grafana\_endpoint) | Grafana endpoint | `string` | `null` | no | | [managed\_grafana\_workspace\_id](#input\_managed\_grafana\_workspace\_id) | n/a | `string` | `""` | no | | [managed\_prometheus\_endpoint](#input\_managed\_prometheus\_endpoint) | n/a | `string` | `""` | no | | [managed\_prometheus\_region](#input\_managed\_prometheus\_region) | n/a | `string` | `""` | no | | [managed\_prometheus\_workspace\_id](#input\_managed\_prometheus\_workspace\_id) | n/a | `string` | `""` | no | ## Outputs | Name | Description | |------|-------------| | [aws\_region](#output\_aws\_region) | AWS Region | | [eks\_cluster\_id](#output\_eks\_cluster\_id) | EKS Cluster Id | | [eks\_cluster\_version](#output\_eks\_cluster\_version) | n/a | | [prometheus\_endpoint](#output\_prometheus\_endpoint) | n/a | | [prometheus\_id](#output\_prometheus\_id) | n/a |