From c799fc2c860e4925d0729f8710d302e536025211 Mon Sep 17 00:00:00 2001 From: Simon Li Date: Thu, 23 Nov 2023 23:08:05 +0000 Subject: [PATCH] GRAFANA_PASSWORD=*** scripts/grafana-export --- grafana-data/dashboards/3SpLQinmk.json | 2086 ++++++++++----- grafana-data/dashboards/4QOBFHdiz.json | 25 +- grafana-data/dashboards/GYEYQm7ik.json | 1425 +++++++--- grafana-data/dashboards/Ib5UZuCnz.json | 2373 +++++++++++++++++ grafana-data/dashboards/KPtswm7ik.json | 89 +- grafana-data/dashboards/QLzEwmnmz.json | 25 +- grafana-data/dashboards/aptle5FWk.json | 25 +- .../b8de32f1-59c3-4fce-b8ac-f70b070f2053.json | 339 +++ grafana-data/dashboards/bW5aBKknz.json | 1436 +--------- grafana-data/dashboards/fLoQvRHmk.json | 1021 ++++--- grafana-data/dashboards/fZWsQmnmz.json | 532 ++-- grafana-data/dashboards/hub-dashboard.json | 465 ++-- grafana-data/dashboards/j6478uAmz.json | 25 +- grafana-data/dashboards/nDQPwi7mk.json | 641 +++-- grafana-data/dashboards/nginx.json | 25 +- grafana-data/dashboards/usage-dashboard.json | 71 +- grafana-data/dashboards/usage-report.json | 303 +++ grafana-data/dashboards/yHbLiujnk.json | 1137 ++++++++ grafana-data/dashboards/ygtPwi7ik.json | 343 ++- grafana-data/datasources.json | 36 +- 20 files changed, 8799 insertions(+), 3623 deletions(-) create mode 100644 grafana-data/dashboards/Ib5UZuCnz.json create mode 100644 grafana-data/dashboards/b8de32f1-59c3-4fce-b8ac-f70b070f2053.json create mode 100644 grafana-data/dashboards/usage-report.json create mode 100644 grafana-data/dashboards/yHbLiujnk.json diff --git a/grafana-data/dashboards/3SpLQinmk.json b/grafana-data/dashboards/3SpLQinmk.json index 36680642c..97d92a8df 100644 --- a/grafana-data/dashboards/3SpLQinmk.json +++ b/grafana-data/dashboards/3SpLQinmk.json @@ -5,16 +5,28 @@ { "$$hashKey": "object:782", "builtIn": 1, - "datasource": "-- Grafana --", + "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" }, { "$$hashKey": "object:783", - "datasource": "-- Grafana --", + "datasource": { + "type": "datasource", + "uid": "grafana" + }, "enable": true, "hide": false, "iconColor": "#e5ac0e", @@ -24,11 +36,22 @@ "tags": [ "deployment-start" ], + "target": { + "limit": 100, + "matchAny": false, + "tags": [ + "deployment-start" + ], + "type": "tags" + }, "type": "tags" }, { "$$hashKey": "object:784", - "datasource": "-- Grafana --", + "datasource": { + "type": "datasource", + "uid": "grafana" + }, "enable": true, "hide": false, "iconColor": "rgba(255, 96, 96, 1)", @@ -39,65 +62,131 @@ "tags": [ "ops-log" ], + "target": { + "limit": 100, + "matchAny": true, + "tags": [ + "ops-log" + ], + "type": "tags" + }, "type": "tags" } ] }, "editable": true, - "gnetId": null, + "fiscalYearStartMonth": 0, "graphTooltip": 0, "id": 9, - "iteration": 1631271878252, "links": [], + "liveNow": false, "panels": [ { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "$cluster", - "fill": 0, - "fillGradient": 0, + "datasource": { + "uid": "$cluster" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "Launches", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": true, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "links": [], + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "none" + }, + "overrides": [ + { + "matcher": { + "id": "byRegexp", + "options": "/.*build.*/" + }, + "properties": [ + { + "id": "custom.fillOpacity", + "value": 30 + }, + { + "id": "unit", + "value": "short" + }, + { + "id": "custom.axisLabel", + "value": "Builds" + } + ] + } + ] + }, "gridPos": { "h": 7, "w": 12, "x": 0, "y": 0 }, - "hiddenSeries": false, "id": 17, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, "links": [], - "nullPointMode": "null", "options": { - "dataLinks": [] - }, - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "/.*build.*/", - "fill": 3, - "yaxis": 2 + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "single", + "sort": "none" } - ], - "spaceLength": 10, - "stack": false, - "steppedLine": false, + }, + "pluginVersion": "8.2.1", "targets": [ { + "datasource": { + "uid": "$cluster" + }, "expr": "sum(increase(binderhub_build_time_seconds_count[10m]))", "format": "time_series", "intervalFactor": 2, @@ -105,6 +194,9 @@ "refId": "A" }, { + "datasource": { + "uid": "$cluster" + }, "expr": "sum(increase(binderhub_launch_time_seconds_count[10m]))", "format": "time_series", "intervalFactor": 2, @@ -112,217 +204,248 @@ "refId": "B" }, { + "datasource": { + "uid": "$cluster" + }, "expr": "sum(kube_pod_status_phase{pod=~\"build-.*\", kubernetes_namespace!=\"jhub-ns\"})", "legendFormat": "Running builds", "refId": "C" }, { + "datasource": { + "uid": "$cluster" + }, "expr": "", "refId": "D" } ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, "title": "Total launches/builds", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "decimals": null, - "format": "none", - "label": "Launches", - "logBase": 1, - "max": null, - "min": "0", - "show": true - }, - { - "format": "short", - "label": "Builds", - "logBase": 1, - "max": null, - "min": "0", - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } + "type": "timeseries" }, { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "-- Mixed --", - "fill": 1, - "fillGradient": 0, + "datasource": { + "type": "datasource", + "uid": "-- Mixed --" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", + "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": "never", + "spanNulls": true, + "stacking": { + "group": "A", + "mode": "normal" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "links": [], + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "short" + }, + "overrides": [] + }, "gridPos": { "h": 9, "w": 12, "x": 12, "y": 0 }, - "hiddenSeries": false, "id": 31, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, "links": [], - "nullPointMode": "null", "options": { - "dataLinks": [] + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } }, - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": true, - "steppedLine": false, + "pluginVersion": "8.2.1", "targets": [ { - "datasource": "prometheus", + "datasource": { + "type": "prometheus", + "uid": "000000001" + }, "expr": "sum(kube_pod_status_phase{pod=~\"^jupyter-.*\", phase=\"Running\"})", + "hide": false, "legendFormat": "GKE", "refId": "A" }, { - "datasource": "GESIS", + "datasource": { + "type": "prometheus", + "uid": "000000002" + }, "expr": "sum(kube_pod_status_phase{pod=~\"^jupyter-.*\", phase=\"Running\", kubernetes_namespace!=\"jhub-ns\"})", + "hide": false, "legendFormat": "Gesis", "refId": "B" }, { - "datasource": "OVH", + "datasource": { + "type": "prometheus", + "uid": "000000004" + }, "expr": "sum(kube_pod_status_phase{pod=~\"^jupyter-.*\", phase=\"Running\"})", "hide": false, "legendFormat": "OVH", "refId": "C" - }, - { - "datasource": "Turing", - "expr": "sum(kube_pod_status_phase{pod=~\"^jupyter-.*\", phase=\"Running\"})", - "hide": false, - "legendFormat": "Turing", - "refId": "D" } ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, "title": "User pods running over time", - "tooltip": { - "shared": true, - "sort": 1, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "$$hashKey": "object:252", - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": "0", - "show": true - }, - { - "$$hashKey": "object:253", - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } + "type": "timeseries" }, { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "$cluster", + "datasource": { + "uid": "$cluster" + }, "description": "The number of currently outstanding requests waiting on a launch or build.\n\nThis does correspond to the number of launches, but has little relationship to the number of builds because many requests could be waiting on the same build, and some builds may no longer have anyone waiting for them.", - "fill": 0, - "fillGradient": 0, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "Launches", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": true, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "decimals": 0, + "links": [], + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "none" + }, + "overrides": [ + { + "matcher": { + "id": "byRegexp", + "options": "/.*builds.*/" + }, + "properties": [ + { + "id": "custom.fillOpacity", + "value": 30 + }, + { + "id": "unit", + "value": "short" + }, + { + "id": "custom.axisLabel", + "value": "Builds" + } + ] + } + ] + }, "gridPos": { "h": 7, "w": 12, "x": 0, "y": 7 }, - "hiddenSeries": false, "id": 34, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, "links": [], - "nullPointMode": "null", "options": { - "dataLinks": [] - }, - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "/.*builds.*/", - "fill": 3, - "yaxis": 2 + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "single", + "sort": "none" } - ], - "spaceLength": 10, - "stack": false, - "steppedLine": false, + }, + "pluginVersion": "8.2.1", "targets": [ { + "datasource": { + "uid": "$cluster" + }, "expr": "sum(binderhub_inprogress_builds)", "interval": "", "intervalFactor": 1, @@ -330,6 +453,9 @@ "refId": "A" }, { + "datasource": { + "uid": "$cluster" + }, "expr": "sum(binderhub_inprogress_launches)", "instant": false, "interval": "", @@ -338,455 +464,541 @@ "refId": "B" } ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, "title": "Requests waiting on launches/builds", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "decimals": 0, - "format": "none", - "label": "Launches", - "logBase": 1, - "max": null, - "min": "0", - "show": true - }, - { - "decimals": 0, - "format": "short", - "label": "Builds", - "logBase": 1, - "max": null, - "min": "0", - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } + "type": "timeseries" }, { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "$cluster", - "fill": 0, - "fillGradient": 0, + "datasource": { + "type": "prometheus", + "uid": "000000001" + }, + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "fixedColor": "green", + "mode": "fixed" + }, + "custom": { + "fillOpacity": 70, + "lineWidth": 0, + "spanNulls": false + }, + "mappings": [ + { + "options": { + "0": { + "color": "red", + "index": 1, + "text": "Unhealthy" + }, + "1": { + "color": "blue", + "index": 0, + "text": "OK" + } + }, + "type": "value" + } + ], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "red", + "value": null + } + ] + }, + "unit": "bool_yes_no" + }, + "overrides": [] + }, "gridPos": { - "h": 10, + "h": 12, "w": 12, "x": 12, "y": 9 }, - "hiddenSeries": false, - "id": 26, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null", + "id": 36, "options": { - "dataLinks": [] - }, - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "Total Usage", - "color": "rgb(124, 124, 124)", - "linewidth": 5 + "alignValue": "left", + "legend": { + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "mergeValues": true, + "rowHeight": 0.9, + "showValue": "never", + "tooltip": { + "mode": "single", + "sort": "none" } - ], - "spaceLength": 10, - "stack": false, - "steppedLine": false, + }, "targets": [ { - "expr": "sum(kube_pod_container_resource_requests_memory_bytes and on (pod) (kube_pod_container_status_ready)) / sum(kube_node_status_allocatable_memory_bytes) ", - "format": "time_series", - "intervalFactor": 2, - "legendFormat": "Total Usage", + "datasource": { + "type": "prometheus", + "uid": "000000001" + }, + "exemplar": true, + "expr": "max(federation_health) by (member)", + "hide": false, + "interval": "", + "legendFormat": "{{ member }}", "refId": "A" }, { - "expr": "sum(kube_pod_container_resource_requests_memory_bytes and on (pod) (kube_pod_container_status_ready)) by (node) / sum(kube_node_status_allocatable_memory_bytes) by (node)", - "format": "time_series", - "intervalFactor": 2, - "legendFormat": "{{node}}", + "datasource": { + "type": "prometheus", + "uid": "000000001" + }, + "exemplar": true, + "expr": "max(federation_health_check) by (member, check)", + "hide": false, + "interval": "", + "legendFormat": "{{ member }} {{ check }}", "refId": "B" } ], - "thresholds": [ - { - "colorMode": "warning", - "fill": false, - "fillColor": "rgba(234, 184, 57, 0.21)", - "line": true, - "op": "lt", - "value": 0.4 - } - ], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Cluster utilization", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "percentunit", - "label": null, - "logBase": 1, - "max": "1", - "min": "0", - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } + "title": "Federation health", + "type": "state-timeline" }, { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "$cluster", - "fill": 0, - "fillGradient": 0, + "datasource": { + "uid": "$cluster" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "linear", + "lineWidth": 2, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": true, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "links": [], + "mappings": [], + "max": 1, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "percentunit" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Num builds" + }, + "properties": [ + { + "id": "unit", + "value": "short" + }, + { + "id": "max", + "value": 20 + }, + { + "id": "custom.axisPlacement", + "value": "hidden" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Total build attempts" + }, + "properties": [ + { + "id": "unit", + "value": "short" + }, + { + "id": "max", + "value": 20 + }, + { + "id": "custom.axisPlacement", + "value": "hidden" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "New build attempts" + }, + "properties": [ + { + "id": "custom.fillOpacity", + "value": 30 + }, + { + "id": "unit", + "value": "short" + }, + { + "id": "max", + "value": 20 + }, + { + "id": "custom.axisPlacement", + "value": "hidden" + } + ] + } + ] + }, "gridPos": { "h": 7, "w": 12, "x": 0, "y": 14 }, - "hiddenSeries": false, "id": 16, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 2, "links": [], - "nullPointMode": "null", "options": { - "dataLinks": [] - }, - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - {}, - { - "alias": "Num builds", - "yaxis": 2 + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true }, - { - "alias": "Total build attempts", - "yaxis": 2 - }, - { - "alias": "New build attempts", - "fill": 3, - "yaxis": 2 + "tooltip": { + "mode": "single", + "sort": "none" } - ], - "spaceLength": 10, - "stack": false, - "steppedLine": false, + }, + "pluginVersion": "8.2.1", "targets": [ { - "expr": "sum(delta(binderhub_build_time_seconds_count{status=\"success\", kubernetes_namespace!=\"jhub-ns\"}[10m])) / sum(delta(binderhub_build_time_seconds_count{kubernetes_namespace!=\"jhub-ns\"}[10m]))", + "datasource": { + "uid": "$cluster" + }, + "exemplar": true, + "expr": "sum(increase(binderhub_build_time_seconds_count{status=\"success\", kubernetes_namespace!=\"jhub-ns\"}[10m])) / sum(increase(binderhub_build_time_seconds_count{kubernetes_namespace!=\"jhub-ns\"}[10m]))", "format": "time_series", + "interval": "", "intervalFactor": 2, "legendFormat": "Build % Success", "refId": "A" }, { - "expr": "sum(delta(binderhub_launch_time_seconds_count{status=\"success\", kubernetes_namespace!=\"jhub-ns\"}[10m])) / sum(delta(binderhub_launch_time_seconds_count{status!=\"retry\", kubernetes_namespace!=\"jhub-ns\"}[10m]))", + "datasource": { + "uid": "$cluster" + }, + "exemplar": true, + "expr": "sum(increase(binderhub_launch_time_seconds_count{status=\"success\", kubernetes_namespace!=\"jhub-ns\"}[10m])) / sum(increase(binderhub_launch_time_seconds_count{status!=\"retry\", kubernetes_namespace!=\"jhub-ns\"}[10m]))", "format": "time_series", + "interval": "", "intervalFactor": 2, "legendFormat": "Launch % Success", "refId": "C" }, { - "expr": "sum(delta(binderhub_launch_time_seconds_count{status=\"success\", retries=\"0\", kubernetes_namespace!=\"jhub-ns\"}[10m])) / sum(delta(binderhub_launch_time_seconds_count{status!=\"retry\", kubernetes_namespace!=\"jhub-ns\"}[10m]))", + "datasource": { + "uid": "$cluster" + }, + "exemplar": true, + "expr": "sum(increase(binderhub_launch_time_seconds_count{status=\"success\", retries=\"0\", kubernetes_namespace!=\"jhub-ns\"}[10m])) / sum(increase(binderhub_launch_time_seconds_count{status!=\"retry\", kubernetes_namespace!=\"jhub-ns\"}[10m]))", "format": "time_series", + "interval": "", "intervalFactor": 1, "legendFormat": "Launch % Success (first try)", "refId": "B" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Launch/Build Success % [10m]", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "decimals": null, - "format": "percentunit", - "label": null, - "logBase": 1, - "max": "1", - "min": "0", - "show": true }, { - "format": "short", - "label": null, - "logBase": 1, - "max": "20", - "min": "0", - "show": false - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "-- Mixed --", - "description": "Cordoned nodes on each cluster", - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 19 - }, - "hiddenSeries": false, - "id": 33, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "links": [], - "maxPerRow": 2, - "nullPointMode": "null", - "options": { - "dataLinks": [] - }, - "percentage": false, - "pointradius": 2, - "points": false, - "renderer": "flot", - "repeat": "cluster", - "repeatDirection": "v", - "scopedVars": { - "cluster": { - "selected": true, - "text": "prometheus", - "value": "prometheus" - } - }, - "seriesOverrides": [ - {} - ], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "datasource": "$cluster", - "expr": "sum(kube_node_spec_unschedulable)", - "legendFormat": "GKE", - "refId": "A" - }, - { - "datasource": "GESIS", - "expr": "sum(kube_node_spec_unschedulable)", - "legendFormat": "GESIS", - "refId": "B" - }, - { - "datasource": "OVH", - "expr": "sum(kube_node_spec_unschedulable)", - "legendFormat": "OVH", - "refId": "C" - }, - { - "datasource": "Turing", - "expr": "sum(kube_node_spec_unschedulable)", + "datasource": { + "uid": "$cluster" + }, + "exemplar": true, + "expr": "sum by (status) (increase(binderhub_launch_count_total{status!=\"success\"}[10m])) / ignoring (status) group_left sum(increase(binderhub_launch_count_total[10m])) ", "hide": false, - "legendFormat": "Turing", + "interval": "", + "legendFormat": "{{ status }} rejection %", "refId": "D" } ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Cordoned nodes", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } + "title": "Launch/Build Success % [10m]", + "type": "timeseries" }, { - "aliasColors": { - "10th-percentile-failure": "#ef843c", - "10th-percentile-success": "#b7dbab", - "25th-percentile-failure": "#99440a", - "25th-percentile-success": "#7eb26d", - "50th-percentile-failure": "#ea6460", - "50th-percentile-success": "#7eb26d", - "75th-percentile-failure": "#bf1b00", - "75th-percentile-success": "#508642", - "90th-percentile-failure": "#58140c", - "90th-percentile-success": "#3f6833" + "datasource": { + "uid": "$cluster" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", + "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": { + "log": 2, + "type": "log" + }, + "showPoints": "never", + "spanNulls": true, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "links": [], + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "s" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "10th-percentile-failure" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#ef843c", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "10th-percentile-success" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#b7dbab", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "25th-percentile-failure" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#99440a", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "25th-percentile-success" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#7eb26d", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "50th-percentile-failure" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#ea6460", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "50th-percentile-success" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#7eb26d", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "75th-percentile-failure" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#bf1b00", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "75th-percentile-success" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#508642", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "90th-percentile-failure" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#58140c", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "90th-percentile-success" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#3f6833", + "mode": "fixed" + } + } + ] + } + ] }, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "$cluster", - "fill": 1, - "fillGradient": 0, "gridPos": { "h": 8, "w": 12, "x": 0, "y": 21 }, - "hiddenSeries": false, "id": 28, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, "links": [], - "nullPointMode": "null", "options": { - "dataLinks": [] + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } }, - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, + "pluginVersion": "8.2.1", "targets": [ { + "datasource": { + "uid": "$cluster" + }, "expr": "histogram_quantile(0.1, sum(rate(binderhub_launch_time_seconds_bucket[5m])) without (instance, repo, provider)) > 0", "format": "time_series", "hide": true, @@ -795,6 +1007,9 @@ "refId": "A" }, { + "datasource": { + "uid": "$cluster" + }, "expr": "histogram_quantile(0.25, sum(rate(binderhub_launch_time_seconds_bucket[5m])) without (instance, repo, provider)) > 0", "format": "time_series", "hide": true, @@ -803,6 +1018,9 @@ "refId": "B" }, { + "datasource": { + "uid": "$cluster" + }, "expr": "histogram_quantile(0.5, sum(rate(binderhub_launch_time_seconds_bucket[5m])) without (retries, kubernetes_node, instance, repo, provider)) > 0", "format": "time_series", "hide": false, @@ -812,6 +1030,9 @@ "refId": "C" }, { + "datasource": { + "uid": "$cluster" + }, "expr": "histogram_quantile(0.75, sum(rate(binderhub_launch_time_seconds_bucket[5m])) without (instance, repo, provider)) > 0", "format": "time_series", "hide": true, @@ -820,6 +1041,9 @@ "refId": "D" }, { + "datasource": { + "uid": "$cluster" + }, "expr": "histogram_quantile(0.9, sum(rate(binderhub_launch_time_seconds_bucket[5m])) without (instance, kubernetes_node, repo, provider)) > 0", "format": "time_series", "hide": false, @@ -828,6 +1052,9 @@ "refId": "E" }, { + "datasource": { + "uid": "$cluster" + }, "expr": "histogram_quantile(0.99, sum(rate(binderhub_launch_time_seconds_bucket[5m])) without (instance, kubernetes_node, repo, provider)) > 0", "format": "time_series", "hide": false, @@ -836,110 +1063,134 @@ "refId": "F" } ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, "title": "Launch time percentiles", - "tooltip": { - "shared": false, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "s", - "label": null, - "logBase": 2, - "max": null, - "min": null, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } + "type": "timeseries" }, { - "cards": { - "cardPadding": null, - "cardRound": null - }, - "color": { - "cardColor": "#b4ff00", - "colorScale": "sqrt", - "colorScheme": "interpolateSpectral", - "exponent": 0.5, - "max": null, - "min": 0, - "mode": "spectrum" + "datasource": { + "uid": "$cluster" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": true, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "line" + } + }, + "links": [], + "mappings": [], + "max": 1, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "orange", + "value": null + }, + { + "color": "transparent", + "value": 0.4 + } + ] + }, + "unit": "percentunit" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Total Usage" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "rgb(124, 124, 124)", + "mode": "fixed" + } + }, + { + "id": "custom.lineWidth", + "value": 5 + } + ] + } + ] }, - "dataFormat": "timeseries", - "datasource": "$cluster", "gridPos": { - "h": 6, + "h": 10, "w": 12, "x": 12, - "y": 27 - }, - "heatmap": {}, - "hideZeroBuckets": false, - "highlightCards": true, - "id": 25, - "legend": { - "show": true + "y": 21 }, + "id": 26, "links": [], - "reverseYBuckets": false, + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } + }, + "pluginVersion": "8.2.1", "targets": [ { - "expr": "(time() - kube_pod_created{pod=~\"^jupyter.*\"}) / 60", + "datasource": { + "uid": "$cluster" + }, + "expr": "sum(kube_pod_container_resource_requests_memory_bytes and on (pod) (kube_pod_container_status_ready)) / sum(kube_node_status_allocatable_memory_bytes) ", "format": "time_series", - "interval": "30m", "intervalFactor": 2, + "legendFormat": "Total Usage", "refId": "A" + }, + { + "datasource": { + "uid": "$cluster" + }, + "expr": "sum(kube_pod_container_resource_requests_memory_bytes and on (pod) (kube_pod_container_status_ready)) by (node) / sum(kube_node_status_allocatable_memory_bytes) by (node)", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "{{node}}", + "refId": "B" } ], - "title": "Distribution of user pod age over time (max 2 hr)", - "tooltip": { - "show": true, - "showHistogram": true - }, - "type": "heatmap", - "xAxis": { - "show": true - }, - "xBucketNumber": null, - "xBucketSize": "30m", - "yAxis": { - "decimals": null, - "format": "m", - "logBase": 1, - "max": "120", - "min": null, - "show": true, - "splitFactor": null - }, - "yBucketBound": "auto", - "yBucketNumber": null, - "yBucketSize": 5 + "title": "Cluster utilization", + "type": "timeseries" }, { "aliasColors": { @@ -957,7 +1208,15 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$cluster", + "datasource": { + "uid": "$cluster" + }, + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, "fill": 1, "fillGradient": 0, "gridPos": { @@ -982,9 +1241,10 @@ "links": [], "nullPointMode": "null", "options": { - "dataLinks": [] + "alertThreshold": true }, "percentage": false, + "pluginVersion": "9.4.7", "pointradius": 2, "points": true, "renderer": "flot", @@ -994,6 +1254,9 @@ "steppedLine": false, "targets": [ { + "datasource": { + "uid": "$cluster" + }, "expr": "histogram_quantile(0.1, sum(rate(binderhub_build_time_seconds_bucket[2m])) without (instance, provider, repo)) > 0", "format": "time_series", "hide": true, @@ -1002,6 +1265,9 @@ "refId": "A" }, { + "datasource": { + "uid": "$cluster" + }, "expr": "histogram_quantile(0.25, sum(rate(binderhub_build_time_seconds_bucket[2m])) without (instance, provider, repo)) > 0", "format": "time_series", "hide": true, @@ -1010,6 +1276,9 @@ "refId": "B" }, { + "datasource": { + "uid": "$cluster" + }, "expr": "histogram_quantile(0.5, sum(rate(binderhub_build_time_seconds_bucket[2m])) without (instance, provider, repo)) > 0", "format": "time_series", "intervalFactor": 2, @@ -1017,6 +1286,9 @@ "refId": "C" }, { + "datasource": { + "uid": "$cluster" + }, "expr": "histogram_quantile(0.75, sum(rate(binderhub_build_time_seconds_bucket[2m])) without (instance, provider, repo)) > 0", "format": "time_series", "hide": true, @@ -1025,6 +1297,9 @@ "refId": "D" }, { + "datasource": { + "uid": "$cluster" + }, "expr": "histogram_quantile(0.9, sum(rate(binderhub_build_time_seconds_bucket[2m])) without (instance, provider, repo)) > 0", "format": "time_series", "intervalFactor": 2, @@ -1033,9 +1308,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Build time percentiles", "tooltip": { "shared": true, @@ -1044,66 +1317,361 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, "yaxes": [ { "format": "s", - "label": null, "logBase": 2, - "max": null, - "min": null, "show": true }, { "format": "short", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": true } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } }, { - "cards": { - "cardPadding": null, - "cardRound": null + "datasource": { + "type": "datasource", + "uid": "-- Mixed --" + }, + "description": "Cordoned nodes on each cluster", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", + "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": "never", + "spanNulls": true, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "links": [], + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "short" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 31 + }, + "id": 33, + "links": [], + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "pluginVersion": "8.2.1", + "repeat": "cluster", + "repeatDirection": "v", + "targets": [ + { + "datasource": { + "uid": "$cluster" + }, + "expr": "sum(kube_node_spec_unschedulable)", + "legendFormat": "GKE", + "refId": "A" + }, + { + "datasource": { + "type": "prometheus", + "uid": "000000002" + }, + "expr": "sum(kube_node_spec_unschedulable)", + "legendFormat": "GESIS", + "refId": "B" + }, + { + "datasource": { + "type": "prometheus", + "uid": "000000004" + }, + "expr": "sum(kube_node_spec_unschedulable)", + "legendFormat": "OVH", + "refId": "C" + } + ], + "title": "Cordoned nodes", + "type": "timeseries" + }, + { + "cards": {}, + "color": { + "cardColor": "#b4ff00", + "colorScale": "sqrt", + "colorScheme": "interpolateSpectral", + "exponent": 0.5, + "min": 0, + "mode": "spectrum" + }, + "dataFormat": "timeseries", + "datasource": { + "uid": "$cluster" + }, + "fieldConfig": { + "defaults": { + "custom": { + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "scaleDistribution": { + "type": "linear" + } + } + }, + "overrides": [] + }, + "gridPos": { + "h": 6, + "w": 12, + "x": 0, + "y": 36 + }, + "heatmap": {}, + "hideZeroBuckets": false, + "highlightCards": true, + "id": 29, + "legend": { + "show": true + }, + "links": [], + "options": { + "calculate": true, + "calculation": { + "xBuckets": { + "mode": "size", + "value": "10m" + }, + "yBuckets": { + "mode": "size", + "value": "5" + } + }, + "cellGap": 2, + "cellValues": {}, + "color": { + "exponent": 0.5, + "fill": "#b4ff00", + "min": 0, + "mode": "scheme", + "reverse": false, + "scale": "exponential", + "scheme": "Spectral", + "steps": 128 + }, + "exemplars": { + "color": "rgba(255,0,255,0.7)" + }, + "filterValues": { + "le": 1e-09 + }, + "legend": { + "show": true + }, + "rowsFrame": { + "layout": "auto" + }, + "showValue": "never", + "tooltip": { + "show": true, + "yHistogram": true + }, + "yAxis": { + "axisPlacement": "left", + "reverse": false, + "unit": "m" + } + }, + "pluginVersion": "9.4.7", + "reverseYBuckets": false, + "targets": [ + { + "datasource": { + "uid": "$cluster" + }, + "expr": "(time() - kube_pod_created{pod=~\"^build-.*\"}) / 60", + "format": "time_series", + "interval": "", + "intervalFactor": 2, + "legendFormat": "", + "refId": "A" + } + ], + "title": "Distribution of build pod age over time", + "tooltip": { + "show": true, + "showHistogram": true + }, + "type": "heatmap", + "xAxis": { + "show": true + }, + "xBucketSize": "10m", + "yAxis": { + "format": "m", + "logBase": 1, + "show": true }, + "yBucketBound": "auto", + "yBucketSize": 5 + }, + { + "cards": {}, "color": { "cardColor": "#b4ff00", "colorScale": "sqrt", "colorScheme": "interpolateSpectral", "exponent": 0.5, + "min": 0, "mode": "spectrum" }, "dataFormat": "timeseries", - "datasource": "$cluster", + "datasource": { + "uid": "$cluster" + }, + "fieldConfig": { + "defaults": { + "custom": { + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "scaleDistribution": { + "type": "linear" + } + } + }, + "overrides": [] + }, "gridPos": { "h": 6, "w": 12, "x": 12, - "y": 33 + "y": 39 }, "heatmap": {}, "hideZeroBuckets": false, "highlightCards": true, - "id": 24, + "id": 25, "legend": { "show": true }, "links": [], + "options": { + "calculate": true, + "calculation": { + "xBuckets": { + "mode": "size", + "value": "30m" + }, + "yBuckets": { + "mode": "size", + "value": "5" + } + }, + "cellGap": 2, + "cellValues": {}, + "color": { + "exponent": 0.5, + "fill": "#b4ff00", + "min": 0, + "mode": "scheme", + "reverse": false, + "scale": "exponential", + "scheme": "Spectral", + "steps": 128 + }, + "exemplars": { + "color": "rgba(255,0,255,0.7)" + }, + "filterValues": { + "le": 1e-09 + }, + "legend": { + "show": true + }, + "rowsFrame": { + "layout": "auto" + }, + "showValue": "never", + "tooltip": { + "show": true, + "yHistogram": true + }, + "yAxis": { + "axisPlacement": "left", + "max": "120", + "reverse": false, + "unit": "m" + } + }, + "pluginVersion": "9.4.7", "reverseYBuckets": false, "targets": [ { + "datasource": { + "uid": "$cluster" + }, "expr": "(time() - kube_pod_created{pod=~\"^jupyter.*\"}) / 60", "format": "time_series", "interval": "30m", @@ -1111,7 +1679,7 @@ "refId": "A" } ], - "title": "Distribution of user pod age over time (stale pods)", + "title": "Distribution of user pod age over time (max 2 hr)", "tooltip": { "show": true, "showHistogram": true @@ -1120,63 +1688,119 @@ "xAxis": { "show": true }, - "xBucketNumber": null, "xBucketSize": "30m", "yAxis": { - "decimals": null, "format": "m", "logBase": 1, - "max": null, - "min": null, - "show": true, - "splitFactor": null + "max": "120", + "show": true }, "yBucketBound": "auto", - "yBucketNumber": null, - "yBucketSize": 60 + "yBucketSize": 5 }, { - "cards": { - "cardPadding": null, - "cardRound": null - }, + "cards": {}, "color": { "cardColor": "#b4ff00", "colorScale": "sqrt", "colorScheme": "interpolateSpectral", "exponent": 0.5, - "max": null, - "min": 0, "mode": "spectrum" }, "dataFormat": "timeseries", - "datasource": "$cluster", + "datasource": { + "uid": "$cluster" + }, + "fieldConfig": { + "defaults": { + "custom": { + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "scaleDistribution": { + "type": "linear" + } + } + }, + "overrides": [] + }, "gridPos": { "h": 6, "w": 12, - "x": 0, - "y": 36 + "x": 12, + "y": 45 }, "heatmap": {}, "hideZeroBuckets": false, "highlightCards": true, - "id": 29, + "id": 24, "legend": { "show": true }, "links": [], + "options": { + "calculate": true, + "calculation": { + "xBuckets": { + "mode": "size", + "value": "30m" + }, + "yBuckets": { + "mode": "size", + "value": "60" + } + }, + "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-09 + }, + "legend": { + "show": true + }, + "rowsFrame": { + "layout": "auto" + }, + "showValue": "never", + "tooltip": { + "show": true, + "yHistogram": true + }, + "yAxis": { + "axisPlacement": "left", + "reverse": false, + "unit": "m" + } + }, + "pluginVersion": "9.4.7", "reverseYBuckets": false, "targets": [ { - "expr": "(time() - kube_pod_created{pod=~\"^build-.*\"}) / 60", + "datasource": { + "uid": "$cluster" + }, + "expr": "(time() - kube_pod_created{pod=~\"^jupyter.*\"}) / 60", "format": "time_series", - "interval": "", + "interval": "30m", "intervalFactor": 2, - "legendFormat": "", "refId": "A" } ], - "title": "Distribution of build pod age over time", + "title": "Distribution of user pod age over time (stale pods)", "tooltip": { "show": true, "showHistogram": true @@ -1185,24 +1809,19 @@ "xAxis": { "show": true }, - "xBucketNumber": null, - "xBucketSize": "10m", + "xBucketSize": "30m", "yAxis": { - "decimals": null, "format": "m", "logBase": 1, - "max": null, - "min": null, - "show": true, - "splitFactor": null + "show": true }, "yBucketBound": "auto", - "yBucketNumber": null, - "yBucketSize": 5 + "yBucketSize": 60 } ], - "refresh": "1m", - "schemaVersion": 22, + "refresh": "", + "revision": 1, + "schemaVersion": 38, "style": "dark", "tags": [], "templating": { @@ -1259,31 +1878,46 @@ "timezone": "", "title": "1. Overview", "uid": "3SpLQinmk", - "variables": { - "list": [] - }, - "version": 11 + "version": 24, + "weekStart": "" }, "meta": { - "canAdmin": true, - "canEdit": true, - "canSave": true, - "canStar": true, + "annotationsPermissions": { + "dashboard": { + "canAdd": true, + "canDelete": true, + "canEdit": true + }, + "organization": { + "canAdd": false, + "canDelete": false, + "canEdit": false + } + }, + "canAdmin": false, + "canDelete": false, + "canEdit": false, + "canSave": false, + "canStar": false, "created": "2020-09-22T09:29:52Z", "createdBy": "admin", "expires": "0001-01-01T00:00:00Z", "folderId": 0, "folderTitle": "General", + "folderUid": "", "folderUrl": "", "hasAcl": false, "isFolder": false, "provisioned": false, "provisionedExternalId": "", + "publicDashboardAccessToken": "", + "publicDashboardEnabled": false, + "publicDashboardUid": "", "slug": "1-overview", "type": "db", - "updated": "2021-09-10T11:08:22Z", + "updated": "2023-04-25T13:55:51Z", "updatedBy": "admin", "url": "/d/3SpLQinmk/1-overview", - "version": 11 + "version": 24 } } \ No newline at end of file diff --git a/grafana-data/dashboards/4QOBFHdiz.json b/grafana-data/dashboards/4QOBFHdiz.json index 815e1328c..bcacc6618 100644 --- a/grafana-data/dashboards/4QOBFHdiz.json +++ b/grafana-data/dashboards/4QOBFHdiz.json @@ -247,20 +247,37 @@ "version": 2 }, "meta": { - "canAdmin": true, - "canEdit": true, - "canSave": true, - "canStar": true, + "annotationsPermissions": { + "dashboard": { + "canAdd": true, + "canDelete": true, + "canEdit": true + }, + "organization": { + "canAdd": false, + "canDelete": false, + "canEdit": false + } + }, + "canAdmin": false, + "canDelete": false, + "canEdit": false, + "canSave": false, + "canStar": false, "created": "2020-09-22T09:29:52Z", "createdBy": "admin", "expires": "0001-01-01T00:00:00Z", "folderId": 0, "folderTitle": "General", + "folderUid": "", "folderUrl": "", "hasAcl": false, "isFolder": false, "provisioned": false, "provisionedExternalId": "", + "publicDashboardAccessToken": "", + "publicDashboardEnabled": false, + "publicDashboardUid": "", "slug": "kubernetes-api-health", "type": "db", "updated": "2020-09-22T09:29:57Z", diff --git a/grafana-data/dashboards/GYEYQm7ik.json b/grafana-data/dashboards/GYEYQm7ik.json index b5af1dd8a..91b3e3686 100644 --- a/grafana-data/dashboards/GYEYQm7ik.json +++ b/grafana-data/dashboards/GYEYQm7ik.json @@ -5,16 +5,28 @@ { "$$hashKey": "object:58", "builtIn": 1, - "datasource": "-- Grafana --", + "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" }, { "$$hashKey": "object:59", - "datasource": "-- Grafana --", + "datasource": { + "type": "datasource", + "uid": "grafana" + }, "enable": true, "hide": false, "iconColor": "rgba(255, 96, 96, 1)", @@ -24,30 +36,61 @@ "tags": [ "deployment-start" ], + "target": { + "limit": 100, + "matchAny": false, + "tags": [ + "deployment-start" + ], + "type": "tags" + }, "type": "tags" } ] }, "editable": true, - "gnetId": null, + "fiscalYearStartMonth": 0, "graphTooltip": 0, "id": 6, - "iteration": 1622666494848, "links": [], + "liveNow": false, "panels": [ + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 0 + }, + "id": 30, + "panels": [], + "repeat": "cluster", + "repeatDirection": "h", + "title": "BinderHub", + "type": "row" + }, { "aliasColors": {}, "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$cluster", + "datasource": { + "uid": "$cluster" + }, + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, "fill": 1, "fillGradient": 0, "gridPos": { "h": 7, "w": 8, "x": 0, - "y": 0 + "y": 1 }, "hiddenSeries": false, "id": 4, @@ -65,9 +108,10 @@ "links": [], "nullPointMode": "null", "options": { - "dataLinks": [] + "alertThreshold": true }, "percentage": false, + "pluginVersion": "9.4.7", "pointradius": 5, "points": false, "renderer": "flot", @@ -77,6 +121,9 @@ "steppedLine": false, "targets": [ { + "datasource": { + "uid": "$cluster" + }, "expr": "sum(irate(container_cpu_usage_seconds_total{pod=~\"hub-.*\", container!=\"\"}[2m])) by (pod)", "format": "time_series", "interval": "", @@ -94,9 +141,7 @@ "value": 1 } ], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "JupyterHub CPU Usage", "tooltip": { "shared": true, @@ -105,33 +150,25 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, "yaxes": [ { "format": "percentunit", - "label": null, "logBase": 1, - "max": null, "min": "0", "show": true }, { "format": "short", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": true } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } }, { @@ -139,14 +176,22 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$cluster", + "datasource": { + "uid": "$cluster" + }, + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, "fill": 1, "fillGradient": 0, "gridPos": { "h": 7, "w": 8, "x": 8, - "y": 0 + "y": 1 }, "hiddenSeries": false, "id": 2, @@ -164,9 +209,10 @@ "links": [], "nullPointMode": "null", "options": { - "dataLinks": [] + "alertThreshold": true }, "percentage": false, + "pluginVersion": "9.4.7", "pointradius": 5, "points": false, "renderer": "flot", @@ -176,6 +222,9 @@ "steppedLine": false, "targets": [ { + "datasource": { + "uid": "$cluster" + }, "expr": "sum(rate(container_cpu_usage_seconds_total{pod=~\"binder-.*\", container!=\"\"}[2m])) by (pod)", "format": "time_series", "interval": "", @@ -193,9 +242,7 @@ "value": 1.5 } ], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "BinderHub CPU Usage (per pod)", "tooltip": { "shared": true, @@ -204,33 +251,25 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, "yaxes": [ { "format": "percentunit", - "label": null, "logBase": 1, - "max": null, "min": "0", "show": true }, { "format": "short", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": true } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } }, { @@ -238,14 +277,22 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$cluster", + "datasource": { + "uid": "$cluster" + }, + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, "fill": 1, "fillGradient": 0, "gridPos": { "h": 7, "w": 8, "x": 16, - "y": 0 + "y": 1 }, "hiddenSeries": false, "id": 3, @@ -265,9 +312,10 @@ "links": [], "nullPointMode": "null", "options": { - "dataLinks": [] + "alertThreshold": true }, "percentage": false, + "pluginVersion": "9.4.7", "pointradius": 5, "points": false, "renderer": "flot", @@ -277,6 +325,9 @@ "steppedLine": false, "targets": [ { + "datasource": { + "uid": "$cluster" + }, "expr": "sum(rate(container_cpu_usage_seconds_total{pod=~\"proxy-.*\", container!=\"\"}[2m])) by (container)", "format": "time_series", "interval": "", @@ -286,9 +337,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Proxy CPU usage", "tooltip": { "shared": true, @@ -297,9 +346,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -307,25 +354,19 @@ { "$$hashKey": "object:116", "format": "percentunit", - "label": null, "logBase": 1, - "max": null, "min": "0", "show": true }, { "$$hashKey": "object:117", "format": "short", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": true } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } }, { @@ -333,14 +374,22 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$cluster", + "datasource": { + "uid": "$cluster" + }, + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, "fill": 1, "fillGradient": 0, "gridPos": { "h": 7, "w": 8, "x": 0, - "y": 7 + "y": 8 }, "hiddenSeries": false, "id": 1, @@ -358,9 +407,10 @@ "links": [], "nullPointMode": "null", "options": { - "dataLinks": [] + "alertThreshold": true }, "percentage": false, + "pluginVersion": "9.4.7", "pointradius": 5, "points": false, "renderer": "flot", @@ -370,6 +420,9 @@ "steppedLine": false, "targets": [ { + "datasource": { + "uid": "$cluster" + }, "expr": "sum(container_memory_rss{pod=~\"hub-.*\",container!=\"\"})", "format": "time_series", "interval": "", @@ -387,9 +440,7 @@ "value": 1000000000 } ], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "JupyterHub Memory usage", "tooltip": { "shared": true, @@ -398,33 +449,25 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, "yaxes": [ { "format": "bytes", - "label": null, "logBase": 1, - "max": null, "min": "0", "show": true }, { "format": "short", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": true } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } }, { @@ -432,14 +475,22 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$cluster", + "datasource": { + "uid": "$cluster" + }, + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, "fill": 1, "fillGradient": 0, "gridPos": { "h": 7, "w": 8, "x": 8, - "y": 7 + "y": 8 }, "hiddenSeries": false, "id": 6, @@ -457,9 +508,10 @@ "links": [], "nullPointMode": "null", "options": { - "dataLinks": [] + "alertThreshold": true }, "percentage": false, + "pluginVersion": "9.4.7", "pointradius": 5, "points": false, "renderer": "flot", @@ -469,6 +521,9 @@ "steppedLine": false, "targets": [ { + "datasource": { + "uid": "$cluster" + }, "expr": "sum(container_memory_rss{pod=~\"binder-.*\",container!=\"\"}) by (pod)", "format": "time_series", "interval": "", @@ -487,9 +542,7 @@ "yaxis": "left" } ], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Binder Memory usage", "tooltip": { "shared": true, @@ -498,33 +551,25 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, "yaxes": [ { "format": "bytes", - "label": null, "logBase": 1, - "max": null, "min": "0", "show": true }, { "format": "short", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": true } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } }, { @@ -532,14 +577,22 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$cluster", + "datasource": { + "uid": "$cluster" + }, + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, "fill": 1, "fillGradient": 0, "gridPos": { "h": 7, "w": 8, "x": 16, - "y": 7 + "y": 8 }, "hiddenSeries": false, "id": 5, @@ -559,9 +612,10 @@ "links": [], "nullPointMode": "null", "options": { - "dataLinks": [] + "alertThreshold": true }, "percentage": false, + "pluginVersion": "9.4.7", "pointradius": 5, "points": false, "renderer": "flot", @@ -571,6 +625,9 @@ "steppedLine": false, "targets": [ { + "datasource": { + "uid": "$cluster" + }, "expr": "sum(container_memory_rss{pod=~\"proxy-.*\", container!=\"\"}) by (container)", "format": "time_series", "interval": "", @@ -580,9 +637,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Proxy Memory usage", "tooltip": { "shared": true, @@ -591,33 +646,25 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, "yaxes": [ { "format": "bytes", - "label": null, "logBase": 1, - "max": null, "min": "0", "show": true }, { "format": "short", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": true } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } }, { @@ -625,14 +672,22 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$cluster", + "datasource": { + "uid": "$cluster" + }, + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, "fill": 1, "fillGradient": 0, "gridPos": { "h": 7, "w": 8, "x": 0, - "y": 14 + "y": 15 }, "hiddenSeries": false, "id": 7, @@ -650,9 +705,10 @@ "links": [], "nullPointMode": "null", "options": { - "dataLinks": [] + "alertThreshold": true }, "percentage": false, + "pluginVersion": "9.4.7", "pointradius": 5, "points": false, "renderer": "flot", @@ -662,6 +718,9 @@ "steppedLine": false, "targets": [ { + "datasource": { + "uid": "$cluster" + }, "expr": "sum(container_memory_rss{pod=~\"prod-dind-.*\",container!=\"\"}) by (instance)", "format": "time_series", "interval": "", @@ -671,9 +730,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "DinD builder Memory usage", "tooltip": { "shared": true, @@ -682,33 +739,25 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, "yaxes": [ { "format": "bytes", - "label": null, "logBase": 1, - "max": null, "min": "0", "show": true }, { "format": "short", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": true } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } }, { @@ -716,23 +765,31 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$cluster", + "datasource": { + "uid": "$cluster" + }, + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, "fill": 1, "fillGradient": 0, "gridPos": { "h": 7, "w": 8, "x": 8, - "y": 14 + "y": 15 }, "hiddenSeries": false, - "id": 8, + "id": 10, "legend": { "avg": false, "current": false, "max": false, "min": false, - "show": false, + "show": true, "total": false, "values": false }, @@ -741,9 +798,10 @@ "links": [], "nullPointMode": "null", "options": { - "dataLinks": [] + "alertThreshold": true }, "percentage": false, + "pluginVersion": "9.4.7", "pointradius": 5, "points": false, "renderer": "flot", @@ -753,7 +811,10 @@ "steppedLine": false, "targets": [ { - "expr": "sum(container_memory_rss{pod=~\"[[:alnum:]]+-grafana-.*\",container!=\"\"})", + "datasource": { + "uid": "$cluster" + }, + "expr": "sum(rate(container_cpu_usage_seconds_total{pod=~\"prod-dind-.*\",container!=\"\"}[2m])) by (instance)", "format": "time_series", "interval": "", "intervalFactor": 2, @@ -762,10 +823,8 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, - "title": "Grafana Memory usage", + "title": "DinD builders CPU Usage", "tooltip": { "shared": true, "sort": 0, @@ -773,57 +832,72 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, "yaxes": [ { - "format": "bytes", - "label": null, + "format": "percentunit", "logBase": 1, - "max": null, "min": "0", "show": true }, { "format": "short", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": true } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } }, + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 22 + }, + "id": 20, + "panels": [], + "repeat": "cluster", + "repeatDirection": "h", + "title": "Component resources", + "type": "row" + }, { "aliasColors": {}, "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$cluster", + "datasource": { + "uid": "$cluster" + }, + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, "fill": 1, "fillGradient": 0, "gridPos": { "h": 7, "w": 8, - "x": 16, - "y": 14 + "x": 0, + "y": 23 }, "hiddenSeries": false, - "id": 9, + "id": 12, "legend": { "avg": false, "current": false, "max": false, "min": false, - "show": false, + "show": true, "total": false, "values": false }, @@ -832,9 +906,10 @@ "links": [], "nullPointMode": "null", "options": { - "dataLinks": [] + "alertThreshold": true }, "percentage": false, + "pluginVersion": "9.4.7", "pointradius": 5, "points": false, "renderer": "flot", @@ -844,19 +919,20 @@ "steppedLine": false, "targets": [ { - "expr": "sum(container_memory_rss{pod=~\"[[:alnum:]]+-prometheus-server-.*\",container!=\"\"}) ", + "datasource": { + "uid": "$cluster" + }, + "expr": "sum(rate(container_cpu_usage_seconds_total{pod=~\"[[:alnum:]]+-prometheus-server-.*\",container!=\"\"}[2m]))", "format": "time_series", "interval": "", "intervalFactor": 2, - "legendFormat": "{{instance}}", + "legendFormat": "cpu usage", "refId": "A" } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, - "title": "Prometheus Memory usage", + "title": "Prometheus Server CPU Usage", "tooltip": { "shared": true, "sort": 0, @@ -864,33 +940,24 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, "yaxes": [ { - "format": "bytes", - "label": null, + "format": "percentunit", "logBase": 1, - "max": null, - "min": "0", "show": true }, { "format": "short", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": true } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } }, { @@ -898,23 +965,31 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$cluster", + "datasource": { + "uid": "$cluster" + }, + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, "fill": 1, "fillGradient": 0, "gridPos": { "h": 7, "w": 8, - "x": 0, - "y": 21 + "x": 8, + "y": 23 }, "hiddenSeries": false, - "id": 10, + "id": 9, "legend": { "avg": false, "current": false, "max": false, "min": false, - "show": true, + "show": false, "total": false, "values": false }, @@ -923,9 +998,10 @@ "links": [], "nullPointMode": "null", "options": { - "dataLinks": [] + "alertThreshold": true }, "percentage": false, + "pluginVersion": "9.4.7", "pointradius": 5, "points": false, "renderer": "flot", @@ -935,7 +1011,10 @@ "steppedLine": false, "targets": [ { - "expr": "sum(rate(container_cpu_usage_seconds_total{pod=~\"prod-dind-.*\",container!=\"\"}[2m])) by (instance)", + "datasource": { + "uid": "$cluster" + }, + "expr": "sum(container_memory_rss{pod=~\"[[:alnum:]]+-prometheus-server-.*\",container!=\"\"}) ", "format": "time_series", "interval": "", "intervalFactor": 2, @@ -944,10 +1023,8 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, - "title": "DinD builders CPU Usage", + "title": "Prometheus Memory usage", "tooltip": { "shared": true, "sort": 0, @@ -955,33 +1032,25 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, "yaxes": [ { - "format": "percentunit", - "label": null, + "format": "bytes", "logBase": 1, - "max": null, "min": "0", "show": true }, { "format": "short", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": true } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } }, { @@ -989,35 +1058,45 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$cluster", + "datasource": { + "uid": "$cluster" + }, + "description": "The amount of storage being used by prometheus\n\nadjust prometheus storage size and retention to avoid filling up", + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, "fill": 1, "fillGradient": 0, "gridPos": { "h": 7, "w": 8, - "x": 8, - "y": 21 + "x": 16, + "y": 23 }, "hiddenSeries": false, - "id": 11, + "id": 18, + "interval": "", "legend": { "avg": false, "current": false, "max": false, "min": false, - "show": false, + "show": true, "total": false, "values": false }, "lines": true, "linewidth": 1, - "links": [], "nullPointMode": "null", "options": { - "dataLinks": [] + "alertThreshold": true }, "percentage": false, - "pointradius": 5, + "pluginVersion": "9.4.7", + "pointradius": 2, "points": false, "renderer": "flot", "seriesOverrides": [], @@ -1026,19 +1105,18 @@ "steppedLine": false, "targets": [ { - "expr": "sum(rate(container_cpu_usage_seconds_total{pod=~\"[[:alnum:]]+-grafana-.*\",container!=\"\"}[2m]))", - "format": "time_series", + "datasource": { + "uid": "$cluster" + }, + "expr": "prometheus_tsdb_storage_blocks_bytes", "interval": "", - "intervalFactor": 2, - "legendFormat": "", + "legendFormat": "prometheus storage", "refId": "A" } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, - "title": "Grafana CPU Usage", + "title": "Prometheus storage", "tooltip": { "shared": true, "sort": 0, @@ -1046,33 +1124,27 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, "yaxes": [ { - "format": "percentunit", - "label": null, + "$$hashKey": "object:178", + "format": "decbytes", "logBase": 1, - "max": null, - "min": null, + "min": "0", "show": true }, { + "$$hashKey": "object:179", "format": "short", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": true } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } }, { @@ -1080,23 +1152,31 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$cluster", + "datasource": { + "uid": "$cluster" + }, + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, "fill": 1, "fillGradient": 0, "gridPos": { "h": 7, "w": 8, - "x": 16, - "y": 21 + "x": 0, + "y": 30 }, "hiddenSeries": false, - "id": 12, + "id": 11, "legend": { "avg": false, "current": false, "max": false, "min": false, - "show": true, + "show": false, "total": false, "values": false }, @@ -1105,9 +1185,10 @@ "links": [], "nullPointMode": "null", "options": { - "dataLinks": [] + "alertThreshold": true }, "percentage": false, + "pluginVersion": "9.4.7", "pointradius": 5, "points": false, "renderer": "flot", @@ -1117,19 +1198,20 @@ "steppedLine": false, "targets": [ { - "expr": "sum(rate(container_cpu_usage_seconds_total{pod=~\"[[:alnum:]]+-prometheus-server-.*\",container!=\"\"}[2m]))", + "datasource": { + "uid": "$cluster" + }, + "expr": "sum(rate(container_cpu_usage_seconds_total{pod=~\"[[:alnum:]]+-grafana-.*\",container!=\"\"}[2m]))", "format": "time_series", "interval": "", "intervalFactor": 2, - "legendFormat": "cpu usage", + "legendFormat": "", "refId": "A" } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, - "title": "Prometheus Server CPU Usage", + "title": "Grafana CPU Usage", "tooltip": { "shared": true, "sort": 0, @@ -1137,33 +1219,24 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, "yaxes": [ { "format": "percentunit", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": true }, { "format": "short", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": true } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } }, { @@ -1171,14 +1244,22 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$cluster", + "datasource": { + "uid": "$cluster" + }, + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, "fill": 1, "fillGradient": 0, "gridPos": { "h": 7, - "w": 12, - "x": 0, - "y": 28 + "w": 8, + "x": 8, + "y": 30 }, "hiddenSeries": false, "id": 13, @@ -1196,9 +1277,10 @@ "links": [], "nullPointMode": "null", "options": { - "dataLinks": [] + "alertThreshold": true }, "percentage": false, + "pluginVersion": "9.4.7", "pointradius": 5, "points": false, "renderer": "flot", @@ -1208,6 +1290,9 @@ "steppedLine": false, "targets": [ { + "datasource": { + "uid": "$cluster" + }, "expr": "sum(irate(container_cpu_usage_seconds_total{pod=~\"[[:alnum:]-]+-ingress[[:alnum:]-]+controller-.*\",container!=\"\"}[2m])) by (pod)", "format": "time_series", "interval": "", @@ -1217,9 +1302,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "nginx Ingress CPU usage", "tooltip": { "shared": true, @@ -1228,33 +1311,24 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, "yaxes": [ { "format": "percentunit", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": true }, { "format": "short", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": true } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } }, { @@ -1262,19 +1336,25 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$cluster", - "description": "The amount of storage being used by prometheus\n\nadjust prometheus storage size and retention to avoid filling up", + "datasource": { + "uid": "$cluster" + }, + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, "fill": 1, "fillGradient": 0, "gridPos": { "h": 7, "w": 8, "x": 16, - "y": 28 + "y": 30 }, "hiddenSeries": false, - "id": 18, - "interval": "", + "id": 15, "legend": { "avg": false, "current": false, @@ -1286,33 +1366,36 @@ }, "lines": true, "linewidth": 1, + "links": [], "nullPointMode": "null", "options": { - "dataLinks": [] + "alertThreshold": true }, "percentage": false, - "pointradius": 2, + "pluginVersion": "9.4.7", + "pointradius": 5, "points": false, "renderer": "flot", - "repeat": null, - "repeatDirection": null, "seriesOverrides": [], "spaceLength": 10, "stack": false, "steppedLine": false, "targets": [ { - "expr": "prometheus_tsdb_storage_blocks_bytes", + "datasource": { + "uid": "$cluster" + }, + "expr": "sum(irate(container_cpu_usage_seconds_total{pod=~\"user-scheduler-.*\",container!=\"\"}[2m])) by (pod)", + "format": "time_series", "interval": "", - "legendFormat": "prometheus storage", + "intervalFactor": 2, + "legendFormat": "{{ pod }}", "refId": "A" } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, - "title": "Prometheus storage", + "title": "user scheduler CPU usage", "tooltip": { "shared": true, "sort": 0, @@ -1320,35 +1403,24 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, "yaxes": [ { - "$$hashKey": "object:178", - "format": "decbytes", - "label": null, + "format": "percentunit", "logBase": 1, - "max": null, - "min": "0", "show": true }, { - "$$hashKey": "object:179", "format": "short", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": true } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } }, { @@ -1356,23 +1428,31 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$cluster", + "datasource": { + "uid": "$cluster" + }, + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, "fill": 1, "fillGradient": 0, "gridPos": { "h": 7, - "w": 12, + "w": 8, "x": 0, - "y": 35 + "y": 37 }, "hiddenSeries": false, - "id": 15, + "id": 8, "legend": { "avg": false, "current": false, "max": false, "min": false, - "show": true, + "show": false, "total": false, "values": false }, @@ -1381,9 +1461,10 @@ "links": [], "nullPointMode": "null", "options": { - "dataLinks": [] + "alertThreshold": true }, "percentage": false, + "pluginVersion": "9.4.7", "pointradius": 5, "points": false, "renderer": "flot", @@ -1393,19 +1474,20 @@ "steppedLine": false, "targets": [ { - "expr": "sum(irate(container_cpu_usage_seconds_total{pod=~\"user-scheduler-.*\",container!=\"\"}[2m])) by (pod)", + "datasource": { + "uid": "$cluster" + }, + "expr": "sum(container_memory_rss{pod=~\"[[:alnum:]]+-grafana-.*\",container!=\"\"})", "format": "time_series", "interval": "", "intervalFactor": 2, - "legendFormat": "{{ pod }}", + "legendFormat": "{{instance}}", "refId": "A" } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, - "title": "user scheduler CPU usage", + "title": "Grafana Memory usage", "tooltip": { "shared": true, "sort": 0, @@ -1413,33 +1495,25 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, "yaxes": [ { - "format": "percentunit", - "label": null, + "format": "bytes", "logBase": 1, - "max": null, - "min": null, + "min": "0", "show": true }, { "format": "short", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": true } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } }, { @@ -1447,14 +1521,22 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$cluster", + "datasource": { + "uid": "$cluster" + }, + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, "fill": 1, "fillGradient": 0, "gridPos": { "h": 7, - "w": 12, - "x": 12, - "y": 35 + "w": 8, + "x": 8, + "y": 37 }, "hiddenSeries": false, "id": 14, @@ -1472,9 +1554,10 @@ "links": [], "nullPointMode": "null", "options": { - "dataLinks": [] + "alertThreshold": true }, "percentage": false, + "pluginVersion": "9.4.7", "pointradius": 5, "points": false, "renderer": "flot", @@ -1484,6 +1567,9 @@ "steppedLine": false, "targets": [ { + "datasource": { + "uid": "$cluster" + }, "expr": "sum(container_memory_rss{pod=~\"[[:alnum:]-]+-ingress[[:alnum:]-]+controller-.*\",container!=\"\"}) by (pod)", "format": "time_series", "interval": "", @@ -1493,9 +1579,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "nginx Ingress Memory usage", "tooltip": { "shared": true, @@ -1504,33 +1588,25 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, "yaxes": [ { "format": "bytes", - "label": null, "logBase": 1, - "max": null, "min": "0", "show": true }, { "format": "short", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": true } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } }, { @@ -1538,14 +1614,22 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$cluster", + "datasource": { + "uid": "$cluster" + }, + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, "fill": 1, "fillGradient": 0, "gridPos": { "h": 7, - "w": 12, - "x": 12, - "y": 42 + "w": 8, + "x": 16, + "y": 37 }, "hiddenSeries": false, "id": 16, @@ -1563,9 +1647,10 @@ "links": [], "nullPointMode": "null", "options": { - "dataLinks": [] + "alertThreshold": true }, "percentage": false, + "pluginVersion": "9.4.7", "pointradius": 5, "points": false, "renderer": "flot", @@ -1575,6 +1660,9 @@ "steppedLine": false, "targets": [ { + "datasource": { + "uid": "$cluster" + }, "expr": "sum(container_memory_rss{pod=~\"user-scheduler-.*\",container!=\"\"}) by (pod)", "format": "time_series", "interval": "", @@ -1584,9 +1672,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "user scheduler Memory usage", "tooltip": { "shared": true, @@ -1595,119 +1681,700 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, "yaxes": [ { "format": "bytes", - "label": null, "logBase": 1, - "max": null, "min": "0", "show": true }, { "format": "short", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": true } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } - } - ], - "refresh": "1m", - "schemaVersion": 22, - "style": "dark", - "tags": [], - "templating": { - "list": [ - { - "current": { - "tags": [], - "text": "prometheus", - "value": "prometheus" + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": { + "type": "prometheus", + "uid": "$cluster" + }, + "fieldConfig": { + "defaults": { + "links": [] }, - "hide": 0, - "includeAll": false, - "label": null, - "multi": false, - "name": "cluster", - "options": [], - "query": "prometheus", - "refresh": 1, - "regex": "", - "skipUrlSync": false, - "type": "datasource" - } - ] - }, - "time": { - "from": "now-1h", - "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": "Components Resource Metrics", - "uid": "GYEYQm7ik", - "variables": { - "list": [] - }, - "version": 14 - }, - "meta": { - "canAdmin": true, - "canEdit": true, - "canSave": true, - "canStar": true, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 7, + "w": 8, + "x": 0, + "y": 44 + }, + "hiddenSeries": false, + "id": 23, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "9.4.7", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "datasource": { + "uid": "$cluster" + }, + "editorMode": "code", + "expr": "sum(irate(container_cpu_usage_seconds_total{pod=~\"analytics-publisher-.*\",container!=\"\"}[2m]))", + "format": "time_series", + "interval": "", + "intervalFactor": 2, + "legendFormat": "{{ pod }}", + "range": true, + "refId": "A" + } + ], + "thresholds": [], + "timeRegions": [], + "title": "analytics publisher CPU usage", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "mode": "time", + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "percentunit", + "logBase": 1, + "show": true + }, + { + "format": "short", + "logBase": 1, + "show": true + } + ], + "yaxis": { + "align": false + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": { + "type": "prometheus", + "uid": "$cluster" + }, + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 7, + "w": 8, + "x": 8, + "y": 44 + }, + "hiddenSeries": false, + "id": 25, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "9.4.7", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "datasource": { + "uid": "$cluster" + }, + "editorMode": "code", + "expr": "sum(irate(container_cpu_usage_seconds_total{pod=~\"federation-redirect-.*\",container!=\"\"}[2m])) by (pod)", + "format": "time_series", + "interval": "", + "intervalFactor": 2, + "legendFormat": "{{ pod }}", + "range": true, + "refId": "A" + } + ], + "thresholds": [], + "timeRegions": [], + "title": "federation redirector CPU usage", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "mode": "time", + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "percentunit", + "logBase": 1, + "show": true + }, + { + "format": "short", + "logBase": 1, + "show": true + } + ], + "yaxis": { + "align": false + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": { + "type": "prometheus", + "uid": "$cluster" + }, + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 7, + "w": 8, + "x": 16, + "y": 44 + }, + "hiddenSeries": false, + "id": 28, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "9.4.7", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "datasource": { + "uid": "$cluster" + }, + "editorMode": "code", + "expr": "sum(irate(container_cpu_usage_seconds_total{pod=~\"matomo-.*\",container!=\"\"}[2m])) by (pod)", + "format": "time_series", + "interval": "", + "intervalFactor": 2, + "legendFormat": "{{ pod }}", + "range": true, + "refId": "A" + } + ], + "thresholds": [], + "timeRegions": [], + "title": "matomo CPU usage", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "mode": "time", + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "percentunit", + "logBase": 1, + "show": true + }, + { + "format": "short", + "logBase": 1, + "show": true + } + ], + "yaxis": { + "align": false + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": { + "type": "prometheus", + "uid": "$cluster" + }, + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 7, + "w": 8, + "x": 0, + "y": 51 + }, + "hiddenSeries": false, + "id": 24, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "9.4.7", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "datasource": { + "uid": "$cluster" + }, + "editorMode": "code", + "expr": "sum(container_memory_rss{pod=~\"analytics-publisher-.*\",container!=\"\"})", + "format": "time_series", + "interval": "", + "intervalFactor": 2, + "legendFormat": "{{ pod }}", + "range": true, + "refId": "A" + } + ], + "thresholds": [], + "timeRegions": [], + "title": "analytics publisher Memory usage", + "tooltip": { + "shared": true, + "sort": 0, + "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": { + "type": "prometheus", + "uid": "$cluster" + }, + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 7, + "w": 8, + "x": 8, + "y": 51 + }, + "hiddenSeries": false, + "id": 26, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "9.4.7", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "datasource": { + "uid": "$cluster" + }, + "editorMode": "code", + "expr": "sum(container_memory_rss{pod=~\"federation-redirect-.*\",container!=\"\"}) by (pod)", + "format": "time_series", + "interval": "", + "intervalFactor": 2, + "legendFormat": "{{ pod }}", + "range": true, + "refId": "A" + } + ], + "thresholds": [], + "timeRegions": [], + "title": "federation redirector Memory usage", + "tooltip": { + "shared": true, + "sort": 0, + "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": { + "type": "prometheus", + "uid": "$cluster" + }, + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 7, + "w": 8, + "x": 16, + "y": 51 + }, + "hiddenSeries": false, + "id": 27, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "9.4.7", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "datasource": { + "uid": "$cluster" + }, + "editorMode": "code", + "expr": "sum(container_memory_rss{pod=~\"matomo-.*\",container!=\"\"}) by (pod)", + "format": "time_series", + "interval": "", + "intervalFactor": 2, + "legendFormat": "{{ pod }}", + "range": true, + "refId": "A" + } + ], + "thresholds": [], + "timeRegions": [], + "title": "matomo Memory usage", + "tooltip": { + "shared": true, + "sort": 0, + "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 + } + } + ], + "refresh": "1m", + "revision": 1, + "schemaVersion": 38, + "style": "dark", + "tags": [], + "templating": { + "list": [ + { + "current": { + "tags": [], + "text": "prometheus", + "value": "prometheus" + }, + "hide": 0, + "includeAll": false, + "multi": false, + "name": "cluster", + "options": [], + "query": "prometheus", + "queryValue": "", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "type": "datasource" + } + ] + }, + "time": { + "from": "now-1h", + "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": "Components Resource Metrics", + "uid": "GYEYQm7ik", + "version": 17, + "weekStart": "" + }, + "meta": { + "annotationsPermissions": { + "dashboard": { + "canAdd": true, + "canDelete": true, + "canEdit": true + }, + "organization": { + "canAdd": false, + "canDelete": false, + "canEdit": false + } + }, + "canAdmin": false, + "canDelete": false, + "canEdit": false, + "canSave": false, + "canStar": false, "created": "2020-09-22T09:29:52Z", "createdBy": "admin", "expires": "0001-01-01T00:00:00Z", "folderId": 0, "folderTitle": "General", + "folderUid": "", "folderUrl": "", "hasAcl": false, "isFolder": false, "provisioned": false, "provisionedExternalId": "", + "publicDashboardAccessToken": "", + "publicDashboardEnabled": false, + "publicDashboardUid": "", "slug": "components-resource-metrics", "type": "db", - "updated": "2021-06-02T20:51:10Z", + "updated": "2023-04-27T10:09:06Z", "updatedBy": "admin", "url": "/d/GYEYQm7ik/components-resource-metrics", - "version": 14 + "version": 17 } } \ No newline at end of file diff --git a/grafana-data/dashboards/Ib5UZuCnz.json b/grafana-data/dashboards/Ib5UZuCnz.json new file mode 100644 index 000000000..18c01fc2f --- /dev/null +++ b/grafana-data/dashboards/Ib5UZuCnz.json @@ -0,0 +1,2373 @@ +{ + "dashboard": { + "__requires": [ + { + "id": "alertlist", + "name": "Alert List", + "type": "panel", + "version": "" + }, + { + "id": "grafana", + "name": "Grafana", + "type": "grafana", + "version": "6.5.2" + }, + { + "id": "graph", + "name": "Graph", + "type": "panel", + "version": "" + }, + { + "id": "prometheus", + "name": "Prometheus", + "type": "datasource", + "version": "1.0.0" + }, + { + "id": "singlestat", + "name": "Singlestat", + "type": "panel", + "version": "" + }, + { + "id": "table", + "name": "Table", + "type": "panel", + "version": "" + } + ], + "description": "Dashboard of Kubernetes / OpenShift volume information at cluster level as exported by Prometheus connected to Kubernetes / OpenShift.", + "editable": true, + "gnetId": 11454, + "graphTooltip": 1, + "id": 21, + "iteration": 1577045029184, + "links": [], + "panels": [ + { + "collapsed": false, + "datasource": "000000001", + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 0 + }, + "id": 43, + "panels": [], + "title": "Current Alerts", + "type": "row" + }, + { + "cacheTimeout": null, + "colorBackground": true, + "colorPrefix": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "$DS_OPENSHIFT_PROMETHEUS", + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 3, + "w": 7, + "x": 0, + "y": 1 + }, + "id": 30, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "nullPointMode": "connected", + "nullText": null, + "options": {}, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false, + "ymax": null, + "ymin": null + }, + "tableColumn": "", + "targets": [ + { + "expr": "(\n count (\n (kubelet_volume_stats_available_bytes {namespace=~\"(openshift-.*|kube-.*|default|logging)\"})\n and\n (predict_linear(kubelet_volume_stats_available_bytes {namespace=~\"(openshift-.*|kube-.*|default|logging)\"}[1d], 7 * 24 * 60 * 60) < 0)\n )\n)\nor\nvector(0)", + "instant": false, + "intervalFactor": 1, + "legendFormat": "alerts", + "refId": "A" + } + ], + "thresholds": "1,1", + "timeFrom": null, + "timeShift": null, + "title": "Infrastructure Namespace Volumes Full in Week Based on Daily Use Rate", + "type": "singlestat", + "valueFontSize": "200%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": true, + "colorPrefix": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "$DS_OPENSHIFT_PROMETHEUS", + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 3, + "w": 7, + "x": 7, + "y": 1 + }, + "id": 34, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "nullPointMode": "connected", + "nullText": null, + "options": {}, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false, + "ymax": null, + "ymin": null + }, + "tableColumn": "", + "targets": [ + { + "expr": "(\n count (\n (\n (kubelet_volume_stats_available_bytes {namespace!~\"(openshift-.*|kube-.*|default|logging)\"})\n )\n and\n (predict_linear(kubelet_volume_stats_available_bytes[1d], 7 * 24 * 60 * 60) < 0)\n )\n)\nor\nvector(0)", + "instant": false, + "intervalFactor": 1, + "legendFormat": "alerts", + "refId": "A" + } + ], + "thresholds": "1,1", + "timeFrom": null, + "timeShift": null, + "title": "User Namespace Volumes Full in Week Based on Daily Use Rate", + "type": "singlestat", + "valueFontSize": "200%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "dashboardFilter": "", + "dashboardTags": [], + "datasource": "$DS_OPENSHIFT_PROMETHEUS", + "folderId": null, + "gridPos": { + "h": 6, + "w": 10, + "x": 14, + "y": 1 + }, + "id": 29, + "limit": 10, + "nameFilter": "", + "onlyAlertsOnDashboard": true, + "options": {}, + "show": "current", + "sortOrder": 1, + "stateFilter": [], + "timeFrom": null, + "timeShift": null, + "title": "Dashboard Alerts", + "type": "alertlist" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#299c46", + "#FF9830", + "#FF9830" + ], + "datasource": "$DS_OPENSHIFT_PROMETHEUS", + "decimals": 0, + "editable": false, + "error": false, + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 3, + "w": 7, + "x": 0, + "y": 4 + }, + "id": 12, + "interval": null, + "isNew": false, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "nullPointMode": "connected", + "nullText": null, + "options": {}, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "span": 0, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "lineColor": "rgb(31, 120, 193)" + }, + "tableColumn": "", + "targets": [ + { + "expr": "count (max by (persistentvolumeclaim,namespace) (kubelet_volume_stats_used_bytes ) and (max by (persistentvolumeclaim,namespace) (kubelet_volume_stats_used_bytes )) / (max by (persistentvolumeclaim,namespace) (kubelet_volume_stats_capacity_bytes )) >= ($pvc_percent_used_warning_threshold / 100)) or vector (0)", + "format": "time_series", + "instant": true, + "refId": "A" + } + ], + "thresholds": "1,1", + "title": "Running PVCs Above % Used Warning Threshold", + "type": "singlestat", + "valueFontSize": "200%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#299c46", + "#FF9830", + "#FF9830" + ], + "datasource": "$DS_OPENSHIFT_PROMETHEUS", + "decimals": 0, + "editable": false, + "error": false, + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 3, + "w": 7, + "x": 7, + "y": 4 + }, + "id": 6, + "interval": null, + "isNew": false, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "nullPointMode": "connected", + "nullText": null, + "options": {}, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "span": 0, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "lineColor": "rgb(31, 120, 193)" + }, + "tableColumn": "", + "targets": [ + { + "expr": "(max (sum by (exported_namespace) (pv_collector_unbound_pvc_count))) or (vector(0))", + "format": "table", + "instant": true, + "refId": "A" + } + ], + "thresholds": "1,1", + "title": "Unbound PVCs", + "type": "singlestat", + "valueFontSize": "200%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "collapsed": true, + "datasource": "$DS_OPENSHIFT_PROMETHEUS", + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 7 + }, + "id": 32, + "panels": [ + { + "cacheTimeout": null, + "columns": [ + { + "text": "Avg", + "value": "avg" + } + ], + "datasource": "$DS_OPENSHIFT_PROMETHEUS", + "fontSize": "100%", + "gridPos": { + "h": 14, + "w": 7, + "x": 0, + "y": 2 + }, + "id": 38, + "links": [], + "options": {}, + "pageSize": null, + "showHeader": true, + "sort": { + "col": 0, + "desc": true + }, + "styles": [ + { + "alias": "Available", + "colorMode": "row", + "colors": [ + "rgba(50, 172, 45, 0.97)", + "rgba(237, 129, 40, 0.89)", + "rgba(245, 54, 54, 0.9)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 2, + "mappingType": 1, + "pattern": "Value", + "thresholds": [ + "0", + "0" + ], + "type": "number", + "unit": "bytes" + }, + { + "alias": "Namespace", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 2, + "mappingType": 1, + "pattern": "namespace", + "thresholds": [], + "type": "string", + "unit": "short" + }, + { + "alias": "PVC", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 2, + "mappingType": 1, + "pattern": "persistentvolumeclaim", + "thresholds": [], + "type": "string", + "unit": "short" + }, + { + "alias": "", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "decimals": 2, + "pattern": "/.*/", + "thresholds": [], + "type": "hidden", + "unit": "short" + } + ], + "targets": [ + { + "expr": "(\n (\n (kubelet_volume_stats_available_bytes {namespace=~\"(openshift-.*|kube-.*|default|logging)\"} ) \n and\n (predict_linear(kubelet_volume_stats_available_bytes {namespace=~\"(openshift-.*|kube-.*|default|logging)\"}[1w], 7 * 24 * 60 * 60) < 0)\n )\n)", + "format": "table", + "instant": true, + "intervalFactor": 1, + "legendFormat": "", + "refId": "A" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Infrastructure Namespace Volumes Full in Week Based on Daily Use Rate - Current", + "transform": "table", + "type": "table" + }, + { + "alert": { + "alertRuleTags": {}, + "conditions": [ + { + "evaluator": { + "params": [ + 0 + ], + "type": "gt" + }, + "operator": { + "type": "and" + }, + "query": { + "params": [ + "A", + "1h", + "now" + ] + }, + "reducer": { + "params": [], + "type": "avg" + }, + "type": "query" + } + ], + "executionErrorState": "alerting", + "for": "24h", + "frequency": "1h", + "handler": 1, + "name": "Infrastructure Namespace Volumes Full in Week Based on Daily Use Rate Alert", + "noDataState": "ok", + "notifications": [] + }, + "aliasColors": {}, + "bars": true, + "cacheTimeout": null, + "dashLength": 10, + "dashes": false, + "fill": 10, + "fillGradient": 0, + "gridPos": { + "h": 7, + "w": 17, + "x": 7, + "y": 2 + }, + "hiddenSeries": false, + "id": 45, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "rightSide": false, + "show": true, + "total": false, + "values": false + }, + "lines": false, + "linewidth": 2, + "links": [], + "nullPointMode": "null as zero", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": true, + "steppedLine": true, + "targets": [ + { + "expr": "(\n (\n ((kubelet_volume_stats_used_bytes {namespace=~\"(openshift-.*|kube-.*|default|logging)\"} ) * 0) + 1\n and\n (predict_linear(kubelet_volume_stats_available_bytes {namespace=~\"(openshift-.*|kube-.*|default|logging)\"}[1d], 7 * 24 * 60 * 60) < 0)\n )\n)", + "instant": false, + "intervalFactor": 1, + "legendFormat": "{{namespace}} ({{persistentvolumeclaim}})", + "refId": "A" + } + ], + "thresholds": [ + { + "colorMode": "critical", + "fill": true, + "line": true, + "op": "gt", + "value": 0 + } + ], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Infrastructure Namespace Volumes Full in Week Based on Daily Use Rate - Alert History", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "decimals": 0, + "format": "short", + "label": "# of Alerts", + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "cacheTimeout": null, + "dashLength": 10, + "dashes": false, + "datasource": "$DS_OPENSHIFT_PROMETHEUS", + "fill": 0, + "fillGradient": 0, + "gridPos": { + "h": 7, + "w": 17, + "x": 7, + "y": 9 + }, + "hiddenSeries": false, + "id": 27, + "legend": { + "alignAsTable": false, + "avg": false, + "current": false, + "max": false, + "min": false, + "rightSide": false, + "show": true, + "total": false, + "values": false + }, + "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": [ + { + "expr": "(\n (predict_linear(kubelet_volume_stats_available_bytes {namespace=~\"(openshift-.*|kube-.*|default|logging)\"}[1d], 7 * 24 * 60 * 60) < 0)\n)", + "format": "time_series", + "hide": false, + "instant": false, + "intervalFactor": 1, + "legendFormat": "{{namespace}} ({{persistentvolumeclaim}})", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Infrastructure Namespace Volumes Full in Week Based on Daily Use Rate - Predicted Available Space History", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "decimals": 0, + "format": "bytes", + "label": "1 Week Predicted Available Space", + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "bytes", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "cacheTimeout": null, + "columns": [ + { + "text": "Avg", + "value": "avg" + } + ], + "datasource": "$DS_OPENSHIFT_PROMETHEUS", + "fontSize": "100%", + "gridPos": { + "h": 13, + "w": 7, + "x": 0, + "y": 16 + }, + "id": 39, + "links": [], + "options": {}, + "pageSize": null, + "showHeader": true, + "sort": { + "col": 0, + "desc": true + }, + "styles": [ + { + "alias": "Available", + "colorMode": "row", + "colors": [ + "rgba(50, 172, 45, 0.97)", + "rgba(237, 129, 40, 0.89)", + "rgba(245, 54, 54, 0.9)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 2, + "mappingType": 1, + "pattern": "Value", + "thresholds": [ + "0", + "0" + ], + "type": "number", + "unit": "bytes" + }, + { + "alias": "Namespace", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 2, + "mappingType": 1, + "pattern": "namespace", + "thresholds": [], + "type": "string", + "unit": "short" + }, + { + "alias": "PVC", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 2, + "mappingType": 1, + "pattern": "persistentvolumeclaim", + "thresholds": [], + "type": "string", + "unit": "short" + }, + { + "alias": "", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "decimals": 2, + "pattern": "/.*/", + "thresholds": [], + "type": "hidden", + "unit": "short" + } + ], + "targets": [ + { + "expr": "(\n (\n (\n (kubelet_volume_stats_used_bytes {namespace!~\"(openshift-.*|kube-.*|default|logging)\"})\n )\n and\n (predict_linear(kubelet_volume_stats_available_bytes[1d], 7 * 24 * 60 * 60) < 0)\n )\n)", + "format": "table", + "instant": true, + "intervalFactor": 1, + "legendFormat": "", + "refId": "A" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "User Namespace Volumes Full in Week Based on Daily Use Rate - Current", + "transform": "table", + "type": "table" + }, + { + "alert": { + "alertRuleTags": {}, + "conditions": [ + { + "evaluator": { + "params": [ + 0 + ], + "type": "gt" + }, + "operator": { + "type": "and" + }, + "query": { + "params": [ + "A", + "1h", + "now" + ] + }, + "reducer": { + "params": [], + "type": "avg" + }, + "type": "query" + } + ], + "executionErrorState": "alerting", + "for": "24h", + "frequency": "1h", + "handler": 1, + "name": "User Namespace Volumes Full in Week Based on Daily Use Rate Alert", + "noDataState": "ok", + "notifications": [] + }, + "aliasColors": {}, + "bars": true, + "cacheTimeout": null, + "dashLength": 10, + "dashes": false, + "fill": 10, + "fillGradient": 0, + "gridPos": { + "h": 6, + "w": 17, + "x": 7, + "y": 16 + }, + "hiddenSeries": false, + "id": 40, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "rightSide": false, + "show": true, + "total": false, + "values": false + }, + "lines": false, + "linewidth": 1, + "links": [], + "nullPointMode": "null as zero", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": true, + "steppedLine": true, + "targets": [ + { + "expr": "(\n (\n (\n (\n (kubelet_volume_stats_used_bytes {namespace!~\"(openshift-.*|kube-.*|default|logging)\"})\n )\n * 0 + 1\n )\n and\n (predict_linear(kubelet_volume_stats_available_bytes[1d], 7 * 24 * 60 * 60) < 0)\n )\n)", + "instant": false, + "intervalFactor": 1, + "legendFormat": "{{namespace}} ({{persistentvolumeclaim}})", + "refId": "A" + } + ], + "thresholds": [ + { + "colorMode": "critical", + "fill": true, + "line": true, + "op": "gt", + "value": 0 + } + ], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "User Namespace Volumes Full in Week Based on Daily Use Rate - Alert History", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "decimals": 0, + "format": "short", + "label": "# of Alerts", + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "cacheTimeout": null, + "dashLength": 10, + "dashes": false, + "datasource": "$DS_OPENSHIFT_PROMETHEUS", + "fill": 0, + "fillGradient": 0, + "gridPos": { + "h": 7, + "w": 17, + "x": 7, + "y": 22 + }, + "hiddenSeries": false, + "id": 46, + "legend": { + "alignAsTable": false, + "avg": false, + "current": false, + "max": false, + "min": false, + "rightSide": false, + "show": true, + "total": false, + "values": false + }, + "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": [ + { + "expr": "(\n (predict_linear(kubelet_volume_stats_available_bytes {namespace!~\"(openshift-.*|kube-.*|default|logging)\"}[1d], 7 * 24 * 60 * 60) < 0)\n)", + "format": "time_series", + "hide": false, + "instant": false, + "intervalFactor": 1, + "legendFormat": "{{namespace}} ({{persistentvolumeclaim}})", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "User Namespace Volumes Full in Week Based on Daily Use Rate - Predicted Available Space History", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "decimals": 0, + "format": "bytes", + "label": "1 Week Predicted Available Space", + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "bytes", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "columns": [], + "datasource": "$DS_OPENSHIFT_PROMETHEUS", + "editable": false, + "error": false, + "fontSize": "100%", + "gridPos": { + "h": 6, + "w": 7, + "x": 0, + "y": 29 + }, + "id": 9, + "isNew": false, + "options": {}, + "pageSize": null, + "scroll": false, + "showHeader": true, + "sort": { + "col": 16, + "desc": true + }, + "span": 0, + "styles": [ + { + "alias": "Used", + "colorMode": "row", + "colors": [ + "#73BF69", + "#FF9830", + "#FF9830" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "pattern": "Value #A", + "thresholds": [ + "0", + "0" + ], + "type": "number", + "unit": "bytes" + }, + { + "alias": "Capacity", + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "pattern": "Value #B", + "thresholds": [], + "type": "number", + "unit": "bytes" + }, + { + "alias": "Free", + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "pattern": "Value #C", + "thresholds": [], + "type": "number", + "unit": "bytes" + }, + { + "alias": "% Used", + "colors": [ + "rgba(50, 172, 45, 0.97)", + "rgba(237, 129, 40, 0.89)", + "rgba(245, 54, 54, 0.9)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 2, + "pattern": "Value #D", + "thresholds": [ + "($pvc_percent_used_warning_threshold / 100)", + ".9" + ], + "type": "number", + "unit": "percentunit" + }, + { + "alias": "StorageClass", + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 2, + "pattern": "storageclass", + "thresholds": [], + "type": "string", + "unit": "short" + }, + { + "alias": "PV", + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 2, + "pattern": "volumename", + "thresholds": [], + "type": "string", + "unit": "short" + }, + { + "alias": "Namespace", + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 2, + "pattern": "namespace", + "thresholds": [], + "type": "string", + "unit": "short" + }, + { + "alias": "PVC", + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 2, + "pattern": "persistentvolumeclaim", + "thresholds": [], + "type": "string", + "unit": "short" + }, + { + "alias": "Volume Stats Exist?", + "colorMode": "value", + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 2, + "pattern": "Value #F", + "thresholds": [ + "1", + "1" + ], + "type": "string", + "unit": "short" + }, + { + "alias": "", + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 2, + "pattern": "/.*/", + "thresholds": [], + "type": "hidden", + "unit": "short" + } + ], + "targets": [ + { + "expr": "(kube_persistentvolumeclaim_info) and ((max by (persistentvolumeclaim,namespace) (kubelet_volume_stats_used_bytes )) / (max by (persistentvolumeclaim,namespace) (kubelet_volume_stats_capacity_bytes )) >= ($pvc_percent_used_warning_threshold / 100))", + "format": "table", + "instant": true, + "refId": "E" + }, + { + "expr": "(max by (persistentvolumeclaim,namespace) (kubelet_volume_stats_used_bytes)) and ((max by (persistentvolumeclaim,namespace) (kubelet_volume_stats_used_bytes )) / (max by (persistentvolumeclaim,namespace) (kubelet_volume_stats_capacity_bytes )) >= ($pvc_percent_used_warning_threshold / 100))", + "format": "table", + "instant": true, + "intervalFactor": 1, + "refId": "A" + }, + { + "expr": "(max by (persistentvolumeclaim,namespace) (kubelet_volume_stats_capacity_bytes )) and ((max by (persistentvolumeclaim,namespace) (kubelet_volume_stats_used_bytes )) / (max by (persistentvolumeclaim,namespace) (kubelet_volume_stats_capacity_bytes )) >= ($pvc_percent_used_warning_threshold / 100))", + "format": "table", + "instant": true, + "refId": "B" + }, + { + "expr": "(max by (persistentvolumeclaim,namespace) (kubelet_volume_stats_available_bytes )) and ((max by (persistentvolumeclaim,namespace) (kubelet_volume_stats_used_bytes )) / (max by (persistentvolumeclaim,namespace) (kubelet_volume_stats_capacity_bytes )) >= ($pvc_percent_used_warning_threshold / 100))", + "format": "table", + "instant": true, + "refId": "C" + }, + { + "expr": "(max by (persistentvolumeclaim,namespace) (kubelet_volume_stats_used_bytes )) / (max by (persistentvolumeclaim,namespace) (kubelet_volume_stats_capacity_bytes )) >= ($pvc_percent_used_warning_threshold / 100)", + "format": "table", + "instant": true, + "refId": "D" + } + ], + "title": "Running PVCs Above % Used Warning Threshold Stats - Current", + "transform": "table", + "type": "table" + }, + { + "aliasColors": {}, + "bars": true, + "cacheTimeout": null, + "dashLength": 10, + "dashes": false, + "datasource": "$DS_OPENSHIFT_PROMETHEUS", + "fill": 5, + "fillGradient": 0, + "gridPos": { + "h": 6, + "w": 17, + "x": 7, + "y": 29 + }, + "hiddenSeries": false, + "id": 41, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": false, + "linewidth": 1, + "links": [], + "nullPointMode": "null as zero", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": true, + "steppedLine": true, + "targets": [ + { + "expr": "(\n ((max by (persistentvolumeclaim,namespace) (kubelet_volume_stats_used_bytes )) * 0 +1)\n and\n (\n (max by (persistentvolumeclaim,namespace) (kubelet_volume_stats_used_bytes )) / (max by (persistentvolumeclaim,namespace) (kubelet_volume_stats_capacity_bytes ))\n ) >= ($pvc_percent_used_warning_threshold / 100)\n)", + "format": "time_series", + "instant": false, + "intervalFactor": 1, + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Running PVCs Above % Used Warning Threshold - History", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "decimals": 0, + "format": "short", + "label": "# of Alerts", + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + } + ], + "title": "Alert Details", + "type": "row" + }, + { + "collapsed": true, + "datasource": "$DS_OPENSHIFT_PROMETHEUS", + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 8 + }, + "id": 20, + "panels": [ + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "$DS_OPENSHIFT_PROMETHEUS", + "decimals": 0, + "editable": false, + "error": false, + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 0, + "y": 3 + }, + "id": 4, + "interval": null, + "isNew": false, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "nullPointMode": "connected", + "nullText": null, + "options": {}, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "span": 0, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "lineColor": "rgb(31, 120, 193)" + }, + "tableColumn": "", + "targets": [ + { + "expr": "(sum (pv_collector_bound_pvc_count)) or vector(0)", + "format": "table", + "instant": true, + "refId": "A" + } + ], + "thresholds": "", + "title": "Bound PVCs", + "type": "singlestat", + "valueFontSize": "200%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "columns": [], + "datasource": "$DS_OPENSHIFT_PROMETHEUS", + "editable": false, + "error": false, + "fontSize": "100%", + "gridPos": { + "h": 25, + "w": 24, + "x": 0, + "y": 7 + }, + "id": 10, + "isNew": false, + "links": [ + { + "includeVars": false, + "title": "OpenShift Container Storage (OCS) 3.11: Operations Guide: 10.1. Available Metrics for File Storage and Block Storage", + "type": "", + "url": "https://access.redhat.com/documentation/en-us/red_hat_openshift_container_storage/3.11/html/operations_guide/enable_vol_metrics#file_vol_metrics" + } + ], + "options": {}, + "pageSize": null, + "scroll": false, + "showHeader": true, + "sort": { + "col": 16, + "desc": true + }, + "span": 0, + "styles": [ + { + "alias": "Used", + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "pattern": "Value #A", + "thresholds": [], + "type": "number", + "unit": "bytes" + }, + { + "alias": "Capacity", + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "pattern": "Value #B", + "thresholds": [], + "type": "number", + "unit": "bytes" + }, + { + "alias": "Free", + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "pattern": "Value #C", + "thresholds": [], + "type": "number", + "unit": "bytes" + }, + { + "alias": "% Used", + "colorMode": "cell", + "colors": [ + "rgba(50, 172, 45, 0.97)", + "rgba(237, 129, 40, 0.89)", + "rgba(245, 54, 54, 0.9)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 2, + "pattern": "Value #D", + "thresholds": [ + ".8", + ".9" + ], + "type": "number", + "unit": "percentunit" + }, + { + "alias": "StorageClass", + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 2, + "pattern": "storageclass", + "thresholds": [], + "type": "string", + "unit": "short" + }, + { + "alias": "PV", + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 2, + "pattern": "volumename", + "thresholds": [], + "type": "string", + "unit": "short" + }, + { + "alias": "Namespace", + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 2, + "pattern": "namespace", + "thresholds": [], + "type": "string", + "unit": "short" + }, + { + "alias": "PVC", + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 2, + "pattern": "persistentvolumeclaim", + "thresholds": [], + "type": "string", + "unit": "short" + }, + { + "alias": "Volume Stats Exist?", + "colorMode": "value", + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 2, + "pattern": "Value #F", + "thresholds": [ + "1", + "1" + ], + "type": "string", + "unit": "short" + }, + { + "alias": "", + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 2, + "pattern": "/.*/", + "thresholds": [], + "type": "hidden", + "unit": "short" + } + ], + "targets": [ + { + "expr": "kube_persistentvolumeclaim_info", + "format": "table", + "instant": true, + "refId": "E" + }, + { + "expr": "(1-max by (persistentvolumeclaim, namespace) (kube_persistentvolumeclaim_info ) ) unless (max by (namespace, persistentvolumeclaim) (kubelet_volume_stats_used_bytes )) or ((max by (persistentvolumeclaim, namespace) (kube_persistentvolumeclaim_info ) ) and (max by (namespace, persistentvolumeclaim) (kubelet_volume_stats_used_bytes )))", + "format": "table", + "instant": true, + "refId": "F" + }, + { + "expr": "max by (persistentvolumeclaim,namespace) (kubelet_volume_stats_used_bytes)", + "format": "table", + "instant": true, + "intervalFactor": 1, + "refId": "A" + }, + { + "expr": "max by (persistentvolumeclaim,namespace) (kubelet_volume_stats_capacity_bytes )", + "format": "table", + "instant": true, + "refId": "B" + }, + { + "expr": "max by (persistentvolumeclaim,namespace) (kubelet_volume_stats_available_bytes )", + "format": "table", + "instant": true, + "refId": "C" + }, + { + "expr": "(max by (persistentvolumeclaim,namespace) (kubelet_volume_stats_used_bytes )) / (max by (persistentvolumeclaim,namespace) (kubelet_volume_stats_capacity_bytes ))", + "format": "table", + "instant": true, + "refId": "D" + } + ], + "title": "PVC Stats", + "transform": "table", + "type": "table" + } + ], + "title": "Stats", + "type": "row" + }, + { + "collapsed": true, + "datasource": "$DS_OPENSHIFT_PROMETHEUS", + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 9 + }, + "id": 22, + "panels": [ + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "$DS_OPENSHIFT_PROMETHEUS", + "description": "WARNING: Any PVCs that are not bound to a running pod will not show up in this state.", + "editable": false, + "error": false, + "fill": 0, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 24, + "x": 0, + "y": 4 + }, + "hiddenSeries": false, + "id": 15, + "isNew": false, + "legend": { + "alignAsTable": false, + "avg": false, + "current": false, + "hideEmpty": false, + "hideZero": false, + "max": false, + "min": false, + "rightSide": true, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "span": 0, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "(max by (persistentvolumeclaim,namespace) (kubelet_volume_stats_used_bytes ))", + "instant": false, + "intervalFactor": 1, + "legendFormat": "{{namespace}} ({{persistentvolumeclaim}})", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "All Running PVCs Used Bytes", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "format": "", + "logBase": 0, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "bytes", + "logBase": 1, + "show": true + }, + { + "format": "bytes", + "logBase": 1, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "$DS_OPENSHIFT_PROMETHEUS", + "description": "WARNING: Any PVCs that are not bound to a running pod will not show up in this state.", + "editable": false, + "error": false, + "fill": 0, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 24, + "x": 0, + "y": 12 + }, + "hiddenSeries": false, + "id": 14, + "isNew": false, + "legend": { + "alignAsTable": false, + "avg": false, + "current": false, + "hideEmpty": false, + "hideZero": false, + "max": false, + "min": false, + "rightSide": true, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "span": 0, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "(max by (persistentvolumeclaim,namespace) (kubelet_volume_stats_used_bytes )) / (max by (persistentvolumeclaim,namespace) (kubelet_volume_stats_capacity_bytes )) * 100", + "intervalFactor": 1, + "legendFormat": "{{namespace}} ({{persistentvolumeclaim}})", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Running PVCs % Used", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "format": "", + "logBase": 0, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "percent", + "logBase": 1, + "max": 100, + "min": 0, + "show": true + }, + { + "format": "bytes", + "logBase": 1, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + } + ], + "title": "Use", + "type": "row" + }, + { + "collapsed": true, + "datasource": "$DS_OPENSHIFT_PROMETHEUS", + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 10 + }, + "id": 24, + "panels": [ + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "$DS_OPENSHIFT_PROMETHEUS", + "description": "WARNING: Any PVCs that are not bound to a running pod will not show up in this state.", + "fill": 0, + "fillGradient": 0, + "gridPos": { + "h": 6, + "w": 24, + "x": 0, + "y": 5 + }, + "hiddenSeries": false, + "id": 17, + "legend": { + "alignAsTable": true, + "avg": false, + "current": true, + "max": false, + "min": false, + "rightSide": true, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "rate(kubelet_volume_stats_used_bytes [1h])", + "format": "time_series", + "instant": false, + "intervalFactor": 1, + "legendFormat": "{{namespace}} ({{persistentvolumeclaim}})", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Hourly Volume Use Rate", + "tooltip": { + "shared": true, + "sort": 1, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "decimals": null, + "format": "bytes", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "$DS_OPENSHIFT_PROMETHEUS", + "description": "WARNING: Any PVCs that are not bound to a running pod will not show up in this state.", + "fill": 0, + "fillGradient": 0, + "gridPos": { + "h": 6, + "w": 24, + "x": 0, + "y": 11 + }, + "hiddenSeries": false, + "id": 18, + "legend": { + "alignAsTable": true, + "avg": false, + "current": true, + "max": false, + "min": false, + "rightSide": true, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "rate(kubelet_volume_stats_used_bytes [1d])", + "format": "time_series", + "instant": false, + "intervalFactor": 1, + "legendFormat": "{{namespace}} ({{persistentvolumeclaim}})", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Daily Volume Use Rate", + "tooltip": { + "shared": true, + "sort": 1, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "decimals": null, + "format": "bytes", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "$DS_OPENSHIFT_PROMETHEUS", + "description": "WARNING: Any PVCs that are not bound to a running pod will not show up in this state.", + "fill": 0, + "fillGradient": 0, + "gridPos": { + "h": 6, + "w": 24, + "x": 0, + "y": 17 + }, + "hiddenSeries": false, + "hideTimeOverride": false, + "id": 25, + "interval": "", + "legend": { + "alignAsTable": true, + "avg": false, + "current": true, + "max": false, + "min": false, + "rightSide": true, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "rate(kubelet_volume_stats_used_bytes [1w])", + "format": "time_series", + "instant": false, + "intervalFactor": 1, + "legendFormat": "{{namespace}} ({{persistentvolumeclaim}})", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Weekly Volume Use Rate", + "tooltip": { + "shared": true, + "sort": 1, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "decimals": null, + "format": "bytes", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + } + ], + "title": "Use Rate", + "type": "row" + } + ], + "schemaVersion": 21, + "style": "dark", + "tags": [ + "openshift", + "k8s", + "storage" + ], + "templating": { + "list": [ + { + "allFormat": "", + "allValue": "", + "current": { + "text": "openshift-prometheus", + "value": "openshift-prometheus" + }, + "datasource": null, + "hide": 0, + "includeAll": false, + "label": "Datasource", + "multi": false, + "multiFormat": "", + "name": "DS_OPENSHIFT_PROMETHEUS", + "options": [], + "query": "prometheus", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "datasource" + }, + { + "allFormat": "", + "allValue": "", + "current": { + "selected": false, + "text": "80", + "value": "80" + }, + "datasource": null, + "hide": 0, + "includeAll": false, + "label": "PVC % Used Warning Threshold", + "multi": false, + "multiFormat": "", + "name": "pvc_percent_used_warning_threshold", + "options": [ + { + "selected": false, + "text": "80", + "value": "80" + } + ], + "query": "80", + "refresh": false, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "textbox" + } + ] + }, + "time": { + "from": "now-2d", + "to": "now" + }, + "timepicker": { + "refresh_intervals": [ + "5s", + "10s", + "30s", + "1m", + "5m", + "15m", + "30m", + "1h", + "2h", + "1d" + ], + "time_options": null + }, + "timezone": "", + "title": "K8s / Storage / Volumes / Cluster", + "uid": "Ib5UZuCnz", + "version": 1 + }, + "meta": { + "annotationsPermissions": { + "dashboard": { + "canAdd": true, + "canDelete": true, + "canEdit": true + }, + "organization": { + "canAdd": false, + "canDelete": false, + "canEdit": false + } + }, + "canAdmin": false, + "canDelete": false, + "canEdit": false, + "canSave": false, + "canStar": false, + "created": "2022-06-17T08:11:59Z", + "createdBy": "admin", + "expires": "0001-01-01T00:00:00Z", + "folderId": 0, + "folderTitle": "General", + "folderUid": "", + "folderUrl": "", + "hasAcl": false, + "isFolder": false, + "provisioned": false, + "provisionedExternalId": "", + "publicDashboardAccessToken": "", + "publicDashboardEnabled": false, + "publicDashboardUid": "", + "slug": "k8s-storage-volumes-cluster", + "type": "db", + "updated": "2022-06-17T08:11:59Z", + "updatedBy": "admin", + "url": "/d/Ib5UZuCnz/k8s-storage-volumes-cluster", + "version": 1 + } +} \ No newline at end of file diff --git a/grafana-data/dashboards/KPtswm7ik.json b/grafana-data/dashboards/KPtswm7ik.json index 1f0f4e683..60ef5909e 100644 --- a/grafana-data/dashboards/KPtswm7ik.json +++ b/grafana-data/dashboards/KPtswm7ik.json @@ -14,6 +14,14 @@ "tags": [ "deployment-start" ], + "target": { + "limit": 100, + "matchAny": false, + "tags": [ + "deployment-start" + ], + "type": "tags" + }, "type": "tags" }, { @@ -26,15 +34,23 @@ "limit": 100, "name": "Annotations & Alerts", "showIn": 0, + "target": { + "limit": 100, + "matchAny": false, + "tags": [], + "type": "dashboard" + }, "type": "dashboard" } ] }, "editable": true, + "fiscalYearStartMonth": 0, "gnetId": null, "graphTooltip": 0, "id": 7, "links": [], + "liveNow": false, "panels": [ { "aliasColors": {}, @@ -42,6 +58,12 @@ "dashLength": 10, "dashes": false, "datasource": "prometheus", + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, "fill": 1, "fillGradient": 0, "gridPos": { @@ -65,10 +87,8 @@ "linewidth": 1, "links": [], "nullPointMode": "null", - "options": { - "dataLinks": [] - }, "percentage": false, + "pluginVersion": "8.2.1", "pointradius": 5, "points": false, "renderer": "flot", @@ -144,6 +164,12 @@ "dashLength": 10, "dashes": false, "datasource": "prometheus", + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, "fill": 1, "fillGradient": 0, "gridPos": { @@ -168,9 +194,10 @@ "links": [], "nullPointMode": "null", "options": { - "dataLinks": [] + "alertThreshold": true }, "percentage": false, + "pluginVersion": "8.2.1", "pointradius": 5, "points": false, "renderer": "flot", @@ -185,7 +212,8 @@ "steppedLine": false, "targets": [ { - "expr": "sum(delta(binderhub_launch_time_seconds_count[6h]))", + "exemplar": true, + "expr": "sum(increase(binderhub_launch_time_seconds_count[6h]))", "format": "time_series", "interval": "30m", "intervalFactor": 2, @@ -193,7 +221,8 @@ "refId": "C" }, { - "expr": "sum(delta(binderhub_build_time_seconds_count[6h]))", + "exemplar": true, + "expr": "sum(increase(binderhub_build_time_seconds_count[6h]))", "format": "time_series", "hide": false, "instant": false, @@ -252,6 +281,12 @@ "dashLength": 10, "dashes": false, "datasource": "prometheus", + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, "fill": 1, "fillGradient": 0, "gridPos": { @@ -275,10 +310,8 @@ "linewidth": 1, "links": [], "nullPointMode": "null", - "options": { - "dataLinks": [] - }, "percentage": false, + "pluginVersion": "8.2.1", "pointradius": 5, "points": false, "renderer": "flot", @@ -355,8 +388,8 @@ } } ], - "refresh": "1m", - "schemaVersion": 22, + "refresh": "", + "schemaVersion": 31, "style": "dark", "tags": [], "templating": { @@ -394,31 +427,45 @@ "timezone": "", "title": "Service Level Objectives", "uid": "KPtswm7ik", - "variables": { - "list": [] - }, - "version": 3 + "version": 4 }, "meta": { - "canAdmin": true, - "canEdit": true, - "canSave": true, - "canStar": true, + "annotationsPermissions": { + "dashboard": { + "canAdd": true, + "canDelete": true, + "canEdit": true + }, + "organization": { + "canAdd": false, + "canDelete": false, + "canEdit": false + } + }, + "canAdmin": false, + "canDelete": false, + "canEdit": false, + "canSave": false, + "canStar": false, "created": "2020-09-22T09:29:52Z", "createdBy": "admin", "expires": "0001-01-01T00:00:00Z", "folderId": 0, "folderTitle": "General", + "folderUid": "", "folderUrl": "", "hasAcl": false, "isFolder": false, "provisioned": false, "provisionedExternalId": "", + "publicDashboardAccessToken": "", + "publicDashboardEnabled": false, + "publicDashboardUid": "", "slug": "service-level-objectives", "type": "db", - "updated": "2021-06-02T20:40:13Z", + "updated": "2021-11-18T15:40:31Z", "updatedBy": "admin", "url": "/d/KPtswm7ik/service-level-objectives", - "version": 3 + "version": 4 } } \ No newline at end of file diff --git a/grafana-data/dashboards/QLzEwmnmz.json b/grafana-data/dashboards/QLzEwmnmz.json index ff7cb6e46..fe80bdb98 100644 --- a/grafana-data/dashboards/QLzEwmnmz.json +++ b/grafana-data/dashboards/QLzEwmnmz.json @@ -3272,20 +3272,37 @@ "version": 4 }, "meta": { - "canAdmin": true, - "canEdit": true, - "canSave": true, - "canStar": true, + "annotationsPermissions": { + "dashboard": { + "canAdd": true, + "canDelete": true, + "canEdit": true + }, + "organization": { + "canAdd": false, + "canDelete": false, + "canEdit": false + } + }, + "canAdmin": false, + "canDelete": false, + "canEdit": false, + "canSave": false, + "canStar": false, "created": "2020-09-22T09:29:51Z", "createdBy": "admin", "expires": "0001-01-01T00:00:00Z", "folderId": 0, "folderTitle": "General", + "folderUid": "", "folderUrl": "", "hasAcl": false, "isFolder": false, "provisioned": false, "provisionedExternalId": "", + "publicDashboardAccessToken": "", + "publicDashboardEnabled": false, + "publicDashboardUid": "", "slug": "kubernetes-cluster-monitoring-binder-prod", "type": "db", "updated": "2021-01-09T17:59:37Z", diff --git a/grafana-data/dashboards/aptle5FWk.json b/grafana-data/dashboards/aptle5FWk.json index 72943991c..5c9cbe2c7 100644 --- a/grafana-data/dashboards/aptle5FWk.json +++ b/grafana-data/dashboards/aptle5FWk.json @@ -510,20 +510,37 @@ "version": 2 }, "meta": { - "canAdmin": true, - "canEdit": true, - "canSave": true, - "canStar": true, + "annotationsPermissions": { + "dashboard": { + "canAdd": true, + "canDelete": true, + "canEdit": true + }, + "organization": { + "canAdd": false, + "canDelete": false, + "canEdit": false + } + }, + "canAdmin": false, + "canDelete": false, + "canEdit": false, + "canSave": false, + "canStar": false, "created": "2020-09-22T09:29:50Z", "createdBy": "admin", "expires": "0001-01-01T00:00:00Z", "folderId": 0, "folderTitle": "General", + "folderUid": "", "folderUrl": "", "hasAcl": false, "isFolder": false, "provisioned": false, "provisionedExternalId": "", + "publicDashboardAccessToken": "", + "publicDashboardEnabled": false, + "publicDashboardUid": "", "slug": "memory-usage", "type": "db", "updated": "2020-09-22T09:29:56Z", diff --git a/grafana-data/dashboards/b8de32f1-59c3-4fce-b8ac-f70b070f2053.json b/grafana-data/dashboards/b8de32f1-59c3-4fce-b8ac-f70b070f2053.json new file mode 100644 index 000000000..f1a1b52e3 --- /dev/null +++ b/grafana-data/dashboards/b8de32f1-59c3-4fce-b8ac-f70b070f2053.json @@ -0,0 +1,339 @@ +{ + "dashboard": { + "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": true, + "fiscalYearStartMonth": 0, + "graphTooltip": 0, + "id": 23, + "links": [], + "liveNow": false, + "panels": [ + { + "datasource": { + "type": "prometheus", + "uid": "${cluster}" + }, + "description": "Number of event loop ticks in each duration\n\nExcludes smallest bucket (25ms) which generally includes ~all ticks.", + "fieldConfig": { + "defaults": { + "color": { + "mode": "continuous-purples" + }, + "custom": { + "fillOpacity": 70, + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineWidth": 1 + }, + "decimals": 0, + "mappings": [], + "min": 0, + "noValue": "0", + "thresholds": { + "mode": "percentage", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "none" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 0 + }, + "id": 2, + "links": [ + { + "targetBlank": true, + "title": "Feature PR for JupyterHub", + "url": "https://github.com/jupyterhub/jupyterhub/pull/4615" + } + ], + "options": { + "colWidth": 0.9, + "legend": { + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "rowHeight": 0.9, + "showValue": "auto", + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${cluster}" + }, + "disableTextWrap": false, + "editorMode": "code", + "exemplar": false, + "expr": "max(increase(jupyterhub_event_loop_interval_seconds_bucket{le!=\"0.025\"}[$__interval])) by (le) - ignoring(le) group_left max(increase(jupyterhub_event_loop_interval_seconds_bucket{le=\"0.025\"}[$__interval]))", + "format": "heatmap", + "fullMetaSearch": false, + "includeNullMetadata": false, + "instant": false, + "interval": "5m", + "legendFormat": "__auto", + "range": true, + "refId": "A", + "useBackend": false + } + ], + "title": "Event Loop Tick duration distribution", + "type": "status-history" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${cluster}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "axisSoftMax": 0.1, + "axisSoftMin": 0, + "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": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "s" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 8 + }, + "id": 1, + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${cluster}" + }, + "disableTextWrap": false, + "editorMode": "code", + "exemplar": false, + "expr": "max(increase(jupyterhub_event_loop_interval_seconds_sum[$__rate_interval]) / increase( jupyterhub_event_loop_interval_seconds_count[$__rate_interval]))", + "fullMetaSearch": false, + "includeNullMetadata": true, + "instant": false, + "interval": "2m", + "legendFormat": "average", + "range": true, + "refId": "A", + "useBackend": false + }, + { + "datasource": { + "type": "prometheus", + "uid": "${cluster}" + }, + "disableTextWrap": false, + "editorMode": "builder", + "expr": "histogram_quantile(0.95, sum by(le) (irate(jupyterhub_event_loop_interval_seconds_bucket[$__rate_interval])))", + "format": "heatmap", + "fullMetaSearch": false, + "hide": false, + "includeNullMetadata": false, + "instant": false, + "interval": "2m", + "legendFormat": "95%", + "range": true, + "refId": "B", + "useBackend": false + }, + { + "datasource": { + "type": "prometheus", + "uid": "${cluster}" + }, + "disableTextWrap": false, + "editorMode": "builder", + "expr": "histogram_quantile(0.99, sum by(le) (irate(jupyterhub_event_loop_interval_seconds_bucket[$__rate_interval])))", + "format": "heatmap", + "fullMetaSearch": false, + "hide": false, + "includeNullMetadata": false, + "instant": false, + "interval": "2m", + "legendFormat": "99%", + "range": true, + "refId": "C", + "useBackend": false + } + ], + "title": "Event Loop Tick durations", + "type": "timeseries" + } + ], + "refresh": "", + "schemaVersion": 38, + "style": "dark", + "tags": [], + "templating": { + "list": [ + { + "current": { + "selected": false, + "text": "GESIS", + "value": "000000002" + }, + "hide": 0, + "includeAll": false, + "label": "cluster", + "multi": false, + "name": "cluster", + "options": [], + "query": "prometheus", + "queryValue": "", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "type": "datasource" + } + ] + }, + "time": { + "from": "now-30m", + "to": "now" + }, + "timepicker": {}, + "timezone": "", + "title": "event loop diagnostics", + "uid": "b8de32f1-59c3-4fce-b8ac-f70b070f2053", + "version": 9, + "weekStart": "" + }, + "meta": { + "annotationsPermissions": { + "dashboard": { + "canAdd": true, + "canDelete": true, + "canEdit": true + }, + "organization": { + "canAdd": false, + "canDelete": false, + "canEdit": false + } + }, + "canAdmin": false, + "canDelete": false, + "canEdit": false, + "canSave": false, + "canStar": false, + "created": "2023-11-10T11:17:36Z", + "createdBy": "admin", + "expires": "0001-01-01T00:00:00Z", + "folderId": 0, + "folderTitle": "General", + "folderUid": "", + "folderUrl": "", + "hasAcl": false, + "isFolder": false, + "provisioned": false, + "provisionedExternalId": "", + "publicDashboardAccessToken": "", + "publicDashboardEnabled": false, + "publicDashboardUid": "", + "slug": "event-loop-diagnostics", + "type": "db", + "updated": "2023-11-13T07:48:44Z", + "updatedBy": "admin", + "url": "/d/b8de32f1-59c3-4fce-b8ac-f70b070f2053/event-loop-diagnostics", + "version": 9 + } +} \ No newline at end of file diff --git a/grafana-data/dashboards/bW5aBKknz.json b/grafana-data/dashboards/bW5aBKknz.json index fc4ee0126..75cb007cb 100644 --- a/grafana-data/dashboards/bW5aBKknz.json +++ b/grafana-data/dashboards/bW5aBKknz.json @@ -1,32 +1,23 @@ { "dashboard": { + "__inputs": [], + "__requires": [], "annotations": { - "list": [ - { - "$$hashKey": "object:134", - "builtIn": 1, - "datasource": "-- Grafana --", - "enable": true, - "hide": true, - "iconColor": "rgba(0, 211, 255, 1)", - "name": "Annotations & Alerts", - "type": "dashboard" - } - ] + "list": [] }, "editable": true, "gnetId": null, "graphTooltip": 0, + "hideControls": false, "id": 16, "links": [], "panels": [ { "collapse": false, "collapsed": false, - "datasource": null, "gridPos": { - "h": 1, - "w": 24, + "h": 10, + "w": 12, "x": 0, "y": 0 }, @@ -45,7 +36,7 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": null, + "datasource": "$PROMETHEUS_DS", "decimals": 0, "description": "Count of running users, grouped by namespace\n", "fill": 1, @@ -54,9 +45,8 @@ "h": 10, "w": 24, "x": 0, - "y": 1 + "y": 10 }, - "hiddenSeries": false, "id": 3, "legend": { "alignAsTable": false, @@ -74,9 +64,6 @@ "linewidth": 1, "links": [], "nullPointMode": "null", - "options": { - "dataLinks": [] - }, "percentage": false, "pointradius": 5, "points": false, @@ -97,7 +84,6 @@ ], "thresholds": [], "timeFrom": null, - "timeRegions": [], "timeShift": null, "title": "Running Users", "tooltip": { @@ -132,18 +118,14 @@ "min": 0, "show": true } - ], - "yaxis": { - "align": false, - "alignLevel": null - } + ] }, { "aliasColors": {}, "bars": false, "dashLength": 10, "dashes": false, - "datasource": null, + "datasource": "$PROMETHEUS_DS", "description": "% of total memory in the cluster currently requested by to non-placeholder pods.\n\nIf autoscaling is efficient, this should be a fairly constant, high number (>70%).\n", "fill": 1, "fillGradient": 0, @@ -151,9 +133,8 @@ "h": 10, "w": 12, "x": 0, - "y": 11 + "y": 20 }, - "hiddenSeries": false, "id": 4, "legend": { "alignAsTable": false, @@ -171,9 +152,6 @@ "linewidth": 1, "links": [], "nullPointMode": "null", - "options": { - "dataLinks": [] - }, "percentage": false, "pointradius": 5, "points": false, @@ -185,7 +163,7 @@ "steppedLine": false, "targets": [ { - "expr": "sum(\n (\n # Get individual container memory requests\n kube_pod_container_resource_requests_memory_bytes\n # Add node pool name as label\n * on(node) group_left(label_cloud_google_com_gke_nodepool) kube_node_labels{}\n )\n # Ignore containers from pods that aren't currently running or scheduled\n # FIXME: This isn't the best metric here, evaluate what is.\n and on (pod) kube_pod_status_scheduled{condition='true'}\n # Ignore user and node placeholder pods\n and on (pod) kube_pod_labels{label_component!~'user-placeholder|node-placeholder'}\n) by (label_cloud_google_com_gke_nodepool)\n/\nsum(\n # Total allocatable memory on a node\n kube_node_status_allocatable_memory_bytes\n # Add nodepool name as label\n * on(node) group_left(label_cloud_google_com_gke_nodepool) kube_node_labels{}\n) by (label_cloud_google_com_gke_nodepool)\n", + "expr": "sum(\n (\n # Get individual container memory requests\n kube_pod_container_resource_requests{resource=\"memory\"}\n # Add node pool name as label\n * on(node) group_left(label_cloud_google_com_gke_nodepool) kube_node_labels{}\n )\n # Ignore containers from pods that aren't currently running or scheduled\n # FIXME: This isn't the best metric here, evaluate what is.\n and on (pod) kube_pod_status_scheduled{condition='true'}\n # Ignore user and node placeholder pods\n and on (pod) kube_pod_labels{label_component!~'user-placeholder|node-placeholder'}\n) by (label_cloud_google_com_gke_nodepool)\n/\nsum(\n # Total allocatable memory on a node\n kube_node_status_allocatable{resource=\"memory\"}\n # Add nodepool name as label\n * on(node) group_left(label_cloud_google_com_gke_nodepool) kube_node_labels{}\n) by (label_cloud_google_com_gke_nodepool)\n", "format": "time_series", "intervalFactor": 2, "legendFormat": "{{label_cloud_google_com_gke_nodepool}}", @@ -194,7 +172,6 @@ ], "thresholds": [], "timeFrom": null, - "timeRegions": [], "timeShift": null, "title": "Memory commitment %", "tooltip": { @@ -227,18 +204,14 @@ "min": 0, "show": true } - ], - "yaxis": { - "align": false, - "alignLevel": null - } + ] }, { "aliasColors": {}, "bars": false, "dashLength": 10, "dashes": false, - "datasource": null, + "datasource": "$PROMETHEUS_DS", "description": "% of total CPU in the cluster currently requested by to non-placeholder pods.\n\nJupyterHub users mostly are capped by memory, so this is not super useful.\n", "fill": 1, "fillGradient": 0, @@ -246,9 +219,8 @@ "h": 10, "w": 12, "x": 12, - "y": 11 + "y": 30 }, - "hiddenSeries": false, "id": 5, "legend": { "alignAsTable": false, @@ -266,9 +238,6 @@ "linewidth": 1, "links": [], "nullPointMode": "null", - "options": { - "dataLinks": [] - }, "percentage": false, "pointradius": 5, "points": false, @@ -280,7 +249,7 @@ "steppedLine": false, "targets": [ { - "expr": "sum(\n (\n # Get individual container memory requests\n kube_pod_container_resource_requests_cpu_cores\n # Add node pool name as label\n * on(node) group_left(label_cloud_google_com_gke_nodepool) kube_node_labels{}\n )\n # Ignore containers from pods that aren't currently running or scheduled\n # FIXME: This isn't the best metric here, evaluate what is.\n and on (pod) kube_pod_status_scheduled{condition='true'}\n # Ignore user and node placeholder pods\n and on (pod) kube_pod_labels{label_component!~'user-placeholder|node-placeholder'}\n) by (label_cloud_google_com_gke_nodepool)\n/\nsum(\n # Total allocatable memory on a node\n kube_node_status_allocatable_cpu_cores\n # Add nodepool name as label\n * on(node) group_left(label_cloud_google_com_gke_nodepool) kube_node_labels{}\n) by (label_cloud_google_com_gke_nodepool)\n", + "expr": "sum(\n (\n # Get individual container memory requests\n kube_pod_container_resource_requests{resource=\"cpu\"}\n # Add node pool name as label\n * on(node) group_left(label_cloud_google_com_gke_nodepool) kube_node_labels{}\n )\n # Ignore containers from pods that aren't currently running or scheduled\n # FIXME: This isn't the best metric here, evaluate what is.\n and on (pod) kube_pod_status_scheduled{condition='true'}\n # Ignore user and node placeholder pods\n and on (pod) kube_pod_labels{label_component!~'user-placeholder|node-placeholder'}\n) by (label_cloud_google_com_gke_nodepool)\n/\nsum(\n # Total allocatable memory on a node\n kube_node_status_allocatable{resource=\"cpu\"}\n # Add nodepool name as label\n * on(node) group_left(label_cloud_google_com_gke_nodepool) kube_node_labels{}\n) by (label_cloud_google_com_gke_nodepool)\n", "format": "time_series", "intervalFactor": 2, "legendFormat": "{{label_cloud_google_com_gke_nodepool}}", @@ -289,7 +258,6 @@ ], "thresholds": [], "timeFrom": null, - "timeRegions": [], "timeShift": null, "title": "CPU commitment %", "tooltip": { @@ -322,18 +290,14 @@ "min": 0, "show": true } - ], - "yaxis": { - "align": false, - "alignLevel": null - } + ] }, { "aliasColors": {}, "bars": false, "dashLength": 10, "dashes": false, - "datasource": null, + "datasource": "$PROMETHEUS_DS", "decimals": 0, "fill": 1, "fillGradient": 0, @@ -341,9 +305,8 @@ "h": 10, "w": 12, "x": 0, - "y": 21 + "y": 40 }, - "hiddenSeries": false, "id": 6, "legend": { "alignAsTable": false, @@ -361,9 +324,6 @@ "linewidth": 1, "links": [], "nullPointMode": "null", - "options": { - "dataLinks": [] - }, "percentage": false, "pointradius": 5, "points": false, @@ -384,7 +344,6 @@ ], "thresholds": [], "timeFrom": null, - "timeRegions": [], "timeShift": null, "title": "Node Count", "tooltip": { @@ -419,18 +378,14 @@ "min": 0, "show": true } - ], - "yaxis": { - "align": false, - "alignLevel": null - } + ] }, { "aliasColors": {}, "bars": false, "dashLength": 10, "dashes": false, - "datasource": null, + "datasource": "$PROMETHEUS_DS", "decimals": 0, "description": "Pods in states other than 'Running'.\n\nIn a functional clusters, pods should not be in non-Running states for long.\n", "fill": 1, @@ -439,9 +394,8 @@ "h": 10, "w": 12, "x": 12, - "y": 21 + "y": 50 }, - "hiddenSeries": false, "id": 7, "legend": { "alignAsTable": false, @@ -460,9 +414,6 @@ "linewidth": 1, "links": [], "nullPointMode": "null", - "options": { - "dataLinks": [] - }, "percentage": false, "pointradius": 5, "points": false, @@ -483,7 +434,6 @@ ], "thresholds": [], "timeFrom": null, - "timeRegions": [], "timeShift": null, "title": "Non Running Pods", "tooltip": { @@ -518,21 +468,16 @@ "min": 0, "show": true } - ], - "yaxis": { - "align": false, - "alignLevel": null - } + ] }, { "collapse": false, "collapsed": false, - "datasource": null, "gridPos": { - "h": 1, - "w": 24, + "h": 10, + "w": 12, "x": 0, - "y": 31 + "y": 60 }, "id": 8, "panels": [], @@ -549,7 +494,7 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": null, + "datasource": "$PROMETHEUS_DS", "description": "% of available CPUs currently in use\n", "fill": 1, "fillGradient": 0, @@ -557,9 +502,8 @@ "h": 10, "w": 12, "x": 0, - "y": 32 + "y": 70 }, - "hiddenSeries": false, "id": 9, "legend": { "alignAsTable": false, @@ -577,9 +521,6 @@ "linewidth": 1, "links": [], "nullPointMode": "null", - "options": { - "dataLinks": [] - }, "percentage": false, "pointradius": 5, "points": false, @@ -591,16 +532,15 @@ "steppedLine": false, "targets": [ { - "expr": "sum(rate(node_cpu_seconds_total{mode!=\"idle\"}[5m])) by (kubernetes_node)\n/\nsum(\n # Rename 'node' label to 'kubernetes_node', since kube-state-metrics to match metric from\n # kube-state-metrics to prometheus node exporter\n label_replace(kube_node_status_capacity_cpu_cores, \"kubernetes_node\", \"$1\", \"node\", \"(.*)\")\n) by (kubernetes_node)\n", + "expr": "sum(rate(node_cpu_seconds_total{mode!=\"idle\"}[5m])) by (node)\n/\nsum(kube_node_status_capacity{resource=\"cpu\"}) by (node)\n", "format": "time_series", "intervalFactor": 2, - "legendFormat": "{{kubernetes_node}}", + "legendFormat": "{{ node }}", "refId": "A" } ], "thresholds": [], "timeFrom": null, - "timeRegions": [], "timeShift": null, "title": "Node CPU Utilization %", "tooltip": { @@ -633,18 +573,14 @@ "min": 0, "show": true } - ], - "yaxis": { - "align": false, - "alignLevel": null - } + ] }, { "aliasColors": {}, "bars": false, "dashLength": 10, "dashes": false, - "datasource": null, + "datasource": "$PROMETHEUS_DS", "description": "% of available Memory currently in use\n", "fill": 1, "fillGradient": 0, @@ -652,9 +588,8 @@ "h": 10, "w": 12, "x": 12, - "y": 32 + "y": 80 }, - "hiddenSeries": false, "id": 10, "legend": { "alignAsTable": false, @@ -672,9 +607,6 @@ "linewidth": 1, "links": [], "nullPointMode": "null", - "options": { - "dataLinks": [] - }, "percentage": false, "pointradius": 5, "points": false, @@ -686,16 +618,15 @@ "steppedLine": false, "targets": [ { - "expr": "1 - (\n sum (\n # Memory that can be allocated to processes when they need\n node_memory_MemFree_bytes + # Unused bytes\n node_memory_Cached_bytes + # Shared memory + temporary disk cache\n node_memory_Buffers_bytes # Very temporary buffer memory cache for disk i/o\n ) by (kubernetes_node)\n /\n sum(node_memory_MemTotal_bytes) by (kubernetes_node)\n)\n", + "expr": "1 - (\n sum (\n # Memory that can be allocated to processes when they need\n node_memory_MemFree_bytes + # Unused bytes\n node_memory_Cached_bytes + # Shared memory + temporary disk cache\n node_memory_Buffers_bytes # Very temporary buffer memory cache for disk i/o\n ) by (node)\n /\n sum(node_memory_MemTotal_bytes) by (node)\n)\n", "format": "time_series", "intervalFactor": 2, - "legendFormat": "{{kubernetes_node}}", + "legendFormat": "{{node}}", "refId": "A" } ], "thresholds": [], "timeFrom": null, - "timeRegions": [], "timeShift": null, "title": "Node Memory Utilization %", "tooltip": { @@ -728,18 +659,14 @@ "min": 0, "show": true } - ], - "yaxis": { - "align": false, - "alignLevel": null - } + ] }, { "aliasColors": {}, "bars": false, "dashLength": 10, "dashes": false, - "datasource": null, + "datasource": "$PROMETHEUS_DS", "description": "% of each node guaranteed to pods on it\n", "fill": 1, "fillGradient": 0, @@ -747,9 +674,8 @@ "h": 10, "w": 12, "x": 0, - "y": 42 + "y": 90 }, - "hiddenSeries": false, "id": 11, "legend": { "alignAsTable": false, @@ -767,9 +693,6 @@ "linewidth": 1, "links": [], "nullPointMode": "null", - "options": { - "dataLinks": [] - }, "percentage": false, "pointradius": 5, "points": false, @@ -781,7 +704,7 @@ "steppedLine": false, "targets": [ { - "expr": "sum(\n # Get individual container memory limits\n kube_pod_container_resource_requests_cpu_cores\n # Ignore containers from pods that aren't currently running or scheduled\n # FIXME: This isn't the best metric here, evaluate what is.\n and on (pod) kube_pod_status_scheduled{condition='true'}\n # Ignore user and node placeholder pods\n and on (pod) kube_pod_labels{label_component!~'user-placeholder|node-placeholder'}\n) by (node)\n/\nsum(\n # Get individual container memory requests\n kube_node_status_allocatable_cpu_cores\n) by (node)\n", + "expr": "sum(\n # Get individual container memory limits\n kube_pod_container_resource_requests{resource=\"cpu\"}\n # Ignore containers from pods that aren't currently running or scheduled\n # FIXME: This isn't the best metric here, evaluate what is.\n and on (pod) kube_pod_status_scheduled{condition='true'}\n # Ignore user and node placeholder pods\n and on (pod) kube_pod_labels{label_component!~'user-placeholder|node-placeholder'}\n) by (node)\n/\nsum(\n # Get individual container memory requests\n kube_node_status_allocatable{resource=\"cpu\"}\n) by (node)\n", "format": "time_series", "intervalFactor": 2, "legendFormat": "{{node}}", @@ -790,7 +713,6 @@ ], "thresholds": [], "timeFrom": null, - "timeRegions": [], "timeShift": null, "title": "Node CPU Commit %", "tooltip": { @@ -823,18 +745,14 @@ "min": 0, "show": true } - ], - "yaxis": { - "align": false, - "alignLevel": null - } + ] }, { "aliasColors": {}, "bars": false, "dashLength": 10, "dashes": false, - "datasource": null, + "datasource": "$PROMETHEUS_DS", "description": "% of each node guaranteed to pods on it\n", "fill": 1, "fillGradient": 0, @@ -842,9 +760,8 @@ "h": 10, "w": 12, "x": 12, - "y": 42 + "y": 100 }, - "hiddenSeries": false, "id": 12, "legend": { "alignAsTable": false, @@ -862,9 +779,6 @@ "linewidth": 1, "links": [], "nullPointMode": "null", - "options": { - "dataLinks": [] - }, "percentage": false, "pointradius": 5, "points": false, @@ -876,7 +790,7 @@ "steppedLine": false, "targets": [ { - "expr": "sum(\n # Get individual container memory limits\n kube_pod_container_resource_requests_memory_bytes\n # Ignore containers from pods that aren't currently running or scheduled\n # FIXME: This isn't the best metric here, evaluate what is.\n and on (pod) kube_pod_status_scheduled{condition='true'}\n # Ignore user and node placeholder pods\n and on (pod) kube_pod_labels{label_component!~'user-placeholder|node-placeholder'}\n) by (node)\n/\nsum(\n # Get individual container memory requests\n kube_node_status_allocatable_memory_bytes\n) by (node)\n", + "expr": "sum(\n # Get individual container memory limits\n kube_pod_container_resource_requests{resource=\"memory\"}\n # Ignore containers from pods that aren't currently running or scheduled\n # FIXME: This isn't the best metric here, evaluate what is.\n and on (pod) kube_pod_status_scheduled{condition='true'}\n # Ignore user and node placeholder pods\n and on (pod) kube_pod_labels{label_component!~'user-placeholder|node-placeholder'}\n) by (node)\n/\nsum(\n # Get individual container memory requests\n kube_node_status_allocatable{resource=\"memory\"}\n) by (node)\n", "format": "time_series", "intervalFactor": 2, "legendFormat": "{{node}}", @@ -885,7 +799,6 @@ ], "thresholds": [], "timeFrom": null, - "timeRegions": [], "timeShift": null, "title": "Node Memory Commit %", "tooltip": { @@ -918,1183 +831,126 @@ "min": 0, "show": true } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "collapse": false, - "collapsed": false, - "datasource": null, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 52 - }, - "id": 13, - "panels": [], - "repeat": null, - "repeatIteration": null, - "repeatRowId": null, - "showTitle": true, - "title": "NFS diagnostics", - "titleSize": "h6", - "type": "row" - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": null, - "decimals": 0, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 10, - "w": 12, - "x": 0, - "y": 53 - }, - "hiddenSeries": false, - "id": 14, - "legend": { - "alignAsTable": false, - "avg": false, - "current": false, - "max": false, - "min": false, - "rightSide": false, - "show": true, - "sideWidth": null, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null", - "options": { - "dataLinks": [] - }, - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "repeat": null, - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "sum(rate(node_nfs_requests_total[5m])) by (kubernetes_node) > 0", - "format": "time_series", - "intervalFactor": 2, - "legendFormat": "{{kubernetes_node}}", - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "User Nodes NFS Ops", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "decimals": 0, - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": 0, - "show": true + ] + } + ], + "refresh": "", + "rows": [], + "schemaVersion": 14, + "style": "dark", + "tags": [ + "jupyterhub", + "kubernetes" + ], + "templating": { + "list": [ + { + "current": { + "selected": true, + "tags": [], + "text": "GESIS", + "value": "GESIS" }, - { - "decimals": 0, - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": 0, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null + "hide": 1, + "label": null, + "name": "PROMETHEUS_DS", + "options": [ + { + "selected": true, + "text": "GESIS", + "value": "GESIS" + }, + { + "text": "OVH", + "value": "OVH" + }, + { + "text": "prometheus", + "value": "prometheus" + }, + { + "text": "Turing", + "value": "Turing" + } + ], + "query": "prometheus", + "refresh": 1, + "regex": "", + "type": "datasource" } + ] + }, + "time": { + "from": "now-6h", + "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": "browser", + "title": "Cluster Information", + "uid": "bW5aBKknz", + "version": 9 + }, + "meta": { + "annotationsPermissions": { + "dashboard": { + "canAdd": true, + "canDelete": true, + "canEdit": true }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": null, - "decimals": 0, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 10, - "w": 12, - "x": 12, - "y": 53 - }, - "hiddenSeries": false, - "id": 15, - "legend": { - "alignAsTable": false, - "avg": false, - "current": false, - "max": false, - "min": false, - "rightSide": false, - "show": true, - "sideWidth": null, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null", - "options": { - "dataLinks": [] - }, - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "repeat": null, - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "sum(rate(node_nfs_requests_total[5m])) by (kubernetes_node)", - "format": "time_series", - "intervalFactor": 2, - "legendFormat": "{{kubernetes_node}}", - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "iowait % on each node", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "decimals": 0, - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": 0, - "show": true - }, - { - "decimals": 0, - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": 0, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": null, - "decimals": 0, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 10, - "w": 12, - "x": 0, - "y": 63 - }, - "hiddenSeries": false, - "id": 16, - "legend": { - "alignAsTable": false, - "avg": false, - "current": false, - "max": false, - "min": false, - "rightSide": false, - "show": true, - "sideWidth": null, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null", - "options": { - "dataLinks": [] - }, - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "repeat": null, - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "sum(rate(node_nfs_requests_total[5m])) by (method) > 0", - "format": "time_series", - "intervalFactor": 2, - "legendFormat": "{{method}}", - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "NFS Operation Types on user nodes", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "decimals": 0, - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": 0, - "show": true - }, - { - "decimals": 0, - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": 0, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": null, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 10, - "w": 12, - "x": 12, - "y": 63 - }, - "hiddenSeries": false, - "id": 17, - "legend": { - "alignAsTable": false, - "avg": false, - "current": false, - "max": false, - "min": false, - "rightSide": false, - "show": true, - "sideWidth": null, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null", - "options": { - "dataLinks": [] - }, - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "repeat": null, - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "avg(rate(node_cpu_seconds_total{job=\"prometheus-nfsd-server\", mode!=\"idle\"}[2m])) by (mode)", - "format": "time_series", - "intervalFactor": 2, - "legendFormat": "{{mode}}", - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "NFS Server CPU", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": 0, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": 0, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": null, - "decimals": 0, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 10, - "w": 12, - "x": 0, - "y": 73 - }, - "hiddenSeries": false, - "id": 18, - "legend": { - "alignAsTable": false, - "avg": false, - "current": false, - "max": false, - "min": false, - "rightSide": false, - "show": true, - "sideWidth": null, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null", - "options": { - "dataLinks": [] - }, - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "repeat": null, - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "sum(rate(node_nfsd_disk_bytes_read_total[5m]))", - "format": "time_series", - "intervalFactor": 2, - "legendFormat": "Read", - "refId": "A" - }, - { - "expr": "sum(rate(node_nfsd_disk_bytes_written_total[5m]))", - "format": "time_series", - "intervalFactor": 2, - "legendFormat": "Write", - "refId": "B" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "NFS Server Disk ops", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "decimals": 0, - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": 0, - "show": true - }, - { - "decimals": 0, - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": 0, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": null, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 10, - "w": 12, - "x": 12, - "y": 73 - }, - "hiddenSeries": false, - "id": 19, - "legend": { - "alignAsTable": false, - "avg": false, - "current": false, - "max": false, - "min": false, - "rightSide": false, - "show": true, - "sideWidth": null, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null", - "options": { - "dataLinks": [] - }, - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "repeat": null, - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "sum(rate(node_disk_write_time_seconds_total{job=\"prometheus-nfsd-server\"}[5m])) by (device) / sum(rate(node_disk_writes_completed_total{job=\"prometheus-nfsd-server\"}[5m])) by (device)", - "format": "time_series", - "intervalFactor": 2, - "legendFormat": "{{device}}", - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "NFS Server disk write latency", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": 0, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": 0, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": null, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 10, - "w": 12, - "x": 0, - "y": 83 - }, - "hiddenSeries": false, - "id": 20, - "legend": { - "alignAsTable": false, - "avg": false, - "current": false, - "max": false, - "min": false, - "rightSide": false, - "show": true, - "sideWidth": null, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null", - "options": { - "dataLinks": [] - }, - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "repeat": null, - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "sum(rate(node_disk_read_time_seconds_total{job=\"prometheus-nfsd-server\"}[5m])) by (device) / sum(rate(node_disk_reads_completed_total{job=\"prometheus-nfsd-server\"}[5m])) by (device)", - "format": "time_series", - "intervalFactor": 2, - "legendFormat": "{{device}}", - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "NFS Server disk read latency", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": 0, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": 0, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "collapse": false, - "collapsed": false, - "datasource": null, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 93 - }, - "id": 21, - "panels": [], - "repeat": null, - "repeatIteration": null, - "repeatRowId": null, - "showTitle": true, - "title": "Support system diagnostics", - "titleSize": "h6", - "type": "row" - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": null, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 10, - "w": 12, - "x": 0, - "y": 94 - }, - "hiddenSeries": false, - "id": 22, - "legend": { - "alignAsTable": false, - "avg": false, - "current": false, - "max": false, - "min": false, - "rightSide": false, - "show": true, - "sideWidth": null, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null", - "options": { - "dataLinks": [] - }, - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "repeat": null, - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "sum(rate(container_cpu_usage_seconds_total{pod=~\"support-prometheus-server-.*\",namespace=\"support\"}[5m]))", - "format": "time_series", - "intervalFactor": 2, - "legendFormat": "", - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Prometheus CPU", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": 0, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": 0, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": null, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 10, - "w": 12, - "x": 12, - "y": 94 - }, - "hiddenSeries": false, - "id": 23, - "legend": { - "alignAsTable": false, - "avg": false, - "current": false, - "max": false, - "min": false, - "rightSide": false, - "show": true, - "sideWidth": null, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null", - "options": { - "dataLinks": [] - }, - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "repeat": null, - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "sum(container_memory_working_set_bytes{pod=~\"support-prometheus-server-.*\", namespace=\"support\"})", - "format": "time_series", - "intervalFactor": 2, - "legendFormat": "", - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Prometheus Memory (Working Set)", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "bytes", - "label": null, - "logBase": 1, - "max": null, - "min": 0, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": 0, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": null, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 10, - "w": 12, - "x": 0, - "y": 104 - }, - "hiddenSeries": false, - "id": 24, - "legend": { - "alignAsTable": false, - "avg": false, - "current": false, - "max": false, - "min": false, - "rightSide": false, - "show": true, - "sideWidth": null, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null", - "options": { - "dataLinks": [] - }, - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "repeat": null, - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "sum(kubelet_volume_stats_available_bytes{namespace=\"support\",persistentvolumeclaim=\"support-prometheus-server\"})", - "format": "time_series", - "intervalFactor": 2, - "legendFormat": "", - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Prometheus Free Disk space", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "bytes", - "label": null, - "logBase": 1, - "max": null, - "min": 0, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": 0, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": null, - "decimals": 0, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 10, - "w": 12, - "x": 12, - "y": 104 - }, - "hiddenSeries": false, - "id": 25, - "legend": { - "alignAsTable": false, - "avg": false, - "current": false, - "max": false, - "min": false, - "rightSide": false, - "show": true, - "sideWidth": null, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null", - "options": { - "dataLinks": [] - }, - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "repeat": null, - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "sum(rate(container_network_receive_bytes_total{pod=~\"support-prometheus-server-.*\",namespace=\"support\"}[5m]))", - "format": "time_series", - "intervalFactor": 2, - "legendFormat": "receive", - "refId": "A" - }, - { - "expr": "sum(rate(container_network_send_bytes_total{pod=~\"support-prometheus-server-.*\",namespace=\"support\"}[5m]))", - "format": "time_series", - "intervalFactor": 2, - "legendFormat": "send", - "refId": "B" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Prometheus Network Usage", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "decimals": 0, - "format": "bytes", - "label": null, - "logBase": 1, - "max": null, - "min": 0, - "show": true - }, - { - "decimals": 0, - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": 0, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } + "organization": { + "canAdd": false, + "canDelete": false, + "canEdit": false } - ], - "refresh": "", - "schemaVersion": 22, - "style": "dark", - "tags": [ - "jupyterhub", - "kubernetes" - ], - "templating": { - "list": [] - }, - "time": { - "from": "now-6h", - "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": "browser", - "title": "Cluster Information", - "uid": "bW5aBKknz", - "variables": { - "list": [] - }, - "version": 6 - }, - "meta": { - "canAdmin": true, - "canEdit": true, - "canSave": true, - "canStar": true, + "canAdmin": false, + "canDelete": false, + "canEdit": false, + "canSave": false, + "canStar": false, "created": "2021-06-28T08:38:58Z", "createdBy": "Anonymous", "expires": "0001-01-01T00:00:00Z", "folderId": 15, "folderTitle": "JupyterHub Default Dashboards", + "folderUid": "70E5EE84-1217-4021-A89E-1E3DE0566D93", "folderUrl": "/dashboards/f/70E5EE84-1217-4021-A89E-1E3DE0566D93/jupyterhub-default-dashboards", "hasAcl": false, "isFolder": false, "provisioned": false, "provisionedExternalId": "", + "publicDashboardAccessToken": "", + "publicDashboardEnabled": false, + "publicDashboardUid": "", "slug": "cluster-information", "type": "db", - "updated": "2021-06-28T09:57:09Z", - "updatedBy": "admin", + "updated": "2022-06-17T08:01:15Z", + "updatedBy": "Anonymous", "url": "/d/bW5aBKknz/cluster-information", - "version": 6 + "version": 9 } } \ No newline at end of file diff --git a/grafana-data/dashboards/fLoQvRHmk.json b/grafana-data/dashboards/fLoQvRHmk.json index 020f083a1..8b78529ed 100644 --- a/grafana-data/dashboards/fLoQvRHmk.json +++ b/grafana-data/dashboards/fLoQvRHmk.json @@ -4,34 +4,118 @@ "list": [ { "builtIn": 1, - "datasource": "-- Grafana --", - "enable": false, + "datasource": { + "type": "datasource", + "uid": "grafana" + }, + "enable": true, "hide": false, "iconColor": "rgba(0, 211, 255, 1)", "limit": 100, "name": "Annotations & Alerts", "showIn": 0, "tags": [], + "target": { + "limit": 100, + "matchAny": false, + "tags": [], + "type": "tags" + }, "type": "tags" } ] }, "description": "A dashboard to hold plots for status.mybinder.org", "editable": true, - "gnetId": null, + "fiscalYearStartMonth": 0, "graphTooltip": 0, "id": 10, "links": [], + "liveNow": false, "panels": [ { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "prometheus", + "datasource": { + "type": "prometheus", + "uid": "${cluster}" + }, "description": "The number of outstanding requests waiting on a pending build or launch", - "fill": 0, - "fillGradient": 0, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "Launches", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": true, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "decimals": 0, + "links": [], + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "none" + }, + "overrides": [ + { + "matcher": { + "id": "byRegexp", + "options": "/.*build.*/" + }, + "properties": [ + { + "id": "custom.fillOpacity", + "value": 30 + }, + { + "id": "unit", + "value": "short" + }, + { + "id": "custom.axisLabel", + "value": "Builds" + } + ] + } + ] + }, "gridPos": { "h": 7, "w": 12, @@ -39,99 +123,108 @@ "y": 0 }, "id": 8, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, "links": [], - "nullPointMode": "null", "options": { - "dataLinks": [] - }, - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "/.*build.*/", - "fill": 3, - "yaxis": 2 + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" } - ], - "spaceLength": 10, - "stack": false, - "steppedLine": false, + }, + "pluginVersion": "8.5.3", "targets": [ { + "datasource": { + "type": "prometheus", + "uid": "${cluster}" + }, + "editorMode": "code", "expr": "sum(binderhub_inprogress_builds)", "legendFormat": "builds", + "range": true, "refId": "A" }, { + "datasource": { + "type": "prometheus", + "uid": "${cluster}" + }, "expr": "sum(binderhub_inprogress_launches)", "legendFormat": "launches", "refId": "B" } ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, "title": "Requests waiting on launches/builds", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "decimals": 0, - "format": "none", - "label": "Launches", - "logBase": 1, - "max": null, - "min": "0", - "show": true - }, - { - "decimals": 0, - "format": "short", - "label": "Builds", - "logBase": 1, - "max": null, - "min": "0", - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } + "type": "timeseries" }, { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "-- Mixed --", - "fill": 1, - "fillGradient": 0, + "datasource": { + "type": "datasource", + "uid": "-- Mixed --" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "Total pods", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 50, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "linear", + "lineStyle": { + "fill": "solid" + }, + "lineWidth": 3, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "normal" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "links": [], + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "short" + }, + "overrides": [] + }, "gridPos": { "h": 9, "w": 12, @@ -139,218 +232,483 @@ "y": 0 }, "id": 6, - "legend": { - "alignAsTable": true, - "avg": true, - "current": false, - "hideEmpty": true, - "max": true, - "min": false, - "rightSide": false, - "show": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 3, "links": [], - "nullPointMode": "null as zero", "options": { - "dataLinks": [] + "legend": { + "calcs": [ + "mean", + "max" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "desc" + } }, - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": true, - "steppedLine": false, + "pluginVersion": "8.5.3", "targets": [ { - "datasource": "prometheus", + "datasource": { + "type": "prometheus", + "uid": "000000001" + }, + "editorMode": "code", "expr": "sum(kube_pod_status_phase{pod=~\"jupyter-.*\", phase=\"Running\"}) by (phase)", "format": "time_series", - "intervalFactor": 2, + "hide": false, + "intervalFactor": 1, "legendFormat": "GKE", + "range": true, "refId": "A" }, { - "datasource": "GESIS", + "datasource": { + "type": "prometheus", + "uid": "000000002" + }, "expr": "sum(kube_pod_status_phase{pod=~\"^jupyter-.*\", phase=\"Running\", kubernetes_namespace!=\"jhub-ns\"})", "legendFormat": "Gesis", "refId": "B" }, { - "datasource": "OVH", + "datasource": { + "type": "prometheus", + "uid": "000000004" + }, "expr": "sum(kube_pod_status_phase{pod=~\"jupyter-.*\", phase=\"Running\"}) by (phase)", + "hide": false, "legendFormat": "OVH", "refId": "C" - }, - { - "datasource": "Turing", - "expr": "sum(kube_pod_status_phase{pod=~\"^jupyter-.*\", phase=\"Running\"})", - "hide": false, - "legendFormat": "Turing", - "refId": "D" } ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, "title": "User pods running, last hour", - "tooltip": { - "shared": true, - "sort": 2, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "label": "Total pods", - "logBase": 1, - "max": null, - "min": "0", - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": false - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } + "type": "timeseries" }, { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": null, - "fill": 1, - "fillGradient": 0, + "datasource": { + "type": "prometheus", + "uid": "${cluster}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "linear", + "lineWidth": 3, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": true, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "links": [], + "mappings": [], + "max": 105, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "percent" + }, + "overrides": [ + { + "__systemRef": "hideSeriesFrom", + "matcher": { + "id": "byNames", + "options": { + "mode": "exclude", + "names": [ + "Launch success (OVH)" + ], + "prefix": "All except:", + "readOnly": true + } + }, + "properties": [ + { + "id": "custom.hideFrom", + "value": { + "legend": false, + "tooltip": false, + "viz": true + } + } + ] + } + ] + }, "gridPos": { - "h": 9, + "h": 8, "w": 12, "x": 0, "y": 7 }, "id": 2, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 3, "links": [], - "nullPointMode": "null", "options": { - "dataLinks": [] + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } }, - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, + "pluginVersion": "8.5.3", "targets": [ { - "expr": "100 * (sum(delta(binderhub_launch_time_seconds_count{status=\"success\", kubernetes_namespace!=\"jhub-ns\"}[10m])) / sum(delta(binderhub_launch_time_seconds_count{status!=\"retry\", kubernetes_namespace!=\"jhub-ns\"}[10m])))", + "datasource": { + "type": "prometheus", + "uid": "${cluster}" + }, + "editorMode": "code", + "expr": "100 * (sum(increase(binderhub_launch_time_seconds_count{status=\"success\", kubernetes_namespace!=\"jhub-ns\"}[10m])) / sum(increase(binderhub_launch_time_seconds_count{status!=\"retry\", kubernetes_namespace!=\"jhub-ns\"}[10m])))", "format": "time_series", "intervalFactor": 1, - "legendFormat": "Launch success (GKE)", + "legendFormat": "Launch success (${cluster})", + "range": true, "refId": "A" }, { + "datasource": { + "type": "prometheus", + "uid": "${cluster}" + }, "expr": "", "format": "time_series", "intervalFactor": 1, "refId": "B" } ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, "title": "Launch success %, last hour", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "decimals": null, - "format": "percent", - "label": null, - "logBase": 1, - "max": "105", - "min": "0", - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } + "type": "timeseries" }, { - "aliasColors": { - "10th-percentile-failure": "#ef843c", - "10th-percentile-success": "#b7dbab", - "25th-percentile-failure": "#99440a", - "25th-percentile-success": "#7eb26d", - "50th-percentile-failure": "#ea6460", - "50th-percentile-success": "#7eb26d", - "75th-percentile-failure": "#bf1b00", - "75th-percentile-success": "#508642", - "90th-percentile-failure": "#58140c", - "90th-percentile-success": "#3f6833" + "datasource": { + "type": "prometheus", + "uid": "${cluster}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "linear", + "lineWidth": 3, + "pointSize": 5, + "scaleDistribution": { + "log": 10, + "type": "log" + }, + "showPoints": "never", + "spanNulls": true, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "links": [], + "mappings": [], + "min": 1, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "s" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "10th-percentile-failure" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#ef843c", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "10th-percentile-success" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#b7dbab", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "25th-percentile-failure" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#99440a", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "25th-percentile-success" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#7eb26d", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "50th-percentile-failure" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#ea6460", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "50th-percentile-success" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#7eb26d", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "75th-percentile-failure" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#bf1b00", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "75th-percentile-success" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#508642", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "90th-percentile-failure" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#58140c", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "90th-percentile-success" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#3f6833", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "10th-percentile" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#508642", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "25th-percentile" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#9ac48a", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "50th-percentile" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#e0f9d7", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "75th-percentile" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#f9934e", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "90th-percentile" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#bf1b00", + "mode": "fixed" + } + } + ] + } + ] }, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "prometheus", - "fill": 0, - "fillGradient": 0, "gridPos": { "h": 6, "w": 12, @@ -358,53 +716,26 @@ "y": 9 }, "id": 4, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 3, "links": [], - "nullPointMode": "null", "options": { - "dataLinks": [] - }, - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "10th-percentile", - "color": "#508642" - }, - { - "alias": "25th-percentile", - "color": "#9ac48a" - }, - { - "alias": "50th-percentile", - "color": "#e0f9d7" - }, - { - "alias": "75th-percentile", - "color": "#f9934e" + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true }, - { - "alias": "90th-percentile", - "color": "#bf1b00" + "tooltip": { + "mode": "multi", + "sort": "none" } - ], - "spaceLength": 10, - "stack": false, - "steppedLine": false, + }, + "pluginVersion": "8.5.3", "targets": [ { + "datasource": { + "type": "prometheus", + "uid": "${cluster}" + }, "expr": "histogram_quantile(0.1, sum(rate(binderhub_launch_time_seconds_bucket{status=\"success\"}[5m])) without (instance, repo, provider, retries)) > 0", "format": "time_series", "intervalFactor": 10, @@ -412,6 +743,10 @@ "refId": "A" }, { + "datasource": { + "type": "prometheus", + "uid": "${cluster}" + }, "expr": "histogram_quantile(0.25, sum(rate(binderhub_launch_time_seconds_bucket{status=\"success\"}[5m])) without (instance, repo, provider, retries)) > 0", "format": "time_series", "hide": false, @@ -420,6 +755,10 @@ "refId": "B" }, { + "datasource": { + "type": "prometheus", + "uid": "${cluster}" + }, "expr": "histogram_quantile(0.5, sum(rate(binderhub_launch_time_seconds_bucket{status=\"success\"}[5m])) without (instance, repo, provider, retries)) > 0", "format": "time_series", "hide": false, @@ -428,6 +767,10 @@ "refId": "C" }, { + "datasource": { + "type": "prometheus", + "uid": "${cluster}" + }, "expr": "histogram_quantile(0.75, sum(rate(binderhub_launch_time_seconds_bucket{status=\"success\"}[5m])) without (instance, repo, provider, retries)) > 0", "format": "time_series", "hide": false, @@ -436,6 +779,10 @@ "refId": "D" }, { + "datasource": { + "type": "prometheus", + "uid": "${cluster}" + }, "expr": "histogram_quantile(0.9, sum(rate(binderhub_launch_time_seconds_bucket{status=\"success\"}[5m])) without (instance, repo, provider, retries)) > 0", "format": "time_series", "intervalFactor": 10, @@ -443,54 +790,36 @@ "refId": "E" } ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, "title": "Launch time percentiles, last hour", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "s", - "label": null, - "logBase": 10, - "max": null, - "min": null, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } + "type": "timeseries" } ], - "refresh": "5m", - "schemaVersion": 20, + "refresh": "", + "revision": 1, + "schemaVersion": 38, "style": "dark", "tags": [], "templating": { - "list": [] + "list": [ + { + "current": { + "selected": true, + "text": "OVH", + "value": "OVH" + }, + "hide": 0, + "includeAll": false, + "multi": false, + "name": "cluster", + "options": [], + "query": "prometheus", + "queryValue": "", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "type": "datasource" + } + ] }, "time": { "from": "now-1h", @@ -524,28 +853,46 @@ "timezone": "", "title": "status", "uid": "fLoQvRHmk", - "version": 10 + "version": 17, + "weekStart": "" }, "meta": { - "canAdmin": true, - "canEdit": true, - "canSave": true, - "canStar": true, + "annotationsPermissions": { + "dashboard": { + "canAdd": true, + "canDelete": true, + "canEdit": true + }, + "organization": { + "canAdd": false, + "canDelete": false, + "canEdit": false + } + }, + "canAdmin": false, + "canDelete": false, + "canEdit": false, + "canSave": false, + "canStar": false, "created": "2020-09-22T09:29:53Z", "createdBy": "admin", "expires": "0001-01-01T00:00:00Z", "folderId": 0, "folderTitle": "General", + "folderUid": "", "folderUrl": "", "hasAcl": false, "isFolder": false, "provisioned": false, "provisionedExternalId": "", + "publicDashboardAccessToken": "", + "publicDashboardEnabled": false, + "publicDashboardUid": "", "slug": "status", "type": "db", - "updated": "2020-09-29T09:00:59Z", + "updated": "2023-04-28T18:11:00Z", "updatedBy": "admin", "url": "/d/fLoQvRHmk/status", - "version": 10 + "version": 17 } } \ No newline at end of file diff --git a/grafana-data/dashboards/fZWsQmnmz.json b/grafana-data/dashboards/fZWsQmnmz.json index 2413c31cf..3277718de 100644 --- a/grafana-data/dashboards/fZWsQmnmz.json +++ b/grafana-data/dashboards/fZWsQmnmz.json @@ -5,16 +5,28 @@ { "$$hashKey": "object:440", "builtIn": 1, - "datasource": "-- Grafana --", + "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" }, { "$$hashKey": "object:441", - "datasource": "-- Grafana --", + "datasource": { + "type": "datasource", + "uid": "grafana" + }, "enable": true, "hide": false, "iconColor": "rgba(255, 96, 96, 1)", @@ -24,20 +36,30 @@ "tags": [ "deployment-start" ], + "target": { + "limit": 100, + "matchAny": false, + "tags": [ + "deployment-start" + ], + "type": "tags" + }, "type": "tags" } ] }, "editable": true, - "gnetId": null, + "fiscalYearStartMonth": 0, "graphTooltip": 0, "id": 5, - "iteration": 1631538226915, "links": [], + "liveNow": false, "panels": [ { "columns": [], - "datasource": "$cluster", + "datasource": { + "uid": "$cluster" + }, "fontSize": "100%", "gridPos": { "h": 9, @@ -65,7 +87,6 @@ { "alias": "Launches this hour", "align": "auto", - "colorMode": null, "colors": [ "rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", @@ -81,7 +102,6 @@ { "alias": "", "align": "auto", - "colorMode": null, "colors": [ "rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", @@ -96,6 +116,9 @@ ], "targets": [ { + "datasource": { + "uid": "$cluster" + }, "expr": "topk(10, sum(delta(binderhub_launch_count_total{status=\"success\", kubernetes_namespace!=\"jhub-ns\"}[1h])) by (repo))", "format": "table", "instant": true, @@ -103,17 +126,24 @@ "refId": "A" } ], - "timeFrom": null, "title": "Most Popular Repositories (last hour)", "transform": "table", - "type": "table" + "type": "table-old" }, { "aliasColors": {}, "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$cluster", + "datasource": { + "uid": "$cluster" + }, + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, "fill": 1, "fillGradient": 0, "gridPos": { @@ -138,9 +168,10 @@ "links": [], "nullPointMode": "null", "options": { - "dataLinks": [] + "alertThreshold": true }, "percentage": false, + "pluginVersion": "9.2.5", "pointradius": 5, "points": false, "renderer": "flot", @@ -150,6 +181,9 @@ "steppedLine": false, "targets": [ { + "datasource": { + "uid": "$cluster" + }, "expr": "sum(kube_pod_status_phase{pod=~\"^jupyter-.*\", kubernetes_namespace!=\"jhub-ns\"}) by (phase)", "format": "time_series", "intervalFactor": 2, @@ -158,9 +192,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "User pods running over time", "tooltip": { "shared": true, @@ -169,33 +201,24 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, "yaxes": [ { "format": "short", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": true }, { "format": "short", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": true } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } }, { @@ -203,7 +226,15 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$cluster", + "datasource": { + "uid": "$cluster" + }, + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, "fill": 1, "fillGradient": 0, "gridPos": { @@ -228,9 +259,10 @@ "links": [], "nullPointMode": "null", "options": { - "dataLinks": [] + "alertThreshold": true }, "percentage": false, + "pluginVersion": "9.2.5", "pointradius": 5, "points": false, "renderer": "flot", @@ -240,6 +272,9 @@ "steppedLine": false, "targets": [ { + "datasource": { + "uid": "$cluster" + }, "expr": "topk(5, sum(increase(binderhub_launch_count_total{status=\"success\", repo!~\".*(jupyterlab-demo|ipython-in-depth|binder-examples).*\", kubernetes_namespace!=\"jhub-ns\"}[1h])) by (repo))", "format": "time_series", "intervalFactor": 2, @@ -248,9 +283,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Top 5 popular repositories (by number of launches in last hour)", "tooltip": { "shared": false, @@ -259,33 +292,24 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, "yaxes": [ { "format": "short", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": true }, { "format": "short", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": true } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } }, { @@ -293,7 +317,15 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$cluster", + "datasource": { + "uid": "$cluster" + }, + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, "fill": 1, "fillGradient": 0, "gridPos": { @@ -307,6 +339,8 @@ "legend": { "avg": false, "current": false, + "hideEmpty": true, + "hideZero": true, "max": false, "min": false, "show": true, @@ -318,9 +352,10 @@ "links": [], "nullPointMode": "null", "options": { - "dataLinks": [] + "alertThreshold": true }, "percentage": false, + "pluginVersion": "9.2.5", "pointradius": 5, "points": false, "renderer": "flot", @@ -330,6 +365,9 @@ "steppedLine": false, "targets": [ { + "datasource": { + "uid": "$cluster" + }, "expr": "sum(delta(binderhub_build_count_total{status=\"success\", repo!~\".*(jupyterlab-demo|ipython-in-depth|binder-examples).*\"}[1h])) by (repo)", "format": "time_series", "intervalFactor": 2, @@ -338,9 +376,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Successful builds in last hour", "tooltip": { "shared": false, @@ -349,9 +385,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -359,25 +393,20 @@ { "$$hashKey": "object:1321", "format": "short", - "label": null, "logBase": 1, - "max": null, "min": "0", "show": true }, { "$$hashKey": "object:1322", "format": "short", - "label": null, "logBase": 1, - "max": null, "min": "0", "show": true } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } }, { @@ -385,7 +414,16 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$cluster", + "datasource": { + "type": "prometheus", + "uid": "$cluster" + }, + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, "fill": 1, "fillGradient": 0, "gridPos": { @@ -410,9 +448,10 @@ "links": [], "nullPointMode": "null", "options": { - "dataLinks": [] + "alertThreshold": true }, "percentage": false, + "pluginVersion": "9.2.5", "pointradius": 5, "points": false, "renderer": "flot", @@ -422,17 +461,20 @@ "steppedLine": false, "targets": [ { - "expr": "sum(delta(binderhub_build_count_total{repo!~\".*(jupyterlab-demo|ipython-in-depth|binder-examples).*\"}[1h])) by (repo)", + "datasource": { + "uid": "$cluster" + }, + "editorMode": "code", + "expr": "sum(increase(binderhub_build_count_total{repo!~\".*(jupyterlab-demo|ipython-in-depth|binder-examples).*\"}[1h])) by (repo)", "format": "time_series", "intervalFactor": 2, "legendFormat": "{{repo}}", + "range": true, "refId": "A" } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "All build attempts in last hour", "tooltip": { "shared": false, @@ -441,33 +483,24 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, "yaxes": [ { "format": "short", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": true }, { "format": "short", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": true } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } }, { @@ -475,8 +508,16 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$cluster", + "datasource": { + "uid": "$cluster" + }, "description": "", + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, "fill": 1, "fillGradient": 0, "gridPos": { @@ -503,9 +544,10 @@ "links": [], "nullPointMode": "null", "options": { - "dataLinks": [] + "alertThreshold": true }, "percentage": false, + "pluginVersion": "9.2.5", "pointradius": 5, "points": false, "renderer": "flot", @@ -521,6 +563,9 @@ "steppedLine": false, "targets": [ { + "datasource": { + "uid": "$cluster" + }, "expr": "sum(kube_pod_status_phase{pod=~\"build-.*\", kubernetes_namespace!=\"jhub-ns\"}) by (phase)", "format": "time_series", "intervalFactor": 2, @@ -528,6 +573,9 @@ "refId": "A" }, { + "datasource": { + "uid": "$cluster" + }, "expr": "sum(binderhub_inprogress_builds)", "format": "time_series", "intervalFactor": 1, @@ -535,6 +583,9 @@ "refId": "B" }, { + "datasource": { + "uid": "$cluster" + }, "expr": "sum(binderhub_inprogress_launches)", "format": "time_series", "hide": true, @@ -544,9 +595,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Build pods", "tooltip": { "shared": true, @@ -555,9 +604,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -565,25 +612,18 @@ { "decimals": 0, "format": "none", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": true }, { "decimals": 0, "format": "short", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": true } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } }, { @@ -591,7 +631,15 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$cluster", + "datasource": { + "uid": "$cluster" + }, + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, "fill": 1, "fillGradient": 0, "gridPos": { @@ -616,9 +664,10 @@ "links": [], "nullPointMode": "null", "options": { - "dataLinks": [] + "alertThreshold": true }, "percentage": false, + "pluginVersion": "9.2.5", "pointradius": 5, "points": false, "renderer": "flot", @@ -628,6 +677,9 @@ "steppedLine": false, "targets": [ { + "datasource": { + "uid": "$cluster" + }, "expr": "sum(\n kube_pod_status_phase{pod=~\"jupyter-.*\",phase!=\"Running\"}\n * on (pod) group_left(node)\n sum(kube_pod_info{pod=~\"jupyter-.*\"}) by (pod, node)\n) by (node, phase)", "format": "time_series", "intervalFactor": 2, @@ -636,9 +688,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Non-running pods by node", "tooltip": { "shared": true, @@ -647,33 +697,24 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, "yaxes": [ { "format": "short", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": true }, { "format": "short", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": true } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } }, { @@ -684,8 +725,16 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$cluster", + "datasource": { + "uid": "$cluster" + }, "description": "Edit the regular expression in \"metrics\" to search for a different pod.", + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, "fill": 0, "fillGradient": 0, "gridPos": { @@ -710,9 +759,10 @@ "links": [], "nullPointMode": "null", "options": { - "dataLinks": [] + "alertThreshold": true }, "percentage": false, + "pluginVersion": "9.2.5", "pointradius": 5, "points": false, "renderer": "flot", @@ -731,6 +781,9 @@ "steppedLine": false, "targets": [ { + "datasource": { + "uid": "$cluster" + }, "expr": "count(kube_pod_info{pod=~\"jupyter-jupyterlab.*\"}) by (node)", "format": "time_series", "intervalFactor": 2, @@ -738,6 +791,9 @@ "refId": "A" }, { + "datasource": { + "uid": "$cluster" + }, "expr": "count(kube_pod_info{pod=~\"jupyter-jupyterlab.*\"})", "format": "time_series", "intervalFactor": 2, @@ -745,6 +801,9 @@ "refId": "B" }, { + "datasource": { + "uid": "$cluster" + }, "expr": "sum(kube_pod_status_phase{pod=~\"jupyter-jupyterlab.*\",phase=\"Pending\"}) by (phase)", "format": "time_series", "intervalFactor": 2, @@ -753,9 +812,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Pods running by regexp (jupyter-jupyterlab.*)", "tooltip": { "shared": true, @@ -764,33 +821,24 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, "yaxes": [ { "format": "short", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": true }, { "format": "short", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": true } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } }, { @@ -798,10 +846,18 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$cluster", + "datasource": { + "uid": "$cluster" + }, "decimals": 3, "editable": true, "error": false, + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, "fill": 0, "fillGradient": 0, "grid": {}, @@ -832,9 +888,10 @@ "links": [], "nullPointMode": "connected", "options": { - "dataLinks": [] + "alertThreshold": true }, "percentage": false, + "pluginVersion": "9.2.5", "pointradius": 5, "points": false, "renderer": "flot", @@ -844,6 +901,9 @@ "steppedLine": true, "targets": [ { + "datasource": { + "uid": "$cluster" + }, "expr": "topk(5, sum(rate(container_cpu_usage_seconds_total{image!=\"\",name=~\"^k8s_.*\"}[2m])) by (pod))", "format": "time_series", "interval": "", @@ -857,7 +917,6 @@ "thresholds": [], "timeFrom": "2h", "timeRegions": [], - "timeShift": null, "title": "Top 5 Pods CPU usage (2m avg)", "tooltip": { "msResolution": true, @@ -867,9 +926,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -878,22 +935,17 @@ "format": "none", "label": "cores", "logBase": 1, - "max": null, "min": "0", "show": true }, { "format": "short", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": false } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } }, { @@ -901,7 +953,15 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$cluster", + "datasource": { + "uid": "$cluster" + }, + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, "fill": 0, "fillGradient": 0, "gridPos": { @@ -926,9 +986,10 @@ "links": [], "nullPointMode": "null", "options": { - "dataLinks": [] + "alertThreshold": true }, "percentage": false, + "pluginVersion": "9.2.5", "pointradius": 5, "points": false, "renderer": "flot", @@ -938,18 +999,32 @@ "steppedLine": false, "targets": [ { - "expr": "delta(binderhub_launch_count_total{status=\"failure\"}[10m]) > 0", + "datasource": { + "uid": "$cluster" + }, + "exemplar": true, + "expr": "sum(increase(binderhub_launch_count_total{status!=\"success\",status!=\"pod_quota\"}[10m])) by (status, repo) > 0", "format": "time_series", + "interval": "", "intervalFactor": 2, - "legendFormat": "{{repo}}", + "legendFormat": "{{ repo }} ({{ status }})", "refId": "A" + }, + { + "datasource": { + "uid": "$cluster" + }, + "exemplar": true, + "expr": "sum(increase(binderhub_launch_count_total{status=\"pod_quota\"}[10m])) > 0", + "hide": false, + "interval": "", + "legendFormat": "all repos (pod_quota)", + "refId": "B" } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, - "title": "Launch Failing Repositories", + "title": "Launch Failing Repositories (10m)", "tooltip": { "shared": true, "sort": 0, @@ -957,33 +1032,25 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, "yaxes": [ { "format": "short", - "label": null, "logBase": 1, - "max": null, "min": "0", "show": true }, { "format": "short", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": true } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } }, { @@ -991,8 +1058,16 @@ "bars": true, "dashLength": 10, "dashes": false, - "datasource": "$cluster", + "datasource": { + "uid": "$cluster" + }, "decimals": 0, + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, "fill": 0, "fillGradient": 0, "gridPos": { @@ -1023,10 +1098,10 @@ "links": [], "nullPointMode": "null as zero", "options": { - "dataLinks": [] + "alertThreshold": true }, "percentage": false, - "pluginVersion": "6.7.3", + "pluginVersion": "9.2.5", "pointradius": 3, "points": false, "renderer": "flot", @@ -1036,6 +1111,9 @@ "steppedLine": false, "targets": [ { + "datasource": { + "uid": "$cluster" + }, "expr": "max(floor(increase(binderhub_build_count_total{status=\"failure\"}[$__interval]))) by (repo) > 0", "format": "time_series", "instant": false, @@ -1046,9 +1124,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Build Failing Repositories", "tooltip": { "shared": true, @@ -1057,9 +1133,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -1067,25 +1141,19 @@ { "$$hashKey": "object:64", "format": "short", - "label": null, "logBase": 1, - "max": null, "min": "0", "show": true }, { "$$hashKey": "object:65", "format": "short", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": true } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } }, { @@ -1093,7 +1161,15 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$cluster", + "datasource": { + "uid": "$cluster" + }, + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, "fill": 0, "fillGradient": 0, "gridPos": { @@ -1121,9 +1197,10 @@ "linewidth": 1, "nullPointMode": "null", "options": { - "dataLinks": [] + "alertThreshold": true }, "percentage": false, + "pluginVersion": "9.2.5", "pointradius": 2, "points": false, "renderer": "flot", @@ -1149,6 +1226,9 @@ "steppedLine": false, "targets": [ { + "datasource": { + "uid": "$cluster" + }, "expr": "max(topk(10, container_cpu_usage_seconds_total{pod=~\"jupyter-.*\", container=\"notebook\"}) > 1800) by (pod)", "hide": false, "interval": "", @@ -1157,6 +1237,9 @@ "refId": "A" }, { + "datasource": { + "uid": "$cluster" + }, "expr": "count(1800 < container_cpu_usage_seconds_total{pod=~\"jupyter-.*\", container=\"notebook\"})", "interval": "", "legendFormat": "total cpu > 30m", @@ -1164,9 +1247,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Pods with sustained CPU usage", "tooltip": { "shared": true, @@ -1175,20 +1256,16 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, "yaxes": [ { "$$hashKey": "object:130", - "decimals": null, "format": "dtdurations", "label": "total cpu time", "logBase": 1, - "max": null, "min": "0", "show": true }, @@ -1198,14 +1275,12 @@ "format": "short", "label": "number of pods", "logBase": 1, - "max": null, "min": "0", "show": true } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } }, { @@ -1219,7 +1294,15 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$cluster", + "datasource": { + "uid": "$cluster" + }, + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, "fill": 0, "fillGradient": 0, "gridPos": { @@ -1244,9 +1327,10 @@ "links": [], "nullPointMode": "null", "options": { - "dataLinks": [] + "alertThreshold": true }, "percentage": false, + "pluginVersion": "9.2.5", "pointradius": 5, "points": false, "renderer": "flot", @@ -1256,6 +1340,9 @@ "steppedLine": false, "targets": [ { + "datasource": { + "uid": "$cluster" + }, "expr": "quantile(.05, (time() - kube_pod_created{pod=~\"^jupyter.*\"}) / 60)", "format": "time_series", "interval": "", @@ -1264,6 +1351,9 @@ "refId": "A" }, { + "datasource": { + "uid": "$cluster" + }, "expr": "quantile(.25, (time() - kube_pod_created{pod=~\"^jupyter.*\"}) / 60)", "format": "time_series", "interval": "", @@ -1272,6 +1362,9 @@ "refId": "D" }, { + "datasource": { + "uid": "$cluster" + }, "expr": "quantile(.5, (time() - kube_pod_created{pod=~\"^jupyter.*\"}) / 60)", "format": "time_series", "interval": "", @@ -1280,6 +1373,9 @@ "refId": "B" }, { + "datasource": { + "uid": "$cluster" + }, "expr": "quantile(.75, (time() - kube_pod_created{pod=~\"^jupyter.*\"}) / 60)", "format": "time_series", "interval": "", @@ -1288,6 +1384,9 @@ "refId": "E" }, { + "datasource": { + "uid": "$cluster" + }, "expr": "quantile(.95, (time() - kube_pod_created{pod=~\"^jupyter.*\"}) / 60)", "format": "time_series", "interval": "", @@ -1297,9 +1396,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Percentiles of pod age", "tooltip": { "shared": true, @@ -1308,9 +1405,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -1319,22 +1414,16 @@ "format": "short", "label": "Minutes", "logBase": 1, - "max": null, - "min": null, "show": true }, { "format": "short", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": true } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } }, { @@ -1342,7 +1431,15 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$cluster", + "datasource": { + "uid": "$cluster" + }, + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, "fill": 1, "fillGradient": 0, "gridPos": { @@ -1369,9 +1466,10 @@ "links": [], "nullPointMode": "null", "options": { - "dataLinks": [] + "alertThreshold": true }, "percentage": false, + "pluginVersion": "9.2.5", "pointradius": 5, "points": false, "renderer": "flot", @@ -1392,6 +1490,9 @@ "steppedLine": false, "targets": [ { + "datasource": { + "uid": "$cluster" + }, "expr": "sum(increase(binderhub_launch_count_total{status=\"success\"}[5m])) / sum(increase(binderhub_launch_count_total{status!=\"retry\"}[5m]))", "format": "time_series", "interval": "", @@ -1400,6 +1501,9 @@ "refId": "A" }, { + "datasource": { + "uid": "$cluster" + }, "expr": "sum(increase(binderhub_launch_count_total[5m]))", "format": "time_series", "interval": "", @@ -1408,6 +1512,9 @@ "refId": "B" }, { + "datasource": { + "uid": "$cluster" + }, "expr": "sum(increase(binderhub_launch_count_total{status=\"success\",retries!=\"0\",retries!=\"\"}[5m])) / sum(increase(binderhub_launch_count_total{status!=\"retry\"}[5m]))", "format": "time_series", "interval": "", @@ -1417,9 +1524,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Launch success rate [5m]", "tooltip": { "shared": true, @@ -1428,9 +1533,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -1438,7 +1541,6 @@ { "$$hashKey": "object:1232", "format": "percentunit", - "label": null, "logBase": 1, "max": "1", "min": "0", @@ -1447,16 +1549,13 @@ { "$$hashKey": "object:1233", "format": "short", - "label": null, "logBase": 1, - "max": null, "min": "0", "show": true } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } }, { @@ -1470,7 +1569,15 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$cluster", + "datasource": { + "uid": "$cluster" + }, + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, "fill": 0, "fillGradient": 0, "gridPos": { @@ -1495,9 +1602,10 @@ "links": [], "nullPointMode": "null", "options": { - "dataLinks": [] + "alertThreshold": true }, "percentage": false, + "pluginVersion": "9.2.5", "pointradius": 5, "points": false, "renderer": "flot", @@ -1507,6 +1615,9 @@ "steppedLine": false, "targets": [ { + "datasource": { + "uid": "$cluster" + }, "expr": "quantile(.95, (time() - kube_pod_created{pod=~\"^build-.*\"}) / 60)", "format": "time_series", "intervalFactor": 1, @@ -1515,9 +1626,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Percentiles of build pod age", "tooltip": { "shared": true, @@ -1526,9 +1635,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -1537,27 +1644,21 @@ "format": "short", "label": "Minutes", "logBase": 1, - "max": null, - "min": null, "show": true }, { "format": "short", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": true } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } } ], - "refresh": "1m", - "schemaVersion": 22, + "refresh": "", + "schemaVersion": 37, "style": "dark", "tags": [], "templating": { @@ -1570,11 +1671,11 @@ }, "hide": 0, "includeAll": false, - "label": null, "multi": false, "name": "cluster", "options": [], "query": "prometheus", + "queryValue": "", "refresh": 1, "regex": "", "skipUrlSync": false, @@ -1614,31 +1715,46 @@ "timezone": "", "title": "Pod Activity", "uid": "fZWsQmnmz", - "variables": { - "list": [] - }, - "version": 17 + "version": 23, + "weekStart": "" }, "meta": { - "canAdmin": true, - "canEdit": true, - "canSave": true, - "canStar": true, + "annotationsPermissions": { + "dashboard": { + "canAdd": true, + "canDelete": true, + "canEdit": true + }, + "organization": { + "canAdd": false, + "canDelete": false, + "canEdit": false + } + }, + "canAdmin": false, + "canDelete": false, + "canEdit": false, + "canSave": false, + "canStar": false, "created": "2020-09-22T09:29:52Z", "createdBy": "admin", "expires": "0001-01-01T00:00:00Z", "folderId": 0, "folderTitle": "General", + "folderUid": "", "folderUrl": "", "hasAcl": false, "isFolder": false, "provisioned": false, "provisionedExternalId": "", + "publicDashboardAccessToken": "", + "publicDashboardEnabled": false, + "publicDashboardUid": "", "slug": "pod-activity", "type": "db", - "updated": "2021-09-13T13:08:57Z", + "updated": "2022-11-22T12:33:21Z", "updatedBy": "admin", "url": "/d/fZWsQmnmz/pod-activity", - "version": 17 + "version": 23 } } \ No newline at end of file diff --git a/grafana-data/dashboards/hub-dashboard.json b/grafana-data/dashboards/hub-dashboard.json index 5ab8729fa..2cb7b5aff 100644 --- a/grafana-data/dashboards/hub-dashboard.json +++ b/grafana-data/dashboards/hub-dashboard.json @@ -3,28 +3,39 @@ "annotations": { "list": [ { - "$$hashKey": "object:10", "builtIn": 1, - "datasource": "-- Grafana --", + "datasource": { + "type": "grafana", + "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" } ] }, "editable": true, - "gnetId": null, + "fiscalYearStartMonth": 0, "graphTooltip": 0, "id": 18, - "iteration": 1624874119073, "links": [], + "liveNow": false, "panels": [ { "collapse": false, "collapsed": false, - "datasource": null, + "datasource": { + "type": "prometheus", + "uid": "000000001" + }, "gridPos": { "h": 1, "w": 24, @@ -33,10 +44,16 @@ }, "id": 2, "panels": [], - "repeat": null, - "repeatIteration": null, - "repeatRowId": null, "showTitle": true, + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "000000001" + }, + "refId": "A" + } + ], "title": "Hub usage stats", "titleSize": "h6", "type": "row" @@ -46,7 +63,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": null, + "datasource": { + "uid": "$PROMETHEUS_DS" + }, "decimals": 0, "fill": 1, "fillGradient": 0, @@ -66,7 +85,6 @@ "min": false, "rightSide": false, "show": true, - "sideWidth": null, "total": false, "values": false }, @@ -75,19 +93,22 @@ "links": [], "nullPointMode": "null", "options": { - "dataLinks": [] + "alertThreshold": true }, "percentage": false, + "pluginVersion": "9.0.5", "pointradius": 5, "points": false, "renderer": "flot", - "repeat": null, "seriesOverrides": [], "spaceLength": 10, "stack": false, "steppedLine": false, "targets": [ { + "datasource": { + "uid": "$PROMETHEUS_DS" + }, "expr": "sum(\n kube_pod_status_phase{phase=\"Running\"}\n * on (namespace, pod) group_right(phase) kube_pod_labels{label_app=\"jupyterhub\", label_component=\"singleuser-server\" , namespace=~\"$hub\"}\n) by (phase)\n", "format": "time_series", "intervalFactor": 2, @@ -96,9 +117,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Current running users", "tooltip": { "shared": true, @@ -107,9 +126,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -117,32 +134,24 @@ { "decimals": 0, "format": "short", - "label": null, "logBase": 1, - "max": null, "min": 0, "show": true }, { "decimals": 0, "format": "short", - "label": null, "logBase": 1, - "max": null, "min": 0, "show": true } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } }, { - "cards": { - "cardPadding": null, - "cardRound": null - }, + "cards": {}, "color": { "cardColor": "#b4ff00", "colorScale": "sqrt", @@ -151,7 +160,9 @@ "mode": "spectrum" }, "dataFormat": "timeseries", - "datasource": null, + "datasource": { + "uid": "$PROMETHEUS_DS" + }, "gridPos": { "h": 10, "w": 12, @@ -163,11 +174,14 @@ "highlightCards": true, "id": 4, "legend": { - "show": false + "show": true }, "reverseYBuckets": false, "targets": [ { + "datasource": { + "uid": "$PROMETHEUS_DS" + }, "expr": "(\n time()\n - (\n kube_pod_created\n * on (namespace, pod) kube_pod_labels{label_app=\"jupyterhub\", label_component=\"singleuser-server\" , namespace=~\"$hub\"}\n )\n)\n", "format": "time_series", "interval": "600s", @@ -179,32 +193,23 @@ "title": "User active age distribution", "tooltip": { "show": true, - "showHistogram": false + "showHistogram": true }, "type": "heatmap", "xAxis": { "show": true }, - "xBucketNumber": null, "xBucketSize": "600s", "yAxis": { - "decimals": null, "format": "s", "logBase": 1, - "max": null, "min": 0, - "show": true, - "splitFactor": null + "show": true }, - "yBucketBound": "auto", - "yBucketNumber": null, - "yBucketSize": null + "yBucketBound": "auto" }, { - "cards": { - "cardPadding": null, - "cardRound": null - }, + "cards": {}, "color": { "cardColor": "#b4ff00", "colorScale": "sqrt", @@ -213,7 +218,9 @@ "mode": "spectrum" }, "dataFormat": "timeseries", - "datasource": null, + "datasource": { + "uid": "$PROMETHEUS_DS" + }, "gridPos": { "h": 10, "w": 12, @@ -221,15 +228,18 @@ "y": 11 }, "heatmap": {}, - "hideZeroBuckets": false, + "hideZeroBuckets": true, "highlightCards": true, "id": 5, "legend": { - "show": false + "show": true }, "reverseYBuckets": false, "targets": [ { + "datasource": { + "uid": "$PROMETHEUS_DS" + }, "expr": "sum(\n # exclude name=\"\" because the same container can be reported\n # with both no name and `name=k8s_...`,\n # in which case sum() by (pod) reports double the actual metric\n irate(container_cpu_usage_seconds_total{name!=\"\"}[5m])\n * on (namespace, pod) group_left(container) kube_pod_labels{label_app=\"jupyterhub\", label_component=\"singleuser-server\" , namespace=~\"$hub\"}\n) by (pod)\n", "format": "time_series", "interval": "600s", @@ -241,32 +251,24 @@ "title": "User CPU usage distribution", "tooltip": { "show": true, - "showHistogram": false + "showHistogram": true }, "type": "heatmap", "xAxis": { "show": true }, - "xBucketNumber": null, "xBucketSize": "600s", "yAxis": { - "decimals": null, + "decimals": 0, "format": "percentunit", "logBase": 1, - "max": null, "min": 0, - "show": true, - "splitFactor": null + "show": true }, - "yBucketBound": "auto", - "yBucketNumber": null, - "yBucketSize": null + "yBucketBound": "auto" }, { - "cards": { - "cardPadding": null, - "cardRound": null - }, + "cards": {}, "color": { "cardColor": "#b4ff00", "colorScale": "sqrt", @@ -275,7 +277,9 @@ "mode": "spectrum" }, "dataFormat": "timeseries", - "datasource": null, + "datasource": { + "uid": "$PROMETHEUS_DS" + }, "gridPos": { "h": 10, "w": 12, @@ -283,15 +287,18 @@ "y": 11 }, "heatmap": {}, - "hideZeroBuckets": false, + "hideZeroBuckets": true, "highlightCards": true, "id": 6, "legend": { - "show": false + "show": true }, "reverseYBuckets": false, "targets": [ { + "datasource": { + "uid": "$PROMETHEUS_DS" + }, "expr": "sum(\n # exclude name=\"\" because the same container can be reported\n # with both no name and `name=k8s_...`,\n # in which case sum() by (pod) reports double the actual metric\n container_memory_working_set_bytes{name!=\"\"}\n * on (namespace, pod) group_left(container) kube_pod_labels{label_app=\"jupyterhub\", label_component=\"singleuser-server\" , namespace=~\"$hub\"}\n) by (pod)\n", "format": "time_series", "interval": "600s", @@ -303,31 +310,28 @@ "title": "User memory usage distribution", "tooltip": { "show": true, - "showHistogram": false + "showHistogram": true }, "type": "heatmap", "xAxis": { "show": true }, - "xBucketNumber": null, - "xBucketSize": "600s", + "xBucketSize": "10m", "yAxis": { - "decimals": null, - "format": "bytes", + "decimals": 1, + "format": "decbytes", "logBase": 1, - "max": null, - "min": 0, - "show": true, - "splitFactor": null + "show": true }, - "yBucketBound": "auto", - "yBucketNumber": null, - "yBucketSize": null + "yBucketBound": "auto" }, { "collapse": false, "collapsed": false, - "datasource": null, + "datasource": { + "type": "prometheus", + "uid": "000000001" + }, "gridPos": { "h": 1, "w": 24, @@ -336,10 +340,16 @@ }, "id": 7, "panels": [], - "repeat": null, - "repeatIteration": null, - "repeatRowId": null, "showTitle": true, + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "000000001" + }, + "refId": "A" + } + ], "title": "Hub Diagnostics", "titleSize": "h6", "type": "row" @@ -349,7 +359,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": null, + "datasource": { + "uid": "$PROMETHEUS_DS" + }, "fill": 1, "fillGradient": 0, "gridPos": { @@ -368,7 +380,6 @@ "min": false, "rightSide": false, "show": true, - "sideWidth": null, "total": false, "values": false }, @@ -377,27 +388,33 @@ "links": [], "nullPointMode": "null", "options": { - "dataLinks": [] + "alertThreshold": true }, "percentage": false, + "pluginVersion": "9.0.5", "pointradius": 2, "points": true, "renderer": "flot", - "repeat": null, "seriesOverrides": [], "spaceLength": 10, "stack": false, "steppedLine": false, "targets": [ { - "expr": "histogram_quantile(0.99, sum(rate(jupyterhub_server_spawn_duration_seconds_bucket{app=\"jupyterhub\", kubernetes_namespace=~\"$hub\"}[5m])) by (le))", + "datasource": { + "uid": "$PROMETHEUS_DS" + }, + "expr": "histogram_quantile(0.99, sum(rate(jupyterhub_server_spawn_duration_seconds_bucket{app=\"jupyterhub\", namespace=~\"$hub\"}[5m])) by (le))", "format": "time_series", "intervalFactor": 2, "legendFormat": "99th percentile", "refId": "A" }, { - "expr": "histogram_quantile(0.5, sum(rate(jupyterhub_server_spawn_duration_seconds_bucket{app=\"jupyterhub\", kubernetes_namespace=~\"$hub\"}[5m])) by (le))", + "datasource": { + "uid": "$PROMETHEUS_DS" + }, + "expr": "histogram_quantile(0.5, sum(rate(jupyterhub_server_spawn_duration_seconds_bucket{app=\"jupyterhub\", namespace=~\"$hub\"}[5m])) by (le))", "format": "time_series", "intervalFactor": 2, "legendFormat": "50th percentile", @@ -405,9 +422,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Server Start Times", "tooltip": { "shared": true, @@ -416,33 +431,26 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, "yaxes": [ { "format": "s", - "label": null, "logBase": 1, - "max": null, "min": 0, "show": true }, { "format": "short", - "label": null, "logBase": 1, - "max": null, "min": 0, "show": true } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } }, { @@ -450,7 +458,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": null, + "datasource": { + "uid": "$PROMETHEUS_DS" + }, "fill": 1, "fillGradient": 0, "gridPos": { @@ -469,7 +479,6 @@ "min": false, "rightSide": false, "show": true, - "sideWidth": null, "total": false, "values": false }, @@ -478,27 +487,33 @@ "links": [], "nullPointMode": "null", "options": { - "dataLinks": [] + "alertThreshold": true }, "percentage": false, + "pluginVersion": "9.0.5", "pointradius": 5, "points": false, "renderer": "flot", - "repeat": null, "seriesOverrides": [], "spaceLength": 10, "stack": false, "steppedLine": false, "targets": [ { - "expr": "histogram_quantile(0.99, sum(rate(jupyterhub_request_duration_seconds_bucket{app=\"jupyterhub\", kubernetes_namespace=~\"$hub\"}[5m])) by (le))", + "datasource": { + "uid": "$PROMETHEUS_DS" + }, + "expr": "histogram_quantile(0.99, sum(rate(jupyterhub_request_duration_seconds_bucket{app=\"jupyterhub\", namespace=~\"$hub\"}[5m])) by (le))", "format": "time_series", "intervalFactor": 2, "legendFormat": "99th percentile", "refId": "A" }, { - "expr": "histogram_quantile(0.50, sum(rate(jupyterhub_request_duration_seconds_bucket{app=\"jupyterhub\", kubernetes_namespace=~\"$hub\"}[5m])) by (le))", + "datasource": { + "uid": "$PROMETHEUS_DS" + }, + "expr": "histogram_quantile(0.50, sum(rate(jupyterhub_request_duration_seconds_bucket{app=\"jupyterhub\", namespace=~\"$hub\"}[5m])) by (le))", "format": "time_series", "intervalFactor": 2, "legendFormat": "50th percentile", @@ -506,9 +521,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Hub response latency", "tooltip": { "shared": true, @@ -517,33 +530,26 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, "yaxes": [ { "format": "s", - "label": null, "logBase": 1, - "max": null, "min": 0, "show": true }, { "format": "short", - "label": null, "logBase": 1, - "max": null, "min": 0, "show": true } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } }, { @@ -551,7 +557,10 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": null, + "datasource": { + "type": "prometheus", + "uid": "000000001" + }, "fill": 1, "fillGradient": 0, "gridPos": { @@ -571,7 +580,6 @@ "min": false, "rightSide": false, "show": true, - "sideWidth": null, "total": false, "values": true }, @@ -580,19 +588,23 @@ "links": [], "nullPointMode": "null", "options": { - "dataLinks": [] + "alertThreshold": true }, "percentage": false, + "pluginVersion": "9.0.5", "pointradius": 5, "points": false, "renderer": "flot", - "repeat": null, "seriesOverrides": [], "spaceLength": 10, "stack": false, "steppedLine": false, "targets": [ { + "datasource": { + "type": "prometheus", + "uid": "000000001" + }, "expr": "sum(\n # exclude name=\"\" because the same container can be reported\n# with both no name and `name=k8s_...`,\n# in which case sum() reports double the actual metric\nirate(container_cpu_usage_seconds_total{name!=\"\"}[5m])\n\n * on (namespace, pod) group_left(container, label_component) kube_pod_labels{label_app=\"jupyterhub\", label_component!=\"singleuser-server\" , namespace=~\"$hub\"}\n) by (label_component)\n", "format": "time_series", "intervalFactor": 2, @@ -601,9 +613,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "All JupyterHub Components CPU", "tooltip": { "shared": true, @@ -612,9 +622,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -622,24 +630,19 @@ { "decimals": 1, "format": "percentunit", - "label": null, "logBase": 1, - "max": null, "min": 0, "show": true }, { "format": "short", - "label": null, "logBase": 1, - "max": null, "min": 0, "show": true } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } }, { @@ -647,7 +650,10 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": null, + "datasource": { + "type": "prometheus", + "uid": "000000001" + }, "fill": 1, "fillGradient": 0, "gridPos": { @@ -667,7 +673,6 @@ "min": false, "rightSide": false, "show": true, - "sideWidth": null, "total": false, "values": true }, @@ -676,19 +681,23 @@ "links": [], "nullPointMode": "null", "options": { - "dataLinks": [] + "alertThreshold": true }, "percentage": false, + "pluginVersion": "9.0.5", "pointradius": 5, "points": false, "renderer": "flot", - "repeat": null, "seriesOverrides": [], "spaceLength": 10, "stack": false, "steppedLine": false, "targets": [ { + "datasource": { + "type": "prometheus", + "uid": "000000001" + }, "expr": "sum(\n # exclude name=\"\" because the same container can be reported\n# with both no name and `name=k8s_...`,\n# in which case sum() reports double the actual metric\ncontainer_memory_working_set_bytes{name!=\"\"}\n\n * on (namespace, pod) group_left(container, label_component) kube_pod_labels{label_app=\"jupyterhub\", label_component!=\"singleuser-server\" , namespace=~\"$hub\"}\n) by (label_component)\n", "format": "time_series", "intervalFactor": 2, @@ -697,9 +706,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "All JupyterHub Components Memory (Working Set)", "tooltip": { "shared": true, @@ -708,33 +715,26 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, "yaxes": [ { "format": "bytes", - "label": null, "logBase": 1, - "max": null, "min": 0, "show": true }, { "format": "short", - "label": null, "logBase": 1, - "max": null, "min": 0, "show": true } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } }, { @@ -742,7 +742,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": null, + "datasource": { + "uid": "$PROMETHEUS_DS" + }, "description": "Pods in a non-running state in the hub's namespace.\n\nPods stuck in non-running states often indicate an error condition\n", "fill": 1, "fillGradient": 0, @@ -762,7 +764,6 @@ "min": false, "rightSide": false, "show": true, - "sideWidth": null, "total": false, "values": false }, @@ -771,19 +772,22 @@ "links": [], "nullPointMode": "null", "options": { - "dataLinks": [] + "alertThreshold": true }, "percentage": false, + "pluginVersion": "9.0.5", "pointradius": 5, "points": false, "renderer": "flot", - "repeat": null, "seriesOverrides": [], "spaceLength": 10, "stack": true, "steppedLine": false, "targets": [ { + "datasource": { + "uid": "$PROMETHEUS_DS" + }, "expr": "sum(\n kube_pod_status_phase{phase!=\"Running\", namespace=~\"$hub\"}\n) by (phase)\n", "format": "time_series", "intervalFactor": 2, @@ -792,9 +796,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Non Running Pods", "tooltip": { "shared": true, @@ -803,9 +805,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -813,24 +813,19 @@ { "decimals": 0, "format": "short", - "label": null, "logBase": 1, - "max": null, "min": 0, "show": true }, { "format": "short", - "label": null, "logBase": 1, - "max": null, "min": 0, "show": true } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } }, { @@ -838,7 +833,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": null, + "datasource": { + "uid": "$PROMETHEUS_DS" + }, "decimals": 0, "fill": 1, "fillGradient": 0, @@ -858,7 +855,6 @@ "min": false, "rightSide": false, "show": true, - "sideWidth": null, "total": false, "values": false }, @@ -867,20 +863,23 @@ "links": [], "nullPointMode": "null", "options": { - "dataLinks": [] + "alertThreshold": true }, "percentage": false, + "pluginVersion": "9.0.5", "pointradius": 5, "points": false, "renderer": "flot", - "repeat": null, "seriesOverrides": [], "spaceLength": 10, "stack": false, "steppedLine": false, "targets": [ { - "expr": "sum(\n # kube_pod_info.node identifies the pod node,\n # while kube_pod_labels.kubernetes_node is the metrics exporter's node\n kube_pod_info{node!=\"\"}\n * on (namespace, pod) group_right(node) kube_pod_labels{label_app=\"jupyterhub\", label_component=\"singleuser-server\" , namespace=~\"$hub\"}\n) by (node)\n", + "datasource": { + "uid": "$PROMETHEUS_DS" + }, + "expr": "sum(\n # kube_pod_info.node identifies the pod node,\n # while kube_pod_labels.node is the metrics exporter's node\n kube_pod_info{node!=\"\"}\n * on (namespace, pod) group_right(node) kube_pod_labels{label_app=\"jupyterhub\", label_component=\"singleuser-server\" , namespace=~\"$hub\"}\n) by (node)\n", "format": "time_series", "intervalFactor": 2, "legendFormat": "{{ node }}", @@ -888,9 +887,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Users per node", "tooltip": { "shared": true, @@ -899,9 +896,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -909,31 +904,29 @@ { "decimals": 0, "format": "short", - "label": null, "logBase": 1, - "max": null, "min": 0, "show": true }, { "decimals": 0, "format": "short", - "label": null, "logBase": 1, - "max": null, "min": 0, "show": true } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } }, { "collapse": false, "collapsed": false, - "datasource": null, + "datasource": { + "type": "prometheus", + "uid": "000000001" + }, "gridPos": { "h": 1, "w": 24, @@ -942,19 +935,26 @@ }, "id": 14, "panels": [], - "repeat": null, - "repeatIteration": null, - "repeatRowId": null, "showTitle": true, + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "000000001" + }, + "refId": "A" + } + ], "title": "Anomalous user pods", "titleSize": "h6", "type": "row" }, { "columns": [], - "datasource": null, + "datasource": { + "uid": "$PROMETHEUS_DS" + }, "description": "User pods that have been running for a long time (>8h).\n\nThis often indicates problems with the idle culler\n", - "fontSize": "100%", "gridPos": { "h": 12, "w": 12, @@ -963,8 +963,6 @@ }, "id": 15, "links": [], - "pageSize": null, - "showHeader": true, "sort": { "col": 2, "desc": true @@ -986,6 +984,9 @@ ], "targets": [ { + "datasource": { + "uid": "$PROMETHEUS_DS" + }, "expr": "(\n time() - (kube_pod_created * on (namespace, pod) kube_pod_labels{label_app=\"jupyterhub\", label_component=\"singleuser-server\" , namespace=~\"$hub\"})\n) > (8 * 60 * 60) # 8 hours is our threshold\n", "format": "time_series", "instant": true, @@ -994,17 +995,16 @@ "refId": "A" } ], - "timeFrom": null, - "timeShift": null, "title": "Very old user pods", "transform": "timeseries_to_rows", - "type": "table" + "type": "table-old" }, { "columns": [], - "datasource": null, + "datasource": { + "uid": "$PROMETHEUS_DS" + }, "description": "User pods using a lot of CPU\n\nThis could indicate a runaway process consuming resources\nunnecessarily.\n", - "fontSize": "100%", "gridPos": { "h": 12, "w": 12, @@ -1013,8 +1013,6 @@ }, "id": 16, "links": [], - "pageSize": null, - "showHeader": true, "sort": { "col": 2, "desc": true @@ -1036,6 +1034,9 @@ ], "targets": [ { + "datasource": { + "uid": "$PROMETHEUS_DS" + }, "expr": "max( # Ideally we just want 'current' value, so max will do\n irate(container_cpu_usage_seconds_total[5m])\n * on (namespace, pod) group_left() kube_pod_labels{label_app=\"jupyterhub\", label_component=\"singleuser-server\" , namespace=~\"$hub\"}\n) by (namespace, pod) > 0.5\n", "format": "time_series", "instant": true, @@ -1044,17 +1045,16 @@ "refId": "A" } ], - "timeFrom": null, - "timeShift": null, "title": "User Pods with high CPU usage (>0.5)", "transform": "timeseries_to_rows", - "type": "table" + "type": "table-old" }, { "columns": [], - "datasource": null, + "datasource": { + "uid": "$PROMETHEUS_DS" + }, "description": "User pods getting close to their memory limit\n\nOnce they hit their memory limit, user kernels will start dying.\n", - "fontSize": "100%", "gridPos": { "h": 12, "w": 12, @@ -1063,8 +1063,6 @@ }, "id": 17, "links": [], - "pageSize": null, - "showHeader": true, "sort": { "col": 2, "desc": true @@ -1086,6 +1084,9 @@ ], "targets": [ { + "datasource": { + "uid": "$PROMETHEUS_DS" + }, "expr": "max( # Ideally we just want 'current', but max will do. This metric is a gauge, so sum is inappropriate\n container_memory_working_set_bytes\n * on (namespace, pod) group_left() kube_pod_labels{label_app=\"jupyterhub\", label_component=\"singleuser-server\" , namespace=~\"$hub\"}\n) by (namespace, pod)\n/\nsum(\n kube_pod_container_resource_limits_memory_bytes\n * on (namespace, pod) group_left() kube_pod_labels{label_app=\"jupyterhub\", label_component=\"singleuser-server\" , namespace=~\"$hub\"}\n) by (namespace, pod)\n> 0.8\n", "format": "time_series", "instant": true, @@ -1094,15 +1095,13 @@ "refId": "A" } ], - "timeFrom": null, - "timeShift": null, "title": "User pods with high memory usage (>80% of limit)", "transform": "timeseries_to_rows", - "type": "table" + "type": "table-old" } ], "refresh": "", - "schemaVersion": 22, + "schemaVersion": 36, "style": "dark", "tags": [ "jupyterhub" @@ -1110,37 +1109,50 @@ "templating": { "list": [ { - "allValue": null, "current": { "selected": true, "tags": [], - "text": "prod", - "value": [ - "prod" - ] + "text": "GESIS", + "value": "GESIS" + }, + "hide": 1, + "includeAll": false, + "multi": false, + "name": "PROMETHEUS_DS", + "options": [], + "query": "prometheus", + "queryValue": "", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "type": "datasource" + }, + { + "current": { + "selected": true, + "tags": [], + "text": "bhub-ns", + "value": "bhub-ns" + }, + "datasource": { + "type": "prometheus", + "uid": "$PROMETHEUS_DS" }, - "datasource": "prometheus", "definition": "", "hide": 0, "includeAll": true, - "index": -1, - "label": null, "multi": true, "name": "hub", - "options": [ - { - "selected": true, - "text": "prod", - "value": "prod" - } - ], - "query": "label_values(kube_service_labels{service=\"hub\"}, namespace)", - "refresh": 0, + "options": [], + "query": { + "query": "label_values(kube_service_labels{service=\"hub\"}, namespace)", + "refId": "GESIS-hub-Variable-Query" + }, + "refresh": 1, "regex": "", "skipUrlSync": false, "sort": 0, "tagValuesQuery": "", - "tags": [], "tagsQuery": "", "type": "query", "useTags": false @@ -1179,31 +1191,46 @@ "timezone": "browser", "title": "JupyterHub Dashboard", "uid": "hub-dashboard", - "variables": { - "list": [] - }, - "version": 8 + "version": 14, + "weekStart": "" }, "meta": { - "canAdmin": true, - "canEdit": true, - "canSave": true, - "canStar": true, + "annotationsPermissions": { + "dashboard": { + "canAdd": true, + "canDelete": true, + "canEdit": true + }, + "organization": { + "canAdd": false, + "canDelete": false, + "canEdit": false + } + }, + "canAdmin": false, + "canDelete": false, + "canEdit": false, + "canSave": false, + "canStar": false, "created": "2021-06-28T08:39:03Z", "createdBy": "Anonymous", "expires": "0001-01-01T00:00:00Z", "folderId": 15, "folderTitle": "JupyterHub Default Dashboards", + "folderUid": "70E5EE84-1217-4021-A89E-1E3DE0566D93", "folderUrl": "/dashboards/f/70E5EE84-1217-4021-A89E-1E3DE0566D93/jupyterhub-default-dashboards", "hasAcl": false, "isFolder": false, "provisioned": false, "provisionedExternalId": "", + "publicDashboardAccessToken": "", + "publicDashboardEnabled": false, + "publicDashboardUid": "", "slug": "jupyterhub-dashboard", "type": "db", - "updated": "2021-06-28T09:56:18Z", + "updated": "2022-09-06T09:45:36Z", "updatedBy": "admin", "url": "/d/hub-dashboard/jupyterhub-dashboard", - "version": 8 + "version": 14 } } \ No newline at end of file diff --git a/grafana-data/dashboards/j6478uAmz.json b/grafana-data/dashboards/j6478uAmz.json index 4e1e81edf..72ab9d8fb 100644 --- a/grafana-data/dashboards/j6478uAmz.json +++ b/grafana-data/dashboards/j6478uAmz.json @@ -303,20 +303,37 @@ "version": 2 }, "meta": { - "canAdmin": true, - "canEdit": true, - "canSave": true, - "canStar": true, + "annotationsPermissions": { + "dashboard": { + "canAdd": true, + "canDelete": true, + "canEdit": true + }, + "organization": { + "canAdd": false, + "canDelete": false, + "canEdit": false + } + }, + "canAdmin": false, + "canDelete": false, + "canEdit": false, + "canSave": false, + "canStar": false, "created": "2020-09-22T09:29:53Z", "createdBy": "admin", "expires": "0001-01-01T00:00:00Z", "folderId": 0, "folderTitle": "General", + "folderUid": "", "folderUrl": "", "hasAcl": false, "isFolder": false, "provisioned": false, "provisionedExternalId": "", + "publicDashboardAccessToken": "", + "publicDashboardEnabled": false, + "publicDashboardUid": "", "slug": "matomo", "type": "db", "updated": "2020-09-22T09:29:59Z", diff --git a/grafana-data/dashboards/nDQPwi7mk.json b/grafana-data/dashboards/nDQPwi7mk.json index 770c4ed94..719572116 100644 --- a/grafana-data/dashboards/nDQPwi7mk.json +++ b/grafana-data/dashboards/nDQPwi7mk.json @@ -5,16 +5,28 @@ { "$$hashKey": "object:10", "builtIn": 1, - "datasource": "-- Grafana --", + "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" }, { "$$hashKey": "object:11", - "datasource": "-- Grafana --", + "datasource": { + "type": "datasource", + "uid": "grafana" + }, "enable": true, "hide": false, "iconColor": "#e5ac0e", @@ -24,11 +36,22 @@ "tags": [ "deployment-start" ], + "target": { + "limit": 100, + "matchAny": false, + "tags": [ + "deployment-start" + ], + "type": "tags" + }, "type": "tags" }, { "$$hashKey": "object:12", - "datasource": "-- Grafana --", + "datasource": { + "type": "datasource", + "uid": "grafana" + }, "enable": true, "hide": false, "iconColor": "rgba(255, 96, 96, 1)", @@ -39,23 +62,39 @@ "tags": [ "ops-log" ], + "target": { + "limit": 100, + "matchAny": true, + "tags": [ + "ops-log" + ], + "type": "tags" + }, "type": "tags" } ] }, "editable": true, - "gnetId": null, + "fiscalYearStartMonth": 0, "graphTooltip": 0, "id": 8, - "iteration": 1622699337607, "links": [], + "liveNow": false, "panels": [ { "aliasColors": {}, "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$cluster", + "datasource": { + "uid": "$cluster" + }, + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, "fill": 1, "fillGradient": 0, "gridPos": { @@ -82,9 +121,10 @@ "links": [], "nullPointMode": "null", "options": { - "dataLinks": [] + "alertThreshold": true }, "percentage": false, + "pluginVersion": "9.0.5", "pointradius": 5, "points": false, "renderer": "flot", @@ -94,6 +134,9 @@ "steppedLine": false, "targets": [ { + "datasource": { + "uid": "$cluster" + }, "expr": "sum(kube_pod_status_phase{pod=~\"user-placeholder.*\"}) by (phase)", "format": "time_series", "intervalFactor": 1, @@ -102,9 +145,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Placeholder pods", "tooltip": { "shared": true, @@ -113,33 +154,24 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, "yaxes": [ { "format": "short", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": true }, { "format": "short", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": true } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } }, { @@ -147,7 +179,15 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$cluster", + "datasource": { + "uid": "$cluster" + }, + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, "fill": 1, "fillGradient": 0, "gridPos": { @@ -172,9 +212,10 @@ "links": [], "nullPointMode": "null", "options": { - "dataLinks": [] + "alertThreshold": true }, "percentage": false, + "pluginVersion": "9.0.5", "pointradius": 5, "points": false, "renderer": "flot", @@ -191,6 +232,9 @@ "steppedLine": false, "targets": [ { + "datasource": { + "uid": "$cluster" + }, "expr": "count(kube_pod_info{pod=~\"jupyter-.*\"}) by (node)", "format": "time_series", "intervalFactor": 2, @@ -198,6 +242,9 @@ "refId": "A" }, { + "datasource": { + "uid": "$cluster" + }, "expr": "avg(count(kube_pod_info{pod=~\"jupyter-.*\"}) by (node))", "format": "time_series", "intervalFactor": 2, @@ -215,9 +262,7 @@ "yaxis": "left" } ], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "User Pods per node", "tooltip": { "shared": true, @@ -226,33 +271,25 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, "yaxes": [ { "format": "short", - "label": null, "logBase": 1, - "max": null, "min": "0", "show": true }, { "format": "short", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": true } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } }, { @@ -260,8 +297,16 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$cluster", + "datasource": { + "uid": "$cluster" + }, "description": "Number of nodes in the user pool.", + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, "fill": 1, "fillGradient": 0, "gridPos": { @@ -286,9 +331,10 @@ "links": [], "nullPointMode": "null", "options": { - "dataLinks": [] + "alertThreshold": true }, "percentage": false, + "pluginVersion": "9.0.5", "pointradius": 5, "points": false, "renderer": "flot", @@ -298,6 +344,9 @@ "steppedLine": false, "targets": [ { + "datasource": { + "uid": "$cluster" + }, "expr": "sum(kube_node_info{node!~\".*-core-.*\"}) ", "format": "time_series", "instant": false, @@ -306,15 +355,16 @@ "refId": "A" }, { + "datasource": { + "uid": "$cluster" + }, "expr": "sum(kube_node_spec_unschedulable)", "legendFormat": "Cordoned", "refId": "B" } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Nodes in the user pool", "tooltip": { "shared": true, @@ -323,9 +373,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -333,24 +381,18 @@ { "decimals": 0, "format": "short", - "label": null, "logBase": 1, - "max": null, "min": "0", "show": true }, { "format": "short", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": true } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } }, { @@ -358,7 +400,15 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$cluster", + "datasource": { + "uid": "$cluster" + }, + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, "fill": 1, "fillGradient": 0, "gridPos": { @@ -383,9 +433,10 @@ "links": [], "nullPointMode": "null", "options": { - "dataLinks": [] + "alertThreshold": true }, "percentage": false, + "pluginVersion": "9.0.5", "pointradius": 5, "points": false, "renderer": "flot", @@ -403,6 +454,9 @@ "steppedLine": false, "targets": [ { + "datasource": { + "uid": "$cluster" + }, "expr": "count(kube_pod_info{pod=~\"build-.*\"}) by (node)", "format": "time_series", "intervalFactor": 2, @@ -410,6 +464,9 @@ "refId": "A" }, { + "datasource": { + "uid": "$cluster" + }, "expr": "count(kube_pod_info{pod=~\"build-.*\"})", "format": "time_series", "intervalFactor": 2, @@ -427,9 +484,7 @@ "yaxis": "left" } ], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Build pods per node", "tooltip": { "shared": false, @@ -438,9 +493,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -448,24 +501,18 @@ { "decimals": 0, "format": "short", - "label": null, "logBase": 1, - "max": null, "min": "0", "show": true }, { "format": "short", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": true } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } }, { @@ -473,7 +520,16 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$cluster", + "datasource": { + "type": "prometheus", + "uid": "$cluster" + }, + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, "fill": 3, "fillGradient": 0, "gridPos": { @@ -498,14 +554,16 @@ "links": [], "nullPointMode": "null", "options": { - "dataLinks": [] + "alertThreshold": true }, "percentage": false, + "pluginVersion": "9.0.5", "pointradius": 5, "points": false, "renderer": "flot", "seriesOverrides": [ { + "$$hashKey": "object:212", "alias": "Total", "linewidth": 2 } @@ -515,14 +573,20 @@ "steppedLine": false, "targets": [ { - "expr": "sum(increase(kubelet_docker_operations{operation_type=\"pull_image\"}[5m]) )", + "datasource": { + "uid": "$cluster" + }, + "expr": "sum(increase(kubelet_runtime_operations_total{operation_type=\"pull_image\"}[5m]) )", "format": "time_series", "intervalFactor": 1, "legendFormat": "Total", "refId": "B" }, { - "expr": "increase(kubelet_docker_operations{operation_type=\"pull_image\"}[5m])", + "datasource": { + "uid": "$cluster" + }, + "expr": "increase(kubelet_runtime_operations_total{operation_type=\"pull_image\"}[5m])", "format": "time_series", "intervalFactor": 2, "legendFormat": "{{kubernetes_io_hostname}}", @@ -530,9 +594,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Docker Image Pulls (5m)", "tooltip": { "shared": true, @@ -541,33 +603,27 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, "yaxes": [ { + "$$hashKey": "object:219", "format": "short", - "label": null, "logBase": 1, - "max": null, "min": "0", "show": true }, { + "$$hashKey": "object:220", "format": "short", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": true } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } }, { @@ -575,8 +631,17 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$cluster", + "datasource": { + "type": "prometheus", + "uid": "$cluster" + }, "description": "Total amount of disk space available on the node. A reading of 0 would be \"out of disk space\". A sharp increase toward the top of the chart indicates that Kubernetes has cleaned up disk space.", + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, "fill": 0, "fillGradient": 0, "gridPos": { @@ -601,9 +666,10 @@ "links": [], "nullPointMode": "null", "options": { - "dataLinks": [] + "alertThreshold": true }, "percentage": false, + "pluginVersion": "9.0.5", "pointradius": 5, "points": false, "renderer": "flot", @@ -613,18 +679,21 @@ "steppedLine": false, "targets": [ { - "expr": "node_filesystem_avail_bytes{mountpoint=\"/etc/hostname\"} * on(instance) group_left(nodename) node_uname_info", + "datasource": { + "uid": "$cluster" + }, + "editorMode": "code", + "expr": "node_filesystem_avail_bytes{mountpoint=\"/home\"}", "format": "time_series", "interval": "", "intervalFactor": 2, - "legendFormat": "{{nodename}}", + "legendFormat": "{{ node }}", + "range": true, "refId": "A" } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "DiskAvailable on Nodes", "tooltip": { "shared": true, @@ -633,33 +702,28 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, "yaxes": [ { + "$$hashKey": "object:273", "format": "decbytes", "label": "Available disk space", "logBase": 1, - "max": null, "min": "0", "show": true }, { + "$$hashKey": "object:274", "format": "short", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": true } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } }, { @@ -667,7 +731,15 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$cluster", + "datasource": { + "uid": "$cluster" + }, + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, "fill": 0, "fillGradient": 0, "gridPos": { @@ -692,9 +764,10 @@ "links": [], "nullPointMode": "null", "options": { - "dataLinks": [] + "alertThreshold": true }, "percentage": false, + "pluginVersion": "9.0.5", "pointradius": 5, "points": false, "renderer": "flot", @@ -704,6 +777,9 @@ "steppedLine": false, "targets": [ { + "datasource": { + "uid": "$cluster" + }, "expr": "node_memory_MemAvailable_bytes * on(instance) group_left(nodename) node_uname_info", "format": "time_series", "interval": "", @@ -713,9 +789,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "MemAvailable on Nodes", "tooltip": { "shared": true, @@ -724,132 +798,135 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, "yaxes": [ { "format": "decbytes", - "label": null, "logBase": 1, - "max": null, "min": "0", "show": true }, { "format": "short", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": true } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } }, { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "$cluster", - "fill": 1, - "fillGradient": 0, + "datasource": { + "type": "prometheus", + "uid": "$cluster" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": 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 + } + ] + } + }, + "overrides": [] + }, "gridPos": { "h": 7, "w": 12, "x": 12, "y": 18 }, - "hiddenSeries": false, "id": 28, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, "links": [], - "nullPointMode": "null", "options": { - "dataLinks": [] + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "single", + "sort": "none" + } }, - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, + "pluginVersion": "9.0.5", "targets": [ { - "expr": "kubelet_docker_operations_latency_microseconds{quantile=\"0.9\", operation_type=\"pull_image\"}", + "datasource": { + "uid": "$cluster" + }, + "editorMode": "code", + "expr": "histogram_quantile(0.9, rate(kubelet_runtime_operations_duration_seconds_bucket{operation_type=\"pull_image\"}[10m]))", "format": "time_series", "interval": "", "intervalFactor": 2, - "legendFormat": "{{kubernetes_io_hostname}}", + "legendFormat": "{{ kubernetes_io_hostname }}", + "range": true, "refId": "A" } ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, "title": "Image pulling latency (90th percentile)", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "\u00b5s", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } + "type": "timeseries" }, { "aliasColors": {}, "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$cluster", + "datasource": { + "type": "prometheus", + "uid": "$cluster" + }, + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, "fill": 1, "fillGradient": 0, "gridPos": { @@ -874,9 +951,10 @@ "links": [], "nullPointMode": "null", "options": { - "dataLinks": [] + "alertThreshold": true }, "percentage": false, + "pluginVersion": "9.0.5", "pointradius": 5, "points": false, "renderer": "flot", @@ -886,7 +964,10 @@ "steppedLine": false, "targets": [ { - "expr": "rate(kubelet_pod_start_latency_microseconds_sum[2m])", + "datasource": { + "uid": "$cluster" + }, + "expr": "rate(kubelet_pod_start_duration_seconds_sum[2m])", "format": "time_series", "intervalFactor": 2, "legendFormat": "{{kubernetes_io_hostname}}", @@ -894,9 +975,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Pod Start Latency", "tooltip": { "shared": true, @@ -905,33 +984,26 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, "yaxes": [ { - "format": "\u00b5s", - "label": null, + "$$hashKey": "object:153", + "format": "s", "logBase": 1, - "max": null, - "min": null, "show": true }, { + "$$hashKey": "object:154", "format": "short", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": true } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } }, { @@ -939,7 +1011,15 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$cluster", + "datasource": { + "uid": "$cluster" + }, + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, "fill": 1, "fillGradient": 0, "gridPos": { @@ -964,9 +1044,10 @@ "links": [], "nullPointMode": "null", "options": { - "dataLinks": [] + "alertThreshold": true }, "percentage": false, + "pluginVersion": "9.0.5", "pointradius": 5, "points": false, "renderer": "flot", @@ -976,6 +1057,9 @@ "steppedLine": false, "targets": [ { + "datasource": { + "uid": "$cluster" + }, "expr": "kube_node_spec_unschedulable", "format": "time_series", "intervalFactor": 1, @@ -984,9 +1068,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Cordoned Nodes", "tooltip": { "shared": true, @@ -995,33 +1077,25 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, "yaxes": [ { "format": "short", - "label": null, "logBase": 1, - "max": null, "min": "0", "show": true }, { "format": "short", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": true } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } }, { @@ -1029,7 +1103,16 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$cluster", + "datasource": { + "type": "prometheus", + "uid": "$cluster" + }, + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, "fill": 1, "fillGradient": 0, "gridPos": { @@ -1038,6 +1121,7 @@ "x": 0, "y": 31 }, + "hiddenSeries": false, "id": 30, "legend": { "avg": false, @@ -1053,9 +1137,10 @@ "links": [], "nullPointMode": "null", "options": { - "dataLinks": [] + "alertThreshold": true }, "percentage": false, + "pluginVersion": "9.0.5", "pointradius": 5, "points": false, "renderer": "flot", @@ -1065,7 +1150,10 @@ "steppedLine": false, "targets": [ { - "expr": "sum(kube_pod_container_resource_requests_memory_bytes and on (pod) (kube_pod_container_status_ready)) by (node)", + "datasource": { + "uid": "$cluster" + }, + "expr": "sum(kube_pod_container_resource_requests{resource=\"memory\"} and on (pod) (kube_pod_container_status_ready)) by (node)", "format": "time_series", "interval": "", "intervalFactor": 2, @@ -1074,9 +1162,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Requested memory", "tooltip": { "shared": true, @@ -1085,33 +1171,25 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, "yaxes": [ { "format": "bytes", - "label": null, "logBase": 1, - "max": null, "min": "0", "show": true }, { "format": "short", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": true } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } }, { @@ -1119,7 +1197,15 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$cluster", + "datasource": { + "uid": "$cluster" + }, + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, "fill": 1, "fillGradient": 0, "gridPos": { @@ -1128,6 +1214,7 @@ "x": 12, "y": 34 }, + "hiddenSeries": false, "id": 34, "legend": { "avg": false, @@ -1143,9 +1230,10 @@ "links": [], "nullPointMode": "null", "options": { - "dataLinks": [] + "alertThreshold": true }, "percentage": false, + "pluginVersion": "9.0.5", "pointradius": 5, "points": false, "renderer": "flot", @@ -1155,6 +1243,9 @@ "steppedLine": false, "targets": [ { + "datasource": { + "uid": "$cluster" + }, "expr": "sum(increase(binderhub_launch_time_seconds_count{status=\"success\"}[5m])) / sum(increase(binderhub_launch_time_seconds_count{status!=\"retry\"}[5m]))", "format": "time_series", "intervalFactor": 1, @@ -1162,6 +1253,9 @@ "refId": "A" }, { + "datasource": { + "uid": "$cluster" + }, "expr": "sum(increase(binderhub_launch_time_seconds_count{status=\"success\",retries=\"0\"}[5m])) / sum(increase(binderhub_launch_time_seconds_count{status!=\"retry\"}[5m]))", "format": "time_series", "intervalFactor": 1, @@ -1170,9 +1264,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Launch success %", "tooltip": { "shared": true, @@ -1181,9 +1273,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -1191,7 +1281,6 @@ { "decimals": 0, "format": "percentunit", - "label": null, "logBase": 1, "max": "1.05", "min": "0", @@ -1199,16 +1288,12 @@ }, { "format": "short", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": true } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } }, { @@ -1216,8 +1301,17 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$cluster", + "datasource": { + "type": "prometheus", + "uid": "$cluster" + }, "description": "CPU 5-minute load average per core on each node (nodes sustained above 1 are overloaded)", + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, "fill": 1, "fillGradient": 0, "gridPos": { @@ -1226,6 +1320,7 @@ "x": 0, "y": 38 }, + "hiddenSeries": false, "id": 38, "legend": { "avg": false, @@ -1241,9 +1336,10 @@ "links": [], "nullPointMode": "null", "options": { - "dataLinks": [] + "alertThreshold": true }, "percentage": false, + "pluginVersion": "10.1.5", "pointradius": 5, "points": false, "renderer": "flot", @@ -1253,17 +1349,20 @@ "steppedLine": false, "targets": [ { - "expr": "node_load5 / on(kubernetes_node) group_left label_replace(kube_node_status_capacity_cpu_cores, \"kubernetes_node\", \"$1\", \"node\", \"(.*)\")", + "datasource": { + "uid": "$cluster" + }, + "editorMode": "code", + "expr": "node_load5 / on(node) group_left sum(kube_node_status_capacity{resource=\"cpu\"}) by (node)", "format": "time_series", "intervalFactor": 4, - "legendFormat": "{{kubernetes_node}}", + "legendFormat": "{{node}}", + "range": true, "refId": "A" } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "CPU Load5 per core on each node", "tooltip": { "shared": true, @@ -1272,33 +1371,24 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, "yaxes": [ { "format": "short", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": true }, { "format": "short", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": true } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } }, { @@ -1306,7 +1396,15 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$cluster", + "datasource": { + "uid": "$cluster" + }, + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, "fill": 0, "fillGradient": 0, "gridPos": { @@ -1315,6 +1413,7 @@ "x": 0, "y": 44 }, + "hiddenSeries": false, "id": 32, "legend": { "avg": false, @@ -1330,9 +1429,10 @@ "links": [], "nullPointMode": "null", "options": { - "dataLinks": [] + "alertThreshold": true }, "percentage": false, + "pluginVersion": "9.0.5", "pointradius": 5, "points": false, "renderer": "flot", @@ -1342,6 +1442,9 @@ "steppedLine": false, "targets": [ { + "datasource": { + "uid": "$cluster" + }, "expr": "avg((time() - kube_node_created) / 60 / 60 / 24) by (node)", "format": "time_series", "intervalFactor": 2, @@ -1350,9 +1453,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Node Age (days)", "tooltip": { "shared": true, @@ -1361,38 +1462,30 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, "yaxes": [ { "format": "short", - "label": null, "logBase": 1, - "max": null, "min": "0", "show": true }, { "format": "short", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": true } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } } ], - "refresh": false, - "schemaVersion": 22, + "refresh": "", + "schemaVersion": 38, "style": "dark", "tags": [], "templating": { @@ -1405,7 +1498,6 @@ }, "hide": 0, "includeAll": false, - "label": null, "multi": false, "name": "cluster", "options": [], @@ -1449,31 +1541,46 @@ "timezone": "", "title": "Node Activity", "uid": "nDQPwi7mk", - "variables": { - "list": [] - }, - "version": 5 + "version": 8, + "weekStart": "" }, "meta": { - "canAdmin": true, - "canEdit": true, - "canSave": true, - "canStar": true, + "annotationsPermissions": { + "dashboard": { + "canAdd": true, + "canDelete": true, + "canEdit": true + }, + "organization": { + "canAdd": false, + "canDelete": false, + "canEdit": false + } + }, + "canAdmin": false, + "canDelete": false, + "canEdit": false, + "canSave": false, + "canStar": false, "created": "2020-09-22T09:29:52Z", "createdBy": "admin", "expires": "0001-01-01T00:00:00Z", "folderId": 0, "folderTitle": "General", + "folderUid": "", "folderUrl": "", "hasAcl": false, "isFolder": false, "provisioned": false, "provisionedExternalId": "", + "publicDashboardAccessToken": "", + "publicDashboardEnabled": false, + "publicDashboardUid": "", "slug": "node-activity", "type": "db", - "updated": "2021-06-03T05:49:06Z", + "updated": "2023-11-13T11:50:34Z", "updatedBy": "admin", "url": "/d/nDQPwi7mk/node-activity", - "version": 5 + "version": 8 } } \ No newline at end of file diff --git a/grafana-data/dashboards/nginx.json b/grafana-data/dashboards/nginx.json index ba6d083a1..2ac8e8cfa 100644 --- a/grafana-data/dashboards/nginx.json +++ b/grafana-data/dashboards/nginx.json @@ -1467,20 +1467,37 @@ "version": 2 }, "meta": { - "canAdmin": true, - "canEdit": true, - "canSave": true, - "canStar": true, + "annotationsPermissions": { + "dashboard": { + "canAdd": true, + "canDelete": true, + "canEdit": true + }, + "organization": { + "canAdd": false, + "canDelete": false, + "canEdit": false + } + }, + "canAdmin": false, + "canDelete": false, + "canEdit": false, + "canSave": false, + "canStar": false, "created": "2020-11-02T08:31:21Z", "createdBy": "admin", "expires": "0001-01-01T00:00:00Z", "folderId": 0, "folderTitle": "General", + "folderUid": "", "folderUrl": "", "hasAcl": false, "isFolder": false, "provisioned": false, "provisionedExternalId": "", + "publicDashboardAccessToken": "", + "publicDashboardEnabled": false, + "publicDashboardUid": "", "slug": "nginx-ingress-controller", "type": "db", "updated": "2020-11-02T08:33:16Z", diff --git a/grafana-data/dashboards/usage-dashboard.json b/grafana-data/dashboards/usage-dashboard.json index 0bd736a43..07c5f4e84 100644 --- a/grafana-data/dashboards/usage-dashboard.json +++ b/grafana-data/dashboards/usage-dashboard.json @@ -17,7 +17,7 @@ "bars": true, "dashLength": 10, "dashes": false, - "datasource": null, + "datasource": "$PROMETHEUS_DS", "fill": 1, "fillGradient": 0, "gridPos": { @@ -103,7 +103,7 @@ "bars": true, "dashLength": 10, "dashes": false, - "datasource": null, + "datasource": "$PROMETHEUS_DS", "fill": 1, "fillGradient": 0, "gridPos": { @@ -189,7 +189,7 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": null, + "datasource": "$PROMETHEUS_DS", "fill": 1, "fillGradient": 0, "gridPos": { @@ -278,7 +278,39 @@ "jupyterhub" ], "templating": { - "list": [] + "list": [ + { + "current": { + "text": {}, + "value": {} + }, + "hide": 1, + "label": null, + "name": "PROMETHEUS_DS", + "options": [ + { + "text": "GESIS", + "value": "GESIS" + }, + { + "text": "OVH", + "value": "OVH" + }, + { + "text": "prometheus", + "value": "prometheus" + }, + { + "text": "Turing", + "value": "Turing" + } + ], + "query": "prometheus", + "refresh": 1, + "regex": "", + "type": "datasource" + } + ] }, "time": { "from": "now-30d", @@ -312,28 +344,45 @@ "timezone": "browser", "title": "Usage Dashboard", "uid": "usage-dashboard", - "version": 5 + "version": 8 }, "meta": { - "canAdmin": true, - "canEdit": true, - "canSave": true, - "canStar": true, + "annotationsPermissions": { + "dashboard": { + "canAdd": true, + "canDelete": true, + "canEdit": true + }, + "organization": { + "canAdd": false, + "canDelete": false, + "canEdit": false + } + }, + "canAdmin": false, + "canDelete": false, + "canEdit": false, + "canSave": false, + "canStar": false, "created": "2021-06-28T08:38:59Z", "createdBy": "Anonymous", "expires": "0001-01-01T00:00:00Z", "folderId": 15, "folderTitle": "JupyterHub Default Dashboards", + "folderUid": "70E5EE84-1217-4021-A89E-1E3DE0566D93", "folderUrl": "/dashboards/f/70E5EE84-1217-4021-A89E-1E3DE0566D93/jupyterhub-default-dashboards", "hasAcl": false, "isFolder": false, "provisioned": false, "provisionedExternalId": "", + "publicDashboardAccessToken": "", + "publicDashboardEnabled": false, + "publicDashboardUid": "", "slug": "usage-dashboard", "type": "db", - "updated": "2021-06-28T09:54:55Z", + "updated": "2022-06-17T08:01:17Z", "updatedBy": "Anonymous", "url": "/d/usage-dashboard/usage-dashboard", - "version": 5 + "version": 8 } } \ No newline at end of file diff --git a/grafana-data/dashboards/usage-report.json b/grafana-data/dashboards/usage-report.json new file mode 100644 index 000000000..5b31f3463 --- /dev/null +++ b/grafana-data/dashboards/usage-report.json @@ -0,0 +1,303 @@ +{ + "dashboard": { + "__inputs": [], + "__requires": [], + "annotations": { + "list": [] + }, + "editable": true, + "gnetId": null, + "graphTooltip": 0, + "hideControls": false, + "id": 20, + "links": [], + "panels": [ + { + "datasource": "$PROMETHEUS_DS", + "fieldConfig": { + "defaults": { + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": 0 + } + ] + }, + "unit": "bytes" + } + }, + "gridPos": { + "h": 10, + "w": 25, + "x": 0, + "y": 0 + }, + "id": 2, + "targets": [ + { + "expr": "kube_pod_labels{\n label_app=\"jupyterhub\",\n label_component=\"singleuser-server\",\n namespace=~\"$hub\"\n}\n* on (namespace, pod) group_left()\nsum(\n container_memory_working_set_bytes{\n namespace=~\"$hub\",\n container=\"notebook\",\n hub_jupyter_org_node_purpose=\"user\",\n name!=\"\",\n }\n) by (namespace, pod)\n", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "{{label_hub_jupyter_org_username}} ({{namespace}})", + "refId": "A" + } + ], + "title": "User pod memory usage", + "type": "bargauge" + }, + { + "datasource": "$PROMETHEUS_DS", + "fieldConfig": { + "defaults": { + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": 0 + } + ] + }, + "unit": "bytes" + } + }, + "gridPos": { + "h": 10, + "w": 25, + "x": 1, + "y": 10 + }, + "id": 3, + "targets": [ + { + "expr": "sum(\n kube_pod_labels{\n namespace=~\"$hub\",\n label_app_kubernetes_io_component=\"dask-worker\",\n }\n * on (namespace, pod) group_left()\n sum(\n container_memory_working_set_bytes{\n namespace=~\"$hub\",\n container=\"dask-worker\",\n k8s_dask_org_node_purpose=\"worker\",\n name!=\"\",\n }\n ) by (namespace, pod)\n) by (label_hub_jupyter_org_username, label_gateway_dask_org_cluster)\n", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "{{label_hub_jupyter_org_username}}-{{label_gateway_dask_org_cluster}}", + "refId": "A" + } + ], + "title": "Dask-gateway worker pod memory usage", + "type": "bargauge" + }, + { + "datasource": "$PROMETHEUS_DS", + "fieldConfig": { + "defaults": { + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": 0 + } + ] + }, + "unit": "bytes" + } + }, + "gridPos": { + "h": 10, + "w": 25, + "x": 2, + "y": 20 + }, + "id": 4, + "targets": [ + { + "expr": "sum(\n kube_pod_labels{\n namespace=~\"$hub\",\n label_app_kubernetes_io_component=\"dask-scheduler\",\n }\n * on (namespace, pod) group_left()\n sum(\n container_memory_working_set_bytes{\n namespace=~\"$hub\",\n container=\"dask-scheduler\",\n k8s_dask_org_node_purpose=\"scheduler\",\n name!=\"\",\n }\n ) by (namespace, pod)\n) by (label_hub_jupyter_org_username, label_gateway_dask_org_cluster)\n", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "{{label_hub_jupyter_org_username}}-{{label_gateway_dask_org_cluster}}", + "refId": "A" + } + ], + "title": "Dask-gateway scheduler pod memory usage", + "type": "bargauge" + }, + { + "datasource": "$PROMETHEUS_DS", + "fieldConfig": { + "defaults": { + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": 0 + } + ] + }, + "unit": "bytes" + } + }, + "gridPos": { + "h": 10, + "w": 25, + "x": 3, + "y": 30 + }, + "id": 5, + "targets": [ + { + "expr": "kube_pod_labels{\n label_app=\"jupyterhub\",\n label_component=\"singleuser-server\",\n namespace=~\"$hub\"\n}\n* on (namespace, pod) group_left()\nsum(\n container_memory_working_set_bytes{\n namespace=~\"$hub\",\n container=\"notebook\",\n hub_jupyter_org_node_purpose=\"user\",\n cloud_google_com_gke_nodepool=\"nb-gpu-k80\",\n cloud_google_com_gke_accelerator=\"nvidia-tesla-k80\",\n name!=\"\",\n }\n) by (namespace, pod)\n", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "{{label_hub_jupyter_org_username}}-{{label_gateway_dask_org_cluster}}", + "refId": "A" + } + ], + "title": "GPU pod memory usage", + "type": "bargauge" + } + ], + "refresh": "", + "rows": [], + "schemaVersion": 14, + "style": "dark", + "tags": [ + "jupyterhub", + "dask" + ], + "templating": { + "list": [ + { + "current": { + "text": {}, + "value": {} + }, + "hide": 1, + "label": null, + "name": "PROMETHEUS_DS", + "options": [ + { + "text": "GESIS", + "value": "GESIS" + }, + { + "text": "OVH", + "value": "OVH" + }, + { + "text": "prometheus", + "value": "prometheus" + }, + { + "text": "Turing", + "value": "Turing" + } + ], + "query": "prometheus", + "refresh": 1, + "regex": "", + "type": "datasource" + }, + { + "allValue": null, + "current": { + "selected": true, + "tags": [], + "text": "bhub-ns", + "value": "bhub-ns" + }, + "datasource": "$PROMETHEUS_DS", + "hide": 0, + "includeAll": true, + "label": null, + "multi": false, + "name": "hub", + "options": [ + { + "selected": true, + "text": "bhub-ns", + "value": "bhub-ns" + } + ], + "query": "label_values(kube_service_labels{service=\"hub\"}, namespace)", + "refresh": 0, + "regex": "", + "sort": 0, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + } + ] + }, + "time": { + "from": "now-6h", + "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": "browser", + "title": "Usage Report", + "uid": "usage-report", + "version": 1 + }, + "meta": { + "annotationsPermissions": { + "dashboard": { + "canAdd": true, + "canDelete": true, + "canEdit": true + }, + "organization": { + "canAdd": false, + "canDelete": false, + "canEdit": false + } + }, + "canAdmin": false, + "canDelete": false, + "canEdit": false, + "canSave": false, + "canStar": false, + "created": "2022-06-17T08:01:19Z", + "createdBy": "Anonymous", + "expires": "0001-01-01T00:00:00Z", + "folderId": 15, + "folderTitle": "JupyterHub Default Dashboards", + "folderUid": "70E5EE84-1217-4021-A89E-1E3DE0566D93", + "folderUrl": "/dashboards/f/70E5EE84-1217-4021-A89E-1E3DE0566D93/jupyterhub-default-dashboards", + "hasAcl": false, + "isFolder": false, + "provisioned": false, + "provisionedExternalId": "", + "publicDashboardAccessToken": "", + "publicDashboardEnabled": false, + "publicDashboardUid": "", + "slug": "usage-report", + "type": "db", + "updated": "2022-06-17T08:01:19Z", + "updatedBy": "Anonymous", + "url": "/d/usage-report/usage-report", + "version": 1 + } +} \ No newline at end of file diff --git a/grafana-data/dashboards/yHbLiujnk.json b/grafana-data/dashboards/yHbLiujnk.json new file mode 100644 index 000000000..8dd9d43d0 --- /dev/null +++ b/grafana-data/dashboards/yHbLiujnk.json @@ -0,0 +1,1137 @@ +{ + "dashboard": { + "__inputs": [], + "__requires": [], + "annotations": { + "list": [] + }, + "editable": true, + "gnetId": null, + "graphTooltip": 0, + "hideControls": false, + "id": 19, + "links": [], + "panels": [ + { + "collapse": false, + "collapsed": false, + "gridPos": { + "h": 10, + "w": 12, + "x": 0, + "y": 0 + }, + "id": 2, + "panels": [], + "repeat": null, + "repeatIteration": null, + "repeatRowId": null, + "showTitle": true, + "title": "NFS diagnostics", + "titleSize": "h6", + "type": "row" + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "$PROMETHEUS_DS", + "decimals": 0, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 10, + "w": 12, + "x": 0, + "y": 10 + }, + "id": 3, + "legend": { + "alignAsTable": false, + "avg": false, + "current": false, + "max": false, + "min": false, + "rightSide": false, + "show": true, + "sideWidth": null, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "repeat": null, + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(rate(node_nfs_requests_total[5m])) by (node) > 0", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "{{ node }}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "User Nodes NFS Ops", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "decimals": 0, + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "decimals": 0, + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": true + } + ] + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "$PROMETHEUS_DS", + "decimals": 0, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 10, + "w": 12, + "x": 12, + "y": 20 + }, + "id": 4, + "legend": { + "alignAsTable": false, + "avg": false, + "current": false, + "max": false, + "min": false, + "rightSide": false, + "show": true, + "sideWidth": null, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "repeat": null, + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(rate(node_nfs_requests_total[5m])) by (node)", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "{{ node }}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "iowait % on each node", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "decimals": 0, + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "decimals": 0, + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": true + } + ] + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "$PROMETHEUS_DS", + "decimals": 0, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 10, + "w": 12, + "x": 0, + "y": 30 + }, + "id": 5, + "legend": { + "alignAsTable": false, + "avg": false, + "current": false, + "max": false, + "min": false, + "rightSide": false, + "show": true, + "sideWidth": null, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "repeat": null, + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(rate(node_nfs_requests_total[5m])) by (method) > 0", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "{{method}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "NFS Operation Types on user nodes", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "decimals": 0, + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "decimals": 0, + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": true + } + ] + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "$PROMETHEUS_DS", + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 10, + "w": 12, + "x": 12, + "y": 40 + }, + "id": 6, + "legend": { + "alignAsTable": false, + "avg": false, + "current": false, + "max": false, + "min": false, + "rightSide": false, + "show": true, + "sideWidth": null, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "repeat": null, + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "avg(rate(node_cpu_seconds_total{job=\"prometheus-nfsd-server\", mode!=\"idle\"}[2m])) by (mode)", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "{{mode}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "NFS Server CPU", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": true + } + ] + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "$PROMETHEUS_DS", + "decimals": 0, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 10, + "w": 12, + "x": 0, + "y": 50 + }, + "id": 7, + "legend": { + "alignAsTable": false, + "avg": false, + "current": false, + "max": false, + "min": false, + "rightSide": false, + "show": true, + "sideWidth": null, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "repeat": null, + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(rate(node_nfsd_disk_bytes_read_total[5m]))", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "Read", + "refId": "A" + }, + { + "expr": "sum(rate(node_nfsd_disk_bytes_written_total[5m]))", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "Write", + "refId": "B" + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "NFS Server Disk ops", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "decimals": 0, + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "decimals": 0, + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": true + } + ] + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "$PROMETHEUS_DS", + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 10, + "w": 12, + "x": 12, + "y": 60 + }, + "id": 8, + "legend": { + "alignAsTable": false, + "avg": false, + "current": false, + "max": false, + "min": false, + "rightSide": false, + "show": true, + "sideWidth": null, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "repeat": null, + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(rate(node_disk_write_time_seconds_total{job=\"prometheus-nfsd-server\"}[5m])) by (device) / sum(rate(node_disk_writes_completed_total{job=\"prometheus-nfsd-server\"}[5m])) by (device)", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "{{device}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "NFS Server disk write latency", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": true + } + ] + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "$PROMETHEUS_DS", + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 10, + "w": 12, + "x": 0, + "y": 70 + }, + "id": 9, + "legend": { + "alignAsTable": false, + "avg": false, + "current": false, + "max": false, + "min": false, + "rightSide": false, + "show": true, + "sideWidth": null, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "repeat": null, + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(rate(node_disk_read_time_seconds_total{job=\"prometheus-nfsd-server\"}[5m])) by (device) / sum(rate(node_disk_reads_completed_total{job=\"prometheus-nfsd-server\"}[5m])) by (device)", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "{{device}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "NFS Server disk read latency", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": true + } + ] + }, + { + "collapse": false, + "collapsed": false, + "gridPos": { + "h": 10, + "w": 12, + "x": 12, + "y": 80 + }, + "id": 10, + "panels": [], + "repeat": null, + "repeatIteration": null, + "repeatRowId": null, + "showTitle": true, + "title": "Support system diagnostics", + "titleSize": "h6", + "type": "row" + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "$PROMETHEUS_DS", + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 10, + "w": 12, + "x": 0, + "y": 90 + }, + "id": 11, + "legend": { + "alignAsTable": false, + "avg": false, + "current": false, + "max": false, + "min": false, + "rightSide": false, + "show": true, + "sideWidth": null, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "repeat": null, + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(rate(container_cpu_usage_seconds_total{pod=~\"support-prometheus-server-.*\",namespace=\"support\"}[5m]))", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "Prometheus CPU", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": true + } + ] + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "$PROMETHEUS_DS", + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 10, + "w": 12, + "x": 12, + "y": 100 + }, + "id": 12, + "legend": { + "alignAsTable": false, + "avg": false, + "current": false, + "max": false, + "min": false, + "rightSide": false, + "show": true, + "sideWidth": null, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "repeat": null, + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(container_memory_working_set_bytes{pod=~\"support-prometheus-server-.*\", namespace=\"support\"})", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "Prometheus Memory (Working Set)", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "bytes", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": true + } + ] + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "$PROMETHEUS_DS", + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 10, + "w": 12, + "x": 0, + "y": 110 + }, + "id": 13, + "legend": { + "alignAsTable": false, + "avg": false, + "current": false, + "max": false, + "min": false, + "rightSide": false, + "show": true, + "sideWidth": null, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "repeat": null, + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(kubelet_volume_stats_available_bytes{namespace=\"support\",persistentvolumeclaim=\"support-prometheus-server\"})", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "Prometheus Free Disk space", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "bytes", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": true + } + ] + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "$PROMETHEUS_DS", + "decimals": 0, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 10, + "w": 12, + "x": 12, + "y": 120 + }, + "id": 14, + "legend": { + "alignAsTable": false, + "avg": false, + "current": false, + "max": false, + "min": false, + "rightSide": false, + "show": true, + "sideWidth": null, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "repeat": null, + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(rate(container_network_receive_bytes_total{pod=~\"support-prometheus-server-.*\",namespace=\"support\"}[5m]))", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "receive", + "refId": "A" + }, + { + "expr": "sum(rate(container_network_send_bytes_total{pod=~\"support-prometheus-server-.*\",namespace=\"support\"}[5m]))", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "send", + "refId": "B" + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "Prometheus Network Usage", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "decimals": 0, + "format": "bytes", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "decimals": 0, + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": true + } + ] + } + ], + "refresh": "", + "rows": [], + "schemaVersion": 14, + "style": "dark", + "tags": [ + "support", + "kubernetes" + ], + "templating": { + "list": [ + { + "current": { + "selected": true, + "tags": [], + "text": "GESIS", + "value": "GESIS" + }, + "hide": 1, + "label": null, + "name": "PROMETHEUS_DS", + "options": [ + { + "selected": true, + "text": "GESIS", + "value": "GESIS" + }, + { + "text": "OVH", + "value": "OVH" + }, + { + "text": "prometheus", + "value": "prometheus" + }, + { + "text": "Turing", + "value": "Turing" + } + ], + "query": "prometheus", + "refresh": 1, + "regex": "", + "type": "datasource" + } + ] + }, + "time": { + "from": "now-6h", + "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": "browser", + "title": "NFS and Support Information", + "uid": "yHbLiujnk", + "version": 3 + }, + "meta": { + "annotationsPermissions": { + "dashboard": { + "canAdd": true, + "canDelete": true, + "canEdit": true + }, + "organization": { + "canAdd": false, + "canDelete": false, + "canEdit": false + } + }, + "canAdmin": false, + "canDelete": false, + "canEdit": false, + "canSave": false, + "canStar": false, + "created": "2022-06-17T07:52:58Z", + "createdBy": "Anonymous", + "expires": "0001-01-01T00:00:00Z", + "folderId": 15, + "folderTitle": "JupyterHub Default Dashboards", + "folderUid": "70E5EE84-1217-4021-A89E-1E3DE0566D93", + "folderUrl": "/dashboards/f/70E5EE84-1217-4021-A89E-1E3DE0566D93/jupyterhub-default-dashboards", + "hasAcl": false, + "isFolder": false, + "provisioned": false, + "provisionedExternalId": "", + "publicDashboardAccessToken": "", + "publicDashboardEnabled": false, + "publicDashboardUid": "", + "slug": "nfs-and-support-information", + "type": "db", + "updated": "2022-06-17T08:01:22Z", + "updatedBy": "Anonymous", + "url": "/d/yHbLiujnk/nfs-and-support-information", + "version": 3 + } +} \ No newline at end of file diff --git a/grafana-data/dashboards/ygtPwi7ik.json b/grafana-data/dashboards/ygtPwi7ik.json index 0c70614e9..f146f1f46 100644 --- a/grafana-data/dashboards/ygtPwi7ik.json +++ b/grafana-data/dashboards/ygtPwi7ik.json @@ -5,16 +5,28 @@ { "$$hashKey": "object:465", "builtIn": 1, - "datasource": "-- Grafana --", + "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" }, { "$$hashKey": "object:466", - "datasource": "-- Grafana --", + "datasource": { + "type": "datasource", + "uid": "grafana" + }, "enable": true, "hide": false, "iconColor": "#e5ac0e", @@ -24,11 +36,22 @@ "tags": [ "deployment-start" ], + "target": { + "limit": 100, + "matchAny": false, + "tags": [ + "deployment-start" + ], + "type": "tags" + }, "type": "tags" }, { "$$hashKey": "object:467", - "datasource": "-- Grafana --", + "datasource": { + "type": "datasource", + "uid": "grafana" + }, "enable": true, "hide": false, "iconColor": "rgba(255, 96, 96, 1)", @@ -38,23 +61,40 @@ "tags": [ "operations log" ], + "target": { + "limit": 100, + "matchAny": false, + "tags": [ + "operations log" + ], + "type": "tags" + }, "type": "tags" } ] }, "editable": true, - "gnetId": null, + "fiscalYearStartMonth": 0, "graphTooltip": 0, "id": 3, - "iteration": 1633513507182, "links": [], + "liveNow": false, "panels": [ { "aliasColors": {}, "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$cluster", + "datasource": { + "type": "prometheus", + "uid": "$cluster" + }, + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, "fill": 0, "fillGradient": 0, "gridPos": { @@ -81,9 +121,10 @@ "links": [], "nullPointMode": "null", "options": { - "dataLinks": [] + "alertThreshold": true }, "percentage": false, + "pluginVersion": "9.4.7", "pointradius": 5, "points": false, "renderer": "flot", @@ -93,19 +134,22 @@ "steppedLine": false, "targets": [ { - "expr": "sum(increase(nginx_ingress_controller_requests{service=\"binder\"}[10m]) / 10) by (status)", + "datasource": { + "uid": "$cluster" + }, + "editorMode": "code", + "expr": "sum(rate(nginx_ingress_controller_requests{service=\"binder\"}[5m]) * 60) by (status)", "format": "time_series", "interval": "", "intervalFactor": 2, "legendFormat": "{{status}}", + "range": true, "refId": "A" } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, - "title": "Response codes (mybinder.org)", + "title": "Response codes (binder)", "tooltip": { "shared": true, "sort": 0, @@ -113,36 +157,28 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, "yaxes": [ { "$$hashKey": "object:626", - "decimals": null, "format": "short", "label": "requests/min", "logBase": 1, - "max": null, "min": "0", "show": true }, { "$$hashKey": "object:627", "format": "short", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": true } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } }, { @@ -150,7 +186,16 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$cluster", + "datasource": { + "type": "prometheus", + "uid": "$cluster" + }, + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, "fill": 1, "fillGradient": 1, "gridPos": { @@ -180,9 +225,10 @@ "links": [], "nullPointMode": "null as zero", "options": { - "dataLinks": [] + "alertThreshold": true }, "percentage": false, + "pluginVersion": "9.4.7", "pointradius": 5, "points": false, "renderer": "flot", @@ -196,19 +242,23 @@ "steppedLine": false, "targets": [ { - "expr": "topk(10, sum(increase(nginx_ingress_controller_requests{service=\"proxy-public\"}[10m]) / 10) by (status))", + "datasource": { + "uid": "$cluster" + }, + "editorMode": "code", + "expr": "topk(10, sum(rate(nginx_ingress_controller_requests{service=\"proxy-public\"}[5m]) * 60) by (status))", "format": "time_series", + "hide": false, "interval": "", "intervalFactor": 2, "legendFormat": "{{ status }}", + "range": true, "refId": "A" } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, - "title": "Response codes (hub.mybinder.org)", + "title": "Response codes (hub)", "tooltip": { "shared": true, "sort": 2, @@ -216,140 +266,145 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, "yaxes": [ { "$$hashKey": "object:548", - "decimals": null, "format": "short", "label": "requests/min", "logBase": 1, - "max": null, "min": "0", "show": true }, { "$$hashKey": "object:549", "format": "short", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": true } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } }, { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "$cluster", - "fill": 0, - "fillGradient": 0, + "datasource": { + "type": "prometheus", + "uid": "$cluster" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "requests/min", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "links": [], + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "short" + }, + "overrides": [] + }, "gridPos": { "h": 7, "w": 24, "x": 0, "y": 13 }, - "hiddenSeries": false, "id": 15, - "legend": { - "avg": false, - "current": false, - "hideEmpty": true, - "hideZero": true, - "max": false, - "min": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, "links": [], - "nullPointMode": "null", "options": { - "dataLinks": [] + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } }, - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, + "pluginVersion": "9.4.7", "targets": [ { - "expr": "sum(increase(nginx_ingress_controller_requests{service=\"redirector\"}[10m]) / 10) by (status)", - "format": "time_series", + "datasource": { + "type": "prometheus", + "uid": "$cluster" + }, + "editorMode": "code", + "exemplar": false, + "expr": "sum(rate(nginx_ingress_controller_requests{service=\"federation-redirect\"}[5m]) * 60) by (status)", + "hide": false, + "instant": false, "interval": "", - "intervalFactor": 2, - "legendFormat": "{{status}}", - "refId": "A" + "legendFormat": "__auto", + "range": true, + "refId": "B" } ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Response codes (Redirector)", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "$$hashKey": "object:833", - "decimals": null, - "format": "short", - "label": "requests/min", - "logBase": 1, - "max": null, - "min": "0", - "show": true - }, - { - "$$hashKey": "object:834", - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } + "title": "Response codes (Federation Redirector)", + "type": "timeseries" }, { "aliasColors": {}, "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$cluster", + "datasource": { + "uid": "$cluster" + }, + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, "fill": 1, "fillGradient": 0, "gridPos": { @@ -374,9 +429,10 @@ "links": [], "nullPointMode": "null", "options": { - "dataLinks": [] + "alertThreshold": true }, "percentage": false, + "pluginVersion": "9.4.7", "pointradius": 5, "points": false, "renderer": "flot", @@ -386,6 +442,9 @@ "steppedLine": false, "targets": [ { + "datasource": { + "uid": "$cluster" + }, "expr": "min(binderhub_github_rate_limit_remaining) without (instance)", "format": "time_series", "interval": "", @@ -403,9 +462,7 @@ "value": 2000 } ], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "GitHub requests remaining", "tooltip": { "shared": true, @@ -414,17 +471,13 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, "yaxes": [ { - "decimals": null, "format": "short", - "label": null, "logBase": 1, "max": "5000", "min": "0", @@ -432,21 +485,18 @@ }, { "format": "short", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": true } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } } ], "refresh": "1m", - "schemaVersion": 22, + "revision": 1, + "schemaVersion": 38, "style": "dark", "tags": [], "templating": { @@ -458,11 +508,11 @@ }, "hide": 0, "includeAll": false, - "label": null, "multi": false, "name": "cluster", "options": [], "query": "prometheus", + "queryValue": "", "refresh": 1, "regex": "", "skipUrlSync": false, @@ -502,31 +552,46 @@ "timezone": "", "title": "Network Activity", "uid": "ygtPwi7ik", - "variables": { - "list": [] - }, - "version": 8 + "version": 13, + "weekStart": "" }, "meta": { - "canAdmin": true, - "canEdit": true, - "canSave": true, - "canStar": true, + "annotationsPermissions": { + "dashboard": { + "canAdd": true, + "canDelete": true, + "canEdit": true + }, + "organization": { + "canAdd": false, + "canDelete": false, + "canEdit": false + } + }, + "canAdmin": false, + "canDelete": false, + "canEdit": false, + "canSave": false, + "canStar": false, "created": "2020-09-22T09:29:51Z", "createdBy": "admin", "expires": "0001-01-01T00:00:00Z", "folderId": 0, "folderTitle": "General", + "folderUid": "", "folderUrl": "", "hasAcl": false, "isFolder": false, "provisioned": false, "provisionedExternalId": "", + "publicDashboardAccessToken": "", + "publicDashboardEnabled": false, + "publicDashboardUid": "", "slug": "network-activity", "type": "db", - "updated": "2021-10-06T09:56:27Z", + "updated": "2023-04-28T12:22:19Z", "updatedBy": "admin", "url": "/d/ygtPwi7ik/network-activity", - "version": 8 + "version": 13 } } \ No newline at end of file diff --git a/grafana-data/datasources.json b/grafana-data/datasources.json index f7cbaa179..0e7411fb4 100644 --- a/grafana-data/datasources.json +++ b/grafana-data/datasources.json @@ -1,4 +1,23 @@ [ + { + "access": "proxy", + "basicAuth": false, + "database": "", + "id": 7, + "isDefault": false, + "jsonData": { + "httpMethod": "POST" + }, + "name": "curvenote", + "orgId": 1, + "readOnly": false, + "type": "prometheus", + "typeLogoUrl": "public/app/plugins/datasource/prometheus/img/prometheus_logo.svg", + "typeName": "Prometheus", + "uid": "b67087d4-25bd-41aa-8ecd-940252a85e24", + "url": "https://prometheus.binder.curvenote.dev", + "user": "" + }, { "access": "proxy", "basicAuth": true, @@ -11,10 +30,11 @@ }, "name": "GESIS", "orgId": 1, - "password": "", "readOnly": false, "type": "prometheus", "typeLogoUrl": "public/app/plugins/datasource/prometheus/img/prometheus_logo.svg", + "typeName": "Prometheus", + "uid": "000000002", "url": "https://notebooks.gesis.org/prometheus", "user": "" }, @@ -24,18 +44,21 @@ "database": "", "id": 4, "isDefault": false, - "jsonData": {}, + "jsonData": { + "httpMethod": "POST" + }, "name": "OVH", "orgId": 1, - "password": "", "readOnly": false, "type": "prometheus", "typeLogoUrl": "public/app/plugins/datasource/prometheus/img/prometheus_logo.svg", - "url": "https://prometheus-mybinder.mybinder.ovh/", + "typeName": "Prometheus", + "uid": "000000004", + "url": "https://prometheus.ovh2.mybinder.org", "user": "" }, { - "access": "direct", + "access": "proxy", "basicAuth": false, "database": "", "id": 1, @@ -43,10 +66,11 @@ "jsonData": {}, "name": "prometheus", "orgId": 1, - "password": "", "readOnly": true, "type": "prometheus", "typeLogoUrl": "public/app/plugins/datasource/prometheus/img/prometheus_logo.svg", + "typeName": "Prometheus", + "uid": "000000001", "url": "https://prometheus.mybinder.org", "user": "" }