From 3452ba1cb2ab98b1e2bbf77188e4a33f3b439aca Mon Sep 17 00:00:00 2001 From: Vegard Hagen Date: Sun, 3 Aug 2025 11:54:24 +0200 Subject: [PATCH] feat(grafana): install grafana using grafana-operator Decommission kube-prometheus-stack installed Grafana and use grafana-operator instead. Signed-off-by: Vegard Hagen --- k8s/infra/auth/authelia/dashboard.yaml | 13 + .../auth/authelia/dashboards/simple.json | 1259 ----- k8s/infra/auth/authelia/kustomization.yaml | 7 +- .../controllers/argocd/argocd-dashboard.json | 4439 ----------------- k8s/infra/controllers/argocd/dashboard.yaml | 13 + .../controllers/argocd/kustomization.yaml | 10 +- .../monitoring/grafana/admin-credentials.yaml | 14 + .../datasources/alertmanager-operated.yaml | 19 + .../datasources/prometheus-operated.yaml | 18 + .../grafana/grafana-operator-dashboard.yaml | 15 + k8s/infra/monitoring/grafana/grafana.yaml | 51 + .../http-route.yaml} | 6 +- .../monitoring/grafana/kustomization.yaml | 21 + k8s/infra/monitoring/grafana/ns.yaml | 4 + .../monitoring/grafana/oidc-credentials.yaml | 14 + k8s/infra/monitoring/grafana/values.yaml | 7 + .../dashboards/hubble-dns-namespace.yaml | 15 + .../dashboards/hubble-l7-http-metrics.yaml | 15 + .../dashboards/hubble-network-overview.yaml | 15 + .../monitoring/hubble/dashboards/hubble.yaml | 15 + .../monitoring/hubble/kustomization.yaml | 4 + .../grafana-admin-credentials.yaml | 14 - .../grafana-oidc-credentials.yaml | 14 - .../kube-prometheus-stack/kustomization.yaml | 8 - .../grafana-admin-user-credentials.yaml | 23 - ...a-sc-dashboard-admin-user-credentials.yaml | 23 - ...sc-datasources-admin-user-credentials.yaml | 23 - .../kube-prometheus-stack/values.yaml | 63 +- k8s/infra/monitoring/project.yaml | 2 + .../cilium/dashboards/cilium-operator.yaml | 15 + .../network/cilium/dashboards/cilium.yaml | 15 + k8s/infra/network/cilium/kustomization.yaml | 2 + k8s/infra/network/cilium/values.yaml | 6 - 33 files changed, 300 insertions(+), 5882 deletions(-) create mode 100644 k8s/infra/auth/authelia/dashboard.yaml delete mode 100644 k8s/infra/auth/authelia/dashboards/simple.json delete mode 100644 k8s/infra/controllers/argocd/argocd-dashboard.json create mode 100644 k8s/infra/controllers/argocd/dashboard.yaml create mode 100644 k8s/infra/monitoring/grafana/admin-credentials.yaml create mode 100644 k8s/infra/monitoring/grafana/datasources/alertmanager-operated.yaml create mode 100644 k8s/infra/monitoring/grafana/datasources/prometheus-operated.yaml create mode 100644 k8s/infra/monitoring/grafana/grafana-operator-dashboard.yaml create mode 100644 k8s/infra/monitoring/grafana/grafana.yaml rename k8s/infra/monitoring/{kube-prometheus-stack/grafana-http-route.yaml => grafana/http-route.yaml} (77%) create mode 100644 k8s/infra/monitoring/grafana/kustomization.yaml create mode 100644 k8s/infra/monitoring/grafana/ns.yaml create mode 100644 k8s/infra/monitoring/grafana/oidc-credentials.yaml create mode 100644 k8s/infra/monitoring/grafana/values.yaml create mode 100644 k8s/infra/monitoring/hubble/dashboards/hubble-dns-namespace.yaml create mode 100644 k8s/infra/monitoring/hubble/dashboards/hubble-l7-http-metrics.yaml create mode 100644 k8s/infra/monitoring/hubble/dashboards/hubble-network-overview.yaml create mode 100644 k8s/infra/monitoring/hubble/dashboards/hubble.yaml delete mode 100644 k8s/infra/monitoring/kube-prometheus-stack/grafana-admin-credentials.yaml delete mode 100644 k8s/infra/monitoring/kube-prometheus-stack/grafana-oidc-credentials.yaml delete mode 100644 k8s/infra/monitoring/kube-prometheus-stack/patches/grafana-admin-user-credentials.yaml delete mode 100644 k8s/infra/monitoring/kube-prometheus-stack/patches/grafana-sc-dashboard-admin-user-credentials.yaml delete mode 100644 k8s/infra/monitoring/kube-prometheus-stack/patches/grafana-sc-datasources-admin-user-credentials.yaml create mode 100644 k8s/infra/network/cilium/dashboards/cilium-operator.yaml create mode 100644 k8s/infra/network/cilium/dashboards/cilium.yaml diff --git a/k8s/infra/auth/authelia/dashboard.yaml b/k8s/infra/auth/authelia/dashboard.yaml new file mode 100644 index 0000000..3409601 --- /dev/null +++ b/k8s/infra/auth/authelia/dashboard.yaml @@ -0,0 +1,13 @@ +apiVersion: grafana.integreatly.org/v1beta1 +kind: GrafanaDashboard +metadata: + name: authelia + namespace: authelia +spec: + allowCrossNamespaceImport: true + folder: Authelia + resyncPeriod: 10m + instanceSelector: + matchLabels: + app: grafana + url: https://raw.githubusercontent.com/authelia/authelia/refs/heads/master/examples/grafana-dashboards/simple.json diff --git a/k8s/infra/auth/authelia/dashboards/simple.json b/k8s/infra/auth/authelia/dashboards/simple.json deleted file mode 100644 index 62db16e..0000000 --- a/k8s/infra/auth/authelia/dashboards/simple.json +++ /dev/null @@ -1,1259 +0,0 @@ -{ - "__inputs": [ - { - "name": "DS_PROMETHEUS", - "label": "prometheus", - "description": "", - "type": "datasource", - "pluginId": "prometheus", - "pluginName": "Prometheus" - } - ], - "__elements": {}, - "__requires": [ - { - "type": "grafana", - "id": "grafana", - "name": "Grafana", - "version": "11.1.3" - }, - { - "type": "datasource", - "id": "graphite", - "name": "Graphite", - "version": "1.0.0" - }, - { - "type": "panel", - "id": "piechart", - "name": "Pie chart", - "version": "" - }, - { - "type": "datasource", - "id": "prometheus", - "name": "Prometheus", - "version": "1.0.0" - }, - { - "type": "panel", - "id": "stat", - "name": "Stat", - "version": "" - }, - { - "type": "panel", - "id": "timeseries", - "name": "Time series", - "version": "" - } - ], - "annotations": { - "list": [ - { - "builtIn": 1, - "datasource": { - "type": "grafana", - "uid": "-- Grafana --" - }, - "enable": true, - "hide": true, - "iconColor": "rgba(0, 211, 255, 1)", - "name": "Annotations & Alerts", - "type": "dashboard" - } - ] - }, - "editable": false, - "fiscalYearStartMonth": 0, - "graphTooltip": 0, - "id": null, - "links": [], - "panels": [ - { - "collapsed": false, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 0 - }, - "id": 8, - "panels": [], - "title": "Requests", - "type": "row" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 3, - "w": 5, - "x": 0, - "y": 1 - }, - "id": 10, - "options": { - "colorMode": "value", - "graphMode": "none", - "justifyMode": "auto", - "orientation": "auto", - "percentChangeColorMode": "standard", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "showPercentChange": false, - "textMode": "auto", - "wideLayout": true - }, - "pluginVersion": "11.1.3", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "disableTextWrap": false, - "editorMode": "builder", - "expr": "count(count by (instance) (authelia_request))", - "fullMetaSearch": false, - "includeNullMetadata": true, - "instant": false, - "legendFormat": "__auto", - "range": true, - "refId": "A", - "useBackend": false - } - ], - "title": "Authelia Instances", - "type": "stat" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisBorderShow": false, - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "insertNulls": false, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - }, - "unit": "reqps" - }, - "overrides": [] - }, - "gridPos": { - "h": 9, - "w": 10, - "x": 5, - "y": 1 - }, - "id": 9, - "options": { - "legend": { - "calcs": [ - "mean", - "max" - ], - "displayMode": "table", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "disableTextWrap": false, - "editorMode": "builder", - "expr": "sum by(method, code) (rate(authelia_request{instance=~\"$instance\"}[$__rate_interval]))", - "fullMetaSearch": false, - "includeNullMetadata": true, - "instant": false, - "interval": "", - "legendFormat": "{{method}}[{{code}}]", - "range": true, - "refId": "A", - "useBackend": false - } - ], - "title": "Requests", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisBorderShow": false, - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "insertNulls": false, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - }, - "unit": "s" - }, - "overrides": [ - { - "matcher": { - "id": "byName", - "options": "false" - }, - "properties": [ - { - "id": "displayName", - "value": "failure" - }, - { - "id": "color", - "value": { - "fixedColor": "red", - "mode": "shades" - } - } - ] - }, - { - "matcher": { - "id": "byName", - "options": "true" - }, - "properties": [ - { - "id": "displayName", - "value": "success" - }, - { - "id": "color", - "value": { - "fixedColor": "green", - "mode": "shades" - } - } - ] - } - ] - }, - "gridPos": { - "h": 9, - "w": 9, - "x": 15, - "y": 1 - }, - "id": 6, - "options": { - "legend": { - "calcs": [ - "mean", - "max" - ], - "displayMode": "table", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "disableTextWrap": false, - "editorMode": "code", - "expr": "topk(15, authelia_request_duration_sum{instance=~\"$instance\"}) / authelia_request_duration_count{instance=~\"$instance\"}", - "fullMetaSearch": false, - "includeNullMetadata": true, - "instant": false, - "legendFormat": "{{method}}[{{code}}]", - "range": true, - "refId": "A", - "useBackend": false - } - ], - "title": "Top slow requests", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - } - }, - "mappings": [], - "unit": "reqps" - }, - "overrides": [] - }, - "gridPos": { - "h": 6, - "w": 5, - "x": 0, - "y": 4 - }, - "id": 1, - "options": { - "legend": { - "displayMode": "table", - "placement": "right", - "showLegend": true, - "values": [ - "percent" - ] - }, - "pieType": "pie", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "disableTextWrap": false, - "editorMode": "builder", - "expr": "sum by(method, code) (rate(authelia_request{instance=~\"$instance\"}[$__rate_interval]))", - "fullMetaSearch": false, - "hide": false, - "includeNullMetadata": false, - "instant": false, - "legendFormat": "{{method}}[{{code}}]", - "range": true, - "refId": "A", - "useBackend": false - } - ], - "title": "Http Code", - "type": "piechart" - }, - { - "collapsed": false, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 10 - }, - "id": 4, - "panels": [], - "title": "Authentication", - "type": "row" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - } - }, - "mappings": [] - }, - "overrides": [ - { - "matcher": { - "id": "byName", - "options": "{banned=\"false\", success=\"false\"}" - }, - "properties": [ - { - "id": "displayName", - "value": "failure" - }, - { - "id": "color", - "value": { - "fixedColor": "orange", - "mode": "shades" - } - } - ] - }, - { - "matcher": { - "id": "byName", - "options": "{banned=\"false\", success=\"true\"}" - }, - "properties": [ - { - "id": "displayName", - "value": "success" - }, - { - "id": "color", - "value": { - "fixedColor": "green", - "mode": "shades" - } - } - ] - }, - { - "matcher": { - "id": "byName", - "options": "{banned=\"true\", success=\"false\"}" - }, - "properties": [ - { - "id": "color", - "value": { - "fixedColor": "red", - "mode": "shades" - } - }, - { - "id": "displayName", - "value": "banned" - } - ] - } - ] - }, - "gridPos": { - "h": 6, - "w": 6, - "x": 0, - "y": 11 - }, - "id": 2, - "options": { - "legend": { - "displayMode": "table", - "placement": "right", - "showLegend": true, - "values": [ - "percent" - ] - }, - "pieType": "donut", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "disableTextWrap": false, - "editorMode": "builder", - "expr": "sum by(success, banned) (authelia_authn{instance=~\"$instance\"})", - "format": "time_series", - "fullMetaSearch": true, - "includeNullMetadata": true, - "legendFormat": "__auto", - "range": true, - "refId": "A", - "useBackend": false - } - ], - "title": "First Factor Authentication", - "type": "piechart" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - } - }, - "mappings": [] - }, - "overrides": [] - }, - "gridPos": { - "h": 6, - "w": 6, - "x": 6, - "y": 11 - }, - "id": 3, - "options": { - "legend": { - "displayMode": "table", - "placement": "right", - "showLegend": true, - "values": [ - "percent" - ] - }, - "pieType": "donut", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "pluginVersion": "10.4.2", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "disableTextWrap": false, - "editorMode": "builder", - "expr": "sum by(type) (authelia_authn_second_factor{instance=~\"$instance\", success=\"true\"})", - "fullMetaSearch": false, - "includeNullMetadata": true, - "instant": false, - "legendFormat": "__auto", - "range": true, - "refId": "A", - "useBackend": false - } - ], - "title": "Second Factor Method", - "type": "piechart" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisBorderShow": false, - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "insertNulls": false, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - }, - "unit": "reqps" - }, - "overrides": [] - }, - "gridPos": { - "h": 6, - "w": 12, - "x": 12, - "y": 11 - }, - "id": 7, - "options": { - "legend": { - "calcs": [ - "mean", - "max" - ], - "displayMode": "table", - "placement": "right", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "disableTextWrap": false, - "editorMode": "builder", - "expr": "sum by(code) (rate(authelia_authz{instance=~\"$instance\"}[$__rate_interval]))", - "fullMetaSearch": false, - "includeNullMetadata": false, - "instant": false, - "interval": "", - "legendFormat": "{{method}}[{{code}}]", - "range": true, - "refId": "A", - "useBackend": false - } - ], - "title": "Authz requests", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisBorderShow": false, - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "insertNulls": false, - "lineInterpolation": "linear", - "lineStyle": { - "fill": "solid" - }, - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green" - }, - { - "color": "red", - "value": 80 - } - ] - }, - "unit": "reqps" - }, - "overrides": [ - { - "matcher": { - "id": "byName", - "options": "{banned=\"false\", success=\"false\"}" - }, - "properties": [ - { - "id": "displayName", - "value": "failed" - }, - { - "id": "color", - "value": { - "fixedColor": "orange", - "mode": "shades" - } - } - ] - }, - { - "matcher": { - "id": "byName", - "options": "{banned=\"false\", success=\"true\"}" - }, - "properties": [ - { - "id": "displayName", - "value": "success" - }, - { - "id": "color", - "value": { - "fixedColor": "green", - "mode": "shades" - } - } - ] - }, - { - "matcher": { - "id": "byName", - "options": "{banned=\"true\", success=\"false\"}" - }, - "properties": [ - { - "id": "displayName", - "value": "banned" - }, - { - "id": "color", - "value": { - "fixedColor": "red", - "mode": "shades" - } - } - ] - } - ] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 17 - }, - "id": 11, - "options": { - "legend": { - "calcs": [ - "mean", - "max" - ], - "displayMode": "table", - "placement": "right", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "disableTextWrap": false, - "editorMode": "builder", - "exemplar": false, - "expr": "sum by(success, banned) (rate(authelia_authn{instance=~\"$instance\"}[$__rate_interval]))", - "fullMetaSearch": false, - "includeNullMetadata": true, - "instant": false, - "interval": "", - "legendFormat": "__auto", - "range": true, - "refId": "A", - "useBackend": false - } - ], - "title": "Authn requests", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisBorderShow": false, - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "insertNulls": false, - "lineInterpolation": "linear", - "lineStyle": { - "fill": "solid" - }, - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green" - }, - { - "color": "red", - "value": 80 - } - ] - }, - "unit": "reqps" - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 17 - }, - "id": 12, - "options": { - "legend": { - "calcs": [ - "mean", - "max" - ], - "displayMode": "table", - "placement": "right", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "disableTextWrap": false, - "editorMode": "builder", - "expr": "sum by(success, type) (rate(authelia_authn_second_factor{instance=~\"$instance\", banned=\"false\"}[$__rate_interval]))", - "fullMetaSearch": false, - "includeNullMetadata": true, - "instant": false, - "interval": "", - "legendFormat": "[{{type}}] success: {{success}}", - "range": true, - "refId": "A", - "useBackend": false - }, - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "disableTextWrap": false, - "editorMode": "builder", - "expr": "sum by(banned, type) (rate(authelia_authn_second_factor{instance=~\"$instance\", banned=\"true\"}[$__rate_interval]))", - "fullMetaSearch": false, - "hide": false, - "includeNullMetadata": true, - "instant": false, - "legendFormat": "[{{type}}] banned", - "range": true, - "refId": "B", - "useBackend": false - } - ], - "title": "Authn second factor requests", - "type": "timeseries" - }, - { - "collapsed": false, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 25 - }, - "id": 5, - "panels": [], - "title": "OpenID Connect", - "type": "row" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisBorderShow": false, - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "insertNulls": false, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green" - }, - { - "color": "red", - "value": 80 - } - ] - }, - "unit": "reqps" - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 24, - "x": 0, - "y": 26 - }, - "id": 13, - "options": { - "legend": { - "calcs": [ - "mean", - "max" - ], - "displayMode": "table", - "placement": "right", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "pluginVersion": "10.4.2", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "disableTextWrap": false, - "editorMode": "builder", - "expr": "sum by(endpoint, code) (rate(authelia_request_duration_openid_connect_count{instance=~\"$instance\"}[$__rate_interval]))", - "fullMetaSearch": false, - "includeNullMetadata": true, - "instant": false, - "interval": "", - "legendFormat": "{{method}}[{{code}}] on {{endpoint}}", - "range": true, - "refId": "A", - "useBackend": false - } - ], - "title": "OIDC Requests", - "type": "timeseries" - } - ], - "refresh": "1m", - "schemaVersion": 39, - "tags": [], - "templating": { - "list": [ - { - "current": {}, - "hide": 0, - "includeAll": false, - "label": "datasource", - "multi": false, - "name": "DS_PROMETHEUS", - "options": [], - "query": "prometheus", - "queryValue": "", - "refresh": 1, - "regex": "", - "skipUrlSync": false, - "type": "datasource" - }, - { - "current": {}, - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "definition": "label_values(authelia_request,instance)", - "hide": 0, - "includeAll": true, - "label": "instance", - "multi": false, - "name": "instance", - "options": [], - "query": { - "qryType": 1, - "query": "label_values(authelia_request,instance)", - "refId": "PrometheusVariableQueryEditor-VariableQuery" - }, - "refresh": 1, - "regex": "", - "skipUrlSync": false, - "sort": 0, - "type": "query" - } - ] - }, - "time": { - "from": "now-6h", - "to": "now" - }, - "timepicker": {}, - "timezone": "browser", - "title": "Authelia Community Dashboard", - "uid": "ddixu7wrrpuyod", - "version": 25, - "weekStart": "" -} diff --git a/k8s/infra/auth/authelia/kustomization.yaml b/k8s/infra/auth/authelia/kustomization.yaml index a6821c5..7f3ce71 100644 --- a/k8s/infra/auth/authelia/kustomization.yaml +++ b/k8s/infra/auth/authelia/kustomization.yaml @@ -6,12 +6,6 @@ configMapGenerator: - name: consent namespace: authelia files: [ ./locales/en/consent.json ] - - name: grafana-dashboard - namespace: authelia - files: [ ./dashboards/simple.json ] - options: - annotations: { grafana_folder: "Authelia" } - labels: { grafana_dashboard: "1" } resources: - ns.yaml @@ -26,6 +20,7 @@ resources: - clients/audiobookshelf.yaml - clients/grafana.yaml - clients/netbird.yaml + - dashboard.yaml helmCharts: - name: authelia diff --git a/k8s/infra/controllers/argocd/argocd-dashboard.json b/k8s/infra/controllers/argocd/argocd-dashboard.json deleted file mode 100644 index b56f8a1..0000000 --- a/k8s/infra/controllers/argocd/argocd-dashboard.json +++ /dev/null @@ -1,4439 +0,0 @@ -{ - "annotations": { - "list": [ - { - "builtIn": 1, - "datasource": { - "type": "datasource", - "uid": "grafana" - }, - "enable": true, - "hide": true, - "iconColor": "rgba(0, 211, 255, 1)", - "name": "Annotations & Alerts", - "type": "dashboard" - } - ] - }, - "editable": true, - "fiscalYearStartMonth": 0, - "graphTooltip": 0, - "id": 28, - "links": [], - "liveNow": false, - "panels": [ - { - "collapsed": false, - "datasource": { - "uid": "$datasource" - }, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 0 - }, - "id": 68, - "panels": [], - "targets": [ - { - "datasource": { - "uid": "$datasource" - }, - "refId": "A" - } - ], - "title": "Overview", - "type": "row" - }, - { - "datasource": { - "uid": "$datasource" - }, - "gridPos": { - "h": 4, - "w": 2, - "x": 0, - "y": 1 - }, - "id": 26, - "links": [], - "options": { - "code": { - "language": "plaintext", - "showLineNumbers": false, - "showMiniMap": false - }, - "content": "![argoimage](https://avatars1.githubusercontent.com/u/30269780?s=110&v=4)", - "mode": "markdown" - }, - "pluginVersion": "10.3.1", - "targets": [ - { - "datasource": { - "uid": "$datasource" - }, - "refId": "A" - } - ], - "transparent": true, - "type": "text" - }, - { - "datasource": { - "uid": "$datasource" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "mappings": [ - { - "options": { - "match": "null", - "result": { - "text": "N/A" - } - }, - "type": "special" - } - ], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - }, - "unit": "dtdurations", - "unitScale": true - }, - "overrides": [] - }, - "gridPos": { - "h": 4, - "w": 3, - "x": 2, - "y": 1 - }, - "id": 32, - "links": [], - "maxDataPoints": 100, - "options": { - "colorMode": "none", - "graphMode": "none", - "justifyMode": "auto", - "orientation": "horizontal", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "showPercentChange": false, - "textMode": "auto", - "wideLayout": true - }, - "pluginVersion": "10.3.1", - "targets": [ - { - "datasource": { - "uid": "$datasource" - }, - "expr": "time() - max(process_start_time_seconds{job=\"argocd-server-metrics\",namespace=~\"$namespace\"})", - "format": "time_series", - "intervalFactor": 1, - "refId": "A" - } - ], - "title": "Uptime", - "type": "stat" - }, - { - "datasource": { - "uid": "$datasource" - }, - "fieldConfig": { - "defaults": { - "color": { - "fixedColor": "rgb(31, 120, 193)", - "mode": "fixed" - }, - "mappings": [ - { - "options": { - "match": "null", - "result": { - "text": "0" - } - }, - "type": "special" - } - ], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - }, - "unit": "none", - "unitScale": true - }, - "overrides": [] - }, - "gridPos": { - "h": 4, - "w": 3, - "x": 5, - "y": 1 - }, - "id": 94, - "links": [], - "maxDataPoints": 100, - "options": { - "colorMode": "none", - "graphMode": "area", - "justifyMode": "auto", - "orientation": "horizontal", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "showPercentChange": false, - "textMode": "auto", - "wideLayout": true - }, - "pluginVersion": "10.3.1", - "targets": [ - { - "datasource": { - "uid": "$datasource" - }, - "expr": "count(count by (server) (argocd_cluster_info{namespace=~\"$namespace\"}))", - "format": "time_series", - "instant": false, - "intervalFactor": 1, - "refId": "A" - } - ], - "title": "Clusters", - "type": "stat" - }, - { - "datasource": { - "uid": "$datasource" - }, - "fieldConfig": { - "defaults": { - "color": { - "fixedColor": "rgb(31, 120, 193)", - "mode": "fixed" - }, - "mappings": [ - { - "options": { - "match": "null", - "result": { - "text": "N/A" - } - }, - "type": "special" - } - ], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - }, - "unit": "none", - "unitScale": true - }, - "overrides": [] - }, - "gridPos": { - "h": 4, - "w": 3, - "x": 8, - "y": 1 - }, - "id": 75, - "links": [], - "maxDataPoints": 100, - "options": { - "colorMode": "none", - "graphMode": "area", - "justifyMode": "auto", - "orientation": "horizontal", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "showPercentChange": false, - "textMode": "auto", - "wideLayout": true - }, - "pluginVersion": "10.3.1", - "repeatDirection": "h", - "targets": [ - { - "datasource": { - "uid": "$datasource" - }, - "expr": "sum(argocd_app_info{namespace=~\"$namespace\",dest_server=~\"$cluster\",health_status=~\"$health_status\",sync_status=~\"$sync_status\"})", - "format": "time_series", - "instant": false, - "intervalFactor": 1, - "refId": "A" - } - ], - "title": "Applications", - "type": "stat" - }, - { - "datasource": { - "uid": "$datasource" - }, - "fieldConfig": { - "defaults": { - "color": { - "fixedColor": "rgb(31, 120, 193)", - "mode": "fixed" - }, - "mappings": [ - { - "options": { - "match": "null", - "result": { - "text": "0" - } - }, - "type": "special" - } - ], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - }, - "unit": "none", - "unitScale": true - }, - "overrides": [] - }, - "gridPos": { - "h": 4, - "w": 3, - "x": 11, - "y": 1 - }, - "id": 107, - "links": [], - "maxDataPoints": 100, - "options": { - "colorMode": "none", - "graphMode": "area", - "justifyMode": "auto", - "orientation": "horizontal", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "showPercentChange": false, - "textMode": "auto", - "wideLayout": true - }, - "pluginVersion": "10.3.1", - "targets": [ - { - "datasource": { - "uid": "$datasource" - }, - "expr": "count(count by (repo) (argocd_app_info{namespace=~\"$namespace\"}))", - "format": "time_series", - "instant": false, - "intervalFactor": 1, - "refId": "A" - } - ], - "title": "Repositories", - "type": "stat" - }, - { - "datasource": { - "uid": "$datasource" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "mappings": [ - { - "id": 0, - "op": "=", - "text": "0", - "type": 1, - "value": "null" - } - ], - "max": 100, - "min": 0, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - }, - "unit": "none", - "unitScale": true - }, - "overrides": [] - }, - "gridPos": { - "h": 4, - "w": 3, - "x": 14, - "y": 1 - }, - "id": 100, - "links": [], - "options": { - "minVizHeight": 75, - "minVizWidth": 75, - "orientation": "horizontal", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "showThresholdLabels": false, - "showThresholdMarkers": true, - "sizing": "auto" - }, - "pluginVersion": "10.3.1", - "repeatDirection": "h", - "targets": [ - { - "datasource": { - "uid": "$datasource" - }, - "expr": "sum(argocd_app_info{namespace=~\"$namespace\",dest_server=~\"$cluster\",operation!=\"\"})", - "format": "time_series", - "instant": true, - "intervalFactor": 1, - "legendFormat": "", - "refId": "A" - } - ], - "title": "Operations", - "type": "gauge" - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": { - "uid": "$datasource" - }, - "fieldConfig": { - "defaults": { - "links": [], - "unitScale": true - }, - "overrides": [] - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 4, - "w": 7, - "x": 17, - "y": 1 - }, - "hiddenSeries": false, - "id": 28, - "legend": { - "alignAsTable": true, - "avg": false, - "current": true, - "hideEmpty": true, - "hideZero": true, - "max": false, - "min": false, - "rightSide": true, - "show": true, - "sort": "current", - "sortDesc": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "connected", - "options": { - "alertThreshold": true - }, - "paceLength": 10, - "percentage": false, - "pluginVersion": "10.3.1", - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": true, - "steppedLine": false, - "targets": [ - { - "datasource": { - "uid": "$datasource" - }, - "expr": "sum(argocd_app_info{namespace=~\"$namespace\",dest_server=~\"$cluster\",health_status=~\"$health_status\",sync_status=~\"$sync_status\"}) by (namespace)", - "format": "time_series", - "instant": false, - "intervalFactor": 1, - "legendFormat": "{{namespace}}", - "refId": "A" - } - ], - "thresholds": [], - "timeRegions": [], - "title": "Applications", - "tooltip": { - "shared": false, - "sort": 2, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": true, - "values": [] - }, - "yaxes": [ - { - "decimals": 0, - "format": "short", - "logBase": 1, - "show": true - }, - { - "format": "short", - "logBase": 1, - "show": true - } - ], - "yaxis": { - "align": false - } - }, - { - "collapsed": true, - "datasource": { - "uid": "$datasource" - }, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 5 - }, - "id": 77, - "panels": [ - { - "aliasColors": { - "Degraded": "semi-dark-red", - "Healthy": "green", - "Missing": "semi-dark-purple", - "Progressing": "semi-dark-blue", - "Suspended": "semi-dark-orange", - "Unknown": "rgb(255, 255, 255)" - }, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": { - "uid": "$datasource" - }, - "fieldConfig": { - "defaults": { - "links": [], - "unitScale": true - }, - "overrides": [] - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 6, - "w": 12, - "x": 0, - "y": 6 - }, - "hiddenSeries": false, - "id": 105, - "interval": "", - "legend": { - "alignAsTable": true, - "avg": false, - "current": true, - "hideEmpty": false, - "hideZero": false, - "max": false, - "min": false, - "rightSide": true, - "show": true, - "sort": "current", - "sortDesc": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null as zero", - "options": { - "alertThreshold": true - }, - "paceLength": 10, - "percentage": false, - "pluginVersion": "10.3.1", - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "datasource": { - "uid": "$datasource" - }, - "expr": "sum(argocd_app_info{namespace=~\"$namespace\",dest_server=~\"$cluster\",health_status=~\"$health_status\",sync_status=~\"$sync_status\",health_status!=\"\"}) by (health_status)", - "format": "time_series", - "instant": false, - "intervalFactor": 1, - "legendFormat": "{{health_status}}", - "refId": "A" - } - ], - "thresholds": [], - "timeRegions": [], - "title": "Health Status", - "tooltip": { - "shared": true, - "sort": 2, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "logBase": 2, - "show": true - }, - { - "format": "short", - "logBase": 1, - "show": true - } - ], - "yaxis": { - "align": false - } - }, - { - "aliasColors": { - "Degraded": "semi-dark-red", - "Healthy": "green", - "Missing": "semi-dark-purple", - "OutOfSync": "semi-dark-yellow", - "Progressing": "semi-dark-blue", - "Suspended": "semi-dark-orange", - "Synced": "semi-dark-green", - "Unknown": "rgb(255, 255, 255)" - }, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": { - "uid": "$datasource" - }, - "fieldConfig": { - "defaults": { - "links": [], - "unitScale": true - }, - "overrides": [] - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 6, - "w": 12, - "x": 12, - "y": 6 - }, - "hiddenSeries": false, - "id": 106, - "interval": "", - "legend": { - "alignAsTable": true, - "avg": false, - "current": true, - "hideEmpty": false, - "hideZero": false, - "max": false, - "min": false, - "rightSide": true, - "show": true, - "sort": "current", - "sortDesc": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null as zero", - "options": { - "alertThreshold": true - }, - "paceLength": 10, - "percentage": false, - "pluginVersion": "10.3.1", - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "datasource": { - "uid": "$datasource" - }, - "expr": "sum(argocd_app_info{namespace=~\"$namespace\",dest_server=~\"$cluster\",health_status=~\"$health_status\",sync_status=~\"$sync_status\",health_status!=\"\"}) by (sync_status)", - "format": "time_series", - "instant": false, - "intervalFactor": 1, - "legendFormat": "{{sync_status}}", - "refId": "A" - } - ], - "thresholds": [], - "timeRegions": [], - "title": "Sync Status", - "tooltip": { - "shared": true, - "sort": 2, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "logBase": 2, - "show": true - }, - { - "format": "short", - "logBase": 1, - "show": true - } - ], - "yaxis": { - "align": false - } - } - ], - "targets": [ - { - "datasource": { - "uid": "$datasource" - }, - "refId": "A" - } - ], - "title": "Application Status", - "type": "row" - }, - { - "collapsed": true, - "datasource": { - "uid": "$datasource" - }, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 6 - }, - "id": 104, - "panels": [ - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": { - "uid": "$datasource" - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 6, - "w": 24, - "x": 0, - "y": 3 - }, - "hiddenSeries": false, - "id": 56, - "interval": "", - "legend": { - "alignAsTable": true, - "avg": false, - "current": true, - "hideEmpty": true, - "hideZero": true, - "max": false, - "min": false, - "rightSide": true, - "show": true, - "sort": "total", - "sortDesc": true, - "total": true, - "values": true - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null", - "options": { - "dataLinks": [] - }, - "paceLength": 10, - "percentage": false, - "pointradius": 1, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": true, - "steppedLine": false, - "targets": [ - { - "datasource": { - "uid": "$datasource" - }, - "expr": "sum(round(increase(argocd_app_sync_total{namespace=~\"$namespace\",dest_server=~\"$cluster\"}[$interval]))) by ($grouping)", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "{{$grouping}}", - "refId": "A" - } - ], - "thresholds": [], - "timeRegions": [], - "title": "Sync Activity", - "tooltip": { - "shared": true, - "sort": 2, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": true, - "values": [] - }, - "yaxes": [ - { - "decimals": 0, - "format": "short", - "label": "", - "logBase": 1, - "min": "0", - "show": true - }, - { - "decimals": -12, - "format": "short", - "label": "", - "logBase": 1, - "show": true - } - ], - "yaxis": { - "align": false - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": { - "uid": "$datasource" - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 5, - "w": 24, - "x": 0, - "y": 9 - }, - "hiddenSeries": false, - "id": 73, - "legend": { - "alignAsTable": true, - "avg": false, - "current": false, - "hideEmpty": true, - "hideZero": false, - "max": false, - "min": false, - "rightSide": true, - "show": true, - "sort": "total", - "sortDesc": true, - "total": true, - "values": true - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null", - "options": { - "dataLinks": [] - }, - "paceLength": 10, - "percentage": false, - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": true, - "steppedLine": false, - "targets": [ - { - "datasource": { - "uid": "$datasource" - }, - "expr": "sum(round(increase(argocd_app_sync_total{namespace=~\"$namespace\",phase=~\"Error|Failed\",dest_server=~\"$cluster\"}[$interval]))) by ($grouping, phase)", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "{{phase}}: {{$grouping}}", - "refId": "A" - } - ], - "thresholds": [], - "timeRegions": [], - "title": "Sync Failures", - "tooltip": { - "shared": true, - "sort": 2, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": true, - "values": [] - }, - "yaxes": [ - { - "decimals": 0, - "format": "none", - "label": "", - "logBase": 1, - "min": "0", - "show": true - }, - { - "format": "short", - "label": "", - "logBase": 1, - "show": true - } - ], - "yaxis": { - "align": false - } - } - ], - "targets": [ - { - "datasource": { - "uid": "$datasource" - }, - "refId": "A" - } - ], - "title": "Sync Stats", - "type": "row" - }, - { - "collapsed": true, - "datasource": { - "uid": "$datasource" - }, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 7 - }, - "id": 64, - "panels": [ - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": { - "uid": "$datasource" - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 6, - "w": 24, - "x": 0, - "y": 12 - }, - "hiddenSeries": false, - "id": 58, - "legend": { - "alignAsTable": true, - "avg": true, - "current": true, - "max": true, - "min": false, - "rightSide": true, - "show": true, - "sort": "total", - "sortDesc": true, - "total": true, - "values": true - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null", - "options": { - "dataLinks": [] - }, - "paceLength": 10, - "percentage": false, - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "datasource": { - "uid": "$datasource" - }, - "expr": "sum(increase(argocd_app_reconcile_count{namespace=~\"$namespace\",dest_server=~\"$cluster\"}[$interval])) by ($grouping)", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "{{$grouping}}", - "refId": "A" - } - ], - "thresholds": [], - "timeRegions": [], - "title": "Reconciliation Activity", - "tooltip": { - "shared": false, - "sort": 2, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "logBase": 1, - "show": true - }, - { - "format": "short", - "logBase": 1, - "show": true - } - ], - "yaxis": { - "align": false - } - }, - { - "cards": {}, - "color": { - "cardColor": "#b4ff00", - "colorScale": "sqrt", - "colorScheme": "interpolateSpectral", - "exponent": 0.5, - "mode": "spectrum" - }, - "dataFormat": "tsbuckets", - "datasource": { - "uid": "$datasource" - }, - "gridPos": { - "h": 7, - "w": 24, - "x": 0, - "y": 18 - }, - "heatmap": {}, - "hideZeroBuckets": false, - "highlightCards": true, - "id": 60, - "legend": { - "show": true - }, - "links": [], - "options": {}, - "reverseYBuckets": false, - "targets": [ - { - "datasource": { - "uid": "$datasource" - }, - "expr": "sum(increase(argocd_app_reconcile_bucket{namespace=~\"$namespace\"}[$interval])) by (le)", - "format": "heatmap", - "instant": false, - "intervalFactor": 10, - "legendFormat": "{{le}}", - "refId": "A" - } - ], - "title": "Reconciliation Performance", - "tooltip": { - "show": true, - "showHistogram": true - }, - "tooltipDecimals": 0, - "type": "heatmap", - "xAxis": { - "show": true - }, - "yAxis": { - "format": "short", - "logBase": 1, - "show": true - }, - "yBucketBound": "auto" - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": { - "uid": "$datasource" - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 6, - "w": 24, - "x": 0, - "y": 25 - }, - "hiddenSeries": false, - "id": 80, - "legend": { - "alignAsTable": true, - "avg": true, - "current": true, - "hideEmpty": true, - "hideZero": true, - "max": false, - "min": false, - "rightSide": true, - "show": true, - "sort": "current", - "sortDesc": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null as zero", - "options": { - "dataLinks": [] - }, - "paceLength": 10, - "percentage": false, - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "datasource": { - "uid": "$datasource" - }, - "expr": "sum(increase(argocd_app_k8s_request_total{namespace=~\"$namespace\",server=~\"$cluster\"}[$interval])) by (verb, resource_kind)", - "format": "time_series", - "instant": false, - "intervalFactor": 1, - "legendFormat": "{{verb}} {{resource_kind}}", - "refId": "A" - } - ], - "thresholds": [], - "timeRegions": [], - "title": "K8s API Activity", - "tooltip": { - "shared": true, - "sort": 2, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "logBase": 1, - "show": true - }, - { - "format": "short", - "logBase": 1, - "show": true - } - ], - "yaxis": { - "align": false - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": { - "uid": "$datasource" - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 7, - "w": 12, - "x": 0, - "y": 31 - }, - "hiddenSeries": false, - "id": 96, - "legend": { - "alignAsTable": true, - "avg": true, - "current": true, - "hideZero": true, - "max": true, - "min": false, - "rightSide": false, - "show": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null", - "options": { - "dataLinks": [] - }, - "percentage": false, - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "datasource": { - "uid": "$datasource" - }, - "expr": "sum(workqueue_depth{namespace=~\"$namespace\",name=~\"app_.*\"}) by (name)", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "{{name}}", - "refId": "A" - } - ], - "thresholds": [], - "timeRegions": [], - "title": "Workqueue Depth", - "tooltip": { - "shared": true, - "sort": 2, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "logBase": 1, - "min": "0", - "show": true - }, - { - "format": "short", - "logBase": 1, - "min": "0", - "show": true - } - ], - "yaxis": { - "align": false - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": { - "uid": "$datasource" - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 7, - "w": 12, - "x": 12, - "y": 31 - }, - "hiddenSeries": false, - "id": 98, - "legend": { - "alignAsTable": true, - "avg": true, - "current": true, - "hideZero": false, - "max": true, - "min": false, - "show": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null", - "options": { - "dataLinks": [] - }, - "percentage": false, - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "datasource": { - "uid": "$datasource" - }, - "expr": "sum(argocd_kubectl_exec_pending{namespace=~\"$namespace\"}) by (command)", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "{{command}}", - "refId": "A" - } - ], - "thresholds": [], - "timeRegions": [], - "title": "Pending kubectl run", - "tooltip": { - "shared": true, - "sort": 2, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": true, - "values": [] - }, - "yaxes": [ - { - "decimals": 0, - "format": "short", - "label": "", - "logBase": 1, - "min": "0", - "show": true - }, - { - "decimals": 0, - "format": "short", - "label": "", - "logBase": 1, - "min": "0", - "show": true - } - ], - "yaxis": { - "align": false - } - } - ], - "targets": [ - { - "datasource": { - "uid": "$datasource" - }, - "refId": "A" - } - ], - "title": "Controller Stats", - "type": "row" - }, - { - "collapsed": true, - "datasource": { - "uid": "$datasource" - }, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 8 - }, - "id": 102, - "panels": [ - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": { - "uid": "$datasource" - }, - "fieldConfig": { - "defaults": { - "links": [], - "unitScale": true, - "unit": "bytes" - }, - "overrides": [] - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 7, - "w": 24, - "x": 0, - "y": 9 - }, - "hiddenSeries": false, - "id": 34, - "legend": { - "alignAsTable": true, - "avg": true, - "current": true, - "max": true, - "min": false, - "rightSide": true, - "show": true, - "sort": "current", - "sortDesc": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "connected", - "options": { - "alertThreshold": true - }, - "paceLength": 10, - "percentage": false, - "pluginVersion": "10.3.1", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "datasource": { - "uid": "$datasource" - }, - "expr": "go_memstats_heap_alloc_bytes{job=\"argocd-server-metrics\",namespace=~\"$namespace\"}", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "{{namespace}}", - "refId": "A" - } - ], - "thresholds": [], - "timeRegions": [], - "title": "Memory Usage", - "tooltip": { - "shared": false, - "sort": 2, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "bytes", - "logBase": 1, - "show": true - }, - { - "format": "short", - "logBase": 1, - "show": true - } - ], - "yaxis": { - "align": false - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": { - "uid": "$datasource" - }, - "fieldConfig": { - "defaults": { - "links": [], - "unitScale": true - }, - "overrides": [] - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 7, - "w": 24, - "x": 0, - "y": 16 - }, - "hiddenSeries": false, - "id": 108, - "legend": { - "alignAsTable": true, - "avg": true, - "current": true, - "hideEmpty": true, - "hideZero": true, - "max": true, - "min": false, - "rightSide": true, - "show": true, - "sort": "avg", - "sortDesc": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "connected", - "options": { - "alertThreshold": true - }, - "paceLength": 10, - "percentage": false, - "pluginVersion": "10.3.1", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "datasource": { - "uid": "$datasource" - }, - "expr": "irate(process_cpu_seconds_total{job=\"argocd-server-metrics\",namespace=~\"$namespace\"}[1m])", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "{{namespace}}", - "refId": "A" - } - ], - "thresholds": [], - "timeRegions": [], - "title": "CPU Usage", - "tooltip": { - "shared": false, - "sort": 2, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": true, - "values": [] - }, - "yaxes": [ - { - "decimals": 1, - "format": "none", - "logBase": 1, - "show": true - }, - { - "format": "short", - "logBase": 1, - "show": true - } - ], - "yaxis": { - "align": false - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": { - "uid": "$datasource" - }, - "fieldConfig": { - "defaults": { - "links": [], - "unitScale": true - }, - "overrides": [] - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 7, - "w": 24, - "x": 0, - "y": 23 - }, - "hiddenSeries": false, - "id": 62, - "legend": { - "alignAsTable": true, - "avg": true, - "current": true, - "hideEmpty": false, - "hideZero": false, - "max": true, - "min": false, - "rightSide": true, - "show": true, - "sort": "current", - "sortDesc": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null", - "options": { - "alertThreshold": true - }, - "paceLength": 10, - "percentage": false, - "pluginVersion": "10.3.1", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "datasource": { - "uid": "$datasource" - }, - "expr": "go_goroutines{job=\"argocd-server-metrics\",namespace=~\"$namespace\"}", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "{{namespace}}", - "refId": "A" - } - ], - "thresholds": [], - "timeRegions": [], - "title": "Goroutines", - "tooltip": { - "shared": false, - "sort": 2, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "logBase": 1, - "show": true - }, - { - "format": "short", - "logBase": 1, - "show": true - } - ], - "yaxis": { - "align": false - } - } - ], - "targets": [ - { - "datasource": { - "uid": "$datasource" - }, - "refId": "A" - } - ], - "title": "Controller Telemetry", - "type": "row" - }, - { - "collapsed": true, - "datasource": { - "uid": "$datasource" - }, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 8 - }, - "id": 102, - "panels": [ - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": { - "uid": "$datasource" - }, - "fieldConfig": { - "defaults": { - "links": [], - "unitScale": true, - "unit": "bytes" - }, - "overrides": [] - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 7, - "w": 24, - "x": 0, - "y": 9 - }, - "hiddenSeries": false, - "id": 34, - "legend": { - "alignAsTable": true, - "avg": true, - "current": true, - "max": true, - "min": false, - "rightSide": true, - "show": true, - "sort": "current", - "sortDesc": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "connected", - "options": { - "alertThreshold": true - }, - "paceLength": 10, - "percentage": false, - "pluginVersion": "10.3.1", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "datasource": { - "uid": "$datasource" - }, - "expr": "go_memstats_heap_alloc_bytes{job=\"argocd-applicationset-controller-metrics\",namespace=~\"$namespace\"}", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "{{namespace}}", - "refId": "A" - } - ], - "thresholds": [], - "timeRegions": [], - "title": "Memory Usage", - "tooltip": { - "shared": false, - "sort": 2, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "bytes", - "logBase": 1, - "show": true - }, - { - "format": "short", - "logBase": 1, - "show": true - } - ], - "yaxis": { - "align": false - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": { - "uid": "$datasource" - }, - "fieldConfig": { - "defaults": { - "links": [], - "unitScale": true - }, - "overrides": [] - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 7, - "w": 24, - "x": 0, - "y": 16 - }, - "hiddenSeries": false, - "id": 108, - "legend": { - "alignAsTable": true, - "avg": true, - "current": true, - "hideEmpty": true, - "hideZero": true, - "max": true, - "min": false, - "rightSide": true, - "show": true, - "sort": "avg", - "sortDesc": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "connected", - "options": { - "alertThreshold": true - }, - "paceLength": 10, - "percentage": false, - "pluginVersion": "10.3.1", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "datasource": { - "uid": "$datasource" - }, - "expr": "irate(process_cpu_seconds_total{job=\"argocd-applicationset-controller-metrics\",namespace=~\"$namespace\"}[1m])", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "{{namespace}}", - "refId": "A" - } - ], - "thresholds": [], - "timeRegions": [], - "title": "CPU Usage", - "tooltip": { - "shared": false, - "sort": 2, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": true, - "values": [] - }, - "yaxes": [ - { - "decimals": 1, - "format": "none", - "logBase": 1, - "show": true - }, - { - "format": "short", - "logBase": 1, - "show": true - } - ], - "yaxis": { - "align": false - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": { - "uid": "$datasource" - }, - "fieldConfig": { - "defaults": { - "links": [], - "unitScale": true - }, - "overrides": [] - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 7, - "w": 24, - "x": 0, - "y": 23 - }, - "hiddenSeries": false, - "id": 62, - "legend": { - "alignAsTable": true, - "avg": true, - "current": true, - "hideEmpty": false, - "hideZero": false, - "max": true, - "min": false, - "rightSide": true, - "show": true, - "sort": "current", - "sortDesc": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null", - "options": { - "alertThreshold": true - }, - "paceLength": 10, - "percentage": false, - "pluginVersion": "10.3.1", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "datasource": { - "uid": "$datasource" - }, - "expr": "go_goroutines{job=\"argocd-applicationset-controller-metrics\",namespace=~\"$namespace\"}", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "{{namespace}}", - "refId": "A" - } - ], - "thresholds": [], - "timeRegions": [], - "title": "Goroutines", - "tooltip": { - "shared": false, - "sort": 2, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "logBase": 1, - "show": true - }, - { - "format": "short", - "logBase": 1, - "show": true - } - ], - "yaxis": { - "align": false - } - } - ], - "targets": [ - { - "datasource": { - "uid": "$datasource" - }, - "refId": "A" - } - ], - "title": "AppSet Controller Telemetry", - "type": "row" - }, - { - "collapsed": true, - "datasource": { - "uid": "$datasource" - }, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 9 - }, - "id": 88, - "panels": [ - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": { - "uid": "$datasource" - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 7, - "w": 24, - "x": 0, - "y": 27 - }, - "hiddenSeries": false, - "id": 90, - "legend": { - "alignAsTable": true, - "avg": false, - "current": true, - "max": false, - "min": false, - "rightSide": true, - "show": true, - "sort": "current", - "sortDesc": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null", - "options": { - "dataLinks": [] - }, - "percentage": false, - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "datasource": { - "uid": "$datasource" - }, - "expr": "sum(argocd_cluster_api_resource_objects{namespace=~\"$namespace\",server=~\"$cluster\"}) by (server)", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "{{server}}", - "refId": "A" - } - ], - "thresholds": [], - "timeRegions": [], - "title": "Resource Objects Count", - "tooltip": { - "shared": false, - "sort": 2, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "logBase": 1, - "show": true - }, - { - "format": "short", - "logBase": 1, - "show": true - } - ], - "yaxis": { - "align": false - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": { - "uid": "$datasource" - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 6, - "w": 24, - "x": 0, - "y": 34 - }, - "hiddenSeries": false, - "id": 92, - "legend": { - "alignAsTable": true, - "avg": false, - "current": true, - "hideEmpty": true, - "max": false, - "min": false, - "rightSide": true, - "show": true, - "sort": "current", - "sortDesc": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null", - "options": { - "dataLinks": [] - }, - "percentage": false, - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "datasource": { - "uid": "$datasource" - }, - "expr": " sum(argocd_cluster_api_resources{namespace=~\"$namespace\",server=~\"$cluster\"}) by (server)", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "{{server}}", - "refId": "A" - } - ], - "thresholds": [], - "timeRegions": [], - "title": "API Resources Count", - "tooltip": { - "shared": false, - "sort": 2, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "logBase": 1, - "show": true - }, - { - "format": "short", - "logBase": 1, - "show": true - } - ], - "yaxis": { - "align": false - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": { - "uid": "$datasource" - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 7, - "w": 24, - "x": 0, - "y": 40 - }, - "hiddenSeries": false, - "id": 86, - "legend": { - "alignAsTable": true, - "avg": true, - "current": true, - "max": false, - "min": false, - "rightSide": true, - "show": true, - "sort": "current", - "sortDesc": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null", - "options": { - "dataLinks": [] - }, - "percentage": false, - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "datasource": { - "uid": "$datasource" - }, - "expr": "sum(increase(argocd_cluster_events_total{namespace=~\"$namespace\",server=~\"$cluster\"}[$interval])) by (server)", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "{{server}}", - "refId": "A" - } - ], - "thresholds": [], - "timeRegions": [], - "title": "Cluster Events Count", - "tooltip": { - "shared": false, - "sort": 2, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "logBase": 1, - "show": true - }, - { - "format": "short", - "logBase": 1, - "show": true - } - ], - "yaxis": { - "align": false - } - } - ], - "targets": [ - { - "datasource": { - "uid": "$datasource" - }, - "refId": "A" - } - ], - "title": "Cluster Stats", - "type": "row" - }, - { - "collapsed": true, - "datasource": { - "uid": "$datasource" - }, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 10 - }, - "id": 70, - "panels": [ - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": { - "uid": "$datasource" - }, - "fieldConfig": { - "defaults": { - "links": [], - "unitScale": true - }, - "overrides": [] - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 11 - }, - "hiddenSeries": false, - "id": 82, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": false, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null", - "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "10.3.1", - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "datasource": { - "uid": "$datasource" - }, - "expr": "sum(increase(argocd_git_request_total{request_type=\"ls-remote\", namespace=~\"$namespace\"}[10m])) by (namespace)", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "{{namespace}}", - "refId": "A" - } - ], - "thresholds": [], - "timeRegions": [], - "title": "Git Requests (ls-remote)", - "tooltip": { - "shared": true, - "sort": 2, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "logBase": 1, - "show": true - }, - { - "format": "short", - "logBase": 1, - "show": true - } - ], - "yaxis": { - "align": false - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": { - "uid": "$datasource" - }, - "fieldConfig": { - "defaults": { - "links": [], - "unitScale": true - }, - "overrides": [] - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 11 - }, - "hiddenSeries": false, - "id": 84, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": false, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null", - "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "10.3.1", - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "datasource": { - "uid": "$datasource" - }, - "expr": "sum(increase(argocd_git_request_total{request_type=\"fetch\", namespace=~\"$namespace\"}[10m])) by (namespace)", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "{{namespace}}", - "refId": "A" - } - ], - "thresholds": [], - "timeRegions": [], - "title": "Git Requests (checkout)", - "tooltip": { - "shared": true, - "sort": 2, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "label": "", - "logBase": 1, - "show": true - }, - { - "format": "short", - "logBase": 1, - "show": true - } - ], - "yaxis": { - "align": false - } - }, - { - "cards": {}, - "color": { - "cardColor": "#b4ff00", - "colorScale": "sqrt", - "colorScheme": "interpolateSpectral", - "exponent": 0.5, - "mode": "spectrum" - }, - "dataFormat": "tsbuckets", - "datasource": { - "uid": "$datasource" - }, - "fieldConfig": { - "defaults": { - "custom": { - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "scaleDistribution": { - "type": "linear" - } - }, - "unitScale": true - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 19 - }, - "heatmap": {}, - "hideZeroBuckets": false, - "highlightCards": true, - "id": 114, - "legend": { - "show": false - }, - "options": { - "calculate": false, - "calculation": {}, - "cellGap": 2, - "cellValues": {}, - "color": { - "exponent": 0.5, - "fill": "#b4ff00", - "mode": "scheme", - "reverse": false, - "scale": "exponential", - "scheme": "Spectral", - "steps": 128 - }, - "exemplars": { - "color": "rgba(255,0,255,0.7)" - }, - "filterValues": { - "le": 1e-9 - }, - "legend": { - "show": false - }, - "rowsFrame": { - "layout": "auto" - }, - "showValue": "never", - "tooltip": { - "mode": "single", - "showColorScale": false, - "yHistogram": false - }, - "yAxis": { - "axisPlacement": "left", - "reverse": false, - "unit": "short" - } - }, - "pluginVersion": "10.3.1", - "reverseYBuckets": false, - "targets": [ - { - "datasource": { - "uid": "$datasource" - }, - "expr": "sum(increase(argocd_git_request_duration_seconds_bucket{request_type=\"fetch\", namespace=~\"$namespace\"}[$interval])) by (le)", - "format": "heatmap", - "intervalFactor": 10, - "legendFormat": "{{le}}", - "refId": "A" - } - ], - "title": "Git Fetch Performance", - "tooltip": { - "show": true, - "showHistogram": false - }, - "type": "heatmap", - "xAxis": { - "show": true - }, - "yAxis": { - "format": "short", - "logBase": 1, - "show": true - }, - "yBucketBound": "auto" - }, - { - "cards": {}, - "color": { - "cardColor": "#b4ff00", - "colorScale": "sqrt", - "colorScheme": "interpolateSpectral", - "exponent": 0.5, - "mode": "spectrum" - }, - "dataFormat": "tsbuckets", - "datasource": { - "uid": "$datasource" - }, - "fieldConfig": { - "defaults": { - "custom": { - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "scaleDistribution": { - "type": "linear" - } - }, - "unitScale": true - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 19 - }, - "heatmap": {}, - "hideZeroBuckets": false, - "highlightCards": true, - "id": 116, - "legend": { - "show": false - }, - "options": { - "calculate": false, - "calculation": {}, - "cellGap": 2, - "cellValues": {}, - "color": { - "exponent": 0.5, - "fill": "#b4ff00", - "mode": "scheme", - "reverse": false, - "scale": "exponential", - "scheme": "Spectral", - "steps": 128 - }, - "exemplars": { - "color": "rgba(255,0,255,0.7)" - }, - "filterValues": { - "le": 1e-9 - }, - "legend": { - "show": false - }, - "rowsFrame": { - "layout": "auto" - }, - "showValue": "never", - "tooltip": { - "mode": "single", - "showColorScale": false, - "yHistogram": false - }, - "yAxis": { - "axisPlacement": "left", - "reverse": false, - "unit": "short" - } - }, - "pluginVersion": "10.3.1", - "reverseYBuckets": false, - "targets": [ - { - "datasource": { - "uid": "$datasource" - }, - "expr": "sum(increase(argocd_git_request_duration_seconds_bucket{request_type=\"ls-remote\", namespace=~\"$namespace\"}[$interval])) by (le)", - "format": "heatmap", - "intervalFactor": 10, - "legendFormat": "{{le}}", - "refId": "A" - } - ], - "title": "Git Ls-Remote Performance", - "tooltip": { - "show": true, - "showHistogram": false - }, - "type": "heatmap", - "xAxis": { - "show": true - }, - "yAxis": { - "format": "short", - "logBase": 1, - "show": true - }, - "yBucketBound": "auto" - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": { - "uid": "$datasource" - }, - "fieldConfig": { - "defaults": { - "links": [], - "unitScale": true, - "unit": "bytes" - }, - "overrides": [] - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 8, - "w": 24, - "x": 0, - "y": 27 - }, - "hiddenSeries": false, - "id": 71, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": false, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "connected", - "options": { - "dataLinks": [] - }, - "paceLength": 10, - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "datasource": { - "uid": "$datasource" - }, - "expr": "go_memstats_heap_alloc_bytes{job=\"argocd-server-metrics\",namespace=~\"$namespace\"}", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "{{pod}}", - "refId": "A" - } - ], - "thresholds": [], - "timeRegions": [], - "title": "Memory Used", - "tooltip": { - "shared": true, - "sort": 2, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "bytes", - "logBase": 1, - "show": true - }, - { - "format": "short", - "logBase": 1, - "show": true - } - ], - "yaxis": { - "align": false - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": { - "uid": "$datasource" - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 7, - "w": 24, - "x": 0, - "y": 35 - }, - "hiddenSeries": false, - "id": 72, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": false, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null", - "options": { - "dataLinks": [] - }, - "paceLength": 10, - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "datasource": { - "uid": "$datasource" - }, - "expr": "go_goroutines{job=\"argocd-server-metrics\",namespace=~\"$namespace\"}", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "{{pod}}", - "refId": "A" - } - ], - "thresholds": [], - "timeRegions": [], - "title": "Goroutines", - "tooltip": { - "shared": true, - "sort": 2, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "logBase": 1, - "show": true - }, - { - "format": "short", - "logBase": 1, - "show": true - } - ], - "yaxis": { - "align": false - } - } - ], - "targets": [ - { - "datasource": { - "uid": "$datasource" - }, - "refId": "A" - } - ], - "title": "Repo Server Stats", - "type": "row" - }, - { - "collapsed": true, - "datasource": { - "uid": "$datasource" - }, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 11 - }, - "id": 66, - "panels": [ - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": { - "uid": "$datasource" - }, - "fieldConfig": { - "defaults": { - "unitScale": true, - "unit": "bytes" - }, - "overrides": [] - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 8, - "w": 24, - "x": 0, - "y": 12 - }, - "hiddenSeries": false, - "id": 61, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": false, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "connected", - "options": { - "alertThreshold": true - }, - "paceLength": 10, - "percentage": false, - "pluginVersion": "10.3.1", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "datasource": { - "uid": "$datasource" - }, - "expr": "go_memstats_heap_alloc_bytes{job=\"argocd-repo-server-metrics\",namespace=~\"$namespace\"}", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "{{pod}}", - "refId": "A" - } - ], - "thresholds": [], - "timeRegions": [], - "title": "Memory Used", - "tooltip": { - "shared": true, - "sort": 2, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "bytes", - "logBase": 1, - "min": "0", - "show": true - }, - { - "format": "short", - "logBase": 1, - "show": true - } - ], - "yaxis": { - "align": false - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": { - "uid": "$datasource" - }, - "fieldConfig": { - "defaults": { - "unitScale": true - }, - "overrides": [] - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 9, - "w": 24, - "x": 0, - "y": 20 - }, - "hiddenSeries": false, - "id": 36, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": false, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null", - "options": { - "alertThreshold": true - }, - "paceLength": 10, - "percentage": false, - "pluginVersion": "10.3.1", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "datasource": { - "uid": "$datasource" - }, - "expr": "go_goroutines{job=\"argocd-repo-server-metrics\",namespace=~\"$namespace\"}", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "{{pod}}", - "refId": "A" - } - ], - "thresholds": [], - "timeRegions": [], - "title": "Goroutines", - "tooltip": { - "shared": true, - "sort": 2, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "logBase": 1, - "show": true - }, - { - "format": "short", - "logBase": 1, - "show": true - } - ], - "yaxis": { - "align": false - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": { - "uid": "$datasource" - }, - "fieldConfig": { - "defaults": { - "unitScale": true - }, - "overrides": [] - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 9, - "w": 24, - "x": 0, - "y": 29 - }, - "hiddenSeries": false, - "id": 38, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "connected", - "options": { - "alertThreshold": true - }, - "paceLength": 10, - "percentage": false, - "pluginVersion": "10.3.1", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "datasource": { - "uid": "$datasource" - }, - "expr": "go_gc_duration_seconds{job=\"argocd-server-metrics\", quantile=\"1\", namespace=~\"$namespace\"}", - "format": "time_series", - "intervalFactor": 2, - "legendFormat": "{{pod}}", - "refId": "A" - } - ], - "thresholds": [], - "timeRegions": [], - "title": "GC Time Quantiles", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "logBase": 1, - "show": true - }, - { - "format": "short", - "logBase": 1, - "show": true - } - ], - "yaxis": { - "align": false - } - }, - { - "content": "#### gRPC Services:", - "gridPos": { - "h": 2, - "w": 24, - "x": 0, - "y": 38 - }, - "id": 54, - "links": [], - "mode": "markdown", - "transparent": true, - "type": "text" - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": { - "uid": "$datasource" - }, - "fill": 1, - "gridPos": { - "h": 9, - "w": 12, - "x": 0, - "y": 40 - }, - "id": 40, - "legend": { - "alignAsTable": true, - "avg": true, - "current": true, - "hideEmpty": true, - "hideZero": true, - "max": false, - "min": false, - "rightSide": false, - "show": true, - "sort": "total", - "sortDesc": true, - "total": true, - "values": true - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null as zero", - "paceLength": 10, - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "datasource": { - "uid": "$datasource" - }, - "expr": "sum(increase(grpc_server_handled_total{job=\"argocd-server-metrics\",grpc_service=\"application.ApplicationService\",namespace=~\"$namespace\"}[$interval])) by (grpc_code, grpc_method)", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "{{grpc_code}},{{grpc_method}}", - "refId": "A" - } - ], - "thresholds": [], - "timeRegions": [], - "title": "ApplicationService Requests", - "tooltip": { - "shared": false, - "sort": 2, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "logBase": 1, - "show": true - }, - { - "format": "short", - "logBase": 1, - "show": true - } - ], - "yaxis": { - "align": false - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": { - "uid": "$datasource" - }, - "fill": 1, - "gridPos": { - "h": 9, - "w": 12, - "x": 12, - "y": 40 - }, - "id": 42, - "legend": { - "alignAsTable": true, - "avg": true, - "current": true, - "hideEmpty": true, - "hideZero": true, - "max": false, - "min": false, - "rightSide": false, - "show": true, - "total": true, - "values": true - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null as zero", - "paceLength": 10, - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "datasource": { - "uid": "$datasource" - }, - "expr": "sum(increase(grpc_server_handled_total{job=\"argocd-server-metrics\",grpc_service=\"cluster.ClusterService\",namespace=~\"$namespace\"}[$interval])) by (grpc_code, grpc_method)", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "{{grpc_code}},{{grpc_method}}", - "refId": "A" - } - ], - "thresholds": [], - "timeRegions": [], - "title": "ClusterService Requests", - "tooltip": { - "shared": false, - "sort": 2, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "logBase": 1, - "show": true - }, - { - "format": "short", - "logBase": 1, - "show": true - } - ], - "yaxis": { - "align": false - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": { - "uid": "$datasource" - }, - "fill": 1, - "gridPos": { - "h": 9, - "w": 12, - "x": 0, - "y": 49 - }, - "id": 44, - "legend": { - "alignAsTable": true, - "avg": true, - "current": true, - "hideEmpty": true, - "hideZero": true, - "max": false, - "min": false, - "rightSide": false, - "show": true, - "total": true, - "values": true - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null as zero", - "paceLength": 10, - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "datasource": { - "uid": "$datasource" - }, - "expr": "sum(increase(grpc_server_handled_total{job=\"argocd-server-metrics\",grpc_service=\"project.ProjectService\",namespace=~\"$namespace\"}[$interval])) by (grpc_code, grpc_method)", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "{{grpc_code}},{{grpc_method}}", - "refId": "A" - } - ], - "thresholds": [], - "timeRegions": [], - "title": "ProjectService Requests", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "logBase": 1, - "show": true - }, - { - "format": "short", - "logBase": 1, - "show": true - } - ], - "yaxis": { - "align": false - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": { - "uid": "$datasource" - }, - "fill": 1, - "gridPos": { - "h": 9, - "w": 12, - "x": 12, - "y": 49 - }, - "id": 46, - "legend": { - "alignAsTable": true, - "avg": true, - "current": true, - "hideEmpty": true, - "hideZero": true, - "max": false, - "min": false, - "show": true, - "total": true, - "values": true - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null as zero", - "paceLength": 10, - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "datasource": { - "uid": "$datasource" - }, - "expr": "sum(increase(grpc_server_handled_total{job=\"argocd-server-metrics\",grpc_service=\"repository.RepositoryService\",namespace=~\"$namespace\"}[$interval])) by (grpc_code, grpc_method)", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "{{grpc_code}},{{grpc_method}}", - "refId": "A" - } - ], - "thresholds": [ - { - "colorMode": "critical", - "fill": true, - "line": true, - "op": "gt", - "yaxis": "left" - } - ], - "timeRegions": [], - "title": "RepositoryService Requests", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "logBase": 1, - "show": true - }, - { - "format": "short", - "logBase": 1, - "show": true - } - ], - "yaxis": { - "align": false - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": { - "uid": "$datasource" - }, - "fill": 1, - "gridPos": { - "h": 9, - "w": 12, - "x": 0, - "y": 58 - }, - "id": 48, - "legend": { - "alignAsTable": true, - "avg": true, - "current": true, - "hideEmpty": true, - "hideZero": true, - "max": false, - "min": false, - "show": true, - "total": true, - "values": true - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null as zero", - "paceLength": 10, - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "datasource": { - "uid": "$datasource" - }, - "expr": "sum(increase(grpc_server_handled_total{job=\"argocd-server-metrics\",grpc_service=\"session.SessionService\",namespace=~\"$namespace\"}[$interval])) by (grpc_code, grpc_method)", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "{{grpc_code}},{{grpc_method}}", - "refId": "A" - } - ], - "thresholds": [], - "timeRegions": [], - "title": "SessionService Requests", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "logBase": 1, - "show": true - }, - { - "format": "short", - "logBase": 1, - "show": true - } - ], - "yaxis": { - "align": false - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": { - "uid": "$datasource" - }, - "fill": 1, - "gridPos": { - "h": 9, - "w": 12, - "x": 12, - "y": 58 - }, - "id": 49, - "legend": { - "alignAsTable": true, - "avg": true, - "current": true, - "hideEmpty": true, - "hideZero": true, - "max": false, - "min": false, - "show": true, - "total": true, - "values": true - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null as zero", - "paceLength": 10, - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "datasource": { - "uid": "$datasource" - }, - "expr": "sum(increase(grpc_server_handled_total{job=\"argocd-server-metrics\",grpc_service=\"version.VersionService\",namespace=~\"$namespace\"}[$interval])) by (grpc_code, grpc_method)", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "{{grpc_code}},{{grpc_method}}", - "refId": "A" - } - ], - "thresholds": [], - "timeRegions": [], - "title": "VersionService Requests", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "logBase": 1, - "show": true - }, - { - "format": "short", - "logBase": 1, - "show": true - } - ], - "yaxis": { - "align": false - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": { - "uid": "$datasource" - }, - "fill": 1, - "gridPos": { - "h": 9, - "w": 12, - "x": 0, - "y": 67 - }, - "id": 50, - "legend": { - "alignAsTable": true, - "avg": true, - "current": true, - "hideEmpty": true, - "hideZero": true, - "max": false, - "min": false, - "show": true, - "total": true, - "values": true - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null as zero", - "paceLength": 10, - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "datasource": { - "uid": "$datasource" - }, - "expr": "sum(increase(grpc_server_handled_total{job=\"argocd-server-metrics\",grpc_service=\"account.AccountService\",namespace=~\"$namespace\"}[$interval])) by (grpc_code, grpc_method)", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "{{grpc_code}},{{grpc_method}}", - "refId": "A" - } - ], - "thresholds": [], - "timeRegions": [], - "title": "AccountService Requests", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "logBase": 1, - "show": true - }, - { - "format": "short", - "logBase": 1, - "show": true - } - ], - "yaxis": { - "align": false - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": { - "uid": "$datasource" - }, - "fill": 1, - "gridPos": { - "h": 9, - "w": 12, - "x": 12, - "y": 67 - }, - "id": 99, - "legend": { - "alignAsTable": true, - "avg": true, - "current": true, - "hideEmpty": true, - "hideZero": true, - "max": false, - "min": false, - "show": true, - "total": true, - "values": true - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null as zero", - "paceLength": 10, - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "datasource": { - "uid": "$datasource" - }, - "expr": "sum(increase(grpc_server_handled_total{job=\"argocd-server-metrics\",grpc_service=\"cluster.SettingsService\",namespace=~\"$namespace\"}[$interval])) by (grpc_code, grpc_method)", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "{{grpc_code}},{{grpc_method}}", - "refId": "A" - } - ], - "thresholds": [], - "timeRegions": [], - "title": "SettingsService Requests", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "logBase": 1, - "show": true - }, - { - "format": "short", - "logBase": 1, - "show": true - } - ], - "yaxis": { - "align": false - } - } - ], - "targets": [ - { - "datasource": { - "uid": "$datasource" - }, - "refId": "A" - } - ], - "title": "Server Stats", - "type": "row" - }, - { - "collapsed": true, - "datasource": { - "type": "prometheus", - "uid": "$datasource" - }, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 12 - }, - "id": 110, - "panels": [ - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": { - "type": "prometheus", - "uid": "$datasource" - }, - "fieldConfig": { - "defaults": { - "links": [], - "unitScale": true - }, - "overrides": [] - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 7, - "w": 24, - "x": 0, - "y": 13 - }, - "hiddenSeries": false, - "id": 112, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "nullPointMode": "null", - "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "10.3.1", - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "$datasource" - }, - "expr": "sum(increase(argocd_redis_request_total{namespace=~\"$namespace\"}[$interval])) by (failed)", - "refId": "A" - } - ], - "thresholds": [], - "timeRegions": [], - "title": "Requests by result", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "logBase": 1, - "show": true - }, - { - "format": "short", - "logBase": 1, - "show": true - } - ], - "yaxis": { - "align": false - } - } - ], - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "$datasource" - }, - "refId": "A" - } - ], - "title": "Redis Stats", - "type": "row" - } - ], - "refresh": "", - "schemaVersion": 39, - "tags": [], - "templating": { - "list": [ - { - "current": { - "selected": false, - "text": "Prometheus", - "value": "prometheus" - }, - "hide": 0, - "includeAll": false, - "multi": false, - "name": "datasource", - "options": [], - "query": "prometheus", - "queryValue": "", - "refresh": 1, - "regex": "", - "skipUrlSync": false, - "type": "datasource" - }, - { - "allValue": ".*", - "current": { - "selected": false, - "text": "All", - "value": "$__all" - }, - "datasource": { - "type": "prometheus", - "uid": "$datasource" - }, - "definition": "label_values(kube_pod_info, namespace)", - "hide": 0, - "includeAll": true, - "multi": false, - "name": "namespace", - "options": [], - "query": "label_values(kube_pod_info, namespace)", - "refresh": 1, - "regex": ".*argocd.*", - "skipUrlSync": false, - "sort": 0, - "tagValuesQuery": "", - "tagsQuery": "", - "type": "query", - "useTags": false - }, - { - "auto": true, - "auto_count": 30, - "auto_min": "1m", - "current": { - "selected": false, - "text": "auto", - "value": "$__auto_interval_interval" - }, - "hide": 0, - "name": "interval", - "options": [ - { - "selected": true, - "text": "auto", - "value": "$__auto_interval_interval" - }, - { - "selected": false, - "text": "1m", - "value": "1m" - }, - { - "selected": false, - "text": "5m", - "value": "5m" - }, - { - "selected": false, - "text": "10m", - "value": "10m" - }, - { - "selected": false, - "text": "30m", - "value": "30m" - }, - { - "selected": false, - "text": "1h", - "value": "1h" - }, - { - "selected": false, - "text": "2h", - "value": "2h" - }, - { - "selected": false, - "text": "4h", - "value": "4h" - }, - { - "selected": false, - "text": "8h", - "value": "8h" - } - ], - "query": "1m,5m,10m,30m,1h,2h,4h,8h", - "refresh": 2, - "skipUrlSync": false, - "type": "interval" - }, - { - "allValue": "", - "current": { - "selected": false, - "text": "namespace", - "value": "namespace" - }, - "hide": 0, - "includeAll": false, - "multi": false, - "name": "grouping", - "options": [ - { - "selected": true, - "text": "namespace", - "value": "namespace" - }, - { - "selected": false, - "text": "name", - "value": "name" - }, - { - "selected": false, - "text": "project", - "value": "project" - } - ], - "query": "namespace,name,project", - "queryValue": "", - "skipUrlSync": false, - "type": "custom" - }, - { - "allValue": ".*", - "current": { - "selected": false, - "text": "All", - "value": "$__all" - }, - "datasource": { - "type": "prometheus", - "uid": "$datasource" - }, - "definition": "label_values(argocd_cluster_info, server)", - "hide": 0, - "includeAll": true, - "multi": false, - "name": "cluster", - "options": [], - "query": "label_values(argocd_cluster_info, server)", - "refresh": 1, - "regex": "", - "skipUrlSync": false, - "sort": 1, - "tagValuesQuery": "", - "tagsQuery": "", - "type": "query", - "useTags": false - }, - { - "allValue": ".*", - "current": { - "selected": false, - "text": "All", - "value": "$__all" - }, - "hide": 0, - "includeAll": true, - "multi": false, - "name": "health_status", - "options": [ - { - "selected": true, - "text": "All", - "value": "$__all" - }, - { - "selected": false, - "text": "Healthy", - "value": "Healthy" - }, - { - "selected": false, - "text": "Progressing", - "value": "Progressing" - }, - { - "selected": false, - "text": "Suspended", - "value": "Suspended" - }, - { - "selected": false, - "text": "Missing", - "value": "Missing" - }, - { - "selected": false, - "text": "Degraded", - "value": "Degraded" - }, - { - "selected": false, - "text": "Unknown", - "value": "Unknown" - } - ], - "query": "Healthy,Progressing,Suspended,Missing,Degraded,Unknown", - "skipUrlSync": false, - "type": "custom" - }, - { - "allValue": ".*", - "current": { - "selected": false, - "text": "All", - "value": "$__all" - }, - "hide": 0, - "includeAll": true, - "multi": false, - "name": "sync_status", - "options": [ - { - "selected": true, - "text": "All", - "value": "$__all" - }, - { - "selected": false, - "text": "Synced", - "value": "Synced" - }, - { - "selected": false, - "text": "OutOfSync", - "value": "OutOfSync" - }, - { - "selected": false, - "text": "Unknown", - "value": "Unknown" - } - ], - "query": "Synced,OutOfSync,Unknown", - "skipUrlSync": false, - "type": "custom" - } - ] - }, - "time": { - "from": "now-30m", - "to": "now" - }, - "timepicker": { - "refresh_intervals": [ - "5s", - "10s", - "30s", - "1m", - "5m", - "15m", - "30m", - "1h", - "2h", - "1d" - ], - "time_options": [ - "5m", - "15m", - "1h", - "6h", - "12h", - "24h", - "2d", - "7d", - "30d" - ] - }, - "timezone": "", - "title": "ArgoCD", - "uid": "LCAgc9rWz", - "version": 2, - "weekStart": "" -} diff --git a/k8s/infra/controllers/argocd/dashboard.yaml b/k8s/infra/controllers/argocd/dashboard.yaml new file mode 100644 index 0000000..354eef9 --- /dev/null +++ b/k8s/infra/controllers/argocd/dashboard.yaml @@ -0,0 +1,13 @@ +apiVersion: grafana.integreatly.org/v1beta1 +kind: GrafanaDashboard +metadata: + name: argocd + namespace: argocd +spec: + allowCrossNamespaceImport: true + folder: Argo CD + resyncPeriod: 10m + instanceSelector: + matchLabels: + app: grafana + url: https://raw.githubusercontent.com/argoproj/argo-cd/refs/heads/master/examples/dashboard.json diff --git a/k8s/infra/controllers/argocd/kustomization.yaml b/k8s/infra/controllers/argocd/kustomization.yaml index 174f7c8..f7c5fb1 100644 --- a/k8s/infra/controllers/argocd/kustomization.yaml +++ b/k8s/infra/controllers/argocd/kustomization.yaml @@ -15,15 +15,7 @@ resources: - service-monitors/argocd-redis.yaml - service-monitors/argocd-repo-server.yaml - service-monitors/argocd-server.yaml - -configMapGenerator: - - name: argocd-dashboard - namespace: argocd - # From https://github.com/argoproj/argo-cd/blob/master/examples/dashboard.json - files: [ argocd-dashboard.json ] - options: - annotations: { grafana_folder: "Argo CD" } - labels: { grafana_dashboard: "1" } + - dashboard.yaml helmCharts: - name: argo-cd diff --git a/k8s/infra/monitoring/grafana/admin-credentials.yaml b/k8s/infra/monitoring/grafana/admin-credentials.yaml new file mode 100644 index 0000000..e974eeb --- /dev/null +++ b/k8s/infra/monitoring/grafana/admin-credentials.yaml @@ -0,0 +1,14 @@ +apiVersion: bitnami.com/v1alpha1 +kind: SealedSecret +metadata: + name: admin-credentials + namespace: grafana +spec: + encryptedData: + password: AgAmS+p26Jr9am+MkHeI6m+A8IbH/Pb87adjMvvdE/GRgjuEOIuVmBtFTxURUn5ddjOYdWfkXK34k/ObfRGNFjCd/w042jeq/mdwicnrrw4VSoJaiYxP/Qx1Iz6qRp1cZiYC3W5dlNk51fDGXVtyqxTCoMnDIvZ4fIVvKsEmizan64+JWG0X6uPn1g2xDV2O6wleygxI+JHdeYGueKGZ1rHnzcmkiv2jYoM3tj3wqpRmuVikLoaenNqh/4hV7bNKp6pMjZEZ+P2LBxiGVvBFDD2ztwzP8JImbWtXEldA6VmU9vEEMNvmchDBBsr/4gbTiLaHUP3P4XojRIghtvMxAqJqji3AOqOE4K7tHK5o6L7MvQDxYUfav/mKcLCfuLFEyNuTG3D/KLImnSSTD/tU1GZIAs66TlaID9lTJFG464YlmvvL7E/MOBRUPGkBXVdluzCuyHPRT1ljmayte+H0U+FuGFsB+lcVfxNLcWlIo4pAHjyGX2L2ghkP2oLb4V54ISPvJKv2pAKnRHYRGzwCI9zLpb2rXWOcSbDyhyORxSKWFxOX3x/Sk3xVk2tDIa9yFcA5VVHXePzFsknD2DtbUMdpUu0Mbt96v+F9AE9W0H7KF6YnYHhVeCZCvGEtBD8oUTPY5jx+O1VuNraO/D9MlDumanYz8lYfGKlR/LBEmjZyarK7YTwrMpLOA8cFuJdB62SlrDVlt2w6dJq4lq/5I1juZP7Ukvxihip/xc2JD6hRs4jRAkk= + username: AgCj6mPWTMz3QrIirfadIjgxywgM8j3KYwV+8Q0k9dQke7jnaxVdGHaLFRhapxIM77exdT4TfGN2TwSEOLvsk3wsE/B2J1AftT1VMC8Cj15tJrJZPPyJQFua/x45CTIQS0WISW/hz2sNI5RFTC/xJAK9ITUW8TgjEIoPh9tVltdylrVnFC2DR78STAnGMrA470pmPqMadzpDlQSNqs8jo7noWDvSpDhxWVemPrQTVzYnH2cPbIwYdZaXD1I799xvXWHKXDBu6o1P69LhCqBNsV9IKKsvey3Sb5v1fu5PtJpWxhITQ3PJDLvO9msC/a5ORWMmpeqVQYFrIw6HjY+jB3bsbYXVGESz1j60Pa8v0jgDSuviGy6daLXYjBJ9QUoUdvgce0C4wP+uTbd5mczO4xczBc16D0zFY3g4VecnVJSoMH7tQz617UiHEIOMDuAAwQqTkPIWcx1rYh00OogS8B+pG/JErgimackYvcT3ZiYIzXxrW81QGasvPky0yzEvc9KOB9iblEWtgkcf9YqL1b/Oe5UuVgHtkH+NpgVk3YwYLwJqw4P74I9EpaQYf/wDJz/EtbXvRwany6XW3YebzoH8QRR/JTPRX4HRgmS3Nbbp1nsBP+NDE+90He1Oq8EbvJaY0/Q+E51mEexd2cHS2NJro0G1EF/pkoznP1FqnLAWvd03dhM+2fIJv0qrPBYQGHHk07O0cA== + template: + metadata: + name: admin-credentials + namespace: grafana + type: Opaque diff --git a/k8s/infra/monitoring/grafana/datasources/alertmanager-operated.yaml b/k8s/infra/monitoring/grafana/datasources/alertmanager-operated.yaml new file mode 100644 index 0000000..3a3b411 --- /dev/null +++ b/k8s/infra/monitoring/grafana/datasources/alertmanager-operated.yaml @@ -0,0 +1,19 @@ +apiVersion: grafana.integreatly.org/v1beta1 +kind: GrafanaDatasource +metadata: + name: alertmanager + namespace: grafana +spec: + allowCrossNamespaceImport: true + instanceSelector: + matchLabels: + app: grafana + datasource: + name: Alertmanager + type: alertmanager + access: proxy + url: http://alertmanager-operated.monitoring.svc.cluster.local:9093 + isDefault: false + jsonData: + handleGrafanaManagedAlerts: false + implementation: prometheus diff --git a/k8s/infra/monitoring/grafana/datasources/prometheus-operated.yaml b/k8s/infra/monitoring/grafana/datasources/prometheus-operated.yaml new file mode 100644 index 0000000..9edeaac --- /dev/null +++ b/k8s/infra/monitoring/grafana/datasources/prometheus-operated.yaml @@ -0,0 +1,18 @@ +apiVersion: grafana.integreatly.org/v1beta1 +kind: GrafanaDatasource +metadata: + name: prometheus + namespace: grafana +spec: + allowCrossNamespaceImport: true + instanceSelector: + matchLabels: + app: grafana + datasource: + name: Prometheus + type: prometheus + access: proxy + url: http://prometheus-operated.monitoring.svc.cluster.local:9090 + isDefault: true + jsonData: + timeInterval: 30s diff --git a/k8s/infra/monitoring/grafana/grafana-operator-dashboard.yaml b/k8s/infra/monitoring/grafana/grafana-operator-dashboard.yaml new file mode 100644 index 0000000..b11c929 --- /dev/null +++ b/k8s/infra/monitoring/grafana/grafana-operator-dashboard.yaml @@ -0,0 +1,15 @@ +apiVersion: grafana.integreatly.org/v1beta1 +kind: GrafanaDashboard +metadata: + name: grafana-operator + namespace: grafana +spec: + allowCrossNamespaceImport: true + folder: Grafana + resyncPeriod: 10m + instanceSelector: + matchLabels: + app: grafana + configMapRef: + name: grafana-operator-dashboard + key: grafana-operator.json diff --git a/k8s/infra/monitoring/grafana/grafana.yaml b/k8s/infra/monitoring/grafana/grafana.yaml new file mode 100644 index 0000000..124c473 --- /dev/null +++ b/k8s/infra/monitoring/grafana/grafana.yaml @@ -0,0 +1,51 @@ +apiVersion: grafana.integreatly.org/v1beta1 +kind: Grafana +metadata: + name: grafana + namespace: grafana + labels: + app: grafana +spec: + disableDefaultAdminSecret: true + config: + log: + mode: console + auth: + disable_login_form: "true" + server: + root_url: https://grafana.stonegarden.dev + auth.generic_oauth: + enabled: "true" + name: Authelia + client_id: $__env{OIDC_CLIENT_ID} + client_secret: $__env{OIDC_CLIENT_SECRET} + auth_style: InHeader + scopes: openid email profile offline_access grafana + empty_scopes: "false" + use_pkce: "true" + use_refresh_token: "true" + auth_url: https://authelia.stonegarden.dev/api/oidc/authorization + token_url: https://authelia.stonegarden.dev/api/oidc/token + api_url: https://authelia.stonegarden.dev/api/oidc/userinfo + signout_redirect_url: https://authelia.stonegarden.dev/logout + login_attribute_path: preferred_username + name_attribute_path: name + allow_assign_grafana_admin: "true" + role_attribute_path: contains(grafana[*], 'grafana_admin') && 'GrafanaAdmin' || contains(grafana[*], 'admin') && 'Admin' || contains(grafana[*], 'editor') && 'Editor' || 'Viewer' + auto_login: "true" + version: 12.1.0 # renovate: docker=docker.io/grafana/grafana + deployment: + spec: + template: + spec: + containers: + - name: grafana + env: + - name: GF_SECURITY_ADMIN_USER + valueFrom: + secretKeyRef: { key: username, name: admin-credentials } + - name: GF_SECURITY_ADMIN_PASSWORD + valueFrom: + secretKeyRef: { key: password, name: admin-credentials } + envFrom: + - secretRef: { name: oidc-credentials } diff --git a/k8s/infra/monitoring/kube-prometheus-stack/grafana-http-route.yaml b/k8s/infra/monitoring/grafana/http-route.yaml similarity index 77% rename from k8s/infra/monitoring/kube-prometheus-stack/grafana-http-route.yaml rename to k8s/infra/monitoring/grafana/http-route.yaml index 3a35c67..639de56 100644 --- a/k8s/infra/monitoring/kube-prometheus-stack/grafana-http-route.yaml +++ b/k8s/infra/monitoring/grafana/http-route.yaml @@ -2,7 +2,7 @@ apiVersion: gateway.networking.k8s.io/v1 kind: HTTPRoute metadata: name: grafana - namespace: monitoring + namespace: grafana spec: parentRefs: - name: internal @@ -15,5 +15,5 @@ spec: type: PathPrefix value: / backendRefs: - - name: kube-prometheus-stack-grafana - port: 80 + - name: grafana-service + port: 3000 diff --git a/k8s/infra/monitoring/grafana/kustomization.yaml b/k8s/infra/monitoring/grafana/kustomization.yaml new file mode 100644 index 0000000..6f8e54f --- /dev/null +++ b/k8s/infra/monitoring/grafana/kustomization.yaml @@ -0,0 +1,21 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: + - ns.yaml + - grafana.yaml + - grafana-operator-dashboard.yaml + - http-route.yaml + - admin-credentials.yaml + - oidc-credentials.yaml + - datasources/alertmanager-operated.yaml + - datasources/prometheus-operated.yaml + +helmCharts: + - name: grafana-operator + repo: oci://ghcr.io/grafana/helm-charts + includeCRDs: true + namespace: grafana + version: v5.19.1 # renovate: github-releases=grafana/grafana-operator + releaseName: grafana-operator + valuesFile: ./values.yaml diff --git a/k8s/infra/monitoring/grafana/ns.yaml b/k8s/infra/monitoring/grafana/ns.yaml new file mode 100644 index 0000000..201d7d3 --- /dev/null +++ b/k8s/infra/monitoring/grafana/ns.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: grafana diff --git a/k8s/infra/monitoring/grafana/oidc-credentials.yaml b/k8s/infra/monitoring/grafana/oidc-credentials.yaml new file mode 100644 index 0000000..577880c --- /dev/null +++ b/k8s/infra/monitoring/grafana/oidc-credentials.yaml @@ -0,0 +1,14 @@ +apiVersion: bitnami.com/v1alpha1 +kind: SealedSecret +metadata: + name: oidc-credentials + namespace: grafana +spec: + encryptedData: + OIDC_CLIENT_ID: AgBJlYOf+aFOMewSQTaThwh4zzZDuUFU7Kch8OyDbmqK4tRdSsFZdcOFJxeMLx1P3oupw3d6NDl5fNaCnx6GJ8kL9D+nVASxQ8aO2ld/TrZSZ1PaDUOmahTZSj2K7Naa0O7LSfuVnjmMZG5cifWiITrqgBSoY7odbokYft9SxL0puWcUW1w5VxqfFyY2ZFs/aqAjNAD656zB2iDihCE28L5ROp5WGdxpiyTU5zcR+dOxZ1mmevH38RMa4vA2Y121MOdKco2e93gSFMWw6fZ1cjXfDLwYPgJdrrGjnsjnBXtWqdNnnYT/wjIlQ08xhZi/jbnGXAo1FkCHL5FgbEPmxgSKJolPLLpEFZPhfwaviCT6ft/Mza1wWTnlSYjVCRox5T8tehU7vniAc0Emd8XcEbF4LwKDYfVjYKdZncsbwdn/XB5XOPDeozme5cy4+EBGLz6+QgPHef08XN/kW16+FNTU5mUyM73NXeN5WDkrn6yF1ZyZUYSJ39g70kMLPUU0i9Or8lRY3cI6Q706/KaOBpFiLq/dtb3OxPJQ4eADJYVyJIS8v4TF2vJ7jcIeJd5dadpinKyN7Lc9PHOU5Oa3oyDJlajXrQH7Q0/bIKzETcDCN5ovqwnpOj9RsGzNSPJnV+EQbLl2mnLS6NfE7WfbVD08B0EmXbA4tuQOj3+KBe5XaOFK3rvDoSKe0EmqjtOjYNTJRhQQP8Po + OIDC_CLIENT_SECRET: AgCn9ELnh4t+a3pzSXbrGmjfJNO00eXu4vdM4vLOlquIGjSWFVOykVPS3f6+HVNhGklhzR1omnPOGl2AeDxK5UqoH1azrPtvoKsLQg7S11TP92gp/jZLmE2rKvUxvdHuxT9j2230bMzpU+S8D2YqHc9cqUywBhSV9ojKl+zQKvMlBE1SFUq3X6Gu/edscL7dJGZrUtpxpB7atwVRque9ZYcxdO48Ms/Uf5j/6oSZt1Pd7dr1+Y3WyLOXCoMixGcCGc+XJSWG7DFet9s5NSjFtI6MMFwitBE2oxWZtxJOE+lxDDZw2XFdKACZIoFy4rU8RXTBg+pdRhc0eFvZykBwY77YxmTe/xHaWUiP02Zfkw7X9nncvDBb2SW9CBthMi4Zl2t3gMJ8Pxk/5CPM/RexU4HsCuAG1LQgUD1rYziRoyxBs6sCPoAC4q1NV+x4xon9FoNQySfgbXtEfNVTknExF/aVnxU1yJL9dwjAmijEVkUlO6PKSgR93KOLmyS/aAphkLLInyvXeriD5hPlSRcEs7p6R0MeqeH0JJJ9C0KjwWYNCe5UWmTHHUXmeYuKQLo2BSXpwsw9ys7kbYihiRa+37EqK35s5cKtIYtTXpWiYsVyeYn7DmdkUbxrC1QmDpgjPaQM15FspS3H7JbxFUouKfVkUwo7Jv/tVsxjnOmm9np05GHUUTxIqvmd7/45rx8NsFESDFJtsY32qYGYfAvlUIXpLbCdpW/W/9Yuh98lvjeVeW3cPWAZXDn6nHnvSt8xhW/sHVcF0EUkadKJinVHqGQZ8a2wwHAo+AU= + template: + metadata: + name: oidc-credentials + namespace: grafana + type: Opaque diff --git a/k8s/infra/monitoring/grafana/values.yaml b/k8s/infra/monitoring/grafana/values.yaml new file mode 100644 index 0000000..77702fd --- /dev/null +++ b/k8s/infra/monitoring/grafana/values.yaml @@ -0,0 +1,7 @@ +# https://github.com/grafana/grafana-operator/blob/master/deploy/helm/grafana-operator/values.yaml + +serviceMonitor: + enabled: true + +dashboard: + enabled: true diff --git a/k8s/infra/monitoring/hubble/dashboards/hubble-dns-namespace.yaml b/k8s/infra/monitoring/hubble/dashboards/hubble-dns-namespace.yaml new file mode 100644 index 0000000..c443285 --- /dev/null +++ b/k8s/infra/monitoring/hubble/dashboards/hubble-dns-namespace.yaml @@ -0,0 +1,15 @@ +apiVersion: grafana.integreatly.org/v1beta1 +kind: GrafanaDashboard +metadata: + name: hubble-dns-namespace + namespace: kube-system +spec: + allowCrossNamespaceImport: true + folder: Hubble + resyncPeriod: 10m + instanceSelector: + matchLabels: + app: grafana + configMapRef: + name: hubble-dns-namespace + key: hubble-dns-namespace.json diff --git a/k8s/infra/monitoring/hubble/dashboards/hubble-l7-http-metrics.yaml b/k8s/infra/monitoring/hubble/dashboards/hubble-l7-http-metrics.yaml new file mode 100644 index 0000000..11ff219 --- /dev/null +++ b/k8s/infra/monitoring/hubble/dashboards/hubble-l7-http-metrics.yaml @@ -0,0 +1,15 @@ +apiVersion: grafana.integreatly.org/v1beta1 +kind: GrafanaDashboard +metadata: + name: hubble-l7-http-metrics + namespace: kube-system +spec: + allowCrossNamespaceImport: true + folder: Hubble + resyncPeriod: 10m + instanceSelector: + matchLabels: + app: grafana + configMapRef: + name: hubble-l7-http-metrics-by-workload + key: hubble-l7-http-metrics-by-workload.json diff --git a/k8s/infra/monitoring/hubble/dashboards/hubble-network-overview.yaml b/k8s/infra/monitoring/hubble/dashboards/hubble-network-overview.yaml new file mode 100644 index 0000000..64db2a0 --- /dev/null +++ b/k8s/infra/monitoring/hubble/dashboards/hubble-network-overview.yaml @@ -0,0 +1,15 @@ +apiVersion: grafana.integreatly.org/v1beta1 +kind: GrafanaDashboard +metadata: + name: hubble-network-overview + namespace: kube-system +spec: + allowCrossNamespaceImport: true + folder: Hubble + resyncPeriod: 10m + instanceSelector: + matchLabels: + app: grafana + configMapRef: + name: hubble-network-overview-namespace + key: hubble-network-overview-namespace.json diff --git a/k8s/infra/monitoring/hubble/dashboards/hubble.yaml b/k8s/infra/monitoring/hubble/dashboards/hubble.yaml new file mode 100644 index 0000000..c7d9885 --- /dev/null +++ b/k8s/infra/monitoring/hubble/dashboards/hubble.yaml @@ -0,0 +1,15 @@ +apiVersion: grafana.integreatly.org/v1beta1 +kind: GrafanaDashboard +metadata: + name: hubble + namespace: kube-system +spec: + allowCrossNamespaceImport: true + folder: Hubble + resyncPeriod: 10m + instanceSelector: + matchLabels: + app: grafana + configMapRef: + name: hubble-dashboard + key: hubble-dashboard.json diff --git a/k8s/infra/monitoring/hubble/kustomization.yaml b/k8s/infra/monitoring/hubble/kustomization.yaml index 19d2152..81d92e4 100644 --- a/k8s/infra/monitoring/hubble/kustomization.yaml +++ b/k8s/infra/monitoring/hubble/kustomization.yaml @@ -3,3 +3,7 @@ kind: Kustomization resources: - http-route.yaml + - dashboards/hubble.yaml + - dashboards/hubble-dns-namespace.yaml + - dashboards/hubble-l7-http-metrics.yaml + - dashboards/hubble-network-overview.yaml diff --git a/k8s/infra/monitoring/kube-prometheus-stack/grafana-admin-credentials.yaml b/k8s/infra/monitoring/kube-prometheus-stack/grafana-admin-credentials.yaml deleted file mode 100644 index e477880..0000000 --- a/k8s/infra/monitoring/kube-prometheus-stack/grafana-admin-credentials.yaml +++ /dev/null @@ -1,14 +0,0 @@ -apiVersion: bitnami.com/v1alpha1 -kind: SealedSecret -metadata: - name: grafana-admin-credentials - namespace: monitoring -spec: - encryptedData: - password: AgANbqUu0Et5sui+wnqfDRUeoraff5YQPN3SVTJIe2FUEvAnDemFwr5LJXns8BWaU0ePwTOl4kefrcstoCFkOv0T0kDtOA10iaFsGXlGFg2mfB9jhfevcYaFL1v0lJNp6nKDRPE+7p8xYKQ2g98TPh1wouZL+CUD74Xu5prP8H0996t+rN4GQwaCiKB6A0RgWcl6dHB7kJG2Ai7it3iggw1njwzJi+j0BOdOG+hsZSndXxj4DXti4HUYT098n2HKa+zJsFlYMZdlRiB3MrcijJqJ0zCSZI+chxFqifHRI/fq1Tul4PIzl5PwkfjouGAiUarHUkaFgQwF0iYwT+T/aLKPt81JXCP6t5vfrV267gKXIV9e/5wt76psTg4/rziaXpk7qQSElPsXYKwh13CgjHZlFnRix3wML/fujCrKxFuDLpfDEcBLvupYMfTjPz/UeZsYHZhilzKG6pXKp0S7S6jy8R4mezQ6pbLnM3jiKCSB62TR86OCNotoU709Iyhvydm16N3bkXv/omXEwAfrnrTY6bLGrW2gGQUewp9b32ICfinO5+tmEXRc1fc3Gg+Q2UGTZ/TxJ6GpIjOprpZw713wupR4gwrXgUWIIWA+RlwAVSbRov2c8P6kz5Xv5RSbEI8NfjMkDMu4P62vUqR1qSIEbE2ZOSgGCVyiz+wiOTWJjqStuAluGBA5f71iGVTAMeWvRpwbxjyuse2XvjhbTCHdMJoBc4502gxm5DRxIY53IeP8Xlk= - username: AgCU0NGesHrF8lhshT1YgyxW4K4DioTHfDqyUzIWbAFRjMb4tj8xRASQfd2JnGTdUY933IFDu8OutILYErLN/TT1oyhFtMFxnIWXp+WP6YzO3WxxLYYkxP692SCZfc8l4eccdUPmmH1EYkpKyQU1TSZtFBWBJpYt/l8Pn5+VG960S3Fx1Ldp5l9kEF4UtUYpPcFUHTzORxW5vpI7wg2SK9I+PqTGLywZfv5Rz0oY9lhQnBGkr/Tg/Wpnn4/o3+kg2b5RaA+kzXymaeM8JOEvDwwJWhVXDqA8xYwLGQAOgatRDNeVs8q6Ck4iQ5ZATN3IeDHjeVw1098y7HK5ew5hbjr9Bbfm2y0I03Ft3pCzrPH1A5ZLpAVwF11aT/M5f7bowgCKPrCJMQ95JU7SEJ/1KHiNOpdtGwArSaAc7DKHTpdGGSo+JXg27FJJsxTPLp6zZWR6SuSdBxQOlSx59rAkydacnk0b0qY2HQ8+FzdIUojjepSW0V/iNAgSwF6wZY+dYowPOxohWc/MqmqK7n0YhnMmHKkN2Ii7QDRsQ2GbH/rl8b0l7Fd3D1vy38864N9t2RKNLWy0yStC+YgnJNcRrX0ULRjAnOJerYv5F7qoVK7yETTr+oLzyJZ6XLfec69FVyOrBYycs4+iIHQyo8xrNdnSzumh85w9WfUcxOTyMCSHasePUujy4Wa9HguLPfGH87ZNooZV7g== - template: - metadata: - name: grafana-admin-credentials - namespace: monitoring - type: Opaque diff --git a/k8s/infra/monitoring/kube-prometheus-stack/grafana-oidc-credentials.yaml b/k8s/infra/monitoring/kube-prometheus-stack/grafana-oidc-credentials.yaml deleted file mode 100644 index 166b0c1..0000000 --- a/k8s/infra/monitoring/kube-prometheus-stack/grafana-oidc-credentials.yaml +++ /dev/null @@ -1,14 +0,0 @@ -apiVersion: bitnami.com/v1alpha1 -kind: SealedSecret -metadata: - name: grafana-oidc-credentials - namespace: monitoring -spec: - encryptedData: - OIDC_CLIENT_ID: AgBwGjdwv90PrLAO4MmMbNUgrXwe+BHWkkIsYQFsjAk0+VhhVOTwMm7bChwJxv8MY73RUisO2mHOvpUm0l08t9MaRmFKdMmFJ7LT600VrTVag+3s3gRrW0mgwuOBR2KQrQ+G4c59jJMgOwJQEHLXG8+rsXUWJAjE2+l9oSuBwe54C7ozniwJXzuO+rgkI9Ha+dVXiuFuCkkKI3SgFgVb4G/mZduJrWoWAhIPG2lj0KmIUB5Bqqu47nuDMOQtQb3JKXJyXEsxHDuC35J+IKztXp28tb/JL7XaxlWF0TumAX74ZKOd3S+L8hcuXq3g0lC5962bNRyLMbheq+zYzle7sXdkLXikrD0TTXKfTOlF1uAGykJgkJ12HJvqwrUO/ErTOpb5nUwGVmBbq9d0gC0SLJkowe27smmtWtN/RJuaxg3xwBAN3r4DOADVWtzeR8Eb1oLDPPeV/xO6ZyAo2r1rEQ/a+q2H7nCeVIszAJaZVrLlWZH8UcZbMxxfjuOmZoACaDOHmqjAIysJhrQQySFIrL45DuQ+unw44M2Bzz/hl+YDQz843UAbqSJeLg/+u6o/jOgc3DVMeCIFNkvUVScdh3Ro/IRY840kTu8fI0xlhQdGFwIWQ7Htak5PhlzViaoqfMQyhq8znbqubmBaGEgyrrYp0y7v2b3DdZqzyCRAOBJj5HQaXPaSFSIsnQXI/tEfmmEIgNY9ylZQ - OIDC_CLIENT_SECRET: AgBaZdbost10rZ+IQ3ANklom15k8N+5xj2gVZW/cYPF0tgh71OUgLiDBPpMxgM7yB2UMdVeLryr53rs2dvL/aJ8d9wScZNYAOKgSQczEe8XsK1N0BhEAgcaOsoXJ7O5aIub/J3kH67i2l6O+75U1CB4ELFWBzZDbiObn7aVTeCj5W1/Q0xavRTxPwz93ZppubsyNothISYf0O4C/tYS6GuugZpUgvYHsIuWlB09maQy3MXXcVTdvq5uFLFs/QmmOFyOOKXatTywSFBVdxTW9DfZaKeUn6Q+YoglXHrei00Yw31k7rirwGfUsWj8luRbb18eLgkDcBH6VonXufvI5q2YY7M3nEnyc0G9s7D9O6wDVRJRD2yeHZJCAG843wSbNP87OYf9UtQBzXmC4/xtseHMN7bMIC1wf0sBvanjvJz47OduTCfTkPPFKGzDJyD3lWBA/XKzk3sBPc3V8De9frt4tDsfRbi8YQp0ftx3U5sPJHD9EOwDmyz7xOOBnn8So0Hsavwc+9WXPDWURcfxETmoHiLM0zaHosHkDQmMCe5rLuJWQiHePTNNbNd7jBFLZZOfBds9nvmSrskd+AMXq86MiT8kae7nT82ntLxeWUN+Fmo/nK0Aq2Hhwu3D7iNdTZCrzvJospDaVEBOZeCZGyu5nlrFG9HXYksdggPMG/Gsqswn9z3T5hnp4KESbZkfl09eHWNk/gicl8zQwR12wZ2slaDPNdqD8n8DFUfXX5Pfv1nlnr2R8Lt/DGytmyFSebowen5itK3p8eAudpXbdQf2Gfh1MvXSuVN0= - template: - metadata: - name: grafana-oidc-credentials - namespace: monitoring - type: Opaque diff --git a/k8s/infra/monitoring/kube-prometheus-stack/kustomization.yaml b/k8s/infra/monitoring/kube-prometheus-stack/kustomization.yaml index bd8e6e4..b5e0236 100644 --- a/k8s/infra/monitoring/kube-prometheus-stack/kustomization.yaml +++ b/k8s/infra/monitoring/kube-prometheus-stack/kustomization.yaml @@ -4,10 +4,7 @@ kind: Kustomization resources: - ns.yaml - alertmanager-http-route.yaml - - grafana-http-route.yaml - prometheus-http-route.yaml - - grafana-admin-credentials.yaml - - grafana-oidc-credentials.yaml helmCharts: - name: kube-prometheus-stack @@ -17,8 +14,3 @@ helmCharts: version: 75.12.0 releaseName: kube-prometheus-stack valuesFile: ./values.yaml - -patches: - - path: patches/grafana-admin-user-credentials.yaml - - path: patches/grafana-sc-dashboard-admin-user-credentials.yaml - - path: patches/grafana-sc-datasources-admin-user-credentials.yaml diff --git a/k8s/infra/monitoring/kube-prometheus-stack/patches/grafana-admin-user-credentials.yaml b/k8s/infra/monitoring/kube-prometheus-stack/patches/grafana-admin-user-credentials.yaml deleted file mode 100644 index bb1687f..0000000 --- a/k8s/infra/monitoring/kube-prometheus-stack/patches/grafana-admin-user-credentials.yaml +++ /dev/null @@ -1,23 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: kube-prometheus-stack-grafana - namespace: monitoring -spec: - template: - spec: - containers: - - name: grafana - env: - - name: GF_SECURITY_ADMIN_USER - valueFrom: - secretKeyRef: - key: username - name: grafana-admin-credentials - $patch: replace - - name: GF_SECURITY_ADMIN_PASSWORD - valueFrom: - secretKeyRef: - key: password - name: grafana-admin-credentials - $patch: replace diff --git a/k8s/infra/monitoring/kube-prometheus-stack/patches/grafana-sc-dashboard-admin-user-credentials.yaml b/k8s/infra/monitoring/kube-prometheus-stack/patches/grafana-sc-dashboard-admin-user-credentials.yaml deleted file mode 100644 index 82cba21..0000000 --- a/k8s/infra/monitoring/kube-prometheus-stack/patches/grafana-sc-dashboard-admin-user-credentials.yaml +++ /dev/null @@ -1,23 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: kube-prometheus-stack-grafana - namespace: monitoring -spec: - template: - spec: - containers: - - name: grafana-sc-dashboard - env: - - name: REQ_USERNAME - valueFrom: - secretKeyRef: - key: username - name: grafana-admin-credentials - $patch: replace - - name: REQ_PASSWORD - valueFrom: - secretKeyRef: - key: password - name: grafana-admin-credentials - $patch: replace diff --git a/k8s/infra/monitoring/kube-prometheus-stack/patches/grafana-sc-datasources-admin-user-credentials.yaml b/k8s/infra/monitoring/kube-prometheus-stack/patches/grafana-sc-datasources-admin-user-credentials.yaml deleted file mode 100644 index d0f2dd0..0000000 --- a/k8s/infra/monitoring/kube-prometheus-stack/patches/grafana-sc-datasources-admin-user-credentials.yaml +++ /dev/null @@ -1,23 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: kube-prometheus-stack-grafana - namespace: monitoring -spec: - template: - spec: - containers: - - name: grafana-sc-datasources - env: - - name: REQ_USERNAME - valueFrom: - secretKeyRef: - key: username - name: grafana-admin-credentials - $patch: replace - - name: REQ_PASSWORD - valueFrom: - secretKeyRef: - key: password - name: grafana-admin-credentials - $patch: replace diff --git a/k8s/infra/monitoring/kube-prometheus-stack/values.yaml b/k8s/infra/monitoring/kube-prometheus-stack/values.yaml index 638ba77..ad8caa0 100644 --- a/k8s/infra/monitoring/kube-prometheus-stack/values.yaml +++ b/k8s/infra/monitoring/kube-prometheus-stack/values.yaml @@ -61,7 +61,6 @@ kubeProxy: # Cilium replaces Kube Proxy enabled: false - kubeScheduler: enabled: true serviceMonitor: @@ -80,59 +79,13 @@ nodeExporter: enabled: true grafana: - enabled: true - envFromSecrets: [ { name: grafana-oidc-credentials } ] - grafana.ini: - security: - disable_initial_admin_creation: false - admin_user: $__env{GF_SECURITY_ADMIN_USER} - admin_password: $__env{GF_SECURITY_ADMIN_PASSWORD} - paths: - data: "/var/lib/grafana/" - logs: "/var/log/grafana" - plugins: "/var/lib/grafana/plugins" - provisioning: "/etc/grafana/provisioning" - analytics: - check_for_updates: false - log: - mode: console - server: - root_url: https://grafana.stonegarden.dev - auth.basic: - enabled: true - auth.generic_oauth: - enabled: true - name: Authelia - client_id: $__env{OIDC_CLIENT_ID} - client_secret: $__env{OIDC_CLIENT_SECRET} - auth_style: InHeader - scopes: openid email profile offline_access grafana - empty_scopes: false - use_pkce: true - use_refresh_token: true - auth_url: https://authelia.stonegarden.dev/api/oidc/authorization - token_url: https://authelia.stonegarden.dev/api/oidc/token - api_url: https://authelia.stonegarden.dev/api/oidc/userinfo - signout_redirect_url: https://authelia.stonegarden.dev/logout - login_attribute_path: preferred_username - name_attribute_path: name - allow_assign_grafana_admin: true - role_attribute_path: contains(grafana[*], 'grafana_admin') && 'GrafanaAdmin' || contains(grafana[*], 'admin') && 'Admin' || contains(grafana[*], 'editor') && 'Editor' || 'Viewer' - auto_login: true + enabled: false + forceDeployDatasources: false + forceDeployDashboards: true defaultDashboardsEnabled: true defaultDashboardsTimezone: Europe/Oslo - # https://github.com/grafana/helm-charts/issues/527#issuecomment-982319638 - sidecar: - dashboards: - enabled: true - searchNamespace: ALL - folder: /tmp/dashboards - folderAnnotation: grafana_folder - annotations: - grafana_folder: "Kubernetes" - provider: - allowUiUpdates: false - foldersFromFilesStructure: true - - datasources: - enabled: true + operator: + dashboardsConfigMapRefEnabled: true + matchLabels: + app: grafana + folder: Kubernetes diff --git a/k8s/infra/monitoring/project.yaml b/k8s/infra/monitoring/project.yaml index 2980bf7..49c64bd 100644 --- a/k8s/infra/monitoring/project.yaml +++ b/k8s/infra/monitoring/project.yaml @@ -10,6 +10,8 @@ spec: destinations: - namespace: 'argocd' server: '*' + - namespace: 'grafana' + server: '*' - namespace: 'kube-system' server: '*' - namespace: 'monitoring' diff --git a/k8s/infra/network/cilium/dashboards/cilium-operator.yaml b/k8s/infra/network/cilium/dashboards/cilium-operator.yaml new file mode 100644 index 0000000..e3798ad --- /dev/null +++ b/k8s/infra/network/cilium/dashboards/cilium-operator.yaml @@ -0,0 +1,15 @@ +apiVersion: grafana.integreatly.org/v1beta1 +kind: GrafanaDashboard +metadata: + name: operator + namespace: kube-system +spec: + allowCrossNamespaceImport: true + folder: Cilium + resyncPeriod: 10m + instanceSelector: + matchLabels: + app: grafana + configMapRef: + name: cilium-operator-dashboard + key: cilium-operator-dashboard.json diff --git a/k8s/infra/network/cilium/dashboards/cilium.yaml b/k8s/infra/network/cilium/dashboards/cilium.yaml new file mode 100644 index 0000000..ee39741 --- /dev/null +++ b/k8s/infra/network/cilium/dashboards/cilium.yaml @@ -0,0 +1,15 @@ +apiVersion: grafana.integreatly.org/v1beta1 +kind: GrafanaDashboard +metadata: + name: cilium + namespace: kube-system +spec: + allowCrossNamespaceImport: true + folder: Cilium + resyncPeriod: 10m + instanceSelector: + matchLabels: + app: grafana + configMapRef: + name: cilium-dashboard + key: cilium-dashboard.json diff --git a/k8s/infra/network/cilium/kustomization.yaml b/k8s/infra/network/cilium/kustomization.yaml index f0f0073..0055b9c 100644 --- a/k8s/infra/network/cilium/kustomization.yaml +++ b/k8s/infra/network/cilium/kustomization.yaml @@ -4,6 +4,8 @@ kind: Kustomization resources: - announce.yaml - ip-pool.yaml + - dashboards/cilium.yaml + - dashboards/cilium-operator.yaml helmCharts: - name: cilium diff --git a/k8s/infra/network/cilium/values.yaml b/k8s/infra/network/cilium/values.yaml index 819e94d..47e7751 100644 --- a/k8s/infra/network/cilium/values.yaml +++ b/k8s/infra/network/cilium/values.yaml @@ -38,8 +38,6 @@ operator: enabled: true dashboards: enabled: true - annotations: - grafana_folder: "Cilium" resources: limits: cpu: 500m @@ -111,8 +109,6 @@ hubble: enabled: true dashboards: enabled: true - annotations: - grafana_folder: "Hubble" relay: enabled: true rollOutPods: true @@ -156,5 +152,3 @@ prometheus: dashboards: enabled: true - annotations: - grafana_folder: "Cilium"