diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 8b23fe7..dd72080 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -17,7 +17,7 @@ repos: - ".yamllint.yaml" - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v4.4.0 + rev: v4.5.0 hooks: - id: trailing-whitespace - id: end-of-file-fixer diff --git a/kubernetes/apps/monitoring/grafana/app/helmrelease.yaml b/kubernetes/apps/monitoring/grafana/app/helmrelease.yaml index 7939f29..0ffbec1 100644 --- a/kubernetes/apps/monitoring/grafana/app/helmrelease.yaml +++ b/kubernetes/apps/monitoring/grafana/app/helmrelease.yaml @@ -33,6 +33,118 @@ spec: configmap.reloader.stakater.com/reload: grafana secret.reloader.stakater.com/reload: grafana-secrets replicas: 1 + + dashboardProviders: + dashboardproviders.yaml: + apiVersion: 1 + providers: + - name: default + orgId: 1 + folder: "" + type: file + disableDeletion: false + editable: true + options: + path: /var/lib/grafana/dashboards/default + + datasources: + datasources.yaml: + apiVersion: 1 + deleteDatasources: + - name: Loki + orgId: 1 + - name: Alertmanager + orgId: 1 + datasources: + - name: Prometheus + type: prometheus + access: proxy + url: http://thanos-query-frontend.monitoring.svc.cluster.local:9090 + isDefault: true + - name: Loki + type: loki + access: proxy + url: http://loki-gateway.monitoring.svc.cluster.local + jsonData: + maxLines: 250 + - name: Alertmanager + type: alertmanager + access: proxy + url: http://kube-prometheus-stack-alertmanager.monitoring.svc.cluster.local:9093 + jsonData: + implementation: prometheus + + dashboards: + default: + # Ref: https://grafana.com/grafana/dashboards/1860-node-exporter-full/ + node-exporter-full: + gnetId: 1860 + revision: 30 + datasource: Prometheus + # Ref: https://grafana.com/grafana/dashboards/5336-ceph-osd-single/ + ceph-osd: + gnetId: 5336 + revision: 9 + datasource: Prometheus + # Ref: https://grafana.com/grafana/dashboards/2842-ceph-cluster/ + ceph-cluster: + gnetId: 2842 + revision: 16 + datasource: Prometheus + cert-manager: + url: https://raw.githubusercontent.com/monitoring-mixins/website/master/assets/cert-manager/dashboards/cert-manager.json + datasource: Prometheus + external-secrets: + url: https://raw.githubusercontent.com/external-secrets/external-secrets/main/docs/snippets/dashboard.json + datasource: Prometheus + 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 + flux-logs: + url: https://raw.githubusercontent.com/fluxcd/flux2/main/manifests/monitoring/monitoring-config/dashboards/logs.json + datasource: Prometheus + 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 + ingress-nginx: + url: https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/grafana/dashboards/nginx.json + datasource: Prometheus + ingress-nginx-request-handling-performance: + url: https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/grafana/dashboards/request-handling-performance.json + datasource: Prometheus + + deploymentStrategy: + type: Recreate + + env: + GF_ANALYTICS_CHECK_FOR_UPDATES: false + GF_DATE_FORMATS_USE_BROWSER_LOCALE: true + GF_EXPLORE_ENABLED: true + GF_GRAFANA_NET_URL: https://grafana.net + GF_LOG_FILTERS: rendering:debug + GF_PANELS_DISABLE_SANITIZE_HTML: true + GF_SECURITY_ALLOW_EMBEDDING: true + GF_SECURITY_COOKIE_SAMESITE: grafana + GF_SERVER_ROOT_URL: "https://grafana.valinor.social" + envFromSecret: grafana-secrets grafana.ini: