{ "annotations": { "list": [ { "builtIn": 1, "datasource": { "type": "datasource", "uid": "grafana" }, "enable": true, "hide": true, "iconColor": "rgba(0, 211, 255, 1)", "name": "Annotations & Alerts", "target": { "limit": 100, "matchAny": false, "tags": [], "type": "dashboard" }, "type": "dashboard" } ] }, "description": "Basic monitoring of FluxCD resources.", "editable": true, "fiscalYearStartMonth": 0, "gnetId": 16714, "graphTooltip": 1, "links": [], "liveNow": false, "panels": [ { "datasource": { "type": "prometheus", "uid": "belof8d814dtse" }, "description": "", "fieldConfig": { "defaults": { "decimals": 0, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "semi-dark-blue", "value": null }, { "color": "dark-red", "value": 100 } ] }, "unit": "short" }, "overrides": [] }, "gridPos": { "h": 4, "w": 3, "x": 0, "y": 0 }, "id": 29, "options": { "colorMode": "value", "graphMode": "area", "justifyMode": "auto", "orientation": "auto", "reduceOptions": { "calcs": [ "last" ], "fields": "", "values": false }, "text": {}, "textMode": "value" }, "pluginVersion": "9.0.5", "targets": [ { "datasource": { "type": "prometheus", "uid": "belof8d814dtse" }, "expr": "count(gotk_reconcile_condition{exported_namespace=~\"$namespace\",type=\"Ready\",status=\"True\",kind=~\"GitRepository|HelmRepository|Bucket\"})\n-\nsum(gotk_reconcile_condition{exported_namespace=~\"$namespace\",type=\"Ready\",status=\"Deleted\",kind=~\"GitRepository|HelmRepository|Bucket\"})", "interval": "", "legendFormat": "", "refId": "A" } ], "title": "Sources", "type": "stat" }, { "datasource": { "type": "prometheus", "uid": "belof8d814dtse" }, "description": "", "fieldConfig": { "defaults": { "decimals": 0, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "dark-green", "value": null }, { "color": "dark-red", "value": 1 } ] }, "unit": "short" }, "overrides": [] }, "gridPos": { "h": 4, "w": 3, "x": 3, "y": 0 }, "id": 30, "options": { "colorMode": "value", "graphMode": "area", "justifyMode": "auto", "orientation": "auto", "reduceOptions": { "calcs": [ "last" ], "fields": "", "values": false }, "text": {}, "textMode": "value" }, "pluginVersion": "9.0.5", "targets": [ { "datasource": { "type": "prometheus", "uid": "belof8d814dtse" }, "expr": "sum(gotk_reconcile_condition{exported_namespace=~\"$namespace\",type=\"Ready\",status=\"False\",kind=~\"GitRepository|HelmRepository|Bucket\"})", "interval": "", "legendFormat": "", "refId": "A" } ], "title": "Failing sources", "type": "stat" }, { "datasource": { "type": "prometheus", "uid": "belof8d814dtse" }, "description": "", "fieldConfig": { "defaults": { "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "dark-green", "value": null }, { "color": "dark-orange", "value": 1 }, { "color": "dark-red", "value": 30 } ] }, "unit": "s" }, "overrides": [] }, "gridPos": { "h": 4, "w": 6, "x": 6, "y": 0 }, "id": 31, "options": { "displayMode": "basic", "minVizHeight": 10, "minVizWidth": 0, "orientation": "horizontal", "reduceOptions": { "calcs": [ "mean" ], "fields": "", "values": false }, "showUnfilled": true, "text": {} }, "pluginVersion": "9.0.5", "targets": [ { "datasource": { "type": "prometheus", "uid": "belof8d814dtse" }, "expr": "sum(rate(gotk_reconcile_duration_seconds_sum{exported_namespace=~\"$namespace\",kind=~\"GitRepository|HelmRepository|Bucket\"}[5m])) by (kind)\n/\nsum(rate(gotk_reconcile_duration_seconds_count{exported_namespace=~\"$namespace\",kind=~\"GitRepository|HelmRepository|Bucket\"}[5m])) by (kind)", "interval": "", "legendFormat": "{{kind}}", "refId": "A" } ], "title": "Avg. source reconciliation", "type": "bargauge" }, { "datasource": { "type": "prometheus", "uid": "belof8d814dtse" }, "description": "", "fieldConfig": { "defaults": { "decimals": 0, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "semi-dark-blue", "value": null }, { "color": "dark-red", "value": 100 } ] }, "unit": "short" }, "overrides": [] }, "gridPos": { "h": 4, "w": 3, "x": 12, "y": 0 }, "id": 24, "options": { "colorMode": "value", "graphMode": "area", "justifyMode": "auto", "orientation": "auto", "reduceOptions": { "calcs": [ "last" ], "fields": "", "values": false }, "text": {}, "textMode": "value" }, "pluginVersion": "9.0.5", "targets": [ { "datasource": { "type": "prometheus", "uid": "belof8d814dtse" }, "exemplar": true, "expr": "count(gotk_reconcile_condition{exported_namespace=~\"$namespace\",type=\"Ready\",status=\"True\",kind=~\"Kustomization|HelmRelease\"})\n-\nsum(gotk_reconcile_condition{exported_namespace=~\"$namespace\",type=\"Ready\",status=\"Deleted\",kind=~\"Kustomization|HelmRelease\"})", "interval": "", "legendFormat": "", "refId": "A" } ], "title": "Applications", "type": "stat" }, { "datasource": { "type": "prometheus", "uid": "belof8d814dtse" }, "description": "", "fieldConfig": { "defaults": { "decimals": 0, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "dark-green", "value": null }, { "color": "dark-red", "value": 1 } ] }, "unit": "short" }, "overrides": [] }, "gridPos": { "h": 4, "w": 3, "x": 15, "y": 0 }, "id": 28, "options": { "colorMode": "value", "graphMode": "area", "justifyMode": "auto", "orientation": "auto", "reduceOptions": { "calcs": [ "last" ], "fields": "", "values": false }, "text": {}, "textMode": "value" }, "pluginVersion": "9.0.5", "targets": [ { "datasource": { "type": "prometheus", "uid": "belof8d814dtse" }, "expr": "sum(gotk_reconcile_condition{exported_namespace=~\"$namespace\",type=\"Ready\",status=\"False\",kind=~\"Kustomization|HelmRelease\"})", "interval": "", "legendFormat": "", "refId": "A" } ], "title": "Failing application", "type": "stat" }, { "datasource": { "type": "prometheus", "uid": "belof8d814dtse" }, "description": "", "fieldConfig": { "defaults": { "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "dark-green", "value": null }, { "color": "dark-orange", "value": 1 }, { "color": "dark-red", "value": 30 } ] }, "unit": "s" }, "overrides": [] }, "gridPos": { "h": 4, "w": 6, "x": 18, "y": 0 }, "id": 8, "options": { "displayMode": "basic", "minVizHeight": 10, "minVizWidth": 0, "orientation": "horizontal", "reduceOptions": { "calcs": [ "mean" ], "fields": "", "values": false }, "showUnfilled": true, "text": {} }, "pluginVersion": "9.0.5", "targets": [ { "datasource": { "type": "prometheus", "uid": "belof8d814dtse" }, "expr": "sum(rate(gotk_reconcile_duration_seconds_sum{exported_namespace=~\"$namespace\",kind=~\"Kustomization|HelmRelease\"}[5m])) by (kind)\n/\nsum(rate(gotk_reconcile_duration_seconds_count{exported_namespace=~\"$namespace\",kind=~\"Kustomization|HelmRelease\"}[5m])) by (kind)", "interval": "", "legendFormat": "{{kind}}", "refId": "A" } ], "title": "Avg. app reconciliation", "type": "bargauge" }, { "collapsed": false, "datasource": { "type": "prometheus", "uid": "belof8d814dtse" }, "gridPos": { "h": 1, "w": 24, "x": 0, "y": 4 }, "id": 15, "panels": [], "targets": [ { "datasource": { "type": "prometheus", "uid": "belof8d814dtse" }, "refId": "A" } ], "title": "Status", "type": "row" }, { "datasource": { "type": "prometheus", "uid": "belof8d814dtse" }, "description": "", "fieldConfig": { "defaults": { "custom": { "align": "auto", "displayMode": "color-background-solid", "filterable": true, "inspect": false }, "mappings": [ { "options": { "-1": { "color": "dark-orange", "index": 2, "text": "Yes" }, "-2": { "color": "dark-green", "index": 3, "text": "No" }, "0": { "color": "dark-green", "index": 1, "text": "Yes" }, "1": { "color": "dark-red", "index": 0, "text": "No" } }, "type": "value" } ], "thresholds": { "mode": "absolute", "steps": [ { "color": "transparent", "value": null } ] } }, "overrides": [ { "matcher": { "id": "byName", "options": "Status" }, "properties": [ { "id": "custom.displayMode", "value": "color-background" } ] } ] }, "gridPos": { "h": 9, "w": 12, "x": 0, "y": 5 }, "id": 34, "options": { "footer": { "fields": "", "reducer": [ "sum" ], "show": false }, "showHeader": true }, "pluginVersion": "9.0.5", "targets": [ { "datasource": { "type": "prometheus", "uid": "belof8d814dtse" }, "expr": "label_join(gotk_reconcile_condition{exported_namespace=~\"$namespace\",type=\"Ready\",status=\"False\",kind=~\"GitRepository|HelmRepository|Bucket\"}, \"join_key\", \",\", \"kind\", \"exported_namespace\", \"name\")", "format": "table", "instant": true, "interval": "", "legendFormat": "", "refId": "A" }, { "datasource": { "type": "prometheus", "uid": "belof8d814dtse" }, "editorMode": "code", "expr": "label_join(gotk_suspend_status{exported_namespace=~\"$namespace\",kind=~\"GitRepository|HelmRepository|Bucket\"} - 2, \"join_key\", \",\", \"kind\", \"exported_namespace\", \"name\")", "format": "table", "hide": false, "legendFormat": "__auto", "range": true, "refId": "B" } ], "title": "Source acquisition readiness ", "transformations": [ { "id": "seriesToColumns", "options": { "byField": "join_key" } }, { "id": "organize", "options": { "excludeByName": { "Time 1": true, "Time 2": true, "Value #A": false, "__name__": true, "__name__ 1": true, "__name__ 2": true, "container 1": true, "container 2": true, "endpoint 1": true, "endpoint 2": true, "exported_namespace 2": true, "instance 1": true, "instance 2": true, "job 1": true, "job 2": true, "join_key": true, "kind 2": true, "name 2": true, "namespace 1": true, "namespace 2": true, "pod 1": true, "pod 2": true, "status": true, "type": true }, "indexByName": { "Time 1": 6, "Time 2": 16, "Value #A": 4, "Value #B": 3, "__name__ 1": 7, "__name__ 2": 17, "container 1": 8, "container 2": 18, "endpoint 1": 9, "endpoint 2": 19, "exported_namespace 1": 1, "exported_namespace 2": 20, "instance 1": 10, "instance 2": 21, "job 1": 11, "job 2": 22, "join_key": 5, "kind 1": 0, "kind 2": 23, "name 1": 2, "name 2": 24, "namespace 1": 12, "namespace 2": 25, "pod 1": 13, "pod 2": 26, "status": 14, "type": 15 }, "renameByName": { "Value #A": "Ready", "Value #B": "Suspended", "exported_namespace 1": "Namespace", "kind 1": "Kind", "name 1": "Name" } } }, { "id": "sortBy", "options": { "fields": {}, "sort": [ { "field": "Kind" } ] } }, { "id": "filterByValue", "options": { "filters": [ { "config": { "id": "isNull", "options": {} }, "fieldName": "Ready" } ], "match": "any", "type": "exclude" } } ], "type": "table" }, { "datasource": { "type": "prometheus", "uid": "belof8d814dtse" }, "description": "", "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "custom": { "align": "auto", "displayMode": "color-background-solid", "filterable": true, "inspect": false }, "mappings": [ { "options": { "-1": { "color": "dark-orange", "index": 2, "text": "Yes" }, "-2": { "color": "dark-green", "index": 3, "text": "No" }, "0": { "color": "dark-green", "index": 1, "text": "Yes" }, "1": { "color": "dark-red", "index": 0, "text": "No" } }, "type": "value" } ], "thresholds": { "mode": "absolute", "steps": [ { "color": "transparent", "value": null } ] } }, "overrides": [ { "matcher": { "id": "byName", "options": "Status" }, "properties": [ { "id": "custom.displayMode", "value": "color-background" } ] } ] }, "gridPos": { "h": 9, "w": 12, "x": 12, "y": 5 }, "id": 33, "options": { "footer": { "fields": "", "reducer": [ "sum" ], "show": false }, "showHeader": true }, "pluginVersion": "9.0.5", "targets": [ { "datasource": { "type": "prometheus", "uid": "belof8d814dtse" }, "expr": "label_join(gotk_reconcile_condition{exported_namespace=~\"$namespace\",type=\"Ready\",status=\"False\",kind=~\"Kustomization|HelmRelease\"}, \"join_key\", \",\", \"kind\", \"exported_namespace\", \"name\")", "format": "table", "instant": true, "interval": "", "legendFormat": "", "refId": "A" }, { "datasource": { "type": "prometheus", "uid": "belof8d814dtse" }, "editorMode": "code", "expr": "label_join(gotk_suspend_status{exported_namespace=~\"$namespace\",kind=~\"Kustomization|HelmRelease\"} - 2, \"join_key\", \",\", \"kind\", \"exported_namespace\", \"name\")", "format": "table", "hide": false, "range": true, "refId": "B" } ], "title": "Application reconciliation readiness ", "transformations": [ { "id": "seriesToColumns", "options": { "byField": "join_key" } }, { "id": "organize", "options": { "excludeByName": { "Time": true, "Time 1": true, "Time 2": true, "Value": true, "__name__": true, "container": true, "container 1": true, "container 2": true, "endpoint": true, "endpoint 1": true, "endpoint 2": true, "exported_namespace 2": true, "instance": true, "instance 1": true, "instance 2": true, "job": true, "job 1": true, "job 2": true, "join_key": true, "kind 2": true, "name 2": true, "namespace": true, "namespace 1": true, "namespace 2": true, "pod": true, "pod 2": true, "status": true, "type": true }, "indexByName": { "Time 1": 6, "Time 2": 16, "Value #A": 4, "Value #B": 3, "__name__": 7, "container 1": 8, "container 2": 17, "endpoint 1": 9, "endpoint 2": 18, "exported_namespace 1": 1, "exported_namespace 2": 19, "instance 1": 10, "instance 2": 20, "job 1": 11, "job 2": 21, "join_key": 5, "kind 1": 0, "kind 2": 22, "name 1": 2, "name 2": 23, "namespace 1": 12, "namespace 2": 24, "pod 1": 13, "pod 2": 25, "status": 14, "type": 15 }, "renameByName": { "Value #A": "Ready", "Value #B": "Suspended", "exported_namespace 1": "Namespace", "kind 1": "Kind", "name 1": "Name" } } }, { "id": "sortBy", "options": { "fields": {}, "sort": [ { "field": "Kind" } ] } }, { "id": "filterByValue", "options": { "filters": [ { "config": { "id": "isNull", "options": {} }, "fieldName": "Ready" } ], "match": "any", "type": "exclude" } } ], "type": "table" }, { "collapsed": false, "datasource": { "type": "prometheus", "uid": "belof8d814dtse" }, "gridPos": { "h": 1, "w": 24, "x": 0, "y": 14 }, "id": 17, "panels": [], "targets": [ { "datasource": { "type": "prometheus", "uid": "belof8d814dtse" }, "refId": "A" } ], "title": "Timing", "type": "row" }, { "datasource": { "type": "prometheus", "uid": "belof8d814dtse" }, "description": "", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 10, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "always", "spanNulls": false, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null } ] }, "unit": "s" }, "overrides": [] }, "gridPos": { "h": 10, "w": 24, "x": 0, "y": 15 }, "id": 37, "options": { "legend": { "calcs": [ "mean", "lastNotNull" ], "displayMode": "table", "placement": "right" }, "tooltip": { "mode": "single", "sort": "none" } }, "targets": [ { "datasource": { "type": "prometheus", "uid": "belof8d814dtse" }, "editorMode": "code", "expr": "sum(rate(gotk_reconcile_duration_seconds_sum{exported_namespace=~\"$namespace\",kind=~\"GitRepository|HelmRepository|Bucket\"}[5m])) by (kind, exported_namespace, name)\n/\nsum(rate(gotk_reconcile_duration_seconds_count{exported_namespace=~\"$namespace\",kind=~\"GitRepository|HelmRepository|Bucket\"}[5m])) by (kind, exported_namespace, name)", "format": "time_series", "legendFormat": "{{kind}}: {{exported_namespace}}/{{name}}", "range": true, "refId": "A" } ], "title": "Source reconciliation duration", "type": "timeseries" }, { "datasource": { "type": "prometheus", "uid": "belof8d814dtse" }, "description": "", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 10, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "always", "spanNulls": false, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null } ] }, "unit": "s" }, "overrides": [] }, "gridPos": { "h": 10, "w": 24, "x": 0, "y": 25 }, "id": 38, "options": { "legend": { "calcs": [ "mean", "lastNotNull" ], "displayMode": "table", "placement": "right" }, "tooltip": { "mode": "single", "sort": "none" } }, "targets": [ { "datasource": { "type": "prometheus", "uid": "belof8d814dtse" }, "editorMode": "code", "expr": "sum(rate(gotk_reconcile_duration_seconds_sum{exported_namespace=~\"$namespace\",kind=~\"Kustomization|HelmRelease\"}[5m])) by (kind, name, exported_namespace)\n/\nsum(rate(gotk_reconcile_duration_seconds_count{exported_namespace=~\"$namespace\",kind=~\"Kustomization|HelmRelease\"}[5m])) by (kind, name, exported_namespace)", "format": "time_series", "legendFormat": "{{kind}}: {{exported_namespace}}/{{name}}", "range": true, "refId": "A" } ], "title": "Application reconciliation duration", "type": "timeseries" } ], "refresh": "10s", "schemaVersion": 36, "style": "light", "tags": [ "flux", "flux2", "gitops", "toolkit", "weave", "fluxcd" ], "templating": { "list": [ { "current": { "selected": false, "text": "Prometheus", "value": "Prometheus" }, "hide": 2, "includeAll": false, "multi": false, "name": "DS_PROMETHEUS", "options": [], "query": "prometheus", "refresh": 1, "regex": "", "skipUrlSync": false, "type": "datasource" }, { "allValue": ".*", "current": {}, "datasource": { "type": "prometheus", "uid": "$DS_PROMETHEUS" }, "definition": "label_values(gotk_reconcile_condition, exported_namespace)", "hide": 0, "includeAll": true, "multi": false, "name": "namespace", "options": [], "query": { "query": "label_values(gotk_reconcile_condition, exported_namespace)", "refId": "StandardVariableQuery" }, "refresh": 2, "regex": "", "skipUrlSync": false, "sort": 5, "tagValuesQuery": "", "tagsQuery": "", "type": "query", "useTags": false } ] }, "time": { "from": "now-15m", "to": "now" }, "timepicker": { "refresh_intervals": [ "10s", "30s", "1m", "5m", "15m", "30m", "1h", "2h", "1d" ] }, "timezone": "", "title": "Flux2", "uid": "eM7_f4V7z", "version": 1, "weekStart": "" }