mirror of
https://github.com/storytold/terraform-aws-observability-accelerator.git
synced 2026-10-09 00:09:43 +00:00
Compose EKS monitoring modules (#115)
* Move modules around * Update amp billing source * Merge Java monitoring to EKS * Update docs * Merge nginx pattern * Pre-commit * Add save and test URL output * Move EKS dependencies to EKS monitoring module * update docs * Update examples and docs * Add java doc * Add NGINX doc * Update nginx doc * Fix amp monitoring example path * Fix pre-commit * Todo: move to main after merge * Update docs, fix tags
This commit is contained in:
@@ -28,6 +28,15 @@ visit the [Amazon EKS cluster monitoring documentation](https://aws-observabilit
|
||||
The sections below demonstrate how you can leverage AWS Observability Accelerator
|
||||
to enable monitoring to an existing EKS cluster.
|
||||
|
||||
### v2.x changes
|
||||
|
||||
v2+ releases introduces couple of breaking changes compared to previous versions:
|
||||
|
||||
- `modules/workloads/infra` module moves to `modules/eks-monitoring`
|
||||
- All EKS configuration options moves from the base module to the `eks-monitoring` module
|
||||
- All EKS workload modules `modules/workloads/{java,nginx}` merge into `eks-monitoring` as configuration options (patterns), see [examples](./examples) to provide a more complete visiblity.
|
||||
- All examples have been updated to reflect these changes
|
||||
|
||||
### Base Module
|
||||
|
||||
The base module allows you to configure the AWS Observability services for your cluster and
|
||||
@@ -38,7 +47,7 @@ and ADOT Operator deployed for you and ready to receive your data.
|
||||
The base module serve as an anchor to the workload modules and cannot run on its own.
|
||||
|
||||
```hcl
|
||||
module "eks_observability_accelerator" {
|
||||
module "aws_observability_accelerator" {
|
||||
# use release tags and check for the latest versions
|
||||
# https://github.com/aws-observability/terraform-aws-observability-accelerator/releases
|
||||
source = "github.com/aws-observability/terraform-aws-observability-accelerator?ref=v1.6.1"
|
||||
@@ -46,7 +55,7 @@ module "eks_observability_accelerator" {
|
||||
aws_region = "eu-west-1"
|
||||
eks_cluster_id = "my-eks-cluster"
|
||||
|
||||
# As Grafana shares a different lifecycle, it's best to use an existing workspace.
|
||||
# As Grafana shares a different lifecycle, we recommend using an existing workspace.
|
||||
managed_grafana_workspace_id = var.managed_grafana_workspace_id
|
||||
grafana_api_key = var.grafana_api_key
|
||||
}
|
||||
@@ -55,7 +64,7 @@ module "eks_observability_accelerator" {
|
||||
You can optionally reuse an existing Amazon Managed Servce for Prometheus Workspace:
|
||||
|
||||
```hcl
|
||||
module "eks_observability_accelerator" {
|
||||
module "aws_observability_accelerator" {
|
||||
# use release tags and check for the latest versions
|
||||
# https://github.com/aws-observability/terraform-aws-observability-accelerator/releases
|
||||
source = "github.com/aws-observability/terraform-aws-observability-accelerator?ref=v1.6.1"
|
||||
@@ -78,10 +87,9 @@ View all the configuration options in the module documentation below.
|
||||
|
||||
### Workload modules
|
||||
|
||||
[Workloads modules](./modules/workloads) are provided, which essentially provide curated
|
||||
[Workloads modules](./modules) are provided, which essentially provide curated
|
||||
metrics collection, alerting rule and Grafana dashboards.
|
||||
|
||||
|
||||
#### Infrastructure monitoring
|
||||
|
||||
```hcl
|
||||
@@ -143,7 +151,6 @@ If you are interested in contributing, see the [Contribution guide](https://gith
|
||||
| Name | Source | Version |
|
||||
|------|--------|---------|
|
||||
| <a name="module_managed_grafana"></a> [managed\_grafana](#module\_managed\_grafana) | terraform-aws-modules/managed-service-grafana/aws | ~> 1.3 |
|
||||
| <a name="module_operator"></a> [operator](#module\_operator) | ./modules/add-ons/adot-operator | n/a |
|
||||
|
||||
## Resources
|
||||
|
||||
@@ -153,10 +160,7 @@ If you are interested in contributing, see the [Contribution guide](https://gith
|
||||
| [aws_prometheus_workspace.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/prometheus_workspace) | resource |
|
||||
| [grafana_data_source.amp](https://registry.terraform.io/providers/grafana/grafana/1.25.0/docs/resources/data_source) | resource |
|
||||
| [grafana_folder.this](https://registry.terraform.io/providers/grafana/grafana/1.25.0/docs/resources/folder) | resource |
|
||||
| [aws_caller_identity.current](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/caller_identity) | data source |
|
||||
| [aws_eks_cluster.eks_cluster](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/eks_cluster) | data source |
|
||||
| [aws_grafana_workspace.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/grafana_workspace) | data source |
|
||||
| [aws_partition.current](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/partition) | data source |
|
||||
| [aws_region.current](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/region) | data source |
|
||||
|
||||
## Inputs
|
||||
@@ -164,15 +168,10 @@ If you are interested in contributing, see the [Contribution guide](https://gith
|
||||
| Name | Description | Type | Default | Required |
|
||||
|------|-------------|------|---------|:--------:|
|
||||
| <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` | n/a | yes |
|
||||
| <a name="input_enable_alertmanager"></a> [enable\_alertmanager](#input\_enable\_alertmanager) | Creates Amazon Managed Service for Prometheus AlertManager for all workloads | `bool` | `false` | no |
|
||||
| <a name="input_enable_amazon_eks_adot"></a> [enable\_amazon\_eks\_adot](#input\_enable\_amazon\_eks\_adot) | Enables the ADOT Operator on the EKS Cluster | `bool` | `true` | no |
|
||||
| <a name="input_enable_cert_manager"></a> [enable\_cert\_manager](#input\_enable\_cert\_manager) | Allow reusing an existing installation of cert-manager | `bool` | `true` | no |
|
||||
| <a name="input_enable_managed_grafana"></a> [enable\_managed\_grafana](#input\_enable\_managed\_grafana) | Creates a new Amazon Managed Grafana Workspace | `bool` | `true` | no |
|
||||
| <a name="input_enable_managed_prometheus"></a> [enable\_managed\_prometheus](#input\_enable\_managed\_prometheus) | Creates a new Amazon Managed Service for Prometheus Workspace | `bool` | `true` | no |
|
||||
| <a name="input_grafana_api_key"></a> [grafana\_api\_key](#input\_grafana\_api\_key) | Grafana API key for the Amazon Managed Grafana workspace | `string` | n/a | yes |
|
||||
| <a name="input_irsa_iam_permissions_boundary"></a> [irsa\_iam\_permissions\_boundary](#input\_irsa\_iam\_permissions\_boundary) | IAM permissions boundary for IRSA roles | `string` | `null` | no |
|
||||
| <a name="input_irsa_iam_role_path"></a> [irsa\_iam\_role\_path](#input\_irsa\_iam\_role\_path) | IAM role path for IRSA roles | `string` | `"/"` | no |
|
||||
| <a name="input_managed_grafana_workspace_id"></a> [managed\_grafana\_workspace\_id](#input\_managed\_grafana\_workspace\_id) | Amazon Managed Grafana Workspace ID | `string` | `""` | no |
|
||||
| <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 |
|
||||
| <a name="input_managed_prometheus_workspace_region"></a> [managed\_prometheus\_workspace\_region](#input\_managed\_prometheus\_workspace\_region) | Region where Amazon Managed Service for Prometheus is deployed | `string` | `null` | no |
|
||||
@@ -183,9 +182,8 @@ If you are interested in contributing, see the [Contribution guide](https://gith
|
||||
| Name | Description |
|
||||
|------|-------------|
|
||||
| <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_dashboards_folder_id"></a> [grafana\_dashboards\_folder\_id](#output\_grafana\_dashboards\_folder\_id) | Grafana folder ID for automatic dashboards. Required by workload modules |
|
||||
| <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_endpoint"></a> [managed\_grafana\_workspace\_endpoint](#output\_managed\_grafana\_workspace\_endpoint) | Amazon Managed Grafana workspace endpoint |
|
||||
| <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 |
|
||||
|
||||
Reference in New Issue
Block a user