Files
terraform-aws-observability…/examples/existing-cluster-with-base-and-infra
Jens-Uwe Walther 4d88d16cb6 Add Kubernetes admin dashboards for api-server (#208)
* added workqueue related and apiserver_storage_db_total_size_in_bytes (available since K8s/EKS v1.26+) metrics into kube-admin scrape job

* chnanged OTEL scrape config and recording rules file to make apiserver Grafana dashboards working

* added APISERVER Grafana dashboards into variables, Flux kustomization

* added original kube-prom-stack kube-apiserver scrape config into OTEL

* Revert "added original kube-prom-stack kube-apiserver scrape config into OTEL"
because this scrape config does not work :-(

This reverts commit 715db895c656af09430e3d6ada2087bd1828413f.

* added API server troubleshoting dashboard

* removed empty line for clarity

* make API serve rmonitoring default to true but can be disabled as well

* Update eks-apiserver.md

* updated eks-monitoring/README.md according to pre-commit

---------

Co-authored-by: Jens-Uwe Walther <waltju@amazon.com>
2023-08-09 16:53:16 +02:00
..

Existing Cluster with the AWS Observability accelerator base module and Infrastructure monitoring

This example demonstrates how to use the AWS Observability Accelerator Terraform modules with Infrastructure monitoring enabled. The current example deploys the AWS Distro for OpenTelemetry Operator for Amazon EKS with its requirements and make use of an existing Amazon Managed Grafana workspace. It creates a new Amazon Managed Service for Prometheus workspace unless provided with an existing one to reuse.

It uses the EKS monitoring module to provide an existing EKS cluster with an OpenTelemetry collector, curated Grafana dashboards, Prometheus alerting and recording rules with multiple configuration options on the cluster infrastructure.

View the full documentation for this example here

Requirements

Name Version
terraform >= 1.1.0
aws >= 4.0.0
helm >= 2.4.1
kubectl >= 1.14
kubernetes >= 2.10

Providers

Name Version
aws >= 4.0.0

Modules

Name Source Version
aws_observability_accelerator ../../ n/a
eks_monitoring ../../modules/eks-monitoring n/a

Resources

Name Type
aws_eks_cluster.this data source
aws_eks_cluster_auth.this data source

Inputs

Name Description Type Default Required
aws_region AWS Region string n/a yes
eks_cluster_id Name of the EKS cluster string "eks-cluster-with-vpc" no
enable_dashboards Enables or disables curated dashboards. Dashboards are managed by the Grafana Operator bool true no
grafana_api_key API key for authorizing the Grafana provider to make changes to Amazon Managed Grafana string n/a yes
managed_grafana_workspace_id Amazon Managed Grafana Workspace ID string n/a yes
managed_prometheus_workspace_id Amazon Managed Service for Prometheus Workspace ID string "" no

Outputs

Name Description
aws_region AWS Region
eks_cluster_id EKS Cluster Id
eks_cluster_version EKS Cluster version