mirror of
https://github.com/storytold/terraform-aws-observability-accelerator.git
synced 2026-10-09 00:09:43 +00:00
8.5 KiB
8.5 KiB
Infrastructure monitoring
This module provides EKS cluster monitoring with the following resources:
- AWS Distro For OpenTelemetry Operator and Collector
- AWS Managed Grafana Dashboard and data source
- Alerts and recording rules with AWS Managed Service for Prometheus
This module is inspired from the open source kube-prometheus-stack
Requirements
| Name | Version |
|---|---|
| terraform | >= 1.0.0 |
| aws | >= 4.0.0 |
| grafana | >= 1.25.0 |
| helm | >= 2.4.1 |
| kubectl | >= 1.14 |
| kubernetes | >= 2.10 |
Providers
| Name | Version |
|---|---|
| aws | >= 4.0.0 |
| grafana | >= 1.25.0 |
| helm | >= 2.4.1 |
Modules
| Name | Source | Version |
|---|---|---|
| helm_addon | github.com/aws-ia/terraform-aws-eks-blueprints/modules/kubernetes-addons/helm-addon | n/a |
Resources
| Name | Type |
|---|---|
| aws_prometheus_rule_group_namespace.alerting_rules | resource |
| aws_prometheus_rule_group_namespace.recording_rules | resource |
| grafana_dashboard.cluster | resource |
| grafana_dashboard.clusternw | resource |
| grafana_dashboard.kubelet | resource |
| grafana_dashboard.nodes | resource |
| grafana_dashboard.nsnw | resource |
| grafana_dashboard.nsnwworkload | resource |
| grafana_dashboard.nspods | resource |
| grafana_dashboard.nsworkload | resource |
| grafana_dashboard.nwworload | resource |
| grafana_dashboard.podnetwork | resource |
| grafana_dashboard.pods | resource |
| grafana_dashboard.workloads | resource |
| helm_release.kube_state_metrics | resource |
| helm_release.prometheus_node_exporter | resource |
| aws_caller_identity.current | data source |
| aws_eks_cluster.eks_cluster | data source |
| aws_partition.current | data source |
| aws_region.current | data source |
Inputs
| Name | Description | Type | Default | Required |
|---|---|---|---|---|
| dashboards_folder_id | Grafana folder ID for automatic dashboards | string |
n/a | yes |
| eks_cluster_id | EKS Cluster Id | string |
n/a | yes |
| enable_alerting_rules | Enables or disables Managed Prometheus alerting rules | bool |
true |
no |
| enable_dashboards | Enables or disables curated dashboards | bool |
true |
no |
| enable_kube_state_metrics | Enables or disables Kube State metrics exporter. Disabling this might affect some data in the dashboards | bool |
true |
no |
| enable_node_exporter | Enables or disables Node exporter. Disabling this might affect some data in the dashboards | bool |
true |
no |
| enable_recording_rules | Enables or disables Managed Prometheus recording rules. Disabling this might affect some data in the dashboards | bool |
true |
no |
| helm_config | Helm Config for Prometheus | any |
{} |
no |
| irsa_iam_permissions_boundary | IAM permissions boundary for IRSA roles | string |
"" |
no |
| irsa_iam_role_path | IAM role path for IRSA roles | string |
"/" |
no |
| ksm_config | Kube State metrics configuration | object({ |
{ |
no |
| managed_prometheus_workspace_endpoint | Amazon Managed Prometheus Workspace Endpoint | string |
null |
no |
| managed_prometheus_workspace_id | Amazon Managed Prometheus Workspace ID | string |
null |
no |
| managed_prometheus_workspace_region | Amazon Managed Prometheus Workspace's Region | string |
null |
no |
| ne_config | Node exporter configuration | object({ |
{ |
no |
| tags | Additional tags (e.g. map('BusinessUnit,XYZ) |
map(string) |
{} |
no |
Outputs
No outputs.