Files
terraform-aws-observability…/modules/eks-monitoring/dashboards.tf
T
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

52 lines
1.8 KiB
Terraform

resource "kubectl_manifest" "flux_gitrepository" {
count = var.enable_dashboards ? 1 : 0
yaml_body = <<YAML
apiVersion: source.toolkit.fluxcd.io/v1beta2
kind: GitRepository
metadata:
name: ${var.flux_gitrepository_name}
namespace: flux-system
spec:
interval: 5m0s
url: ${var.flux_gitrepository_url}
ref:
branch: ${var.flux_gitrepository_branch}
YAML
depends_on = [module.external_secrets]
}
resource "kubectl_manifest" "flux_kustomization" {
yaml_body = <<YAML
apiVersion: kustomize.toolkit.fluxcd.io/v1beta2
kind: Kustomization
metadata:
name: ${var.flux_kustomization_name}
namespace: flux-system
spec:
interval: 1m0s
path: ${var.flux_kustomization_path}
prune: true
sourceRef:
kind: GitRepository
name: ${var.flux_gitrepository_name}
postBuild:
substitute:
AMG_AWS_REGION: ${var.managed_prometheus_workspace_region}
AMP_ENDPOINT_URL: ${var.managed_prometheus_workspace_endpoint}
AMG_ENDPOINT_URL: ${var.grafana_url}
GRAFANA_CLUSTER_DASH_URL: ${var.grafana_cluster_dashboard_url}
GRAFANA_APISERVER_BASIC_DASH_URL: ${var.grafana_apiserver_basic_dashboard_url}
GRAFANA_APISERVER_ADVANCED_DASH_URL: ${var.grafana_apiserver_advanced_dashboard_url}
GRAFANA_APISERVER_TROUBLESHOOTING_DASH_URL: ${var.grafana_apiserver_troubleshooting_dashboard_url}
GRAFANA_KUBELET_DASH_URL: ${var.grafana_kubelet_dashboard_url}
GRAFANA_NSWRKLDS_DASH_URL: ${var.grafana_namespace_workloads_dashboard_url}
GRAFANA_NODEEXP_DASH_URL: ${var.grafana_node_exporter_dashboard_url}
GRAFANA_NODES_DASH_URL: ${var.grafana_nodes_dashboard_url}
GRAFANA_WORKLOADS_DASH_URL: ${var.grafana_workloads_dashboard_url}
YAML
count = var.enable_dashboards ? 1 : 0
depends_on = [module.external_secrets]
}