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>
This commit is contained in:
Jens-Uwe Walther
2023-08-09 16:53:16 +02:00
committed by GitHub
parent 9f90ec8845
commit 4d88d16cb6
10 changed files with 197 additions and 8 deletions
+24
View File
@@ -201,6 +201,12 @@ variable "prometheus_config" {
nullable = false
}
variable "enable_apiserver_monitoring" {
description = "Enable EKS kube-apiserver monitoring, alerting and dashboards"
type = bool
default = true
}
variable "enable_tracing" {
description = "Enables tracing with OTLP traces receiver to X-Ray"
type = bool
@@ -440,6 +446,24 @@ variable "grafana_cluster_dashboard_url" {
default = "https://raw.githubusercontent.com/aws-observability/aws-observability-accelerator/main/artifacts/grafana-dashboards/eks/infrastructure/cluster.json"
}
variable "grafana_apiserver_basic_dashboard_url" {
description = "Dashboard URL for Kube-apiserver (basic) Grafana Dashboard JSON"
type = string
default = "https://raw.githubusercontent.com/aws-observability/aws-observability-accelerator/main/artifacts/grafana-dashboards/eks/infrastructure/apiserver-basic.json"
}
variable "grafana_apiserver_advanced_dashboard_url" {
description = "Dashboard URL for Kube-apiserver (advanced) Grafana Dashboard JSON"
type = string
default = "https://raw.githubusercontent.com/aws-observability/aws-observability-accelerator/main/artifacts/grafana-dashboards/eks/infrastructure/apiserver-advanced.json"
}
variable "grafana_apiserver_troubleshooting_dashboard_url" {
description = "Dashboard URL for Kube-apiserver (troubleshooting) Grafana Dashboard JSON"
type = string
default = "https://raw.githubusercontent.com/aws-observability/aws-observability-accelerator/main/artifacts/grafana-dashboards/eks/infrastructure/apiserver-troubleshooting.json"
}
variable "grafana_kubelet_dashboard_url" {
description = "Dashboard URL for Kubelet Grafana Dashboard JSON"
type = string