From 195425bbe0c091f3fa3714b977521a71c445ffa5 Mon Sep 17 00:00:00 2001 From: Devin Buhl Date: Sun, 23 Jul 2023 20:59:20 -0400 Subject: [PATCH] feat: Implement Grafana folders for existing dashboards and add new ones Signed-off-by: Devin Buhl --- .../addons/grafana/app/helmrelease.yaml.j2 | 73 ++++++++++++++++++- .../cilium/app/helmrelease.yaml.j2 | 6 ++ 2 files changed, 76 insertions(+), 3 deletions(-) diff --git a/bootstrap/templates/addons/grafana/app/helmrelease.yaml.j2 b/bootstrap/templates/addons/grafana/app/helmrelease.yaml.j2 index 90171bf8..78e4e2fe 100644 --- a/bootstrap/templates/addons/grafana/app/helmrelease.yaml.j2 +++ b/bootstrap/templates/addons/grafana/app/helmrelease.yaml.j2 @@ -55,42 +55,109 @@ spec: editable: true options: path: /var/lib/grafana/dashboards/default + - name: flux + orgId: 1 + folder: Flux + type: file + disableDeletion: false + editable: true + options: + path: /var/lib/grafana/dashboards/flux + - name: kubernetes + orgId: 1 + folder: Kubernetes + type: file + disableDeletion: false + editable: true + options: + path: /var/lib/grafana/dashboards/kubernetes + - name: nginx + orgId: 1 + folder: Nginx + type: file + disableDeletion: false + editable: true + options: + path: /var/lib/grafana/dashboards/nginx datasources: datasources.yaml: apiVersion: 1 + deleteDatasources: + - { name: Prometheus, orgId: 1 } datasources: - name: Prometheus type: prometheus + uid: prometheus access: proxy url: http://kube-prometheus-stack-prometheus.monitoring.svc.cluster.local:9090 jsonData: prometheusType: Prometheus - uid: prometheus isDefault: true dashboards: default: + cloudflared: + gnetId: 17457 # https://grafana.com/grafana/dashboards/17457?tab=revisions + revision: 6 + datasource: + - { name: DS_PROMETHEUS, value: Prometheus } + external-dns: + gnetId: 15038 # https://grafana.com/grafana/dashboards/15038?tab=revisions + revision: 1 + datasource: Prometheus cert-manager: url: https://raw.githubusercontent.com/monitoring-mixins/website/master/assets/cert-manager/dashboards/cert-manager.json datasource: Prometheus + node-exporter-full: + gnetId: 1860 # https://grafana.com/grafana/dashboards/1860?tab=revisions + revision: 31 + datasource: Prometheus + flux: flux-cluster: url: https://raw.githubusercontent.com/fluxcd/flux2/main/manifests/monitoring/monitoring-config/dashboards/cluster.json datasource: Prometheus flux-control-plane: url: https://raw.githubusercontent.com/fluxcd/flux2/main/manifests/monitoring/monitoring-config/dashboards/control-plane.json datasource: Prometheus - ingress-nginx: + kubernetes: + kubernetes-api-server: + url: https://raw.githubusercontent.com/dotdc/grafana-dashboards-kubernetes/master/dashboards/k8s-system-api-server.json + datasource: Prometheus + kubernetes-coredns: + url: https://raw.githubusercontent.com/dotdc/grafana-dashboards-kubernetes/master/dashboards/k8s-system-coredns.json + datasource: Prometheus + kubernetes-global: + url: https://raw.githubusercontent.com/dotdc/grafana-dashboards-kubernetes/master/dashboards/k8s-views-global.json + datasource: Prometheus + kubernetes-namespaces: + url: https://raw.githubusercontent.com/dotdc/grafana-dashboards-kubernetes/master/dashboards/k8s-views-namespaces.json + datasource: Prometheus + kubernetes-nodes: + url: https://raw.githubusercontent.com/dotdc/grafana-dashboards-kubernetes/master/dashboards/k8s-views-nodes.json + datasource: Prometheus + kubernetes-pods: + url: https://raw.githubusercontent.com/dotdc/grafana-dashboards-kubernetes/master/dashboards/k8s-views-pods.json + datasource: Prometheus + nginx: + nginx: url: https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/grafana/dashboards/nginx.json datasource: Prometheus - ingress-nginx-request-handling-performance: + nginx-request-handling-performance: url: https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/grafana/dashboards/request-handling-performance.json datasource: Prometheus sidecar: dashboards: enabled: true searchNamespace: ALL + labelValue: "" + label: grafana_dashboard + folderAnnotation: grafana_folder + provider: + disableDelete: true + foldersFromFilesStructure: true datasources: enabled: true searchNamespace: ALL + labelValue: "" serviceMonitor: enabled: true ingress: diff --git a/bootstrap/templates/kubernetes/apps/kube-system/cilium/app/helmrelease.yaml.j2 b/bootstrap/templates/kubernetes/apps/kube-system/cilium/app/helmrelease.yaml.j2 index d33e9fb5..b6cae710 100644 --- a/bootstrap/templates/kubernetes/apps/kube-system/cilium/app/helmrelease.yaml.j2 +++ b/bootstrap/templates/kubernetes/apps/kube-system/cilium/app/helmrelease.yaml.j2 @@ -55,6 +55,8 @@ spec: enabled: true dashboards: enabled: true + annotations: + grafana_folder: Cilium relay: enabled: true rollOutPods: true @@ -109,12 +111,16 @@ spec: enabled: true dashboards: enabled: true + annotations: + grafana_folder: Cilium prometheus: enabled: true serviceMonitor: enabled: true dashboards: enabled: true + annotations: + grafana_folder: Cilium rollOutCiliumPods: true securityContext: privileged: true