From 54fd61cd43e78034a24ce252798d60e5bbba311c Mon Sep 17 00:00:00 2001 From: Andrei Kvapil Date: Thu, 26 Sep 2024 11:37:32 +0200 Subject: [PATCH] Update dashboards (#353) Signed-off-by: Andrei Kvapil ## Summary by CodeRabbit - **New Features** - Added a new data source configuration for Prometheus. - Introduced new panels for network metrics in Kubernetes dashboards. - New "Bar gauge" panel type added to the Kubernetes global views. - Enhanced visualizations with new properties for displaying metrics. - **Bug Fixes** - Updated Prometheus expressions to improve data filtering and accuracy. - **Version Updates** - Upgraded Grafana and plugin versions across multiple dashboard configurations. - **Improvements** - Enhanced dashboard layouts and usability with new visualization options. - Adjusted configurations for better performance and clarity in monitoring metrics. Signed-off-by: Andrei Kvapil --- .../control-plane/deprecated-resources.json | 19 + dashboards/dotdc/k8s-system-coredns.json | 229 +- dashboards/dotdc/k8s-views-global.json | 842 ++- dashboards/dotdc/k8s-views-namespaces.json | 708 ++- dashboards/dotdc/k8s-views-pods.json | 269 +- dashboards/ingress/namespace-detail.json | 6 +- dashboards/main/controller.json | 5628 ++++++++++------- dashboards/main/namespace.json | 4632 ++++++++------ dashboards/main/namespaces.json | 4539 +++++++------ dashboards/main/node.json | 2479 +++----- dashboards/main/pod.json | 5004 ++++++++------- .../victoria-metrics/backupmanager.json | 77 +- dashboards/victoria-metrics/operator.json | 1612 ++--- .../victoriametrics-cluster.json | 1805 ++++-- .../victoria-metrics/victoriametrics.json | 989 ++- dashboards/victoria-metrics/vmagent.json | 1339 +++- dashboards/victoria-metrics/vmalert.json | 473 +- hack/download-dashboards.sh | 2 +- 18 files changed, 18651 insertions(+), 12001 deletions(-) diff --git a/dashboards/control-plane/deprecated-resources.json b/dashboards/control-plane/deprecated-resources.json index 4841d949..92f9404f 100644 --- a/dashboards/control-plane/deprecated-resources.json +++ b/dashboards/control-plane/deprecated-resources.json @@ -590,6 +590,25 @@ "skipUrlSync": false, "sort": 0, "type": "query" + }, + { + "current": { + "selected": false, + "text": "default", + "value": "default" + }, + "hide": 2, + "includeAll": false, + "label": "Prometheus", + "multi": false, + "name": "ds_prometheus", + "options": [], + "query": "prometheus", + "queryValue": "", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "type": "datasource" } ] }, diff --git a/dashboards/dotdc/k8s-system-coredns.json b/dashboards/dotdc/k8s-system-coredns.json index 3d8dbc53..9fb20bae 100644 --- a/dashboards/dotdc/k8s-system-coredns.json +++ b/dashboards/dotdc/k8s-system-coredns.json @@ -120,9 +120,11 @@ "fields": "", "values": false }, - "textMode": "value_and_name" + "showPercentChange": false, + "textMode": "value_and_name", + "wideLayout": true }, - "pluginVersion": "10.0.1", + "pluginVersion": "10.4.1", "targets": [ { "datasource": { @@ -130,7 +132,7 @@ "uid": "${datasource}" }, "exemplar": true, - "expr": "up{job=\"coredns\", instance=~\"$instance\"}", + "expr": "up{job=~\"$job\", instance=~\"$instance\", cluster=~\"$cluster\"}", "interval": "", "legendFormat": "{{ instance }}", "refId": "A" @@ -150,6 +152,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -163,6 +166,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "smooth", "lineWidth": 2, "pointSize": 5, @@ -225,7 +229,7 @@ "uid": "${datasource}" }, "exemplar": true, - "expr": "rate(process_cpu_seconds_total{job=\"coredns\", instance=~\"$instance\"}[$__rate_interval])", + "expr": "rate(process_cpu_seconds_total{job=~\"$job\", instance=~\"$instance\", cluster=~\"$cluster\"}[$__rate_interval])", "interval": "$resolution", "legendFormat": "{{ instance }}", "refId": "A" @@ -245,6 +249,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -258,6 +263,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "smooth", "lineWidth": 2, "pointSize": 5, @@ -319,7 +325,7 @@ "uid": "${datasource}" }, "exemplar": true, - "expr": "process_resident_memory_bytes{job=\"coredns\", instance=~\"$instance\"}", + "expr": "process_resident_memory_bytes{job=~\"$job\", instance=~\"$instance\", cluster=~\"$cluster\"}", "interval": "", "legendFormat": "{{ instance }}", "refId": "A" @@ -339,6 +345,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -352,6 +359,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "smooth", "lineWidth": 2, "pointSize": 5, @@ -413,7 +421,7 @@ "uid": "${datasource}" }, "exemplar": true, - "expr": "sum(rate(coredns_dns_requests_total{instance=~\"$instance\",proto=\"$protocol\"}[$__rate_interval]))", + "expr": "sum(rate(coredns_dns_requests_total{instance=~\"$instance\",proto=\"$protocol\", cluster=~\"$cluster\"}[$__rate_interval]))", "interval": "$resolution", "legendFormat": "total $protocol requests", "refId": "A" @@ -433,6 +441,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -446,6 +455,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "smooth", "lineWidth": 2, "pointSize": 5, @@ -507,7 +517,7 @@ "uid": "${datasource}" }, "exemplar": true, - "expr": "sum(rate(coredns_dns_request_size_bytes_sum{instance=~\"$instance\",proto=\"$protocol\"}[$__rate_interval])) by (proto) / sum(rate(coredns_dns_request_size_bytes_count{instance=~\"$instance\",proto=\"$protocol\"}[$__rate_interval])) by (proto)", + "expr": "sum(rate(coredns_dns_request_size_bytes_sum{instance=~\"$instance\",proto=\"$protocol\", cluster=~\"$cluster\"}[$__rate_interval])) by (proto) / sum(rate(coredns_dns_request_size_bytes_count{instance=~\"$instance\",proto=\"$protocol\", cluster=~\"$cluster\"}[$__rate_interval])) by (proto)", "interval": "$resolution", "legendFormat": "average $protocol packet size", "refId": "A" @@ -527,6 +537,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -540,6 +551,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "smooth", "lineWidth": 2, "pointSize": 5, @@ -601,7 +613,7 @@ "uid": "${datasource}" }, "exemplar": true, - "expr": "sum(rate(coredns_dns_requests_total{instance=~\"$instance\"}[$__rate_interval])) by (type)", + "expr": "sum(rate(coredns_dns_requests_total{instance=~\"$instance\", cluster=~\"$cluster\"}[$__rate_interval])) by (type)", "interval": "$resolution", "legendFormat": "{{ type }}", "refId": "A" @@ -621,6 +633,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -634,6 +647,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "smooth", "lineWidth": 2, "pointSize": 5, @@ -695,7 +709,7 @@ "uid": "${datasource}" }, "exemplar": true, - "expr": "sum(rate(coredns_dns_responses_total{instance=~\"$instance\"}[$__rate_interval])) by (rcode)", + "expr": "sum(rate(coredns_dns_responses_total{instance=~\"$instance\", cluster=~\"$cluster\"}[$__rate_interval])) by (rcode)", "interval": "$resolution", "legendFormat": "{{ rcode }}", "refId": "A" @@ -715,6 +729,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -728,6 +743,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "smooth", "lineWidth": 2, "pointSize": 5, @@ -789,7 +805,7 @@ "uid": "${datasource}" }, "exemplar": true, - "expr": "sum(rate(coredns_forward_requests_total[$__rate_interval]))", + "expr": "sum(rate(coredns_forward_requests_total{cluster=~\"$cluster\"}[$__rate_interval]))", "interval": "$resolution", "legendFormat": "total forward requests", "refId": "A" @@ -809,6 +825,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -822,6 +839,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "smooth", "lineWidth": 2, "pointSize": 5, @@ -883,7 +901,7 @@ "uid": "${datasource}" }, "exemplar": true, - "expr": "sum(rate(coredns_forward_responses_total{rcode=~\"SERVFAIL|REFUSED\"}[$__rate_interval])) by (rcode)", + "expr": "sum(rate(coredns_forward_responses_total{rcode=~\"SERVFAIL|REFUSED\", cluster=~\"$cluster\"}[$__rate_interval])) by (rcode)", "interval": "$resolution", "legendFormat": "{{ rcode }}", "refId": "A" @@ -903,6 +921,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -916,6 +935,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "smooth", "lineWidth": 2, "pointSize": 5, @@ -977,7 +997,7 @@ "uid": "${datasource}" }, "exemplar": true, - "expr": "sum(rate(coredns_cache_hits_total{instance=~\"$instance\"}[$__rate_interval])) by (type)", + "expr": "sum(rate(coredns_cache_hits_total{instance=~\"$instance\", cluster=~\"$cluster\"}[$__rate_interval])) by (type)", "interval": "$resolution", "legendFormat": "{{ type }}", "refId": "A" @@ -988,7 +1008,7 @@ "uid": "${datasource}" }, "exemplar": true, - "expr": "sum(rate(coredns_cache_misses_total{instance=~\"$instance\"}[$__rate_interval])) by (type)", + "expr": "sum(rate(coredns_cache_misses_total{instance=~\"$instance\", cluster=~\"$cluster\"}[$__rate_interval])) by (type)", "interval": "$resolution", "legendFormat": "misses", "refId": "B" @@ -1008,6 +1028,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -1021,6 +1042,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "smooth", "lineWidth": 2, "pointSize": 5, @@ -1082,7 +1104,7 @@ "uid": "${datasource}" }, "exemplar": true, - "expr": "sum(coredns_cache_entries) by (type)", + "expr": "sum(coredns_cache_entries{cluster=~\"$cluster\"}) by (type)", "interval": "", "legendFormat": "{{ type }}", "refId": "A" @@ -1143,7 +1165,8 @@ "layout": "auto" }, "tooltip": { - "show": true, + "mode": "single", + "showColorScale": false, "yHistogram": false }, "yAxis": { @@ -1152,7 +1175,7 @@ "unit": "s" } }, - "pluginVersion": "10.0.1", + "pluginVersion": "10.4.1", "targets": [ { "datasource": { @@ -1160,7 +1183,7 @@ "uid": "${datasource}" }, "editorMode": "code", - "expr": "sum(increase(coredns_dns_request_duration_seconds_bucket{instance=~\"$instance\"}[$__rate_interval])) by (le)", + "expr": "sum(increase(coredns_dns_request_duration_seconds_bucket{instance=~\"$instance\", cluster=~\"$cluster\"}[$__rate_interval])) by (le)", "format": "heatmap", "legendFormat": "{{le}}", "range": true, @@ -1196,85 +1219,6 @@ "x": 12, "y": 43 }, - "id": 30, - "options": { - "calculate": false, - "cellGap": 1, - "color": { - "exponent": 0.5, - "fill": "dark-orange", - "mode": "scheme", - "reverse": false, - "scale": "exponential", - "scheme": "RdYlBu", - "steps": 64 - }, - "exemplars": { - "color": "rgba(255,0,255,0.7)" - }, - "filterValues": { - "le": 1e-9 - }, - "legend": { - "show": true - }, - "rowsFrame": { - "layout": "auto" - }, - "tooltip": { - "show": true, - "yHistogram": false - }, - "yAxis": { - "axisPlacement": "left", - "reverse": false, - "unit": "s" - } - }, - "pluginVersion": "10.0.1", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "editorMode": "code", - "expr": "sum(increase(coredns_forward_request_duration_seconds_bucket{instance=~\"$instance\"}[$__rate_interval])) by (le)", - "format": "heatmap", - "legendFormat": "{{le}}", - "range": true, - "refId": "A" - } - ], - "title": "CoreDNS - Forward request duration", - "type": "heatmap" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "fieldConfig": { - "defaults": { - "custom": { - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "scaleDistribution": { - "type": "linear" - } - } - }, - "overrides": [] - }, - "gridPos": { - "h": 10, - "w": 12, - "x": 0, - "y": 53 - }, "id": 28, "options": { "calculate": false, @@ -1301,7 +1245,8 @@ "layout": "auto" }, "tooltip": { - "show": true, + "mode": "single", + "showColorScale": false, "yHistogram": false }, "yAxis": { @@ -1310,7 +1255,7 @@ "unit": "decbytes" } }, - "pluginVersion": "10.0.1", + "pluginVersion": "10.4.1", "targets": [ { "datasource": { @@ -1318,7 +1263,7 @@ "uid": "${datasource}" }, "editorMode": "code", - "expr": "sum(increase(coredns_dns_request_size_bytes_bucket{instance=~\"$instance\", le!=\"0\"}[$__rate_interval])) by (le)", + "expr": "sum(increase(coredns_dns_request_size_bytes_bucket{instance=~\"$instance\", le!=\"0\", cluster=~\"$cluster\"}[$__rate_interval])) by (le)", "format": "heatmap", "legendFormat": "{{le}}", "range": true, @@ -1351,7 +1296,7 @@ "gridPos": { "h": 10, "w": 12, - "x": 12, + "x": 0, "y": 53 }, "id": 29, @@ -1380,7 +1325,8 @@ "layout": "auto" }, "tooltip": { - "show": true, + "mode": "single", + "showColorScale": false, "yHistogram": false }, "yAxis": { @@ -1389,7 +1335,7 @@ "unit": "decbytes" } }, - "pluginVersion": "10.0.1", + "pluginVersion": "10.4.1", "targets": [ { "datasource": { @@ -1397,7 +1343,7 @@ "uid": "${datasource}" }, "editorMode": "code", - "expr": "sum(increase(coredns_dns_response_size_bytes_bucket{instance=~\"$instance\", le!=\"0\"}[$__rate_interval])) by (le)", + "expr": "sum(increase(coredns_dns_response_size_bytes_bucket{instance=~\"$instance\", le!=\"0\", cluster=~\"$cluster\"}[$__rate_interval])) by (le)", "format": "heatmap", "legendFormat": "{{le}}", "range": true, @@ -1409,8 +1355,7 @@ } ], "refresh": "30s", - "schemaVersion": 38, - "style": "dark", + "schemaVersion": 39, "tags": [ "Kubernetes", "Prometheus" @@ -1435,6 +1380,34 @@ "skipUrlSync": false, "type": "datasource" }, + { + "current": { + "isNone": true, + "selected": false, + "text": "None", + "value": "" + }, + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "definition": "label_values(kube_node_info,cluster)", + "hide": 0, + "includeAll": false, + "multi": false, + "name": "cluster", + "options": [], + "query": { + "qryType": 1, + "query": "label_values(kube_node_info,cluster)", + "refId": "PrometheusVariableQueryEditor-VariableQuery" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 1, + "type": "query" + }, { "current": { "selected": false, @@ -1445,7 +1418,7 @@ "type": "prometheus", "uid": "${datasource}" }, - "definition": "label_values(up{job=\"coredns\"}, instance)", + "definition": "label_values(up{job=\"$job\", cluster=\"$cluster\"},instance)", "hide": 0, "includeAll": true, "label": "", @@ -1453,8 +1426,9 @@ "name": "instance", "options": [], "query": { - "query": "label_values(up{job=\"coredns\"}, instance)", - "refId": "StandardVariableQuery" + "qryType": 1, + "query": "label_values(up{job=\"$job\", cluster=\"$cluster\"},instance)", + "refId": "PrometheusVariableQueryEditor-VariableQuery" }, "refresh": 1, "regex": "", @@ -1476,7 +1450,7 @@ "type": "prometheus", "uid": "${datasource}" }, - "definition": "label_values(coredns_dns_requests_total, proto)", + "definition": "label_values(coredns_dns_requests_total{cluster=\"$cluster\"}, proto)", "hide": 0, "includeAll": false, "label": "", @@ -1484,7 +1458,7 @@ "name": "protocol", "options": [], "query": { - "query": "label_values(coredns_dns_requests_total, proto)", + "query": "label_values(coredns_dns_requests_total{cluster=\"$cluster\"}, proto)", "refId": "StandardVariableQuery" }, "refresh": 1, @@ -1498,7 +1472,7 @@ }, { "current": { - "selected": true, + "selected": false, "text": "30s", "value": "30s" }, @@ -1542,6 +1516,37 @@ "queryValue": "", "skipUrlSync": false, "type": "custom" + }, + { + "current": { + "selected": true, + "text": [ + "coredns" + ], + "value": [ + "coredns" + ] + }, + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "definition": "label_values(coredns_build_info{cluster=\"$cluster\"},job)", + "hide": 0, + "includeAll": false, + "multi": true, + "name": "job", + "options": [], + "query": { + "qryType": 1, + "query": "label_values(coredns_build_info{cluster=\"$cluster\"},job)", + "refId": "PrometheusVariableQueryEditor-VariableQuery" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 1, + "type": "query" } ] }, @@ -1553,6 +1558,6 @@ "timezone": "", "title": "Kubernetes / System / CoreDNS", "uid": "k8s_system_coredns", - "version": 13, + "version": 18, "weekStart": "" } diff --git a/dashboards/dotdc/k8s-views-global.json b/dashboards/dotdc/k8s-views-global.json index d0ec2980..aad7e8de 100644 --- a/dashboards/dotdc/k8s-views-global.json +++ b/dashboards/dotdc/k8s-views-global.json @@ -9,25 +9,25 @@ "pluginName": "Prometheus" } ], - "__elements": [], + "__elements": {}, "__requires": [ + { + "type": "panel", + "id": "bargauge", + "name": "Bar gauge", + "version": "" + }, { "type": "grafana", "id": "grafana", "name": "Grafana", - "version": "8.3.4" + "version": "10.3.1" }, { "type": "datasource", "id": "prometheus", "name": "Prometheus", - "version": "5.0.0" - }, - { - "type": "panel", - "id": "timeseries", - "name": "Time series", - "version": "" + "version": "1.0.0" }, { "type": "panel", @@ -37,8 +37,8 @@ }, { "type": "panel", - "id": "gauge", - "name": "Gauge", + "id": "timeseries", + "name": "Time series", "version": "" } ], @@ -75,7 +75,7 @@ "collapsed": false, "datasource": { "type": "prometheus", - "uid": "prometheus" + "uid": "${datasource}" }, "gridPos": { "h": 1, @@ -127,8 +127,10 @@ "id": 77, "options": { "displayMode": "lcd", + "maxVizHeight": 300, "minVizHeight": 10, "minVizWidth": 0, + "namePlacement": "auto", "orientation": "horizontal", "reduceOptions": { "calcs": [ @@ -138,9 +140,10 @@ "values": false }, "showUnfilled": true, + "sizing": "auto", "valueMode": "color" }, - "pluginVersion": "10.0.3", + "pluginVersion": "11.2.0", "targets": [ { "datasource": { @@ -149,11 +152,11 @@ }, "editorMode": "code", "exemplar": true, - "expr": "avg(1-rate(node_cpu_seconds_total{mode=\"idle\"}[$__rate_interval]))", + "expr": "avg(sum by (instance, cpu) (rate(node_cpu_seconds_total{mode!~\"idle|iowait|steal\", cluster=\"$cluster\", job=\"$job\"}[$__rate_interval])))", "interval": "", - "legendFormat": "Real", + "legendFormat": "Real Linux", "range": true, - "refId": "A" + "refId": "Real Linux" }, { "datasource": { @@ -161,11 +164,25 @@ "uid": "${datasource}" }, "editorMode": "code", - "expr": "sum(kube_pod_container_resource_requests{resource=\"cpu\"}) / sum(machine_cpu_cores)", + "exemplar": true, + "expr": "avg(sum by (core) (rate(windows_cpu_time_total{mode!=\"idle\", cluster=\"$cluster\"}[$__rate_interval])))", + "hide": false, + "interval": "", + "legendFormat": "Real Windows", + "range": true, + "refId": "Real Windows" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "editorMode": "code", + "expr": "sum(kube_pod_container_resource_requests{resource=\"cpu\", cluster=\"$cluster\"}) / sum(machine_cpu_cores{cluster=\"$cluster\"})", "hide": false, "legendFormat": "Requests", "range": true, - "refId": "B" + "refId": "Requests" }, { "datasource": { @@ -173,14 +190,49 @@ "uid": "${datasource}" }, "editorMode": "code", - "expr": "sum(kube_pod_container_resource_limits{resource=\"cpu\"}) / sum(machine_cpu_cores)", + "expr": "sum(kube_pod_container_resource_limits{resource=\"cpu\", cluster=\"$cluster\"}) / sum(machine_cpu_cores{cluster=\"$cluster\"})", "hide": false, "legendFormat": "Limits", "range": true, - "refId": "C" + "refId": "Limits" } ], "title": "Global CPU Usage", + "transformations": [ + { + "id": "calculateField", + "options": { + "alias": "Real", + "mode": "reduceRow", + "reduce": { + "include": [ + "Real Linux", + "Real Windows" + ], + "reducer": "mean" + } + } + }, + { + "id": "organize", + "options": { + "excludeByName": { + "Real Linux": true, + "Real Windows": true, + "Time": true + }, + "indexByName": { + "Limits": 5, + "Real": 1, + "Real Linux": 2, + "Real Windows": 3, + "Requests": 4, + "Time": 0 + }, + "renameByName": {} + } + } + ], "type": "bargauge" }, { @@ -223,8 +275,10 @@ "id": 78, "options": { "displayMode": "lcd", + "maxVizHeight": 300, "minVizHeight": 10, "minVizWidth": 0, + "namePlacement": "auto", "orientation": "horizontal", "reduceOptions": { "calcs": [ @@ -234,10 +288,11 @@ "values": false }, "showUnfilled": true, + "sizing": "auto", "text": {}, "valueMode": "color" }, - "pluginVersion": "10.0.3", + "pluginVersion": "11.2.0", "targets": [ { "datasource": { @@ -246,11 +301,12 @@ }, "editorMode": "code", "exemplar": true, - "expr": "sum(node_memory_MemTotal_bytes - node_memory_MemAvailable_bytes) / sum(node_memory_MemTotal_bytes)", + "expr": "sum(node_memory_MemTotal_bytes{cluster=\"$cluster\", job=\"$job\"} - node_memory_MemAvailable_bytes{cluster=\"$cluster\", job=\"$job\"}) / sum(node_memory_MemTotal_bytes{cluster=\"$cluster\", job=\"$job\"})", + "hide": false, "interval": "", - "legendFormat": "Real", + "legendFormat": "Real Linux", "range": true, - "refId": "A" + "refId": "Real Linux" }, { "datasource": { @@ -258,11 +314,24 @@ "uid": "${datasource}" }, "editorMode": "code", - "expr": "sum(kube_pod_container_resource_requests{resource=\"memory\"}) / sum(machine_memory_bytes)", + "exemplar": true, + "expr": "sum(windows_memory_available_bytes{cluster=\"$cluster\"} + windows_memory_cache_bytes{cluster=\"$cluster\"}) / sum(windows_os_visible_memory_bytes{cluster=\"$cluster\"})", + "interval": "", + "legendFormat": "Real Windows", + "range": true, + "refId": "Real Windows" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "editorMode": "code", + "expr": "sum(kube_pod_container_resource_requests{resource=\"memory\", cluster=\"$cluster\"}) / sum(machine_memory_bytes{cluster=\"$cluster\"})", "hide": false, "legendFormat": "Requests", "range": true, - "refId": "B" + "refId": "Requests" }, { "datasource": { @@ -270,14 +339,50 @@ "uid": "${datasource}" }, "editorMode": "code", - "expr": "sum(kube_pod_container_resource_limits{resource=\"memory\"}) / sum(machine_memory_bytes)", + "expr": "sum(kube_pod_container_resource_limits{resource=\"memory\", cluster=\"$cluster\"}) / sum(machine_memory_bytes{cluster=\"$cluster\"})", "hide": false, "legendFormat": "Limits", "range": true, - "refId": "C" + "refId": "Limits" } ], "title": "Global RAM Usage", + "transformations": [ + { + "id": "calculateField", + "options": { + "alias": "Real", + "mode": "reduceRow", + "reduce": { + "include": [ + "Real Linux", + "Real Windows" + ], + "reducer": "mean" + } + } + }, + { + "id": "organize", + "options": { + "excludeByName": { + "Real Linux": true, + "Real Windows": true, + "Time": true + }, + "includeByName": {}, + "indexByName": { + "Limits": 5, + "Real": 3, + "Real Linux": 1, + "Real Windows": 2, + "Requests": 4, + "Time": 0 + }, + "renameByName": {} + } + } + ], "type": "bargauge" }, { @@ -313,6 +418,7 @@ "graphMode": "none", "justifyMode": "auto", "orientation": "auto", + "percentChangeColorMode": "standard", "reduceOptions": { "calcs": [ "last" @@ -320,20 +426,24 @@ "fields": "", "values": false }, + "showPercentChange": false, "text": {}, - "textMode": "value" + "textMode": "value", + "wideLayout": true }, - "pluginVersion": "10.0.3", + "pluginVersion": "11.2.0", "targets": [ { "datasource": { "type": "prometheus", "uid": "${datasource}" }, + "editorMode": "code", "exemplar": true, - "expr": "count(count by (node) (kube_node_info))", + "expr": "count(count by (node) (kube_node_info{cluster=\"$cluster\"}))", "interval": "", "legendFormat": "", + "range": true, "refId": "A" } ], @@ -351,11 +461,13 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 25, "gradientMode": "opacity", @@ -364,6 +476,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "smooth", "lineWidth": 2, "pointSize": 5, @@ -431,7 +544,7 @@ "uid": "${datasource}" }, "exemplar": true, - "expr": "sum(kube_namespace_labels)", + "expr": "sum(kube_namespace_labels{cluster=\"$cluster\"})", "interval": "", "legendFormat": "Namespaces", "refId": "A" @@ -441,7 +554,7 @@ "type": "prometheus", "uid": "${datasource}" }, - "expr": "sum(kube_pod_container_status_running)", + "expr": "sum(kube_pod_container_status_running{cluster=\"$cluster\"})", "interval": "", "legendFormat": "Running Containers", "refId": "B" @@ -451,7 +564,7 @@ "type": "prometheus", "uid": "${datasource}" }, - "expr": "sum(kube_pod_status_phase{phase=\"Running\"})", + "expr": "sum(kube_pod_status_phase{phase=\"Running\", cluster=\"$cluster\"})", "interval": "", "legendFormat": "Running Pods", "refId": "O" @@ -461,7 +574,7 @@ "type": "prometheus", "uid": "${datasource}" }, - "expr": "sum(kube_service_info)", + "expr": "sum(kube_service_info{cluster=\"$cluster\"})", "interval": "", "legendFormat": "Services", "refId": "C" @@ -471,7 +584,7 @@ "type": "prometheus", "uid": "${datasource}" }, - "expr": "sum(kube_endpoint_info)", + "expr": "sum(kube_endpoint_info{cluster=\"$cluster\"})", "interval": "", "legendFormat": "Endpoints", "refId": "D" @@ -481,7 +594,7 @@ "type": "prometheus", "uid": "${datasource}" }, - "expr": "sum(kube_ingress_info)", + "expr": "sum(kube_ingress_info{cluster=\"$cluster\"})", "interval": "", "legendFormat": "Ingresses", "refId": "E" @@ -491,7 +604,7 @@ "type": "prometheus", "uid": "${datasource}" }, - "expr": "sum(kube_deployment_labels)", + "expr": "sum(kube_deployment_labels{cluster=\"$cluster\"})", "interval": "", "legendFormat": "Deployments", "refId": "F" @@ -501,7 +614,7 @@ "type": "prometheus", "uid": "${datasource}" }, - "expr": "sum(kube_statefulset_labels)", + "expr": "sum(kube_statefulset_labels{cluster=\"$cluster\"})", "interval": "", "legendFormat": "Statefulsets", "refId": "G" @@ -511,7 +624,7 @@ "type": "prometheus", "uid": "${datasource}" }, - "expr": "sum(kube_daemonset_labels)", + "expr": "sum(kube_daemonset_labels{cluster=\"$cluster\"})", "interval": "", "legendFormat": "Daemonsets", "refId": "H" @@ -521,7 +634,7 @@ "type": "prometheus", "uid": "${datasource}" }, - "expr": "sum(kube_persistentvolumeclaim_info)", + "expr": "sum(kube_persistentvolumeclaim_info{cluster=\"$cluster\"})", "interval": "", "legendFormat": "Persistent Volume Claims", "refId": "I" @@ -531,7 +644,7 @@ "type": "prometheus", "uid": "${datasource}" }, - "expr": "sum(kube_hpa_labels)", + "expr": "sum(kube_hpa_labels{cluster=\"$cluster\"})", "interval": "", "legendFormat": "Horizontal Pod Autoscalers", "refId": "J" @@ -541,7 +654,7 @@ "type": "prometheus", "uid": "${datasource}" }, - "expr": "sum(kube_configmap_info)", + "expr": "sum(kube_configmap_info{cluster=\"$cluster\"})", "interval": "", "legendFormat": "Configmaps", "refId": "K" @@ -551,7 +664,7 @@ "type": "prometheus", "uid": "${datasource}" }, - "expr": "sum(kube_secret_info)", + "expr": "sum(kube_secret_info{cluster=\"$cluster\"})", "interval": "", "legendFormat": "Secrets", "refId": "L" @@ -561,7 +674,7 @@ "type": "prometheus", "uid": "${datasource}" }, - "expr": "sum(kube_networkpolicy_labels)", + "expr": "sum(kube_networkpolicy_labels{cluster=\"$cluster\"})", "interval": "", "legendFormat": "Network Policies", "refId": "M" @@ -572,7 +685,7 @@ "uid": "${datasource}" }, "exemplar": true, - "expr": "count(count by (node) (kube_node_info))", + "expr": "count(count by (node) (kube_node_info{cluster=\"$cluster\"}))", "hide": false, "interval": "", "legendFormat": "Nodes", @@ -615,6 +728,7 @@ "graphMode": "none", "justifyMode": "auto", "orientation": "auto", + "percentChangeColorMode": "standard", "reduceOptions": { "calcs": [ "last" @@ -622,17 +736,19 @@ "fields": "", "values": false }, + "showPercentChange": false, "text": {}, - "textMode": "value" + "textMode": "value", + "wideLayout": true }, - "pluginVersion": "10.0.3", + "pluginVersion": "11.2.0", "targets": [ { "datasource": { "type": "prometheus", "uid": "${datasource}" }, - "expr": "count(kube_namespace_created)", + "expr": "count(kube_namespace_created{cluster=\"$cluster\"})", "interval": "", "legendFormat": "", "refId": "A" @@ -675,17 +791,20 @@ "graphMode": "none", "justifyMode": "center", "orientation": "auto", + "percentChangeColorMode": "standard", "reduceOptions": { "calcs": [ - "mean" + "lastNotNull" ], "fields": "", "values": false }, + "showPercentChange": false, "text": {}, - "textMode": "auto" + "textMode": "auto", + "wideLayout": true }, - "pluginVersion": "10.0.3", + "pluginVersion": "11.2.0", "targets": [ { "datasource": { @@ -694,11 +813,11 @@ }, "editorMode": "code", "exemplar": true, - "expr": "sum(1-rate(node_cpu_seconds_total{mode=\"idle\"}[$__rate_interval]))", + "expr": "sum(rate(node_cpu_seconds_total{mode!~\"idle|iowait|steal\", cluster=\"$cluster\", job=\"$job\"}[$__rate_interval]))", "interval": "", - "legendFormat": "Real", + "legendFormat": "Real Linux", "range": true, - "refId": "A" + "refId": "Real Linux" }, { "datasource": { @@ -706,11 +825,25 @@ "uid": "${datasource}" }, "editorMode": "code", - "expr": "sum(kube_pod_container_resource_requests{resource=\"cpu\"})", + "exemplar": true, + "expr": "sum(rate(windows_cpu_time_total{mode!=\"idle\", cluster=\"$cluster\"}[$__rate_interval]))", + "hide": false, + "interval": "", + "legendFormat": "Real Windows", + "range": true, + "refId": "Real Windows" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "editorMode": "code", + "expr": "sum(kube_pod_container_resource_requests{resource=\"cpu\", cluster=\"$cluster\"})", "hide": false, "legendFormat": "Requests", "range": true, - "refId": "B" + "refId": "Requests" }, { "datasource": { @@ -718,11 +851,11 @@ "uid": "${datasource}" }, "editorMode": "code", - "expr": "sum(kube_pod_container_resource_limits{resource=\"cpu\"})", + "expr": "sum(kube_pod_container_resource_limits{resource=\"cpu\", cluster=\"$cluster\"})", "hide": false, "legendFormat": "Limits", "range": true, - "refId": "C" + "refId": "Limits" }, { "datasource": { @@ -730,14 +863,54 @@ "uid": "${datasource}" }, "editorMode": "code", - "expr": "sum(machine_cpu_cores)", + "expr": "sum(machine_cpu_cores{cluster=\"$cluster\"})", "hide": false, "legendFormat": "Total", "range": true, - "refId": "D" + "refId": "Total" } ], "title": "CPU Usage", + "transformations": [ + { + "id": "calculateField", + "options": { + "alias": "Real", + "mode": "reduceRow", + "reduce": { + "include": [ + "Real Linux", + "Real Windows" + ], + "reducer": "sum" + } + } + }, + { + "id": "organize", + "options": { + "excludeByName": { + "Real Linux": true, + "Real Windows": true, + "Time": true, + "Total Linux": true, + "Total Windows": true + }, + "indexByName": { + "Limits": 5, + "Real": 3, + "Real Linux": 1, + "Real Windows": 2, + "Requests": 4, + "Time": 0, + "Total": 8, + "Total Linux": 6, + "Total Windows": 7 + }, + "renameByName": {} + } + } + ], "type": "stat" }, { @@ -774,17 +947,20 @@ "graphMode": "none", "justifyMode": "auto", "orientation": "auto", + "percentChangeColorMode": "standard", "reduceOptions": { "calcs": [ - "mean" + "lastNotNull" ], "fields": "", "values": false }, + "showPercentChange": false, "text": {}, - "textMode": "auto" + "textMode": "auto", + "wideLayout": true }, - "pluginVersion": "10.0.3", + "pluginVersion": "11.2.0", "targets": [ { "datasource": { @@ -793,11 +969,11 @@ }, "editorMode": "code", "exemplar": true, - "expr": "sum(node_memory_MemTotal_bytes - node_memory_MemAvailable_bytes)", + "expr": "sum(node_memory_MemTotal_bytes{cluster=\"$cluster\", job=\"$job\"} - node_memory_MemAvailable_bytes{cluster=\"$cluster\", job=\"$job\"})", "interval": "", - "legendFormat": "Real", + "legendFormat": "Real Linux", "range": true, - "refId": "A" + "refId": "Real Linux" }, { "datasource": { @@ -805,11 +981,25 @@ "uid": "${datasource}" }, "editorMode": "code", - "expr": "sum(kube_pod_container_resource_requests{resource=\"memory\"})", + "exemplar": true, + "expr": "sum(windows_os_visible_memory_bytes{cluster=\"$cluster\"} - windows_memory_available_bytes{cluster=\"$cluster\"} - windows_memory_cache_bytes{cluster=\"$cluster\"})", + "hide": false, + "interval": "", + "legendFormat": "Real Windows", + "range": true, + "refId": "Real Windows" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "editorMode": "code", + "expr": "sum(kube_pod_container_resource_requests{resource=\"memory\", cluster=\"$cluster\"})", "hide": false, "legendFormat": "Requests", "range": true, - "refId": "B" + "refId": "Requests" }, { "datasource": { @@ -817,11 +1007,11 @@ "uid": "${datasource}" }, "editorMode": "code", - "expr": "sum(kube_pod_container_resource_limits{resource=\"memory\"})", + "expr": "sum(kube_pod_container_resource_limits{resource=\"memory\", cluster=\"$cluster\"})", "hide": false, "legendFormat": "Limits", "range": true, - "refId": "C" + "refId": "Limits" }, { "datasource": { @@ -829,14 +1019,51 @@ "uid": "${datasource}" }, "editorMode": "code", - "expr": "sum(machine_memory_bytes)", + "expr": "sum(machine_memory_bytes{cluster=\"$cluster\"})", "hide": false, "legendFormat": "Total", "range": true, - "refId": "D" + "refId": "Total" } ], "title": "RAM Usage", + "transformations": [ + { + "id": "calculateField", + "options": { + "alias": "Real", + "mode": "reduceRow", + "reduce": { + "include": [ + "Real Linux", + "Real Windows" + ], + "reducer": "mean" + } + } + }, + { + "id": "organize", + "options": { + "excludeByName": { + "Real Linux": true, + "Real Windows": true, + "Time": true + }, + "includeByName": {}, + "indexByName": { + "Limits": 5, + "Real": 3, + "Real Linux": 1, + "Real Windows": 2, + "Requests": 4, + "Time": 0, + "Total": 6 + }, + "renameByName": {} + } + } + ], "type": "stat" }, { @@ -872,6 +1099,7 @@ "graphMode": "none", "justifyMode": "auto", "orientation": "auto", + "percentChangeColorMode": "standard", "reduceOptions": { "calcs": [ "last" @@ -879,17 +1107,19 @@ "fields": "", "values": false }, + "showPercentChange": false, "text": {}, - "textMode": "value" + "textMode": "value", + "wideLayout": true }, - "pluginVersion": "10.0.3", + "pluginVersion": "11.2.0", "targets": [ { "datasource": { "type": "prometheus", "uid": "${datasource}" }, - "expr": "sum(kube_pod_status_phase{phase=\"Running\"})", + "expr": "sum(kube_pod_status_phase{phase=\"Running\", cluster=\"$cluster\"})", "interval": "", "legendFormat": "", "refId": "A" @@ -902,7 +1132,7 @@ "collapsed": false, "datasource": { "type": "prometheus", - "uid": "prometheus" + "uid": "${datasource}" }, "gridPos": { "h": 1, @@ -927,11 +1157,13 @@ "seriesBy": "last" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "CPU %", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 10, "gradientMode": "scheme", @@ -940,6 +1172,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "smooth", "lineStyle": { "fill": "solid" @@ -1008,14 +1241,43 @@ "type": "prometheus", "uid": "${datasource}" }, + "editorMode": "code", "exemplar": true, - "expr": "avg(1-rate(node_cpu_seconds_total{mode=\"idle\"}[$__rate_interval]))", + "expr": "avg(sum by (instance, cpu) (rate(node_cpu_seconds_total{mode!~\"idle|iowait|steal\", cluster=\"$cluster\", job=\"$job\"}[$__rate_interval])))", "interval": "$resolution", - "legendFormat": "CPU usage in %", - "refId": "A" + "legendFormat": "Linux", + "range": true, + "refId": "Linux" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "editorMode": "code", + "exemplar": true, + "expr": "1 - avg(rate(windows_cpu_time_total{cluster=\"$cluster\",mode=\"idle\"}[$__rate_interval]))", + "hide": false, + "interval": "$resolution", + "legendFormat": "Windows", + "range": true, + "refId": "Windows" } ], "title": "Cluster CPU Utilization", + "transformations": [ + { + "id": "calculateField", + "options": { + "alias": "CPU usage in %", + "mode": "reduceRow", + "reduce": { + "reducer": "mean" + }, + "replaceFields": true + } + } + ], "type": "timeseries" }, { @@ -1029,11 +1291,13 @@ "mode": "continuous-GrYlRd" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "MEMORY", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 10, "gradientMode": "scheme", @@ -1042,6 +1306,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "smooth", "lineWidth": 2, "pointSize": 5, @@ -1113,14 +1378,41 @@ }, "editorMode": "code", "exemplar": true, - "expr": "sum(node_memory_MemTotal_bytes - node_memory_MemAvailable_bytes) / sum(node_memory_MemTotal_bytes)", + "expr": "sum(node_memory_MemTotal_bytes{cluster=\"$cluster\", job=\"$job\"} - node_memory_MemAvailable_bytes{cluster=\"$cluster\", job=\"$job\"}) / sum(node_memory_MemTotal_bytes{cluster=\"$cluster\", job=\"$job\"})", "interval": "$resolution", - "legendFormat": "Memory usage in %", + "legendFormat": "Linux", "range": true, - "refId": "A" + "refId": "Linux" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "editorMode": "code", + "exemplar": true, + "expr": "sum(windows_os_visible_memory_bytes{cluster=\"$cluster\"} - windows_memory_available_bytes{cluster=\"$cluster\"}) / sum(windows_os_visible_memory_bytes{cluster=\"$cluster\"})", + "hide": false, + "interval": "$resolution", + "legendFormat": "Windows", + "range": true, + "refId": "Windows" } ], "title": "Cluster Memory Utilization", + "transformations": [ + { + "id": "calculateField", + "options": { + "alias": "Memory usage in %", + "mode": "reduceRow", + "reduce": { + "reducer": "mean" + }, + "replaceFields": true + } + } + ], "type": "timeseries" }, { @@ -1134,11 +1426,13 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "CPU CORES", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 25, "gradientMode": "opacity", @@ -1147,6 +1441,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "smooth", "lineStyle": { "fill": "solid" @@ -1210,17 +1505,21 @@ "sort": "none" } }, - "pluginVersion": "8.3.3", + "pluginVersion": "10.4.0", "targets": [ { "datasource": { "type": "prometheus", "uid": "${datasource}" }, + "editorMode": "code", "exemplar": true, - "expr": "sum(rate(container_cpu_usage_seconds_total{image!=\"\"}[$__rate_interval])) by (namespace)", + "expr": "sum(rate(container_cpu_usage_seconds_total{image!=\"\", cluster=\"$cluster\"}[$__rate_interval])) by (namespace)\n+ on (namespace)\n(sum(rate(windows_container_cpu_usage_seconds_total{container_id!=\"\", cluster=\"$cluster\"}[$__rate_interval]) * on (container_id) group_left (container, pod, namespace) max by ( container, container_id, pod, namespace) (kube_pod_container_info{container_id!=\"\", cluster=\"$cluster\"}) OR kube_namespace_created{cluster=\"$cluster\"} * 0) by (namespace))", + "format": "time_series", + "hide": false, "interval": "$resolution", "legendFormat": "{{ namespace }}", + "range": true, "refId": "A" } ], @@ -1238,11 +1537,13 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 25, "gradientMode": "opacity", @@ -1251,6 +1552,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "smooth", "lineWidth": 2, "pointSize": 5, @@ -1317,10 +1619,12 @@ "type": "prometheus", "uid": "${datasource}" }, + "editorMode": "code", "exemplar": true, - "expr": "sum(container_memory_working_set_bytes{image!=\"\"}) by (namespace)", + "expr": "sum(container_memory_working_set_bytes{image!=\"\", cluster=\"$cluster\"}) by (namespace)\n+ on (namespace)\n(sum(windows_container_memory_usage_commit_bytes{container_id!=\"\", cluster=\"$cluster\"} * on (container_id) group_left (container, pod, namespace) max by ( container, container_id, pod, namespace) (kube_pod_container_info{container_id!=\"\", cluster=\"$cluster\"}) OR kube_namespace_created{cluster=\"$cluster\"} * 0) by (namespace))", "interval": "$resolution", "legendFormat": "{{ namespace }}", + "range": true, "refId": "A" } ], @@ -1338,11 +1642,13 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "CPU %", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 25, "gradientMode": "opacity", @@ -1351,6 +1657,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "smooth", "lineWidth": 2, "pointSize": 5, @@ -1418,11 +1725,27 @@ "type": "prometheus", "uid": "${datasource}" }, + "editorMode": "code", "exemplar": true, - "expr": "avg(1-rate(node_cpu_seconds_total{mode=\"idle\"}[$__rate_interval])) by (instance)", + "expr": "avg(sum by (instance, cpu) (rate(node_cpu_seconds_total{mode!~\"idle|iowait|steal\", cluster=\"$cluster\", job=\"$job\"}[$__rate_interval]))) by (instance)", "interval": "$resolution", "legendFormat": "{{ node }}", - "refId": "A" + "range": true, + "refId": "Linux" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "editorMode": "code", + "exemplar": true, + "expr": "avg(sum by (instance,core) (rate(windows_cpu_time_total{mode!=\"idle\", cluster=\"$cluster\"}[$__rate_interval]))) by (instance)", + "hide": false, + "interval": "$resolution", + "legendFormat": "{{ node }}", + "range": true, + "refId": "Windows" } ], "title": "CPU Utilization by instance", @@ -1439,11 +1762,13 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "MEMORY", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 25, "gradientMode": "opacity", @@ -1452,6 +1777,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "smooth", "lineWidth": 2, "pointSize": 5, @@ -1520,11 +1846,26 @@ }, "editorMode": "code", "exemplar": true, - "expr": "sum(node_memory_MemTotal_bytes - node_memory_MemAvailable_bytes) by (instance)", + "expr": "sum(node_memory_MemTotal_bytes{cluster=\"$cluster\", job=\"$job\"} - node_memory_MemAvailable_bytes{cluster=\"$cluster\", job=\"$job\"}) by (instance)", + "hide": false, "interval": "$resolution", - "legendFormat": "{{ node}}", + "legendFormat": "{{ instance }}", "range": true, - "refId": "A" + "refId": "Linux" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "editorMode": "code", + "exemplar": true, + "expr": "sum(windows_os_visible_memory_bytes{cluster=\"$cluster\"} - windows_memory_available_bytes{cluster=\"$cluster\"}) by (instance)", + "hide": false, + "interval": "$resolution", + "legendFormat": "{{ instance }}", + "range": true, + "refId": "Windows" } ], "title": "Memory Utilization by instance", @@ -1542,11 +1883,13 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "SECONDS", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 25, "gradientMode": "opacity", @@ -1555,6 +1898,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "smooth", "lineStyle": { "fill": "solid" @@ -1627,7 +1971,7 @@ }, "editorMode": "code", "exemplar": true, - "expr": "sum(rate(container_cpu_cfs_throttled_seconds_total{image!=\"\"}[$__rate_interval])) by (namespace) > 0", + "expr": "sum(rate(container_cpu_cfs_throttled_seconds_total{image!=\"\", cluster=\"$cluster\"}[$__rate_interval])) by (namespace) > 0", "interval": "$resolution", "legendFormat": "{{ namespace }}", "range": true, @@ -1649,11 +1993,13 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "NB", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 25, "gradientMode": "opacity", @@ -1662,6 +2008,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "smooth", "lineStyle": { "fill": "solid" @@ -1734,7 +2081,7 @@ }, "editorMode": "code", "exemplar": true, - "expr": "sum(rate(node_cpu_core_throttles_total[$__rate_interval])) by (instance)", + "expr": "sum(rate(node_cpu_core_throttles_total{cluster=\"$cluster\", job=\"$job\"}[$__rate_interval])) by (instance)", "interval": "$resolution", "legendFormat": "{{ instance }}", "range": true, @@ -1768,11 +2115,13 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 25, "gradientMode": "opacity", @@ -1781,6 +2130,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "smooth", "lineWidth": 2, "pointSize": 5, @@ -1849,7 +2199,7 @@ }, "editorMode": "code", "exemplar": true, - "expr": "sum(kube_pod_status_qos_class) by (qos_class)", + "expr": "sum(kube_pod_status_qos_class{cluster=\"$cluster\"}) by (qos_class)", "interval": "", "legendFormat": "{{ qos_class }} pods", "range": true, @@ -1861,7 +2211,7 @@ "uid": "${datasource}" }, "editorMode": "code", - "expr": "sum(kube_pod_info)", + "expr": "sum(kube_pod_info{cluster=\"$cluster\"})", "hide": false, "legendFormat": "Total pods", "range": true, @@ -1882,11 +2232,13 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 25, "gradientMode": "opacity", @@ -1895,6 +2247,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "smooth", "lineWidth": 2, "pointSize": 5, @@ -1963,7 +2316,7 @@ }, "editorMode": "code", "exemplar": true, - "expr": "sum(kube_pod_status_reason) by (reason)", + "expr": "sum(kube_pod_status_reason{cluster=\"$cluster\"}) by (reason)", "interval": "", "legendFormat": "{{ reason }}", "range": true, @@ -1985,11 +2338,13 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "points", "fillOpacity": 25, "gradientMode": "opacity", @@ -1998,6 +2353,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "smooth", "lineWidth": 2, "pointSize": 5, @@ -2066,7 +2422,7 @@ }, "editorMode": "code", "exemplar": true, - "expr": "sum(increase(container_oom_events_total[$__rate_interval])) by (namespace) > 0", + "expr": "sum(increase(container_oom_events_total{cluster=\"$cluster\"}[$__rate_interval])) by (namespace) > 0", "interval": "", "legendFormat": "{{ namespace }}", "range": true, @@ -2088,11 +2444,13 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "points", "fillOpacity": 25, "gradientMode": "opacity", @@ -2101,6 +2459,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "smooth", "lineWidth": 2, "pointSize": 5, @@ -2169,7 +2528,7 @@ }, "editorMode": "code", "exemplar": true, - "expr": "sum(increase(kube_pod_container_status_restarts_total[$__rate_interval])) by (namespace) > 0", + "expr": "sum(increase(kube_pod_container_status_restarts_total{cluster=\"$cluster\"}[$__rate_interval])) by (namespace) > 0", "interval": "", "legendFormat": "{{ namespace }}", "range": true, @@ -2183,7 +2542,7 @@ "collapsed": false, "datasource": { "type": "prometheus", - "uid": "prometheus" + "uid": "${datasource}" }, "gridPos": { "h": 1, @@ -2208,11 +2567,13 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "BANDWIDTH", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 25, "gradientMode": "opacity", @@ -2221,6 +2582,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "smooth", "lineWidth": 2, "pointSize": 5, @@ -2251,7 +2613,7 @@ } ] }, - "unit": "bytes" + "unit": "binBps" }, "overrides": [] }, @@ -2283,11 +2645,11 @@ }, "editorMode": "code", "exemplar": true, - "expr": "sum(rate(node_network_receive_bytes_total{device!~\"lxc.*|veth.*\"}[$__rate_interval])) by (device)", + "expr": "sum(rate(node_network_receive_bytes_total{device!~\"(veth|azv|lxc).*\", cluster=\"$cluster\", job=\"$job\"}[$__rate_interval])) by (device)", "interval": "$resolution", "legendFormat": "Received : {{ device }}", "range": true, - "refId": "A" + "refId": "Linux Received" }, { "datasource": { @@ -2296,11 +2658,39 @@ }, "editorMode": "code", "exemplar": true, - "expr": "- sum(rate(node_network_transmit_bytes_total{device!~\"lxc.*|veth.*\"}[$__rate_interval])) by (device)", + "expr": "- sum(rate(node_network_transmit_bytes_total{device!~\"(veth|azv|lxc).*\", cluster=\"$cluster\", job=\"$job\"}[$__rate_interval])) by (device)", "interval": "$resolution", "legendFormat": "Transmitted : {{ device }}", "range": true, - "refId": "B" + "refId": "Linux Transmitted" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "editorMode": "code", + "exemplar": true, + "expr": "sum(rate(windows_net_bytes_received_total{cluster=\"$cluster\"}[$__rate_interval])) by (nic)", + "hide": false, + "interval": "$resolution", + "legendFormat": "Received : {{ nic }}", + "range": true, + "refId": "Windows Received" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "editorMode": "code", + "exemplar": true, + "expr": "- sum(rate(windows_net_bytes_sent_total{cluster=\"$cluster\"}[$__rate_interval])) by (nic)", + "hide": false, + "interval": "$resolution", + "legendFormat": "Transmitted : {{ device }}", + "range": true, + "refId": "Windows Transmitted" } ], "title": "Global Network Utilization by device", @@ -2317,11 +2707,13 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "DROPPED PACKETS", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 25, "gradientMode": "opacity", @@ -2330,6 +2722,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "smooth", "lineWidth": 2, "pointSize": 5, @@ -2392,11 +2785,11 @@ }, "editorMode": "code", "exemplar": true, - "expr": "sum(rate(node_network_receive_drop_total[$__rate_interval]))", + "expr": "sum(rate(node_network_receive_drop_total{cluster=\"$cluster\", job=\"$job\"}[$__rate_interval]))", "interval": "$resolution", - "legendFormat": "Packets dropped (receive)", + "legendFormat": "Linux Packets dropped (receive)", "range": true, - "refId": "A" + "refId": "Linux Packets dropped (receive)" }, { "datasource": { @@ -2405,14 +2798,87 @@ }, "editorMode": "code", "exemplar": true, - "expr": "- sum(rate(node_network_transmit_drop_total[$__rate_interval]))", + "expr": "- sum(rate(node_network_transmit_drop_total{cluster=\"$cluster\", job=\"$job\"}[$__rate_interval]))", "interval": "$resolution", - "legendFormat": "Packets dropped (transmit)", + "legendFormat": "Linux Packets dropped (transmit)", "range": true, - "refId": "B" + "refId": "Linux Packets dropped (transmit)" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "editorMode": "code", + "exemplar": true, + "expr": "sum(rate(windows_net_packets_received_discarded_total{cluster=\"$cluster\"}[$__rate_interval]))", + "hide": false, + "interval": "$resolution", + "legendFormat": "Windows Packets dropped (receive)", + "range": true, + "refId": "Windows Packets dropped (receive)" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "editorMode": "code", + "exemplar": true, + "expr": "- sum(rate(windows_net_packets_outbound_discarded_total{cluster=\"$cluster\"}[$__rate_interval]))", + "hide": false, + "interval": "$resolution", + "legendFormat": "Windows Packets dropped (transmit)", + "range": true, + "refId": "Windows Packets dropped (transmit)" } ], "title": "Network Saturation - Packets dropped", + "transformations": [ + { + "id": "calculateField", + "options": { + "alias": "Packets dropped (receive)", + "mode": "reduceRow", + "reduce": { + "include": [ + "Linux Packets dropped (receive)", + "Windows Packets dropped (receive)" + ], + "reducer": "mean" + } + } + }, + { + "id": "calculateField", + "options": { + "alias": "Packets dropped (transmit)", + "mode": "reduceRow", + "reduce": { + "include": [ + "Linux Packets dropped (transmit)", + "Windows Packets dropped (transmit)" + ], + "reducer": "mean" + } + } + }, + { + "id": "organize", + "options": { + "excludeByName": { + "Linux Packets dropped (receive)": true, + "Linux Packets dropped (transmit)": true, + "Time": false, + "Windows Packets dropped (receive)": true, + "Windows Packets dropped (transmit)": true + }, + "includeByName": {}, + "indexByName": {}, + "renameByName": {} + } + } + ], "type": "timeseries" }, { @@ -2426,11 +2892,13 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "BANDWIDTH", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 25, "gradientMode": "opacity", @@ -2439,6 +2907,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "smooth", "lineWidth": 2, "pointSize": 5, @@ -2469,7 +2938,7 @@ } ] }, - "unit": "bytes" + "unit": "binBps" }, "overrides": [] }, @@ -2501,7 +2970,7 @@ }, "editorMode": "code", "exemplar": true, - "expr": "sum(rate(container_network_receive_bytes_total[$__rate_interval])) by (namespace)", + "expr": "sum(rate(container_network_receive_bytes_total{cluster=\"$cluster\"}[$__rate_interval])) by (namespace)\n+ on (namespace)\n(sum(rate(windows_container_network_receive_bytes_total{container_id!=\"\", cluster=\"$cluster\"}[$__rate_interval]) * on (container_id) group_left (container, pod, namespace) max by ( container, container_id, pod, namespace) (kube_pod_container_info{container_id!=\"\", cluster=\"$cluster\"}) OR kube_namespace_created{cluster=\"$cluster\"} * 0) by (namespace))", "interval": "$resolution", "legendFormat": "Received : {{ namespace }}", "range": true, @@ -2513,7 +2982,7 @@ "uid": "${datasource}" }, "editorMode": "code", - "expr": "- sum(rate(container_network_transmit_bytes_total[$__rate_interval])) by (namespace)", + "expr": "- (sum(rate(container_network_transmit_bytes_total{cluster=\"$cluster\"}[$__rate_interval])) by (namespace)\n+ on (namespace)\n(sum(rate(windows_container_network_transmit_bytes_total{container_id!=\"\", cluster=\"$cluster\"}[$__rate_interval]) * on (container_id) group_left (container, pod, namespace) max by ( container, container_id, pod, namespace) (kube_pod_container_info{container_id!=\"\", cluster=\"$cluster\"}) OR kube_namespace_created{cluster=\"$cluster\"} * 0) by (namespace)))", "hide": false, "interval": "$resolution", "legendFormat": "Transmitted : {{ namespace }}", @@ -2535,11 +3004,13 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "BANDWIDTH", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 25, "gradientMode": "opacity", @@ -2548,6 +3019,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "smooth", "lineWidth": 2, "pointSize": 5, @@ -2578,7 +3050,7 @@ } ] }, - "unit": "bytes" + "unit": "binBps" }, "overrides": [] }, @@ -2610,11 +3082,11 @@ }, "editorMode": "code", "exemplar": true, - "expr": "sum(rate(node_network_receive_bytes_total[$__rate_interval])) by (instance)", + "expr": "sum(rate(node_network_receive_bytes_total{cluster=\"$cluster\", job=\"$job\"}[$__rate_interval])) by (instance)", "interval": "$resolution", "legendFormat": "Received bytes in {{ instance }}", "range": true, - "refId": "A" + "refId": "Linux Received bytes" }, { "datasource": { @@ -2622,12 +3094,39 @@ "uid": "${datasource}" }, "editorMode": "code", - "expr": "- sum(rate(node_network_transmit_bytes_total[$__rate_interval])) by (instance)", + "expr": "- sum(rate(node_network_transmit_bytes_total{cluster=\"$cluster\", job=\"$job\"}[$__rate_interval])) by (instance)", "hide": false, "interval": "$resolution", "legendFormat": "Transmitted bytes in {{ instance }}", "range": true, - "refId": "B" + "refId": "Linux Transmitted bytes" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "editorMode": "code", + "exemplar": true, + "expr": "sum(rate(windows_net_bytes_received_total{cluster=\"$cluster\"}[$__rate_interval])) by (instance)", + "hide": false, + "interval": "$resolution", + "legendFormat": "Received bytes in {{ instance }}", + "range": true, + "refId": "Windows Received bytes" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "editorMode": "code", + "expr": "- sum(rate(windows_net_bytes_sent_total{cluster=\"$cluster\"}[$__rate_interval])) by (instance)", + "hide": false, + "interval": "$resolution", + "legendFormat": "Transmitted bytes in {{ instance }}", + "range": true, + "refId": "Windows Transmitted bytes" } ], "title": "Total Network Received (with all virtual devices) by instance", @@ -2645,11 +3144,13 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "BANDWIDTH", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 25, "gradientMode": "opacity", @@ -2658,6 +3159,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "smooth", "lineWidth": 2, "pointSize": 5, @@ -2688,7 +3190,7 @@ } ] }, - "unit": "bytes" + "unit": "binBps" }, "overrides": [] }, @@ -2720,7 +3222,7 @@ }, "editorMode": "code", "exemplar": true, - "expr": "sum(rate(node_network_receive_bytes_total{device!~\"lxc.*|veth.*|lo\"}[$__rate_interval])) by (instance)", + "expr": "sum(rate(node_network_receive_bytes_total{device!~\"(veth|azv|lxc|lo).*\", cluster=\"$cluster\", job=\"$job\"}[$__rate_interval])) by (instance)", "interval": "$resolution", "legendFormat": "Received bytes in {{ instance }}", "range": true, @@ -2732,12 +3234,40 @@ "uid": "${datasource}" }, "editorMode": "code", - "expr": "- sum(rate(node_network_transmit_bytes_total{device!~\"lxc.*|veth.*|lo\"}[$__rate_interval])) by (instance)", + "expr": "- sum(rate(node_network_transmit_bytes_total{device!~\"(veth|azv|lxc|lo).*\", cluster=\"$cluster\", job=\"$job\"}[$__rate_interval])) by (instance)", "hide": false, "interval": "$resolution", "legendFormat": "Transmitted bytes in {{ instance }}", "range": true, "refId": "B" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "editorMode": "code", + "exemplar": true, + "expr": "sum(rate(windows_net_bytes_received_total{nic!~\".*Virtual.*\",cluster=\"$cluster\"}[$__rate_interval])) by (instance)", + "hide": false, + "interval": "$resolution", + "legendFormat": "Received bytes in {{ instance }}", + "range": true, + "refId": "C" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "editorMode": "code", + "exemplar": true, + "expr": "- sum(rate(windows_net_bytes_sent_total{nic!~\".*Virtual.*\",cluster=\"$cluster\"}[$__rate_interval])) by (instance)", + "hide": false, + "interval": "$resolution", + "legendFormat": "Transmitted bytes in {{ instance }}", + "range": true, + "refId": "D" } ], "title": "Network Received (without loopback) by instance", @@ -2755,11 +3285,13 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "BANDWIDTH", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 25, "gradientMode": "opacity", @@ -2768,6 +3300,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "smooth", "lineWidth": 2, "pointSize": 5, @@ -2798,7 +3331,7 @@ } ] }, - "unit": "bytes" + "unit": "binBps" }, "overrides": [] }, @@ -2830,7 +3363,7 @@ }, "editorMode": "code", "exemplar": true, - "expr": "sum(rate(node_network_receive_bytes_total{device=\"lo\"}[$__rate_interval])) by (instance)", + "expr": "sum(rate(node_network_receive_bytes_total{device=\"lo\", cluster=\"$cluster\", job=\"$job\"}[$__rate_interval])) by (instance)", "interval": "$resolution", "legendFormat": "Received bytes in {{ instance }}", "range": true, @@ -2842,7 +3375,7 @@ "uid": "${datasource}" }, "editorMode": "code", - "expr": "- sum(rate(node_network_transmit_bytes_total{device=\"lo\"}[$__rate_interval])) by (instance)", + "expr": "- sum(rate(node_network_transmit_bytes_total{device=\"lo\", cluster=\"$cluster\", job=\"$job\"}[$__rate_interval])) by (instance)", "hide": false, "interval": "$resolution", "legendFormat": "Transmitted bytes in {{ instance }}", @@ -2855,8 +3388,7 @@ } ], "refresh": "30s", - "schemaVersion": 38, - "style": "dark", + "schemaVersion": 39, "tags": [ "Kubernetes", "Prometheus" @@ -2866,8 +3398,8 @@ { "current": { "selected": false, - "text": "Prometheus", - "value": "Prometheus" + "text": "", + "value": "" }, "hide": 0, "includeAll": false, @@ -2881,9 +3413,32 @@ "skipUrlSync": false, "type": "datasource" }, + { + "current": {}, + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "definition": "label_values(kube_node_info,cluster)", + "hide": 0, + "includeAll": false, + "multi": false, + "name": "cluster", + "options": [], + "query": { + "qryType": 1, + "query": "label_values(kube_node_info,cluster)", + "refId": "PrometheusVariableQueryEditor-VariableQuery" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 1, + "type": "query" + }, { "current": { - "selected": true, + "selected": false, "text": "30s", "value": "30s" }, @@ -2927,6 +3482,33 @@ "queryValue": "", "skipUrlSync": false, "type": "custom" + }, + { + "current": { + "selected": false, + "text": "", + "value": "" + }, + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "definition": "label_values(node_cpu_seconds_total{cluster=\"$cluster\"},job)", + "hide": 0, + "includeAll": false, + "multi": true, + "name": "job", + "options": [], + "query": { + "qryType": 1, + "query": "label_values(node_cpu_seconds_total{cluster=\"$cluster\"},job)", + "refId": "PrometheusVariableQueryEditor-VariableQuery" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 1, + "type": "query" } ] }, @@ -2938,6 +3520,6 @@ "timezone": "", "title": "Kubernetes / Views / Global", "uid": "k8s_views_global", - "version": 31, + "version": 40, "weekStart": "" } diff --git a/dashboards/dotdc/k8s-views-namespaces.json b/dashboards/dotdc/k8s-views-namespaces.json index 06ff0b9a..6771236c 100644 --- a/dashboards/dotdc/k8s-views-namespaces.json +++ b/dashboards/dotdc/k8s-views-namespaces.json @@ -9,31 +9,37 @@ "pluginName": "Prometheus" } ], - "__elements": [], + "__elements": {}, "__requires": [ + { + "type": "panel", + "id": "gauge", + "name": "Gauge", + "version": "" + }, { "type": "grafana", "id": "grafana", "name": "Grafana", - "version": "8.3.4" + "version": "10.3.1" }, { "type": "datasource", "id": "prometheus", "name": "Prometheus", - "version": "5.0.0" - }, - { - "type": "panel", - "id": "timeseries", - "name": "Time series", - "version": "" + "version": "1.0.0" }, { "type": "panel", "id": "stat", "name": "Stat", "version": "" + }, + { + "type": "panel", + "id": "timeseries", + "name": "Time series", + "version": "" } ], "annotations": { @@ -122,19 +128,22 @@ }, "id": 46, "options": { + "minVizHeight": 75, + "minVizWidth": 75, "orientation": "auto", "reduceOptions": { "calcs": [ - "mean" + "lastNotNull" ], "fields": "", "values": false }, "showThresholdLabels": false, "showThresholdMarkers": true, + "sizing": "auto", "text": {} }, - "pluginVersion": "10.0.3", + "pluginVersion": "11.2.0", "targets": [ { "datasource": { @@ -143,7 +152,7 @@ }, "editorMode": "code", "exemplar": false, - "expr": "sum(rate(container_cpu_usage_seconds_total{namespace=~\"$namespace\", image!=\"\"}[$__rate_interval])) / sum(machine_cpu_cores)", + "expr": "sum(rate(container_cpu_usage_seconds_total{namespace=~\"$namespace\", image!=\"\", cluster=\"$cluster\"}[$__rate_interval])) / sum(machine_cpu_cores{cluster=\"$cluster\"})", "instant": true, "interval": "", "legendFormat": "", @@ -194,6 +203,8 @@ }, "id": 48, "options": { + "minVizHeight": 75, + "minVizWidth": 75, "orientation": "auto", "reduceOptions": { "calcs": [ @@ -204,9 +215,10 @@ }, "showThresholdLabels": false, "showThresholdMarkers": true, + "sizing": "auto", "text": {} }, - "pluginVersion": "10.0.3", + "pluginVersion": "11.2.0", "targets": [ { "datasource": { @@ -214,7 +226,7 @@ "uid": "${datasource}" }, "exemplar": true, - "expr": "sum(container_memory_working_set_bytes{namespace=~\"$namespace\", image!=\"\"}) / sum(machine_memory_bytes)", + "expr": "sum(container_memory_working_set_bytes{namespace=~\"$namespace\", image!=\"\", cluster=\"$cluster\"}) / sum(machine_memory_bytes{cluster=\"$cluster\"})", "interval": "", "legendFormat": "", "refId": "A" @@ -234,11 +246,13 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 25, "gradientMode": "opacity", @@ -247,6 +261,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "smooth", "lineWidth": 2, "pointSize": 5, @@ -313,7 +328,7 @@ "type": "prometheus", "uid": "${datasource}" }, - "expr": "sum(kube_pod_container_status_running{namespace=~\"$namespace\"})", + "expr": "sum(kube_pod_info{namespace=~\"$namespace\", cluster=\"$cluster\"})", "interval": "", "legendFormat": "Running Pods", "refId": "A" @@ -323,7 +338,7 @@ "type": "prometheus", "uid": "${datasource}" }, - "expr": "sum(kube_service_info{namespace=~\"$namespace\"})", + "expr": "sum(kube_service_info{namespace=~\"$namespace\", cluster=\"$cluster\"})", "interval": "", "legendFormat": "Services", "refId": "B" @@ -333,7 +348,7 @@ "type": "prometheus", "uid": "${datasource}" }, - "expr": "sum(kube_ingress_info{namespace=~\"$namespace\"})", + "expr": "sum(kube_ingress_info{namespace=~\"$namespace\", cluster=\"$cluster\"})", "interval": "", "legendFormat": "Ingresses", "refId": "C" @@ -343,7 +358,7 @@ "type": "prometheus", "uid": "${datasource}" }, - "expr": "sum(kube_deployment_labels{namespace=~\"$namespace\"})", + "expr": "sum(kube_deployment_labels{namespace=~\"$namespace\", cluster=\"$cluster\"})", "interval": "", "legendFormat": "Deployments", "refId": "D" @@ -353,7 +368,7 @@ "type": "prometheus", "uid": "${datasource}" }, - "expr": "sum(kube_statefulset_labels{namespace=~\"$namespace\"})", + "expr": "sum(kube_statefulset_labels{namespace=~\"$namespace\", cluster=\"$cluster\"})", "interval": "", "legendFormat": "Statefulsets", "refId": "E" @@ -363,7 +378,7 @@ "type": "prometheus", "uid": "${datasource}" }, - "expr": "sum(kube_daemonset_labels{namespace=~\"$namespace\"})", + "expr": "sum(kube_daemonset_labels{namespace=~\"$namespace\", cluster=\"$cluster\"})", "interval": "", "legendFormat": "Daemonsets", "refId": "F" @@ -373,7 +388,7 @@ "type": "prometheus", "uid": "${datasource}" }, - "expr": "sum(kube_persistentvolumeclaim_info{namespace=~\"$namespace\"})", + "expr": "sum(kube_persistentvolumeclaim_info{namespace=~\"$namespace\", cluster=\"$cluster\"})", "interval": "", "legendFormat": "Persistent Volume Claims", "refId": "G" @@ -383,7 +398,7 @@ "type": "prometheus", "uid": "${datasource}" }, - "expr": "sum(kube_hpa_labels{namespace=~\"$namespace\"})", + "expr": "sum(kube_hpa_labels{namespace=~\"$namespace\", cluster=\"$cluster\"})", "interval": "", "legendFormat": "Horizontal Pod Autoscalers", "refId": "H" @@ -393,7 +408,7 @@ "type": "prometheus", "uid": "${datasource}" }, - "expr": "sum(kube_configmap_info{namespace=~\"$namespace\"})", + "expr": "sum(kube_configmap_info{namespace=~\"$namespace\", cluster=\"$cluster\"})", "interval": "", "legendFormat": "Configmaps", "refId": "I" @@ -403,7 +418,7 @@ "type": "prometheus", "uid": "${datasource}" }, - "expr": "sum(kube_secret_info{namespace=~\"$namespace\"})", + "expr": "sum(kube_secret_info{namespace=~\"$namespace\", cluster=\"$cluster\"})", "interval": "", "legendFormat": "Secrets", "refId": "J" @@ -413,7 +428,7 @@ "type": "prometheus", "uid": "${datasource}" }, - "expr": "sum(kube_networkpolicy_labels{namespace=~\"$namespace\"})", + "expr": "sum(kube_networkpolicy_labels{namespace=~\"$namespace\", cluster=\"$cluster\"})", "interval": "", "legendFormat": "Network Policies", "refId": "K" @@ -456,17 +471,20 @@ "graphMode": "none", "justifyMode": "center", "orientation": "auto", + "percentChangeColorMode": "standard", "reduceOptions": { "calcs": [ - "mean" + "lastNotNull" ], "fields": "", "values": false }, + "showPercentChange": false, "text": {}, - "textMode": "auto" + "textMode": "auto", + "wideLayout": true }, - "pluginVersion": "10.0.3", + "pluginVersion": "11.2.0", "targets": [ { "datasource": { @@ -475,7 +493,7 @@ }, "editorMode": "code", "exemplar": true, - "expr": "sum(rate(container_cpu_usage_seconds_total{namespace=~\"$namespace\", image!=\"\"}[$__rate_interval]))", + "expr": "sum(rate(container_cpu_usage_seconds_total{namespace=~\"$namespace\", image!=\"\", cluster=\"$cluster\"}[$__rate_interval]))", "interval": "", "legendFormat": "Real", "range": true, @@ -487,7 +505,7 @@ "uid": "${datasource}" }, "editorMode": "code", - "expr": "sum(kube_pod_container_resource_requests{namespace=~\"$namespace\", resource=\"cpu\"})", + "expr": "sum(kube_pod_container_resource_requests{namespace=~\"$namespace\", resource=\"cpu\", cluster=\"$cluster\"})", "hide": false, "legendFormat": "Requests", "range": true, @@ -499,7 +517,7 @@ "uid": "${datasource}" }, "editorMode": "code", - "expr": "sum(kube_pod_container_resource_limits{namespace=~\"$namespace\", resource=\"cpu\"})", + "expr": "sum(kube_pod_container_resource_limits{namespace=~\"$namespace\", resource=\"cpu\", cluster=\"$cluster\"})", "hide": false, "legendFormat": "Limits", "range": true, @@ -511,7 +529,7 @@ "uid": "${datasource}" }, "editorMode": "code", - "expr": "sum(machine_cpu_cores)", + "expr": "sum(machine_cpu_cores{cluster=\"$cluster\"})", "hide": false, "legendFormat": "Cluster Total", "range": true, @@ -555,17 +573,20 @@ "graphMode": "none", "justifyMode": "auto", "orientation": "auto", + "percentChangeColorMode": "standard", "reduceOptions": { "calcs": [ - "mean" + "lastNotNull" ], "fields": "", "values": false }, + "showPercentChange": false, "text": {}, - "textMode": "auto" + "textMode": "auto", + "wideLayout": true }, - "pluginVersion": "10.0.3", + "pluginVersion": "11.2.0", "targets": [ { "datasource": { @@ -574,7 +595,7 @@ }, "editorMode": "code", "exemplar": true, - "expr": "sum(container_memory_working_set_bytes{namespace=~\"$namespace\", image!=\"\"})", + "expr": "sum(container_memory_working_set_bytes{namespace=~\"$namespace\", image!=\"\", cluster=\"$cluster\"})", "interval": "", "legendFormat": "Real", "range": true, @@ -586,7 +607,7 @@ "uid": "${datasource}" }, "editorMode": "code", - "expr": "sum(kube_pod_container_resource_requests{namespace=~\"$namespace\", resource=\"memory\"})", + "expr": "sum(kube_pod_container_resource_requests{namespace=~\"$namespace\", resource=\"memory\", cluster=\"$cluster\"})", "hide": false, "legendFormat": "Requests", "range": true, @@ -598,7 +619,7 @@ "uid": "${datasource}" }, "editorMode": "code", - "expr": "sum(kube_pod_container_resource_limits{namespace=~\"$namespace\", resource=\"memory\"})", + "expr": "sum(kube_pod_container_resource_limits{namespace=~\"$namespace\", resource=\"memory\", cluster=\"$cluster\"})", "hide": false, "legendFormat": "Limits", "range": true, @@ -610,7 +631,7 @@ "uid": "${datasource}" }, "editorMode": "code", - "expr": "sum(machine_memory_bytes)", + "expr": "sum(machine_memory_bytes{cluster=\"$cluster\"})", "hide": false, "legendFormat": "Cluster Total", "range": true, @@ -648,11 +669,13 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "CPU CORES", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 25, "gradientMode": "opacity", @@ -661,6 +684,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "smooth", "lineWidth": 2, "pointSize": 5, @@ -723,7 +747,7 @@ }, "editorMode": "code", "exemplar": true, - "expr": "sum(rate(container_cpu_usage_seconds_total{namespace=~\"$namespace\", image!=\"\", pod=~\"${created_by}.*\"}[$__rate_interval])) by (pod)", + "expr": "sum(rate(container_cpu_usage_seconds_total{namespace=~\"$namespace\", image!=\"\", pod=~\"${created_by}.*\", cluster=\"$cluster\"}[$__rate_interval])) by (pod)", "interval": "$resolution", "legendFormat": "{{ pod }}", "range": true, @@ -744,11 +768,13 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 25, "gradientMode": "opacity", @@ -757,6 +783,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "smooth", "lineWidth": 2, "pointSize": 5, @@ -819,7 +846,7 @@ }, "editorMode": "code", "exemplar": true, - "expr": "sum(container_memory_working_set_bytes{namespace=~\"$namespace\", image!=\"\", pod=~\"${created_by}.*\"}) by (pod)", + "expr": "sum(container_memory_working_set_bytes{namespace=~\"$namespace\", image!=\"\", pod=~\"${created_by}.*\", cluster=\"$cluster\"}) by (pod)", "interval": "$resolution", "legendFormat": "{{ pod }}", "range": true, @@ -841,11 +868,13 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "SECONDS", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 25, "gradientMode": "opacity", @@ -854,6 +883,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "smooth", "lineStyle": { "fill": "solid" @@ -926,7 +956,7 @@ }, "editorMode": "code", "exemplar": true, - "expr": "sum(rate(container_cpu_cfs_throttled_seconds_total{namespace=~\"$namespace\", image!=\"\", pod=~\"${created_by}.*\"}[$__rate_interval])) by (pod) > 0", + "expr": "sum(rate(container_cpu_cfs_throttled_seconds_total{namespace=~\"$namespace\", image!=\"\", pod=~\"${created_by}.*\", cluster=\"$cluster\"}[$__rate_interval])) by (pod) > 0", "interval": "$resolution", "legendFormat": "{{ pod }}", "range": true, @@ -960,11 +990,13 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 25, "gradientMode": "opacity", @@ -973,6 +1005,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "smooth", "lineWidth": 2, "pointSize": 5, @@ -1041,7 +1074,7 @@ }, "editorMode": "code", "exemplar": true, - "expr": "sum(kube_pod_status_qos_class{namespace=~\"$namespace\"}) by (qos_class)", + "expr": "sum(kube_pod_status_qos_class{namespace=~\"$namespace\", cluster=\"$cluster\"}) by (qos_class)", "interval": "", "legendFormat": "{{ qos_class }} pods", "range": true, @@ -1053,7 +1086,7 @@ "uid": "${datasource}" }, "editorMode": "code", - "expr": "sum(kube_pod_info{namespace=~\"$namespace\"})", + "expr": "sum(kube_pod_info{namespace=~\"$namespace\", cluster=\"$cluster\"})", "hide": false, "legendFormat": "Total pods", "range": true, @@ -1074,11 +1107,13 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 25, "gradientMode": "opacity", @@ -1087,6 +1122,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "smooth", "lineWidth": 2, "pointSize": 5, @@ -1155,7 +1191,7 @@ }, "editorMode": "code", "exemplar": true, - "expr": "sum(kube_pod_status_reason) by (reason)", + "expr": "sum(kube_pod_status_reason{cluster=\"$cluster\"}) by (reason)", "interval": "", "legendFormat": "{{ reason }}", "range": true, @@ -1177,11 +1213,13 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "points", "fillOpacity": 25, "gradientMode": "opacity", @@ -1190,6 +1228,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "smooth", "lineWidth": 2, "pointSize": 5, @@ -1258,7 +1297,7 @@ }, "editorMode": "code", "exemplar": true, - "expr": "sum(increase(container_oom_events_total{namespace=~\"${namespace}\"}[$__rate_interval])) by (namespace, pod) > 0", + "expr": "sum(increase(container_oom_events_total{namespace=~\"${namespace}\", cluster=\"$cluster\"}[$__rate_interval])) by (namespace, pod) > 0", "interval": "", "legendFormat": "namespace: {{ namespace }} - pod: {{ pod }}", "range": true, @@ -1280,11 +1319,13 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "points", "fillOpacity": 25, "gradientMode": "opacity", @@ -1293,6 +1334,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "smooth", "lineWidth": 2, "pointSize": 5, @@ -1361,7 +1403,7 @@ }, "editorMode": "code", "exemplar": true, - "expr": "sum(increase(kube_pod_container_status_restarts_total{namespace=~\"${namespace}\"}[$__rate_interval])) by (namespace, pod) > 0", + "expr": "sum(increase(kube_pod_container_status_restarts_total{namespace=~\"${namespace}\", cluster=\"$cluster\"}[$__rate_interval])) by (namespace, pod) > 0", "interval": "", "legendFormat": "namespace: {{ namespace }} - pod: {{ pod }}", "range": true, @@ -1382,11 +1424,13 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 25, "gradientMode": "opacity", @@ -1395,6 +1439,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "smooth", "lineWidth": 2, "pointSize": 5, @@ -1457,7 +1502,7 @@ "uid": "${datasource}" }, "editorMode": "code", - "expr": "sum(kube_pod_container_status_ready{namespace=~\"$namespace\", pod=~\"${created_by}.*\"})", + "expr": "sum(kube_pod_container_status_ready{namespace=~\"$namespace\", pod=~\"${created_by}.*\", cluster=\"$cluster\"})", "interval": "", "legendFormat": "Ready", "range": true, @@ -1469,7 +1514,7 @@ "uid": "${datasource}" }, "editorMode": "code", - "expr": "sum(kube_pod_container_status_running{namespace=~\"$namespace\", pod=~\"${created_by}.*\"})", + "expr": "sum(kube_pod_container_status_running{namespace=~\"$namespace\", pod=~\"${created_by}.*\", cluster=\"$cluster\"})", "interval": "", "legendFormat": "Running", "range": true, @@ -1480,7 +1525,7 @@ "type": "prometheus", "uid": "${datasource}" }, - "expr": "sum(kube_pod_container_status_waiting{namespace=~\"$namespace\"})", + "expr": "sum(kube_pod_container_status_waiting{namespace=~\"$namespace\", cluster=\"$cluster\"})", "interval": "", "legendFormat": "Waiting", "refId": "C" @@ -1490,7 +1535,7 @@ "type": "prometheus", "uid": "${datasource}" }, - "expr": "sum(kube_pod_container_status_restarts_total{namespace=~\"$namespace\"})", + "expr": "sum(kube_pod_container_status_restarts_total{namespace=~\"$namespace\", cluster=\"$cluster\"})", "interval": "", "legendFormat": "Restarts Total", "refId": "D" @@ -1500,7 +1545,7 @@ "type": "prometheus", "uid": "${datasource}" }, - "expr": "sum(kube_pod_container_status_terminated{namespace=~\"$namespace\"})", + "expr": "sum(kube_pod_container_status_terminated{namespace=~\"$namespace\", cluster=\"$cluster\"})", "interval": "", "legendFormat": "Terminated", "refId": "E" @@ -1520,11 +1565,13 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 25, "gradientMode": "opacity", @@ -1533,6 +1580,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "smooth", "lineWidth": 2, "pointSize": 5, @@ -1595,7 +1643,7 @@ "uid": "${datasource}" }, "editorMode": "code", - "expr": "sum(kube_pod_container_info{namespace=~\"$namespace\", pod=~\"${created_by}.*\"}) by (pod)", + "expr": "sum(kube_pod_container_info{namespace=~\"$namespace\", pod=~\"${created_by}.*\", cluster=\"$cluster\"}) by (pod)", "interval": "", "legendFormat": "{{ pod }}", "range": true, @@ -1616,11 +1664,13 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 25, "gradientMode": "opacity", @@ -1629,6 +1679,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "smooth", "lineWidth": 2, "pointSize": 5, @@ -1691,7 +1742,7 @@ }, "editorMode": "code", "exemplar": true, - "expr": "sum(kube_deployment_status_replicas_available{namespace=~\"$namespace\"}) by (deployment)", + "expr": "sum(kube_deployment_status_replicas_available{namespace=~\"$namespace\", cluster=\"$cluster\"}) by (deployment)", "interval": "", "legendFormat": "{{ deployment }}", "range": true, @@ -1712,11 +1763,13 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 25, "gradientMode": "opacity", @@ -1725,6 +1778,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "smooth", "lineWidth": 2, "pointSize": 5, @@ -1786,7 +1840,7 @@ "uid": "${datasource}" }, "editorMode": "code", - "expr": "sum(kube_deployment_status_replicas_unavailable{namespace=~\"$namespace\", pod=~\"${created_by}.*\"}) by (deployment)", + "expr": "sum(kube_deployment_status_replicas_unavailable{namespace=~\"$namespace\", pod=~\"${created_by}.*\", cluster=\"$cluster\"}) by (deployment)", "interval": "", "legendFormat": "{{ deployment }}", "range": true, @@ -1824,11 +1878,13 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 25, "gradientMode": "opacity", @@ -1837,6 +1893,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "smooth", "lineWidth": 2, "pointSize": 5, @@ -1899,7 +1956,7 @@ "uid": "${datasource}" }, "exemplar": true, - "expr": "sum(kubelet_volume_stats_used_bytes{namespace=~\"$namespace\"}) by (persistentvolumeclaim) / sum(kubelet_volume_stats_capacity_bytes{namespace=~\"$namespace\"}) by (persistentvolumeclaim)", + "expr": "sum(kubelet_volume_stats_used_bytes{namespace=~\"$namespace\", cluster=\"$cluster\"}) by (persistentvolumeclaim) / sum(kubelet_volume_stats_capacity_bytes{namespace=~\"$namespace\", cluster=\"$cluster\"}) by (persistentvolumeclaim)", "interval": "", "legendFormat": "{{ persistentvolumeclaim }}", "refId": "A" @@ -1919,11 +1976,13 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 25, "gradientMode": "opacity", @@ -1932,6 +1991,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "smooth", "lineWidth": 2, "pointSize": 5, @@ -1994,7 +2054,7 @@ "uid": "${datasource}" }, "exemplar": true, - "expr": "sum(kubelet_volume_stats_used_bytes{namespace=~\"$namespace\"}) by (persistentvolumeclaim)", + "expr": "sum(kubelet_volume_stats_used_bytes{namespace=~\"$namespace\", cluster=\"$cluster\"}) by (persistentvolumeclaim)", "interval": "", "legendFormat": "{{ persistentvolumeclaim }} - Used", "refId": "A" @@ -2005,7 +2065,7 @@ "uid": "${datasource}" }, "exemplar": true, - "expr": "sum(kubelet_volume_stats_capacity_bytes{namespace=~\"$namespace\"}) by (persistentvolumeclaim)", + "expr": "sum(kubelet_volume_stats_capacity_bytes{namespace=~\"$namespace\", cluster=\"$cluster\"}) by (persistentvolumeclaim)", "hide": false, "interval": "", "legendFormat": "{{ persistentvolumeclaim }} - Capacity", @@ -2026,11 +2086,13 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 25, "gradientMode": "opacity", @@ -2039,6 +2101,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "smooth", "lineWidth": 2, "pointSize": 5, @@ -2101,7 +2164,7 @@ "uid": "${datasource}" }, "exemplar": true, - "expr": "1 - sum(kubelet_volume_stats_inodes_used{namespace=~\"$namespace\"}) by (persistentvolumeclaim) / sum(kubelet_volume_stats_inodes{namespace=~\"$namespace\"}) by (persistentvolumeclaim)", + "expr": "1 - sum(kubelet_volume_stats_inodes_used{namespace=~\"$namespace\", cluster=\"$cluster\"}) by (persistentvolumeclaim) / sum(kubelet_volume_stats_inodes{namespace=~\"$namespace\", cluster=\"$cluster\"}) by (persistentvolumeclaim)", "interval": "", "legendFormat": "{{ persistentvolumeclaim }}", "refId": "A" @@ -2109,11 +2172,475 @@ ], "title": "Persistent Volumes - Inodes", "type": "timeseries" + }, + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 81 + }, + "id": 76, + "panels": [], + "title": "Network", + "type": "row" + }, + { + "datasource": { + "default": false, + "type": "prometheus", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "barWidthFactor": 0.6, + "drawStyle": "line", + "fillOpacity": 25, + "gradientMode": "opacity", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 2, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "binBps" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 82 + }, + "id": 78, + "options": { + "legend": { + "calcs": [], + "displayMode": "table", + "placement": "right", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } + }, + "pluginVersion": "8.3.3", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "editorMode": "code", + "exemplar": true, + "expr": "sum(rate(container_network_receive_bytes_total{namespace=~\"$namespace\", pod=~\"${created_by}.*\", cluster=\"$cluster\"}[$__rate_interval])) by (pod)", + "interval": "$resolution", + "legendFormat": "Received - {{ pod }}", + "range": true, + "refId": "A" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "editorMode": "code", + "exemplar": true, + "expr": "- sum(rate(container_network_transmit_bytes_total{namespace=~\"$namespace\", pod=~\"${created_by}.*\", cluster=\"$cluster\"}[$__rate_interval])) by (pod)", + "interval": "$resolution", + "legendFormat": "Transmitted - {{ pod }}", + "range": true, + "refId": "B" + } + ], + "title": "Network - Bandwidth by pod", + "type": "timeseries" + }, + { + "datasource": { + "default": false, + "type": "prometheus", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "barWidthFactor": 0.6, + "drawStyle": "line", + "fillOpacity": 25, + "gradientMode": "opacity", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 2, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "pps" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 82 + }, + "id": 79, + "options": { + "legend": { + "calcs": [], + "displayMode": "table", + "placement": "right", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } + }, + "pluginVersion": "8.3.3", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "editorMode": "code", + "exemplar": true, + "expr": "sum(rate(container_network_receive_packets_total{namespace=~\"$namespace\", pod=~\"${created_by}.*\", cluster=\"$cluster\"}[$__rate_interval])) by (pod)", + "interval": "$resolution", + "legendFormat": "Received - {{ pod }}", + "range": true, + "refId": "A" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "editorMode": "code", + "exemplar": true, + "expr": "- sum(rate(container_network_transmit_packets_total{namespace=~\"$namespace\", pod=~\"${created_by}.*\", cluster=\"$cluster\"}[$__rate_interval])) by (pod)", + "interval": "$resolution", + "legendFormat": "Transmitted - {{ pod }}", + "range": true, + "refId": "B" + } + ], + "title": "Network - Packets Rate by pod", + "type": "timeseries" + }, + { + "datasource": { + "default": false, + "type": "prometheus", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "barWidthFactor": 0.6, + "drawStyle": "line", + "fillOpacity": 25, + "gradientMode": "opacity", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 2, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "pps" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 90 + }, + "id": 80, + "options": { + "legend": { + "calcs": [], + "displayMode": "table", + "placement": "right", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } + }, + "pluginVersion": "8.3.3", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "editorMode": "code", + "exemplar": true, + "expr": "sum(rate(container_network_receive_packets_dropped_total{namespace=~\"$namespace\", pod=~\"${created_by}.*\", cluster=\"$cluster\"}[$__rate_interval])) by (pod)", + "interval": "$resolution", + "legendFormat": "Received - {{ pod }}", + "range": true, + "refId": "A" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "editorMode": "code", + "exemplar": true, + "expr": "- sum(rate(container_network_transmit_packets_dropped_total{namespace=~\"$namespace\", pod=~\"${created_by}.*\", cluster=\"$cluster\"}[$__rate_interval])) by (pod)", + "interval": "$resolution", + "legendFormat": "Transmitted - {{ pod }}", + "range": true, + "refId": "B" + } + ], + "title": "Network - Packets Dropped by pod", + "type": "timeseries" + }, + { + "datasource": { + "default": false, + "type": "prometheus", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "barWidthFactor": 0.6, + "drawStyle": "line", + "fillOpacity": 25, + "gradientMode": "opacity", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 2, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "pps" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 90 + }, + "id": 81, + "options": { + "legend": { + "calcs": [], + "displayMode": "table", + "placement": "right", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } + }, + "pluginVersion": "8.3.3", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "editorMode": "code", + "exemplar": true, + "expr": "sum(rate(container_network_receive_errors_total{namespace=~\"$namespace\", pod=~\"${created_by}.*\", cluster=\"$cluster\"}[$__rate_interval])) by (pod)", + "interval": "$resolution", + "legendFormat": "Received - {{ pod }}", + "range": true, + "refId": "A" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "editorMode": "code", + "exemplar": true, + "expr": "- sum(rate(container_network_transmit_errors_total{namespace=~\"$namespace\", pod=~\"${created_by}.*\", cluster=\"$cluster\"}[$__rate_interval])) by (pod)", + "interval": "$resolution", + "legendFormat": "Transmitted - {{ pod }}", + "range": true, + "refId": "B" + } + ], + "title": "Network - Errors by pod", + "type": "timeseries" } ], "refresh": "30s", - "schemaVersion": 38, - "style": "dark", + "schemaVersion": 39, "tags": [ "Kubernetes", "Prometheus" @@ -2121,11 +2648,7 @@ "templating": { "list": [ { - "current": { - "selected": false, - "text": "Prometheus", - "value": "Prometheus" - }, + "current": {}, "hide": 0, "includeAll": false, "multi": false, @@ -2139,27 +2662,42 @@ "type": "datasource" }, { - "current": { - "selected": true, - "text": [ - "monitoring" - ], - "value": [ - "monitoring" - ] - }, + "current": {}, "datasource": { "type": "prometheus", "uid": "${datasource}" }, - "definition": "label_values(kube_pod_info, namespace)", + "definition": "label_values(kube_node_info,cluster)", + "hide": 0, + "includeAll": false, + "multi": false, + "name": "cluster", + "options": [], + "query": { + "qryType": 1, + "query": "label_values(kube_node_info,cluster)", + "refId": "PrometheusVariableQueryEditor-VariableQuery" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 1, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "definition": "label_values(kube_pod_info{cluster=\"$cluster\"}, namespace)", "hide": 0, "includeAll": true, "multi": true, "name": "namespace", "options": [], "query": { - "query": "label_values(kube_pod_info, namespace)", + "query": "label_values(kube_pod_info{cluster=\"$cluster\"}, namespace)", "refId": "StandardVariableQuery" }, "refresh": 1, @@ -2173,7 +2711,7 @@ }, { "current": { - "selected": true, + "selected": false, "text": "30s", "value": "30s" }, @@ -2219,16 +2757,12 @@ "type": "custom" }, { - "current": { - "selected": false, - "text": "All", - "value": "$__all" - }, + "current": {}, "datasource": { "type": "prometheus", "uid": "${datasource}" }, - "definition": "label_values(kube_pod_info{namespace=~\"$namespace\", container!=\"\"},created_by_name)", + "definition": "label_values(kube_pod_info{namespace=~\"$namespace\", cluster=\"$cluster\"},created_by_name)", "description": "Can be used to filter on a specific deployment, statefulset or deamonset (only relevant panels).", "hide": 0, "includeAll": true, @@ -2236,10 +2770,10 @@ "name": "created_by", "options": [], "query": { - "query": "label_values(kube_pod_info{namespace=~\"$namespace\", container!=\"\"},created_by_name)", + "query": "label_values(kube_pod_info{namespace=~\"$namespace\", cluster=\"$cluster\"},created_by_name)", "refId": "PrometheusVariableQueryEditor-VariableQuery" }, - "refresh": 1, + "refresh": 2, "regex": "", "skipUrlSync": false, "sort": 1, @@ -2255,6 +2789,6 @@ "timezone": "", "title": "Kubernetes / Views / Namespaces", "uid": "k8s_views_ns", - "version": 27, + "version": 36, "weekStart": "" } diff --git a/dashboards/dotdc/k8s-views-pods.json b/dashboards/dotdc/k8s-views-pods.json index c441f49d..e3bf3f3f 100644 --- a/dashboards/dotdc/k8s-views-pods.json +++ b/dashboards/dotdc/k8s-views-pods.json @@ -108,6 +108,7 @@ "type": "prometheus", "uid": "${datasource}" }, + "description": "Panel only works when a single pod is selected.", "fieldConfig": { "defaults": { "mappings": [], @@ -136,6 +137,7 @@ "graphMode": "none", "justifyMode": "auto", "orientation": "auto", + "percentChangeColorMode": "standard", "reduceOptions": { "calcs": [ "mean" @@ -143,17 +145,20 @@ "fields": "", "values": false }, - "textMode": "name" + "showPercentChange": false, + "textMode": "name", + "wideLayout": true }, - "pluginVersion": "10.1.0", + "pluginVersion": "11.2.0", "targets": [ { "datasource": { "type": "prometheus", "uid": "${datasource}" }, + "editorMode": "code", "exemplar": false, - "expr": "kube_pod_info{namespace=\"$namespace\", pod=\"$pod\"}", + "expr": "kube_pod_info{namespace=\"$namespace\", pod=\"$pod\", cluster=\"$cluster\"}", "instant": true, "interval": "", "legendFormat": "{{ created_by_kind }}: {{ created_by_name }}", @@ -168,12 +173,13 @@ "type": "prometheus", "uid": "${datasource}" }, + "description": "Panel only works when a single pod is selected.", "fieldConfig": { "defaults": { "links": [ { "title": "", - "url": "/d/k8s_views_nodes/kubernetes-views-nodes?var-datasource=${datasource}&var-node=${__data.fields.node}" + "url": "/d/k8s_views_nodes/kubernetes-views-nodes?var-datasource=${datasource}&var-node=${__field.labels.node}" } ], "mappings": [], @@ -202,6 +208,7 @@ "graphMode": "none", "justifyMode": "auto", "orientation": "auto", + "percentChangeColorMode": "standard", "reduceOptions": { "calcs": [ "mean" @@ -209,17 +216,20 @@ "fields": "", "values": false }, - "textMode": "name" + "showPercentChange": false, + "textMode": "name", + "wideLayout": true }, - "pluginVersion": "10.1.0", + "pluginVersion": "11.2.0", "targets": [ { "datasource": { "type": "prometheus", "uid": "${datasource}" }, + "editorMode": "code", "exemplar": false, - "expr": "kube_pod_info{namespace=\"$namespace\", pod=\"$pod\"}", + "expr": "kube_pod_info{namespace=\"$namespace\", pod=\"$pod\", cluster=\"$cluster\"}", "instant": true, "interval": "", "legendFormat": "{{ node }}", @@ -234,6 +244,7 @@ "type": "prometheus", "uid": "${datasource}" }, + "description": "Panel only works when a single pod is selected.", "fieldConfig": { "defaults": { "mappings": [], @@ -262,6 +273,7 @@ "graphMode": "none", "justifyMode": "auto", "orientation": "auto", + "percentChangeColorMode": "standard", "reduceOptions": { "calcs": [ "mean" @@ -269,17 +281,20 @@ "fields": "", "values": false }, - "textMode": "name" + "showPercentChange": false, + "textMode": "name", + "wideLayout": true }, - "pluginVersion": "10.1.0", + "pluginVersion": "11.2.0", "targets": [ { "datasource": { "type": "prometheus", "uid": "${datasource}" }, + "editorMode": "code", "exemplar": false, - "expr": "kube_pod_info{namespace=\"$namespace\", pod=\"$pod\"}", + "expr": "kube_pod_info{namespace=\"$namespace\", pod=\"$pod\", cluster=\"$cluster\"}", "instant": true, "interval": "", "legendFormat": "{{ pod_ip }}", @@ -294,6 +309,7 @@ "type": "prometheus", "uid": "${datasource}" }, + "description": "Panel only works when a single pod is selected.", "fieldConfig": { "defaults": { "mappings": [], @@ -322,6 +338,7 @@ "graphMode": "none", "justifyMode": "auto", "orientation": "auto", + "percentChangeColorMode": "standard", "reduceOptions": { "calcs": [ "mean" @@ -329,9 +346,11 @@ "fields": "", "values": false }, - "textMode": "name" + "showPercentChange": false, + "textMode": "name", + "wideLayout": true }, - "pluginVersion": "10.1.0", + "pluginVersion": "11.2.0", "targets": [ { "datasource": { @@ -340,7 +359,7 @@ }, "editorMode": "code", "exemplar": false, - "expr": "kube_pod_info{namespace=\"$namespace\", pod=\"$pod\", priority_class!=\"\"}", + "expr": "kube_pod_info{namespace=\"$namespace\", pod=\"$pod\", priority_class!=\"\", cluster=\"$cluster\"}", "format": "time_series", "instant": true, "interval": "", @@ -357,6 +376,7 @@ "type": "prometheus", "uid": "${datasource}" }, + "description": "Panel only works when a single pod is selected.", "fieldConfig": { "defaults": { "color": { @@ -419,14 +439,17 @@ "graphMode": "none", "justifyMode": "auto", "orientation": "auto", + "percentChangeColorMode": "standard", "reduceOptions": { "calcs": [], "fields": "", "values": false }, - "textMode": "name" + "showPercentChange": false, + "textMode": "name", + "wideLayout": true }, - "pluginVersion": "10.1.0", + "pluginVersion": "11.2.0", "targets": [ { "datasource": { @@ -435,7 +458,7 @@ }, "editorMode": "code", "exemplar": false, - "expr": "kube_pod_status_qos_class{namespace=\"$namespace\", pod=\"$pod\"} > 0", + "expr": "kube_pod_status_qos_class{namespace=\"$namespace\", pod=\"$pod\", cluster=\"$cluster\"} > 0", "instant": true, "interval": "", "legendFormat": "{{ qos_class }}", @@ -450,6 +473,7 @@ "type": "prometheus", "uid": "${datasource}" }, + "description": "Panel only works when a single pod is selected.", "fieldConfig": { "defaults": { "mappings": [], @@ -482,14 +506,17 @@ "graphMode": "none", "justifyMode": "auto", "orientation": "auto", + "percentChangeColorMode": "standard", "reduceOptions": { "calcs": [], "fields": "", "values": false }, - "textMode": "name" + "showPercentChange": false, + "textMode": "name", + "wideLayout": true }, - "pluginVersion": "10.1.0", + "pluginVersion": "11.2.0", "targets": [ { "datasource": { @@ -498,7 +525,7 @@ }, "editorMode": "code", "exemplar": false, - "expr": "kube_pod_container_status_last_terminated_reason{namespace=\"$namespace\", pod=\"$pod\"}", + "expr": "kube_pod_container_status_last_terminated_reason{namespace=\"$namespace\", pod=\"$pod\", cluster=\"$cluster\"}", "instant": true, "interval": "", "legendFormat": "{{ reason }}", @@ -513,6 +540,7 @@ "type": "prometheus", "uid": "${datasource}" }, + "description": "Panel only works when a single pod is selected.", "fieldConfig": { "defaults": { "mappings": [], @@ -549,14 +577,17 @@ "graphMode": "none", "justifyMode": "auto", "orientation": "auto", + "percentChangeColorMode": "standard", "reduceOptions": { "calcs": [], "fields": "", "values": true }, - "textMode": "value" + "showPercentChange": false, + "textMode": "value", + "wideLayout": true }, - "pluginVersion": "10.1.0", + "pluginVersion": "11.2.0", "targets": [ { "datasource": { @@ -565,7 +596,7 @@ }, "editorMode": "code", "exemplar": false, - "expr": "kube_pod_container_status_last_terminated_exitcode{namespace=\"$namespace\", pod=\"$pod\"}", + "expr": "kube_pod_container_status_last_terminated_exitcode{namespace=\"$namespace\", pod=\"$pod\", cluster=\"$cluster\"}", "instant": true, "interval": "", "legendFormat": "__auto", @@ -646,6 +677,8 @@ }, "id": 39, "options": { + "minVizHeight": 75, + "minVizWidth": 75, "orientation": "auto", "reduceOptions": { "calcs": [ @@ -655,9 +688,10 @@ "values": false }, "showThresholdLabels": false, - "showThresholdMarkers": true + "showThresholdMarkers": true, + "sizing": "auto" }, - "pluginVersion": "10.1.0", + "pluginVersion": "11.2.0", "targets": [ { "datasource": { @@ -666,7 +700,7 @@ }, "editorMode": "code", "exemplar": false, - "expr": "sum(rate(container_cpu_usage_seconds_total{namespace=\"$namespace\", pod=\"$pod\", image!=\"\"}[$__rate_interval])) / sum(kube_pod_container_resource_requests{namespace=\"$namespace\", pod=\"$pod\", resource=\"cpu\"})", + "expr": "sum(rate(container_cpu_usage_seconds_total{namespace=\"$namespace\", pod=~\"$pod\", image!=\"\", cluster=\"$cluster\"}[$__rate_interval])) / sum(kube_pod_container_resource_requests{namespace=\"$namespace\", pod=~\"$pod\", resource=\"cpu\", job=~\"$job\", cluster=\"$cluster\"})", "instant": true, "interval": "$resolution", "legendFormat": "Requests", @@ -716,6 +750,8 @@ }, "id": 48, "options": { + "minVizHeight": 75, + "minVizWidth": 75, "orientation": "auto", "reduceOptions": { "calcs": [ @@ -725,9 +761,10 @@ "values": false }, "showThresholdLabels": false, - "showThresholdMarkers": true + "showThresholdMarkers": true, + "sizing": "auto" }, - "pluginVersion": "10.1.0", + "pluginVersion": "11.2.0", "targets": [ { "datasource": { @@ -736,7 +773,7 @@ }, "editorMode": "code", "exemplar": false, - "expr": "sum(rate(container_cpu_usage_seconds_total{namespace=\"$namespace\", pod=\"$pod\", image!=\"\"}[$__rate_interval])) / sum(kube_pod_container_resource_limits{namespace=\"$namespace\", pod=\"$pod\", resource=\"cpu\"})", + "expr": "sum(rate(container_cpu_usage_seconds_total{namespace=\"$namespace\", pod=~\"$pod\", image!=\"\", cluster=\"$cluster\"}[$__rate_interval])) / sum(kube_pod_container_resource_limits{namespace=\"$namespace\", pod=~\"$pod\", resource=\"cpu\", job=~\"$job\", cluster=\"$cluster\"})", "instant": true, "interval": "$resolution", "legendFormat": "Limits", @@ -790,6 +827,8 @@ }, "id": 40, "options": { + "minVizHeight": 75, + "minVizWidth": 75, "orientation": "auto", "reduceOptions": { "calcs": [ @@ -799,17 +838,19 @@ "values": false }, "showThresholdLabels": false, - "showThresholdMarkers": true + "showThresholdMarkers": true, + "sizing": "auto" }, - "pluginVersion": "10.1.0", + "pluginVersion": "11.2.0", "targets": [ { "datasource": { "type": "prometheus", "uid": "${datasource}" }, + "editorMode": "code", "exemplar": false, - "expr": "sum(container_memory_working_set_bytes{namespace=\"$namespace\", pod=\"$pod\", image!=\"\"}) / sum(kube_pod_container_resource_requests{namespace=\"$namespace\", pod=\"$pod\", resource=\"memory\"})", + "expr": "sum(container_memory_working_set_bytes{namespace=\"$namespace\", pod=~\"$pod\", image!=\"\", cluster=\"$cluster\"}) / sum(kube_pod_container_resource_requests{namespace=\"$namespace\", pod=~\"$pod\", resource=\"memory\", job=~\"$job\", cluster=\"$cluster\"})", "instant": true, "interval": "$resolution", "legendFormat": "Requests", @@ -859,6 +900,8 @@ }, "id": 49, "options": { + "minVizHeight": 75, + "minVizWidth": 75, "orientation": "auto", "reduceOptions": { "calcs": [ @@ -868,17 +911,19 @@ "values": false }, "showThresholdLabels": false, - "showThresholdMarkers": true + "showThresholdMarkers": true, + "sizing": "auto" }, - "pluginVersion": "10.1.0", + "pluginVersion": "11.2.0", "targets": [ { "datasource": { "type": "prometheus", "uid": "${datasource}" }, + "editorMode": "code", "exemplar": false, - "expr": "sum(container_memory_working_set_bytes{namespace=\"$namespace\", pod=\"$pod\", image!=\"\"}) / sum(kube_pod_container_resource_limits{namespace=\"$namespace\", pod=\"$pod\", resource=\"memory\"}) ", + "expr": "sum(container_memory_working_set_bytes{namespace=\"$namespace\", pod=~\"$pod\", image!=\"\", cluster=\"$cluster\"}) / sum(kube_pod_container_resource_limits{namespace=\"$namespace\", pod=~\"$pod\", resource=\"memory\", job=~\"$job\", cluster=\"$cluster\"}) ", "instant": true, "interval": "$resolution", "legendFormat": "Limits", @@ -988,7 +1033,7 @@ "showHeader": true, "sortBy": [] }, - "pluginVersion": "10.1.0", + "pluginVersion": "11.2.0", "targets": [ { "datasource": { @@ -997,7 +1042,7 @@ }, "editorMode": "code", "exemplar": false, - "expr": "sum(kube_pod_container_resource_requests{namespace=\"$namespace\", pod=\"$pod\", resource=\"cpu\"}) by (container)", + "expr": "sum(kube_pod_container_resource_requests{namespace=\"$namespace\", pod=~\"$pod\", resource=\"cpu\", job=~\"$job\", cluster=\"$cluster\"}) by (container)", "format": "table", "instant": true, "interval": "", @@ -1012,7 +1057,7 @@ }, "editorMode": "code", "exemplar": false, - "expr": "sum(kube_pod_container_resource_limits{namespace=\"$namespace\", pod=\"$pod\", resource=\"cpu\"}) by (container)", + "expr": "sum(kube_pod_container_resource_limits{namespace=\"$namespace\", pod=~\"$pod\", resource=\"cpu\", job=~\"$job\", cluster=\"$cluster\"}) by (container)", "format": "table", "instant": true, "interval": "", @@ -1027,7 +1072,7 @@ }, "editorMode": "code", "exemplar": false, - "expr": "sum(kube_pod_container_resource_requests{namespace=\"$namespace\", pod=\"$pod\", resource=\"memory\"}) by (container)", + "expr": "sum(kube_pod_container_resource_requests{namespace=\"$namespace\", pod=~\"$pod\", resource=\"memory\", job=~\"$job\", cluster=\"$cluster\"}) by (container)", "format": "table", "instant": true, "interval": "", @@ -1041,7 +1086,7 @@ }, "editorMode": "code", "exemplar": false, - "expr": "sum(kube_pod_container_resource_limits{namespace=\"$namespace\", pod=\"$pod\", resource=\"memory\"}) by (container)", + "expr": "sum(kube_pod_container_resource_limits{namespace=\"$namespace\", pod=~\"$pod\", resource=\"memory\", job=~\"$job\", cluster=\"$cluster\"}) by (container)", "format": "table", "instant": true, "interval": "", @@ -1055,7 +1100,7 @@ }, "editorMode": "code", "exemplar": false, - "expr": "sum(rate(container_cpu_usage_seconds_total{namespace=\"$namespace\", pod=\"$pod\", image!=\"\", container!=\"\"}[$__rate_interval])) by (container)", + "expr": "sum(rate(container_cpu_usage_seconds_total{namespace=\"$namespace\", pod=~\"$pod\", image!=\"\", container!=\"\", cluster=\"$cluster\"}[$__rate_interval])) by (container)", "format": "table", "hide": false, "instant": true, @@ -1070,7 +1115,7 @@ }, "editorMode": "code", "exemplar": false, - "expr": "sum(container_memory_working_set_bytes{namespace=\"$namespace\", pod=\"$pod\", image!=\"\", container!=\"\"}) by (container)", + "expr": "sum(container_memory_working_set_bytes{namespace=\"$namespace\", pod=~\"$pod\", image!=\"\", container!=\"\", cluster=\"$cluster\"}) by (container)", "format": "table", "hide": false, "instant": true, @@ -1181,11 +1226,13 @@ "mode": "thresholds" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "Percent", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 25, "gradientMode": "opacity", @@ -1271,7 +1318,7 @@ }, "editorMode": "code", "exemplar": true, - "expr": "sum(rate(container_cpu_usage_seconds_total{namespace=\"$namespace\", pod=\"$pod\", image!=\"\"}[$__rate_interval])) by (container) / sum(kube_pod_container_resource_requests{namespace=\"$namespace\", pod=\"$pod\", resource=\"cpu\"}) by (container)", + "expr": "sum(rate(container_cpu_usage_seconds_total{namespace=\"$namespace\", pod=~\"$pod\", image!=\"\", cluster=\"$cluster\"}[$__rate_interval])) by (container) / sum(kube_pod_container_resource_requests{namespace=\"$namespace\", pod=~\"$pod\", resource=\"cpu\", job=~\"$job\", cluster=\"$cluster\"}) by (container)", "interval": "$resolution", "legendFormat": "{{ container }} REQUESTS", "range": true, @@ -1283,7 +1330,7 @@ "uid": "${datasource}" }, "editorMode": "code", - "expr": "sum(rate(container_cpu_usage_seconds_total{namespace=\"$namespace\", pod=\"$pod\", image!=\"\"}[$__rate_interval])) by (container) / sum(kube_pod_container_resource_limits{namespace=\"$namespace\", pod=\"$pod\", resource=\"cpu\"}) by (container)", + "expr": "sum(rate(container_cpu_usage_seconds_total{namespace=\"$namespace\", pod=~\"$pod\", image!=\"\", cluster=\"$cluster\"}[$__rate_interval])) by (container) / sum(kube_pod_container_resource_limits{namespace=\"$namespace\", pod=~\"$pod\", resource=\"cpu\", job=~\"$job\", cluster=\"$cluster\"}) by (container)", "hide": false, "legendFormat": "{{ container }} LIMITS", "range": true, @@ -1305,11 +1352,13 @@ "mode": "thresholds" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "Percent", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 25, "gradientMode": "opacity", @@ -1398,7 +1447,7 @@ }, "editorMode": "code", "exemplar": true, - "expr": "sum(container_memory_working_set_bytes{namespace=\"$namespace\", pod=\"$pod\", image!=\"\"}) by (container) / sum(kube_pod_container_resource_requests{namespace=\"$namespace\", pod=\"$pod\", resource=\"memory\"}) by (container)", + "expr": "sum(container_memory_working_set_bytes{namespace=\"$namespace\", pod=~\"$pod\", image!=\"\", cluster=\"$cluster\"}) by (container) / sum(kube_pod_container_resource_requests{namespace=\"$namespace\", pod=~\"$pod\", resource=\"memory\", job=~\"$job\", cluster=\"$cluster\"}) by (container)", "interval": "", "legendFormat": "{{ container }} REQUESTS", "range": true, @@ -1410,7 +1459,7 @@ "uid": "${datasource}" }, "editorMode": "code", - "expr": "sum(container_memory_working_set_bytes{namespace=\"$namespace\", pod=\"$pod\", image!=\"\"}) by (container) / sum(kube_pod_container_resource_limits{namespace=\"$namespace\", pod=\"$pod\", resource=\"memory\"}) by (container)", + "expr": "sum(container_memory_working_set_bytes{namespace=\"$namespace\", pod=~\"$pod\", image!=\"\", cluster=\"$cluster\"}) by (container) / sum(kube_pod_container_resource_limits{namespace=\"$namespace\", pod=~\"$pod\", resource=\"memory\", job=~\"$job\", cluster=\"$cluster\"}) by (container)", "hide": false, "legendFormat": "{{ container }} LIMITS", "range": true, @@ -1431,11 +1480,13 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "CPU Cores", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 25, "gradientMode": "opacity", @@ -1532,7 +1583,7 @@ }, "editorMode": "code", "exemplar": true, - "expr": "sum(rate(container_cpu_usage_seconds_total{namespace=\"$namespace\", pod=\"$pod\", image!=\"\", container!=\"\"}[$__rate_interval])) by (container)", + "expr": "sum(rate(container_cpu_usage_seconds_total{namespace=\"$namespace\", pod=~\"$pod\", image!=\"\", container!=\"\", cluster=\"$cluster\"}[$__rate_interval])) by (container)", "interval": "$resolution", "legendFormat": "{{ container }}", "range": true, @@ -1553,11 +1604,13 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "Bytes", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 25, "gradientMode": "opacity", @@ -1637,7 +1690,7 @@ }, "editorMode": "code", "exemplar": true, - "expr": "sum(container_memory_working_set_bytes{namespace=\"$namespace\", pod=\"$pod\", image!=\"\", container!=\"\"}) by (container)", + "expr": "sum(container_memory_working_set_bytes{namespace=\"$namespace\", pod=~\"$pod\", image!=\"\", container!=\"\", cluster=\"$cluster\"}) by (container)", "interval": "", "legendFormat": "{{ container }}", "range": true, @@ -1659,11 +1712,13 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "SECONDS", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 25, "gradientMode": "opacity", @@ -1745,7 +1800,7 @@ }, "editorMode": "code", "exemplar": true, - "expr": "sum(rate(container_cpu_cfs_throttled_seconds_total{namespace=~\"$namespace\", pod=\"$pod\", image!=\"\", container!=\"\"}[$__rate_interval])) by (container)", + "expr": "sum(rate(container_cpu_cfs_throttled_seconds_total{namespace=~\"$namespace\", pod=~\"$pod\", image!=\"\", container!=\"\", cluster=\"$cluster\"}[$__rate_interval])) by (container)", "interval": "$resolution", "legendFormat": "{{ container }}", "range": true, @@ -1780,11 +1835,13 @@ "mode": "thresholds" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "Percent", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 25, "gradientMode": "opacity", @@ -1873,7 +1930,7 @@ }, "editorMode": "code", "exemplar": true, - "expr": "sum(increase(container_oom_events_total{namespace=\"${namespace}\", pod=\"${pod}\", container!=\"\"}[$__rate_interval])) by (container)", + "expr": "sum(increase(container_oom_events_total{namespace=\"${namespace}\", pod=\"${pod}\", container!=\"\", cluster=\"$cluster\"}[$__rate_interval])) by (container)", "interval": "", "legendFormat": "{{ container }}", "range": true, @@ -1895,11 +1952,13 @@ "mode": "thresholds" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "Percent", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 25, "gradientMode": "opacity", @@ -1988,7 +2047,7 @@ }, "editorMode": "code", "exemplar": true, - "expr": "sum(increase(kube_pod_container_status_restarts_total{namespace=~\"${namespace}\", pod=\"${pod}\", container!=\"\"}[$__rate_interval])) by (container)", + "expr": "sum(increase(kube_pod_container_status_restarts_total{namespace=~\"${namespace}\", pod=\"${pod}\", container!=\"\", job=~\"$job\", cluster=\"$cluster\"}[$__rate_interval])) by (container)", "interval": "", "legendFormat": "{{ container }}", "range": true, @@ -2035,11 +2094,13 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 25, "gradientMode": "opacity", @@ -2079,7 +2140,7 @@ } ] }, - "unit": "bytes" + "unit": "binBps" }, "overrides": [] }, @@ -2110,7 +2171,7 @@ "uid": "${datasource}" }, "exemplar": true, - "expr": "sum(rate(container_network_receive_bytes_total{namespace=\"$namespace\", pod=\"$pod\"}[$__rate_interval]))", + "expr": "sum(rate(container_network_receive_bytes_total{namespace=\"$namespace\", pod=~\"$pod\", cluster=\"$cluster\"}[$__rate_interval]))", "interval": "$resolution", "legendFormat": "Received", "refId": "A" @@ -2121,7 +2182,7 @@ "uid": "${datasource}" }, "exemplar": true, - "expr": "- sum(rate(container_network_transmit_bytes_total{namespace=\"$namespace\", pod=\"$pod\"}[$__rate_interval]))", + "expr": "- sum(rate(container_network_transmit_bytes_total{namespace=\"$namespace\", pod=~\"$pod\", cluster=\"$cluster\"}[$__rate_interval]))", "interval": "$resolution", "legendFormat": "Transmitted", "refId": "B" @@ -2141,11 +2202,13 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 25, "gradientMode": "opacity", @@ -2216,7 +2279,7 @@ "uid": "${datasource}" }, "exemplar": true, - "expr": "sum(rate(container_network_receive_packets_total{namespace=\"$namespace\", pod=\"$pod\"}[$__rate_interval]))", + "expr": "sum(rate(container_network_receive_packets_total{namespace=\"$namespace\", pod=~\"$pod\", cluster=\"$cluster\"}[$__rate_interval]))", "interval": "$resolution", "legendFormat": "Received", "refId": "A" @@ -2227,7 +2290,7 @@ "uid": "${datasource}" }, "exemplar": true, - "expr": "- sum(rate(container_network_transmit_packets_total{namespace=\"$namespace\", pod=\"$pod\"}[$__rate_interval]))", + "expr": "- sum(rate(container_network_transmit_packets_total{namespace=\"$namespace\", pod=~\"$pod\", cluster=\"$cluster\"}[$__rate_interval]))", "interval": "$resolution", "legendFormat": "Transmitted", "refId": "B" @@ -2247,11 +2310,13 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 25, "gradientMode": "opacity", @@ -2282,7 +2347,8 @@ "mode": "absolute", "steps": [ { - "color": "green" + "color": "green", + "value": null }, { "color": "red", @@ -2321,7 +2387,7 @@ "uid": "${datasource}" }, "exemplar": true, - "expr": "sum(rate(container_network_receive_packets_dropped_total{namespace=\"$namespace\", pod=\"$pod\"}[$__rate_interval]))", + "expr": "sum(rate(container_network_receive_packets_dropped_total{namespace=\"$namespace\", pod=~\"$pod\", cluster=\"$cluster\"}[$__rate_interval]))", "interval": "$resolution", "legendFormat": "Received", "refId": "A" @@ -2332,7 +2398,7 @@ "uid": "${datasource}" }, "exemplar": true, - "expr": "- sum(rate(container_network_transmit_packets_dropped_total{namespace=\"$namespace\", pod=\"$pod\"}[$__rate_interval]))", + "expr": "- sum(rate(container_network_transmit_packets_dropped_total{namespace=\"$namespace\", pod=~\"$pod\", cluster=\"$cluster\"}[$__rate_interval]))", "interval": "$resolution", "legendFormat": "Transmitted", "refId": "B" @@ -2352,11 +2418,13 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 25, "gradientMode": "opacity", @@ -2387,7 +2455,8 @@ "mode": "absolute", "steps": [ { - "color": "green" + "color": "green", + "value": null }, { "color": "red", @@ -2426,7 +2495,7 @@ "uid": "${datasource}" }, "exemplar": true, - "expr": "sum(rate(container_network_receive_errors_total{namespace=\"$namespace\", pod=\"$pod\"}[$__rate_interval]))", + "expr": "sum(rate(container_network_receive_errors_total{namespace=\"$namespace\", pod=~\"$pod\", cluster=\"$cluster\"}[$__rate_interval]))", "interval": "$resolution", "legendFormat": "Received", "refId": "A" @@ -2437,7 +2506,7 @@ "uid": "${datasource}" }, "exemplar": true, - "expr": "- sum(rate(container_network_transmit_errors_total{namespace=\"$namespace\", pod=\"$pod\"}[$__rate_interval]))", + "expr": "- sum(rate(container_network_transmit_errors_total{namespace=\"$namespace\", pod=~\"$pod\", cluster=\"$cluster\"}[$__rate_interval]))", "interval": "$resolution", "legendFormat": "Transmitted", "refId": "B" @@ -2448,8 +2517,7 @@ } ], "refresh": "30s", - "schemaVersion": 38, - "style": "dark", + "schemaVersion": 39, "tags": [ "Kubernetes", "Prometheus" @@ -2459,8 +2527,8 @@ { "current": { "selected": false, - "text": "Prometheus", - "value": "Prometheus" + "text": "", + "value": "" }, "hide": 0, "includeAll": false, @@ -2474,6 +2542,34 @@ "skipUrlSync": false, "type": "datasource" }, + { + "current": { + "isNone": true, + "selected": false, + "text": "None", + "value": "" + }, + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "definition": "label_values(kube_node_info,cluster)", + "hide": 0, + "includeAll": false, + "multi": false, + "name": "cluster", + "options": [], + "query": { + "qryType": 1, + "query": "label_values(kube_node_info,cluster)", + "refId": "PrometheusVariableQueryEditor-VariableQuery" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 1, + "type": "query" + }, { "current": { "selected": false, @@ -2484,14 +2580,14 @@ "type": "prometheus", "uid": "${datasource}" }, - "definition": "label_values(kube_pod_info, namespace)", + "definition": "label_values(kube_pod_info{cluster=\"$cluster\"}, namespace)", "hide": 0, "includeAll": false, "multi": false, "name": "namespace", "options": [], "query": { - "query": "label_values(kube_pod_info, namespace)", + "query": "label_values(kube_pod_info{cluster=\"$cluster\"}, namespace)", "refId": "Prometheus-namespace-Variable-Query" }, "refresh": 1, @@ -2513,14 +2609,14 @@ "type": "prometheus", "uid": "${datasource}" }, - "definition": "label_values(kube_pod_info{namespace=\"$namespace\"}, pod)", + "definition": "label_values(kube_pod_info{namespace=\"$namespace\", cluster=\"$cluster\"}, pod)", "hide": 0, - "includeAll": false, - "multi": false, + "includeAll": true, + "multi": true, "name": "pod", "options": [], "query": { - "query": "label_values(kube_pod_info{namespace=\"$namespace\"}, pod)", + "query": "label_values(kube_pod_info{namespace=\"$namespace\", cluster=\"$cluster\"}, pod)", "refId": "Prometheus-pod-Variable-Query" }, "refresh": 2, @@ -2534,7 +2630,7 @@ }, { "current": { - "selected": true, + "selected": false, "text": "30s", "value": "30s" }, @@ -2578,6 +2674,33 @@ "queryValue": "", "skipUrlSync": false, "type": "custom" + }, + { + "current": { + "selected": false, + "text": "kube-state-metrics", + "value": "kube-state-metrics" + }, + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "definition": "label_values(kube_pod_info{namespace=\"$namespace\", cluster=\"$cluster\"},job)", + "hide": 0, + "includeAll": false, + "multi": true, + "name": "job", + "options": [], + "query": { + "qryType": 1, + "query": "label_values(kube_pod_info{namespace=\"$namespace\", cluster=\"$cluster\"},job)", + "refId": "PrometheusVariableQueryEditor-VariableQuery" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 1, + "type": "query" } ] }, @@ -2589,6 +2712,6 @@ "timezone": "", "title": "Kubernetes / Views / Pods", "uid": "k8s_views_pods", - "version": 22, + "version": 30, "weekStart": "" } diff --git a/dashboards/ingress/namespace-detail.json b/dashboards/ingress/namespace-detail.json index 328fed23..9f569d3c 100644 --- a/dashboards/ingress/namespace-detail.json +++ b/dashboards/ingress/namespace-detail.json @@ -1339,11 +1339,7 @@ }, { "id": "unit", - "value": "short" - }, - { - "id": "decimals", - "value": 2 + "value": "none" }, { "id": "custom.align", diff --git a/dashboards/main/controller.json b/dashboards/main/controller.json index 8972c204..f6eaea06 100644 --- a/dashboards/main/controller.json +++ b/dashboards/main/controller.json @@ -3,7 +3,10 @@ "list": [ { "builtIn": 1, - "datasource": "-- Grafana --", + "datasource": { + "type": "datasource", + "uid": "grafana" + }, "enable": true, "hide": true, "iconColor": "rgba(0, 211, 255, 1)", @@ -20,15 +23,16 @@ }, "editable": false, "fiscalYearStartMonth": 0, - "gnetId": null, "graphTooltip": 1, - "id": 23, - "iteration": 1640791408237, + "id": 106, "links": [], "liveNow": false, "panels": [ { - "datasource": null, + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "description": "Note that this table shows the average values for the entire period selected in the dashboard. Consequently, it may contain information about Pods or namespaces that were changed or deleted during the selected period.", "fieldConfig": { "defaults": { @@ -36,9 +40,12 @@ "mode": "thresholds" }, "custom": { - "align": null, - "displayMode": "auto", + "align": "auto", + "cellOptions": { + "type": "auto" + }, "filterable": false, + "inspect": false, "minWidth": 70 }, "decimals": 2, @@ -89,8 +96,7 @@ ] }, { - "id": "custom.align", - "value": null + "id": "custom.align" }, { "id": "custom.minWidth", @@ -113,8 +119,7 @@ "value": 2 }, { - "id": "custom.align", - "value": null + "id": "custom.align" }, { "id": "custom.width" @@ -140,8 +145,7 @@ "value": 2 }, { - "id": "custom.align", - "value": null + "id": "custom.align" } ] }, @@ -164,8 +168,7 @@ "value": 2 }, { - "id": "custom.align", - "value": null + "id": "custom.align" }, { "id": "mappings", @@ -213,8 +216,7 @@ "value": 3 }, { - "id": "custom.align", - "value": null + "id": "custom.align" } ] }, @@ -237,8 +239,7 @@ "value": 2 }, { - "id": "custom.align", - "value": null + "id": "custom.align" } ] }, @@ -261,8 +262,7 @@ "value": 3 }, { - "id": "custom.align", - "value": null + "id": "custom.align" } ] }, @@ -285,8 +285,7 @@ "value": 2 }, { - "id": "custom.align", - "value": null + "id": "custom.align" } ] }, @@ -309,8 +308,7 @@ "value": 2 }, { - "id": "custom.align", - "value": null + "id": "custom.align" } ] }, @@ -333,8 +331,7 @@ "value": 2 }, { - "id": "custom.align", - "value": null + "id": "custom.align" } ] }, @@ -357,8 +354,7 @@ "value": 2 }, { - "id": "custom.align", - "value": null + "id": "custom.align" } ] }, @@ -381,8 +377,7 @@ "value": 2 }, { - "id": "custom.align", - "value": null + "id": "custom.align" } ] }, @@ -405,8 +400,7 @@ "value": 2 }, { - "id": "custom.align", - "value": null + "id": "custom.align" } ] }, @@ -429,8 +423,7 @@ "value": 2 }, { - "id": "custom.align", - "value": null + "id": "custom.align" } ] }, @@ -453,8 +446,7 @@ "value": 2 }, { - "id": "custom.align", - "value": null + "id": "custom.align" } ] }, @@ -477,20 +469,19 @@ "value": 2 }, { - "id": "custom.align", - "value": null + "id": "custom.align" }, { "id": "mappings", "value": [ { - "type": "value", "options": { "-1": { - "text": "hostNet", - "index": 0 + "index": 0, + "text": "hostNet" } - } + }, + "type": "value" } ] } @@ -515,20 +506,19 @@ "value": 2 }, { - "id": "custom.align", - "value": null + "id": "custom.align" }, { "id": "mappings", "value": [ { - "type": "value", "options": { "-1": { - "text": "hostNet", - "index": 0 + "index": 0, + "text": "hostNet" } - } + }, + "type": "value" } ] } @@ -553,8 +543,7 @@ "value": 2 }, { - "id": "custom.align", - "value": null + "id": "custom.align" } ] }, @@ -577,8 +566,7 @@ "value": 2 }, { - "id": "custom.align", - "value": null + "id": "custom.align" } ] }, @@ -597,8 +585,7 @@ "value": "short" }, { - "id": "custom.align", - "value": null + "id": "custom.align" } ] }, @@ -613,6 +600,18 @@ "value": 225 } ] + }, + { + "matcher": { + "id": "byName", + "options": "Node" + }, + "properties": [ + { + "id": "custom.width", + "value": 212 + } + ] } ] }, @@ -625,12 +624,26 @@ "id": 2, "links": [], "options": { + "cellHeight": "sm", + "footer": { + "countRows": false, + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, "showHeader": true, "sortBy": [] }, - "pluginVersion": "8.2.6", + "pluginVersion": "10.2.2", "targets": [ { + "datasource": { + "type": "prometheus", + "uid": "${ds_prometheus}" + }, + "editorMode": "code", "expr": "sum by (pod) (avg_over_time(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"}[$__range]) )", "format": "table", "hide": false, @@ -641,6 +654,10 @@ "refId": "A" }, { + "datasource": { + "type": "prometheus", + "uid": "${ds_prometheus}" + }, "expr": "sum by (pod, node) (\n sum by (pod, node) (avg_over_time(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"}[$__range])) * on (pod, node) group_right() avg_over_time(kube_pod_info{node=~\"$node\", namespace=\"$namespace\", pod=~\"$pod\"}[$__range])\n)", "format": "table", "hide": false, @@ -650,6 +667,10 @@ "refId": "B" }, { + "datasource": { + "type": "prometheus", + "uid": "${ds_prometheus}" + }, "expr": "sum by (pod) (avg_over_time(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"}[$__range]) * on (controller_type, controller_name) group_left() sum by (controller_type, controller_name) (avg_over_time(vpa_target_recommendation{namespace=\"$namespace\", update_mode=\"Off\"}[$__range]))) * 0\nor\nsum by (pod) (avg_over_time(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"}[$__range]) * on (controller_type, controller_name) group_left() sum by (controller_type, controller_name) (avg_over_time(vpa_target_recommendation{namespace=\"$namespace\", update_mode=\"Initial\"}[$__range]))) * 0 + 1\nor\nsum by (pod) (avg_over_time(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"}[$__range]) * on (controller_type, controller_name) group_left() sum by (controller_type, controller_name) (avg_over_time(vpa_target_recommendation{namespace=\"$namespace\", update_mode=\"Auto\"}[$__range]))) * 0 + 2\nor\nsum by (pod) (avg_over_time(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"}[$__range]) * on (controller_type, controller_name) group_left() sum by (controller_type, controller_name) (avg_over_time(vpa_target_recommendation{namespace=\"$namespace\", update_mode=\"Recreate\"}[$__range]))) * 0 + 3\nor\nsum by (pod) (avg_over_time(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"}[$__range])) * 0 + 5", "format": "table", "hide": false, @@ -659,6 +680,10 @@ "refId": "C" }, { + "datasource": { + "type": "prometheus", + "uid": "${ds_prometheus}" + }, "expr": "(\n sum by (pod) (avg_over_time(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"}[$__range])) \n * on (pod)\n sum by (pod) (rate(container_cpu_usage_seconds_total{node=~\"$node\", container!=\"POD\", namespace=\"$namespace\", pod=~\"$pod\"}[$__range]))\n)\nor\nsum by (pod) (avg_over_time(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"}[$__range]) * 0)", "format": "table", "hide": false, @@ -668,6 +693,10 @@ "refId": "D" }, { + "datasource": { + "type": "prometheus", + "uid": "${ds_prometheus}" + }, "expr": "(\n sum by (pod) (avg_over_time(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"}[$__range])) \n * on (pod)\n sum by (pod) (avg_over_time(kube_pod_container_resource_requests{resource=\"cpu\",unit=\"core\",node=~\"$node\", namespace=\"$namespace\", pod=~\"$pod\"}[$__range]))\n)\nor\nsum by (pod) (avg_over_time(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"}[$__range]) * 0)", "format": "table", "hide": false, @@ -677,6 +706,10 @@ "refId": "E" }, { + "datasource": { + "type": "prometheus", + "uid": "${ds_prometheus}" + }, "expr": "sum by (pod)\n(\n avg_over_time(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"}[$__range])\n * on (controller_type, controller_name) group_left()\n sum by (controller_type, controller_name) (avg_over_time(vpa_target_recommendation{container!=\"POD\", namespace=\"$namespace\", resource=\"cpu\"}[$__range]))\n)\nor\nsum by (pod) (avg_over_time(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"}[$__range]) * 0)", "format": "table", "hide": false, @@ -686,6 +719,10 @@ "refId": "F" }, { + "datasource": { + "type": "prometheus", + "uid": "${ds_prometheus}" + }, "expr": "(\n sum by (pod) (avg_over_time(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"}[$__range])) \n * on (pod)\n sum by (pod)\n (\n sum by (namespace, pod) (avg_over_time(kube_pod_container_resource_requests{resource=\"cpu\",unit=\"core\",node=~\"$node\", namespace=\"$namespace\", pod=~\"$pod\"}[$__range]))\n -\n sum by (namespace, pod) (rate(container_cpu_usage_seconds_total{node=~\"$node\", namespace=\"$namespace\", pod=~\"$pod\", container!=\"POD\"}[$__range]))\n ) > 0\n)\nor\nsum by (pod) (avg_over_time(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"}[$__range]) * 0)", "format": "table", "hide": false, @@ -695,6 +732,10 @@ "refId": "G" }, { + "datasource": { + "type": "prometheus", + "uid": "${ds_prometheus}" + }, "expr": "(\n sum by (pod) (avg_over_time(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"}[$__range])) \n * on (pod)\n sum by (pod) \n (\n (\n (\n sum by (namespace, pod) (rate(container_cpu_usage_seconds_total{node=~\"$node\", namespace=\"$namespace\", pod=~\"$pod\"}[$__range]))\n -\n sum by (namespace, pod) (avg_over_time(kube_pod_container_resource_requests{resource=\"cpu\",unit=\"core\",node=~\"$node\", namespace=\"$namespace\", pod=~\"$pod\", container!=\"POD\"}[$__range]))\n ) or sum by (namespace, pod) (rate(container_cpu_usage_seconds_total{node=~\"$node\", namespace=\"$namespace\", pod=~\"$pod\", container!=\"POD\"}[$__range]))\n ) > 0\n )\n)\nor\nsum by (pod) (avg_over_time(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"}[$__range]) * 0)", "format": "table", "hide": false, @@ -704,6 +745,10 @@ "refId": "H" }, { + "datasource": { + "type": "prometheus", + "uid": "${ds_prometheus}" + }, "expr": "(\n sum by (pod) (avg_over_time(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"}[$__range])) \n * on (pod)\n sum by (pod) (\n sum by (pod) (rate(container_cpu_cfs_throttled_periods_total{node=~\"$node\", namespace=\"$namespace\", pod=~\"$pod\"}[$__range]))\n /\n sum by (pod) (rate(container_cpu_cfs_periods_total{node=~\"$node\", namespace=\"$namespace\", pod=~\"$pod\"}[$__range]))\n * on (pod)\n sum by (pod) (avg_over_time(kube_pod_container_resource_limits{resource=\"cpu\",unit=\"core\",node=~\"$node\", namespace=\"$namespace\", pod=~\"$pod\"}[$__range]))\n )\n)\nor\nsum by (pod) (avg_over_time(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"}[$__range]) * 0)", "format": "table", "hide": false, @@ -713,6 +758,10 @@ "refId": "I" }, { + "datasource": { + "type": "prometheus", + "uid": "${ds_prometheus}" + }, "expr": "(\n sum by (pod) (avg_over_time(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"}[$__range])) \n * on (pod)\n sum by (pod) (avg_over_time(container_memory_working_set_bytes:without_kmem{node=~\"$node\", container!=\"POD\", namespace=\"$namespace\", pod=~\"$pod\"}[$__range]))\n)\nor\nsum by (pod) (avg_over_time(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"}[$__range]) * 0)", "format": "table", "instant": true, @@ -721,6 +770,10 @@ "refId": "J" }, { + "datasource": { + "type": "prometheus", + "uid": "${ds_prometheus}" + }, "expr": "(\n sum by (pod) (avg_over_time(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"}[$__range])) \n * on (pod)\n sum by (pod) (avg_over_time(kube_pod_container_resource_requests{resource=\"memory\",unit=\"byte\",node=~\"$node\", namespace=\"$namespace\", pod=~\"$pod\"}[$__range]))\n)\nor\nsum by (pod) (avg_over_time(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"}[$__range]) * 0)", "format": "table", "instant": true, @@ -729,6 +782,10 @@ "refId": "K" }, { + "datasource": { + "type": "prometheus", + "uid": "${ds_prometheus}" + }, "expr": "sum by (pod)\n(\n avg_over_time(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"}[$__range])\n * on (controller_type, controller_name) group_left()\n sum by (controller_type, controller_name) (avg_over_time(vpa_target_recommendation{container!=\"POD\", namespace=\"$namespace\", resource=\"memory\"}[$__range]))\n)\nor\nsum by (pod) (avg_over_time(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"}[$__range]) * 0)", "format": "table", "instant": true, @@ -737,6 +794,10 @@ "refId": "L" }, { + "datasource": { + "type": "prometheus", + "uid": "${ds_prometheus}" + }, "expr": "(\n sum by (pod) (avg_over_time(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"}[$__range])) \n * on (pod)\n sum by (pod)\n (\n (\n (\n sum by (namespace, pod) (avg_over_time(kube_pod_container_resource_requests{resource=\"memory\",unit=\"byte\",node=~\"$node\", namespace=\"$namespace\", pod=~\"$pod\"}[$__range]))\n -\n sum by (namespace, pod) (avg_over_time(container_memory_working_set_bytes:without_kmem{node=~\"$node\", namespace=\"$namespace\", pod=~\"$pod\", container!=\"POD\"}[$__range]))\n ) > 0\n )\n )\n)\nor\nsum by (pod) (avg_over_time(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"}[$__range]) * 0)", "format": "table", "instant": true, @@ -745,6 +806,10 @@ "refId": "M" }, { + "datasource": { + "type": "prometheus", + "uid": "${ds_prometheus}" + }, "expr": "(\n sum by (pod) (avg_over_time(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"}[$__range])) \n * on (pod)\n sum by (pod)\n (\n (\n (\n sum by (namespace, pod) (avg_over_time(container_memory_working_set_bytes:without_kmem{node=~\"$node\", namespace=\"$namespace\", pod=~\"$pod\"}[$__range]))\n -\n sum by (namespace, pod) (avg_over_time(kube_pod_container_resource_requests{resource=\"memory\",unit=\"byte\",node=~\"$node\", namespace=\"$namespace\", pod=~\"$pod\", container!=\"POD\"}[$__range]))\n ) or sum by (namespace, pod) (avg_over_time(container_memory_working_set_bytes:without_kmem{node=~\"$node\", namespace=\"$namespace\", pod=~\"$pod\", container!=\"POD\"}[$__range]))\n ) > 0\n )\n)\nor\nsum by (pod) (avg_over_time(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"}[$__range]) * 0)", "format": "table", "instant": true, @@ -753,7 +818,12 @@ "refId": "N" }, { - "expr": "(\n # Select data rates if Pod had 'hostNetwork: false' during the selected period.\n max_over_time(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"}[$__range])\n * on(pod)\n max_over_time(kube_pod_info{host_network=\"false\",namespace=\"$namespace\", pod=~\"$pod\"}[$__range])\n * on(pod)\n # Sum data rates for all interfaces of the Pod.\n sum by (pod) (rate(container_network_receive_bytes_total{node=~\"$node\", namespace=\"$namespace\", pod=~\"$pod\"}[$__range]))\n) or (\n # Return -1 if the Pod had 'hostNetwork: false' during the selected period.\n max_over_time(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"}[$__range])\n * on(pod)\n max_over_time(kube_pod_info{host_network=\"true\",namespace=\"$namespace\", pod=~\"$pod\"}[$__range])\n * -1\n)", + "datasource": { + "type": "prometheus", + "uid": "${ds_prometheus}" + }, + "editorMode": "code", + "expr": "(\n # Select data rates if Pod had 'hostNetwork: false' during the selected period.\n max(max_over_time(kube_pod_info{host_network=\"false\",namespace=\"$namespace\", pod=~\"$pod\"}[$__range])) by(pod)\n * on(pod)\n max(max_over_time(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"}[$__range])) by(pod)\n * on(pod)\n # Sum data rates for all interfaces of the Pod.\n sum by (pod) (rate(container_network_receive_bytes_total{node=~\"$node\", namespace=\"$namespace\", pod=~\"$pod\"}[$__range]))\n) or (\n # Return -1 if the Pod had 'hostNetwork: false' during the selected period.\n max_over_time(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"}[$__range])\n * on(pod)\n max_over_time(kube_pod_info{host_network=\"true\",namespace=\"$namespace\", pod=~\"$pod\"}[$__range])\n * -1\n)", "format": "table", "instant": true, "intervalFactor": 1, @@ -761,7 +831,12 @@ "refId": "O" }, { - "expr": "(\n # Select data rates if Pod had 'hostNetwork: false' during the selected period.\n max_over_time(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"}[$__range])\n * on(pod)\n max_over_time(kube_pod_info{host_network=\"false\",namespace=\"$namespace\", pod=~\"$pod\"}[$__range])\n * on(pod)\n # Sum data rates for all interfaces of the Pod.\n sum by (pod) (rate(container_network_transmit_bytes_total{node=~\"$node\", namespace=\"$namespace\", pod=~\"$pod\"}[$__range]))\n) or (\n # Return -1 if the Pod had 'hostNetwork: false' during the selected period.\n max_over_time(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"}[$__range])\n * on(pod)\n max_over_time(kube_pod_info{host_network=\"true\",namespace=\"$namespace\", pod=~\"$pod\"}[$__range])\n * -1\n)", + "datasource": { + "type": "prometheus", + "uid": "${ds_prometheus}" + }, + "editorMode": "code", + "expr": "(\n # Select data rates if Pod had 'hostNetwork: false' during the selected period.\n max(max_over_time(kube_pod_info{host_network=\"false\",namespace=\"$namespace\", pod=~\"$pod\"}[$__range])) by(pod)\n * on(pod)\n max(max_over_time(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"}[$__range])) by(pod)\n * on(pod)\n # Sum data rates for all interfaces of the Pod.\n sum by (pod) (rate(container_network_transmit_bytes_total{node=~\"$node\", namespace=\"$namespace\", pod=~\"$pod\"}[$__range]))\n) or (\n # Return -1 if the Pod had 'hostNetwork: false' during the selected period.\n max_over_time(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"}[$__range])\n * on(pod)\n max_over_time(kube_pod_info{host_network=\"true\",namespace=\"$namespace\", pod=~\"$pod\"}[$__range])\n * -1\n)", "format": "table", "instant": true, "intervalFactor": 1, @@ -769,6 +844,10 @@ "refId": "P" }, { + "datasource": { + "type": "prometheus", + "uid": "${ds_prometheus}" + }, "expr": "(\n sum by (pod) (avg_over_time(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"}[$__range])) \n * on (pod)\n sum by (pod) (rate(container_fs_reads_total{node=~\"$node\", container!=\"POD\", namespace=\"$namespace\", pod=~\"$pod\"}[$__range]))\n)\nor\nsum by (pod) (avg_over_time(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"}[$__range]) * 0)", "format": "table", "instant": true, @@ -777,6 +856,10 @@ "refId": "Q" }, { + "datasource": { + "type": "prometheus", + "uid": "${ds_prometheus}" + }, "expr": "(\n sum by (pod) (avg_over_time(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"}[$__range])) \n * on (pod)\n sum by (pod) (rate(container_fs_writes_total{node=~\"$node\", container!=\"POD\", namespace=\"$namespace\", pod=~\"$pod\"}[$__range]))\n)\nor\nsum by (pod) (avg_over_time(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"}[$__range]) * 0)", "format": "table", "instant": true, @@ -785,6 +868,10 @@ "refId": "R" }, { + "datasource": { + "type": "prometheus", + "uid": "${ds_prometheus}" + }, "expr": "(\n sum by (pod) (avg_over_time(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"}[$__range])) \n * on (pod)\n sum by (pod) (increase(kube_pod_container_status_restarts_total{namespace=\"$namespace\", pod=~\"$pod\"}[$__range]))\n)\nor\nsum by (pod) (avg_over_time(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"}[$__range]) * 0)", "format": "table", "hide": false, @@ -845,270 +932,257 @@ "type": "table" }, { - "cards": { - "cardHSpacing": 2, - "cardMinWidth": 5, - "cardRound": null, - "cardVSpacing": 2 + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" }, - "color": { - "cardColor": "#b4ff00", - "colorScale": "sqrt", - "colorScheme": "interpolateGnYlRd", - "defaultColor": "#757575", - "exponent": 0.5, - "mode": "discrete", - "thresholds": [ - { - "color": "#99440a", - "tooltip": "Some container is not running", - "value": "5" + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" }, - { - "color": "#e5ac0e", - "tooltip": "Pending", - "value": "1" + "custom": { + "fillOpacity": 70, + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineWidth": 0, + "spanNulls": false }, - { - "color": "rgb(215, 215, 215)", - "tooltip": "Unknown", - "value": "2" - }, - { - "color": "#bf1b00", - "tooltip": "Failed", - "value": "3" - }, - { - "color": "#e0f9d7", - "tooltip": "Succeeded", - "value": "4" - }, - { - "color": "#508642", - "tooltip": "Running", - "value": "0" + "mappings": [ + { + "options": { + "0": { + "color": "green", + "index": 0, + "text": "Ready" + }, + "1": { + "color": "#99440a", + "index": 1, + "text": "Some containers not running or ready" + }, + "2": { + "color": "#e5ac0e", + "index": 2, + "text": "Pending" + }, + "3": { + "color": "#d7d7d7", + "index": 3, + "text": "Unknown" + }, + "4": { + "color": "#bf1b00", + "index": 4, + "text": "Failed" + }, + "5": { + "color": "#e0f9d7", + "index": 5, + "text": "Succeeded" + } + }, + "type": "value" + } + ], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] } - ] + }, + "overrides": [] }, - "datasource": "$ds_prometheus", "gridPos": { "h": 8, "w": 24, "x": 0, "y": 7 }, - "highlightCards": true, "id": 53, - "legend": { - "show": true - }, "links": [], - "nullPointMode": "as empty", - "pageSize": 15, - "seriesFilterIndex": -1, - "statusmap": { - "ConfigVersion": "v1" + "options": { + "alignValue": "left", + "legend": { + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "mergeValues": false, + "rowHeight": 0.9, + "showValue": "never", + "tooltip": { + "mode": "single", + "sort": "none" + } }, "targets": [ { - "expr": "(\n min by (pod) (\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\"}\n * on (pod) group_right()\n min_over_time(kube_pod_status_phase{namespace=\"$namespace\", pod=~\"$pod\", phase=\"Running\"}[$__rate_interval])\n ) == 1\n) * 0", + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, + "editorMode": "code", + "expr": "min by (pod) (\n max(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\"}) by(pod)\n * on (pod) group_right()\n (\n (\n (min by (pod, phase) (label_replace(min_over_time(kube_pod_container_status_ready{namespace=\"$namespace\", pod=~\"$pod\"}[$__rate_interval]), \"phase\", \"Ready\", \"\", \"\")) == 1) * 0 + 0\n )\n or on(pod)\n (\n (min by (pod, phase) (min_over_time(kube_pod_status_phase{namespace=\"$namespace\", pod=~\"$pod\"}[$__rate_interval])) == 1) * 0\n + on(phase) group_left()\n (\n label_replace(vector(1), \"phase\", \"Running\", \"\", \"\") or\n label_replace(vector(2), \"phase\", \"Pending\", \"\", \"\") or\n label_replace(vector(3), \"phase\", \"Unknown\", \"\", \"\") or\n label_replace(vector(4), \"phase\", \"Failed\", \"\", \"\") or\n label_replace(vector(5), \"phase\", \"Succeeded\", \"\", \"\")\n )\n )\n ) \n)", "format": "time_series", "hide": false, "intervalFactor": 1, "legendFormat": "{{ pod }}", + "range": true, "refId": "A" - }, - { - "expr": "(\n min by (pod, phase) (\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\"}\n * on (pod) group_right()\n min_over_time(kube_pod_status_phase{namespace=\"$namespace\", pod=~\"$pod\", phase=\"Pending\"}[$__rate_interval])\n ) == 1\n) * 1", - "format": "time_series", - "hide": false, - "intervalFactor": 1, - "legendFormat": "{{ pod }}", - "refId": "B" - }, - { - "expr": "(\n min by (pod, phase) (\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\"}\n * on (pod) group_right()\n min_over_time(kube_pod_status_phase{namespace=\"$namespace\", pod=~\"$pod\", phase=\"Unknown\"}[$__rate_interval])\n ) == 1\n) * 2", - "format": "time_series", - "hide": false, - "intervalFactor": 1, - "legendFormat": "{{ pod }}", - "refId": "C" - }, - { - "expr": "(\n min by (pod, phase) (\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\"}\n * on (pod) group_right()\n min_over_time(kube_pod_status_phase{namespace=\"$namespace\", pod=~\"$pod\", phase=\"Failed\"}[$__rate_interval])\n ) == 1\n) * 3", - "format": "time_series", - "hide": false, - "intervalFactor": 1, - "legendFormat": "{{ pod }}", - "refId": "D" - }, - { - "expr": "(\n min by (pod, phase) (\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\"}\n * on (pod) group_right()\n min_over_time(kube_pod_status_phase{namespace=\"$namespace\", pod=~\"$pod\", phase=\"Succeeded\"}[$__rate_interval])\n ) == 1\n) * 4", - "format": "time_series", - "hide": false, - "intervalFactor": 1, - "legendFormat": "{{ pod }}", - "refId": "E" - }, - { - "expr": "(\n min by (pod) (\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\"}\n * on (pod) group_right()\n min by (pod) (min_over_time(kube_pod_container_status_ready{namespace=\"$namespace\", pod=~\"$pod\"}[$__rate_interval]))\n ) == 0\n) + 5", - "format": "time_series", - "hide": false, - "intervalFactor": 1, - "legendFormat": "{{ pod }}", - "refId": "F" } ], "title": "Status", - "tooltip": { - "extraInfo": "", - "freezeOnClick": true, - "items": [], - "show": true, - "showExtraInfo": false, - "showItems": false - }, - "type": "flant-statusmap-panel", - "useMax": true, - "usingPagination": false, - "xAxis": { - "show": true - }, - "yAxis": { - "maxWidth": -1, - "minWidth": -1, - "show": true - }, - "yAxisSort": "metrics", - "yLabel": { - "delimiter": "", - "labelTemplate": "", - "usingSplitLabel": false - } + "type": "state-timeline" }, { - "aliasColors": {}, - "bars": true, - "dashLength": 10, - "dashes": false, - "datasource": "$ds_prometheus", - "decimals": 0, + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "description": "The number of Pod restarts", "fieldConfig": { "defaults": { - "links": [] + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 30, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "normal" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "decimals": 0, + "links": [], + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "short" }, - "overrides": [] + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Total" + }, + "properties": [ + { + "id": "custom.stacking", + "value": { + "group": false, + "mode": "none" + } + }, + { + "id": "custom.lineWidth", + "value": 0 + }, + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "color", + "value": { + "fixedColor": "yellow", + "mode": "fixed" + } + } + ] + } + ] }, - "fill": 1, - "fillGradient": 0, "gridPos": { "h": 3, "w": 24, "x": 0, "y": 15 }, - "hiddenSeries": false, "id": 107, - "legend": { - "alignAsTable": false, - "avg": false, - "current": false, - "hideEmpty": true, - "hideZero": true, - "max": false, - "min": false, - "rightSide": false, - "show": false, - "sort": "avg", - "sortDesc": true, - "total": false, - "values": false - }, - "lines": false, - "linewidth": 1, "links": [], - "nullPointMode": "null as zero", "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.2.6", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "Total", - "bars": false, - "stack": false + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": false + }, + "tooltip": { + "mode": "multi", + "sort": "desc" } - ], - "spaceLength": 10, - "stack": true, - "steppedLine": false, + }, + "pluginVersion": "8.5.13", "targets": [ { + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "expr": "(\n sum by (pod) (avg_over_time(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"}[$__rate_interval])) \n * on (pod)\n sum by (pod) (increase(kube_pod_container_status_restarts_total{namespace=\"$namespace\", pod=~\"$pod\"}[$__rate_interval]))\n) > 0", "format": "time_series", "intervalFactor": 1, "legendFormat": "{{ pod }}", "refId": "A" - }, - { - "expr": "sum (\n sum by (pod) (avg_over_time(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"}[$__rate_interval])) \n * on (pod)\n sum by (pod) (increase(kube_pod_container_status_restarts_total{namespace=\"$namespace\", pod=~\"$pod\"}[$__rate_interval]))\n)", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "Total", - "refId": "B" } ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, "title": "Pods restarts", - "tooltip": { - "shared": true, - "sort": 2, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ + "transformations": [ { - "decimals": 0, - "format": "short", - "label": "", - "logBase": 1, - "max": null, - "min": "0", - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": false + "id": "calculateField", + "options": {} } ], - "yaxis": { - "align": false, - "alignLevel": null - } + "type": "timeseries" }, { "collapsed": false, - "datasource": null, + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "gridPos": { "h": 1, "w": 24, @@ -1121,608 +1195,752 @@ "type": "row" }, { - "aliasColors": {}, - "bars": true, - "dashLength": 10, - "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "fieldConfig": { "defaults": { - "links": [] + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "cores", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 30, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 1, + "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 + } + ] + }, + "unit": "short" }, - "overrides": [] + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Total" + }, + "properties": [ + { + "id": "custom.stacking", + "value": { + "group": false, + "mode": "none" + } + }, + { + "id": "custom.lineWidth", + "value": 0 + }, + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "color", + "value": { + "fixedColor": "yellow", + "mode": "fixed" + } + } + ] + } + ] }, - "fill": 1, - "fillGradient": 0, "gridPos": { "h": 9, "w": 12, "x": 0, "y": 19 }, - "hiddenSeries": false, "id": 6, - "legend": { - "alignAsTable": true, - "avg": true, - "current": false, - "hideEmpty": true, - "hideZero": true, - "max": false, - "min": false, - "rightSide": true, - "show": true, - "sort": "avg", - "sortDesc": true, - "total": false, - "values": true - }, - "lines": false, - "linewidth": 1, "links": [], - "nullPointMode": "null as zero", "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.2.6", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "Total", - "bars": false, - "stack": false + "legend": { + "calcs": [ + "mean" + ], + "displayMode": "table", + "placement": "right", + "showLegend": true, + "sortBy": "Mean", + "sortDesc": true + }, + "tooltip": { + "mode": "multi", + "sort": "desc" } - ], - "spaceLength": 10, - "stack": true, - "steppedLine": true, + }, + "pluginVersion": "8.5.13", "targets": [ { - "expr": "sum by(pod) (\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"}\n * on (pod)\n sum by (pod) (rate(container_cpu_usage_seconds_total{node=~\"$node\", container!=\"POD\", pod=~\"$pod\", namespace=\"$namespace\"}[$__rate_interval]))\n)", + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, + "editorMode": "code", + "expr": "sum by(pod) (\n max(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"}) by(pod)\n * on (pod)\n sum by (pod) (rate(container_cpu_usage_seconds_total{node=~\"$node\", container!=\"POD\", pod=~\"$pod\", namespace=\"$namespace\"}[$__rate_interval]))\n)", "format": "time_series", "instant": false, "intervalFactor": 1, "legendFormat": "{{ pod }}", "refId": "A" - }, - { - "expr": "sum (\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"}\n * on (pod)\n sum by (pod) (rate(container_cpu_usage_seconds_total{node=~\"$node\", container!=\"POD\", pod=~\"$pod\", namespace=\"$namespace\"}[$__rate_interval]))\n)", - "format": "time_series", - "interval": "", - "intervalFactor": 1, - "legendFormat": "Total", - "refId": "B" } ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, "title": "Usage by pod", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ + "transformations": [ { - "format": "short", - "label": "cores", - "logBase": 1, - "max": null, - "min": "0", - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + "id": "calculateField", + "options": {} } ], - "yaxis": { - "align": false, - "alignLevel": null - } + "type": "timeseries" }, { - "aliasColors": {}, - "bars": true, - "dashLength": 10, - "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "description": "The total value may not equal the sum of system and user times because of the kernel's cgroup accounting peculiarities. Read more here: https://www.kernel.org/doc/Documentation/cgroup-v1/cpuacct.txt", "fieldConfig": { "defaults": { - "links": [] + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "cores", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 30, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 1, + "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": [] + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Total" + }, + "properties": [ + { + "id": "custom.stacking", + "value": { + "group": false, + "mode": "none" + } + }, + { + "id": "custom.lineWidth", + "value": 0 + }, + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "color", + "value": { + "fixedColor": "yellow", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "System" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#e24d42", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "User" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#1f78c1", + "mode": "fixed" + } + } + ] + } + ] }, - "fill": 1, - "fillGradient": 0, "gridPos": { "h": 9, "w": 12, "x": 12, "y": 19 }, - "hiddenSeries": false, "id": 7, - "legend": { - "alignAsTable": true, - "avg": true, - "current": false, - "max": false, - "min": false, - "rightSide": true, - "show": true, - "sort": "avg", - "sortDesc": true, - "total": false, - "values": true - }, - "lines": false, - "linewidth": 1, "links": [], - "nullPointMode": "null as zero", "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.2.6", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "Total", - "bars": false, - "stack": false + "legend": { + "calcs": [ + "mean" + ], + "displayMode": "table", + "placement": "right", + "showLegend": true, + "sortBy": "Mean", + "sortDesc": true }, - { - "alias": "System", - "color": "#e24d42" - }, - { - "alias": "User", - "color": "#1f78c1" + "tooltip": { + "mode": "multi", + "sort": "desc" } - ], - "spaceLength": 10, - "stack": true, - "steppedLine": true, + }, + "pluginVersion": "8.5.13", "targets": [ { - "expr": "sum (\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"}\n * on (pod)\n sum by (pod) (rate(container_cpu_system_seconds_total{node=~\"$node\", container!=\"POD\", pod=~\"$pod\", namespace=\"$namespace\"}[$__rate_interval]))\n)", + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, + "editorMode": "code", + "expr": "sum (\n max(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"}) by(pod)\n * on (pod)\n sum by (pod) (rate(container_cpu_system_seconds_total{node=~\"$node\", container!=\"POD\", pod=~\"$pod\", namespace=\"$namespace\"}[$__rate_interval]))\n)", "format": "time_series", "interval": "", "intervalFactor": 1, "legendFormat": "System", + "range": true, "refId": "A" }, { - "expr": "sum (\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"}\n * on (pod)\n sum by (pod) (rate(container_cpu_user_seconds_total{node=~\"$node\", container!=\"POD\", pod=~\"$pod\", namespace=\"$namespace\"}[$__rate_interval]))\n)", + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, + "editorMode": "code", + "expr": "sum (\n max(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"}) by(pod)\n * on (pod)\n sum by (pod) (rate(container_cpu_user_seconds_total{node=~\"$node\", container!=\"POD\", pod=~\"$pod\", namespace=\"$namespace\"}[$__rate_interval]))\n)", "format": "time_series", "interval": "", "intervalFactor": 1, "legendFormat": "User", + "range": true, "refId": "B" - }, - { - "expr": "sum (\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"}\n * on (pod)\n sum by (pod) (rate(container_cpu_usage_seconds_total{node=~\"$node\", container!=\"POD\", pod=~\"$pod\", namespace=\"$namespace\"}[$__rate_interval]))\n)", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "Total", - "refId": "D" } ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, "title": "Usage by state", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ + "transformations": [ { - "format": "short", - "label": "cores", - "logBase": 1, - "max": null, - "min": "0", - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + "id": "calculateField", + "options": {} } ], - "yaxis": { - "align": false, - "alignLevel": null - } + "type": "timeseries" }, { - "aliasColors": {}, - "bars": true, - "dashLength": 10, - "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "description": "This graph shows the requested CPU resources higher than the actual CPU consumption. In other words, it shows CPU resources that can be \"freed\" without affecting the service.", "fieldConfig": { "defaults": { - "links": [] + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "cores", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 30, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 1, + "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 + } + ] + }, + "unit": "short" }, - "overrides": [] + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Total" + }, + "properties": [ + { + "id": "custom.stacking", + "value": { + "group": false, + "mode": "none" + } + }, + { + "id": "custom.lineWidth", + "value": 0 + }, + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "color", + "value": { + "fixedColor": "yellow", + "mode": "fixed" + } + } + ] + } + ] }, - "fill": 1, - "fillGradient": 0, "gridPos": { "h": 8, "w": 12, "x": 0, "y": 28 }, - "hiddenSeries": false, "id": 59, - "legend": { - "alignAsTable": true, - "avg": true, - "current": false, - "max": false, - "min": false, - "rightSide": true, - "show": true, - "sort": "avg", - "sortDesc": true, - "total": false, - "values": true - }, - "lines": false, - "linewidth": 1, "links": [], - "nullPointMode": "null as zero", "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.2.6", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "Total", - "bars": false, - "stack": false + "legend": { + "calcs": [ + "mean" + ], + "displayMode": "table", + "placement": "right", + "showLegend": true, + "sortBy": "Mean", + "sortDesc": true + }, + "tooltip": { + "mode": "multi", + "sort": "desc" } - ], - "spaceLength": 10, - "stack": true, - "steppedLine": true, + }, + "pluginVersion": "8.5.13", "targets": [ { - "expr": "sum by (pod)\n (\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"}\n * on (pod)\n sum by (pod) (\n sum by(namespace, pod, container) (avg_over_time(kube_pod_container_resource_requests{resource=\"cpu\",unit=\"core\",node=~\"$node\", namespace=\"$namespace\", pod=~\"$pod\"}[$__rate_interval]))\n -\n sum by(namespace, pod, container) (rate(container_cpu_usage_seconds_total{node=~\"$node\", container!=\"POD\", namespace=\"$namespace\", pod=~\"$pod\"}[$__rate_interval]))\n ) > 0\n )", + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, + "editorMode": "code", + "expr": "sum by (pod)\n (\n max(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"}) by(pod)\n * on (pod)\n sum by (pod) (\n sum by(namespace, pod, container) (avg_over_time(kube_pod_container_resource_requests{resource=\"cpu\",unit=\"core\",node=~\"$node\", namespace=\"$namespace\", pod=~\"$pod\"}[$__rate_interval]))\n -\n sum by(namespace, pod, container) (rate(container_cpu_usage_seconds_total{node=~\"$node\", container!=\"POD\", namespace=\"$namespace\", pod=~\"$pod\"}[$__rate_interval]))\n ) > 0\n )", "format": "time_series", "intervalFactor": 1, "legendFormat": "{{ pod }}", + "range": true, "refId": "A" - }, - { - "expr": "sum\n (\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"}\n * on (pod)\n sum by (pod) (\n sum by(namespace, pod, container) (avg_over_time(kube_pod_container_resource_requests{resource=\"cpu\",unit=\"core\",node=~\"$node\", namespace=\"$namespace\", pod=~\"$pod\"}[$__rate_interval]))\n -\n sum by(namespace, pod, container) (rate(container_cpu_usage_seconds_total{node=~\"$node\", namespace=\"$namespace\", pod=~\"$pod\", container!=\"POD\"}[$__rate_interval]))\n ) > 0\n )", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "Total", - "refId": "B" } ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, "title": "Over-requested by pod", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ + "transformations": [ { - "format": "short", - "label": "cores", - "logBase": 1, - "max": null, - "min": "0", - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + "id": "calculateField", + "options": {} } ], - "yaxis": { - "align": false, - "alignLevel": null - } + "type": "timeseries" }, { - "aliasColors": {}, - "bars": true, - "dashLength": 10, - "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "description": "This graph shows the requested CPU resources lower than the actual CPU consumption. In other words, it shows CPU resources that need to be \"reserved\" for the service to run smoothly.", "fieldConfig": { "defaults": { - "links": [] + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "cores", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 30, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 1, + "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 + } + ] + }, + "unit": "short" }, - "overrides": [] + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Total" + }, + "properties": [ + { + "id": "custom.stacking", + "value": { + "group": false, + "mode": "none" + } + }, + { + "id": "custom.lineWidth", + "value": 0 + }, + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "color", + "value": { + "fixedColor": "yellow", + "mode": "fixed" + } + } + ] + } + ] }, - "fill": 1, - "fillGradient": 0, "gridPos": { "h": 8, "w": 12, "x": 12, "y": 28 }, - "hiddenSeries": false, "id": 64, - "legend": { - "alignAsTable": true, - "avg": true, - "current": false, - "max": false, - "min": false, - "rightSide": true, - "show": true, - "sort": "avg", - "sortDesc": true, - "total": false, - "values": true - }, - "lines": false, - "linewidth": 1, "links": [], - "nullPointMode": "null as zero", "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.2.6", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "Total", - "bars": false, - "stack": false + "legend": { + "calcs": [ + "mean" + ], + "displayMode": "table", + "placement": "right", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "desc" } - ], - "spaceLength": 10, - "stack": true, - "steppedLine": true, + }, + "pluginVersion": "8.5.13", "targets": [ { - "expr": " (\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"}\n * on (pod)\n sum by (pod) (\n (\n sum by(namespace, pod, container) (rate(container_cpu_usage_seconds_total{node=~\"$node\", namespace=\"$namespace\", pod=~\"$pod\"}[$__rate_interval]))\n -\n sum by(namespace, pod, container) (avg_over_time(kube_pod_container_resource_requests{resource=\"cpu\",unit=\"core\",node=~\"$node\", namespace=\"$namespace\", pod=~\"$pod\", container!=\"POD\"}[$__rate_interval]))\n )\n or\n sum by(namespace, pod, container) (rate(container_cpu_usage_seconds_total{node=~\"$node\", namespace=\"$namespace\", pod=~\"$pod\"}[$__rate_interval]))\n )\n) > 0", + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, + "editorMode": "code", + "expr": " (\n max(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"}) by(pod)\n * on (pod)\n sum by (pod) (\n (\n sum by(namespace, pod, container) (rate(container_cpu_usage_seconds_total{node=~\"$node\", namespace=\"$namespace\", pod=~\"$pod\"}[$__rate_interval]))\n -\n sum by(namespace, pod, container) (avg_over_time(kube_pod_container_resource_requests{resource=\"cpu\",unit=\"core\",node=~\"$node\", namespace=\"$namespace\", pod=~\"$pod\", container!=\"POD\"}[$__rate_interval]))\n )\n or\n sum by(namespace, pod, container) (rate(container_cpu_usage_seconds_total{node=~\"$node\", namespace=\"$namespace\", pod=~\"$pod\"}[$__rate_interval]))\n )\n) > 0", "format": "time_series", "hide": false, "intervalFactor": 1, "legendFormat": "{{ pod }}", + "range": true, "refId": "A" - }, - { - "expr": "sum (\n (\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"}\n * on (pod)\n sum by (pod) (\n (\n sum by(namespace, pod, container) (rate(container_cpu_usage_seconds_total{node=~\"$node\", namespace=\"$namespace\", pod=~\"$pod\"}[$__rate_interval]))\n -\n sum by(namespace, pod, container) (avg_over_time(kube_pod_container_resource_requests{resource=\"cpu\",unit=\"core\",node=~\"$node\", namespace=\"$namespace\", pod=~\"$pod\", container!=\"POD\"}[$__rate_interval]))\n )\n or\n sum by(namespace, pod, container) (rate(container_cpu_usage_seconds_total{node=~\"$node\", namespace=\"$namespace\", pod=~\"$pod\"}[$__rate_interval]))\n )\n ) > 0\n )", - "format": "time_series", - "hide": false, - "intervalFactor": 1, - "legendFormat": "Total", - "refId": "B" } ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, "title": "Under-requested by pod", - "tooltip": { - "shared": true, - "sort": 1, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ + "transformations": [ { - "format": "short", - "label": "cores", - "logBase": 1, - "max": null, - "min": "0", - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + "id": "calculateField", + "options": {} } ], - "yaxis": { - "align": false, - "alignLevel": null - } + "type": "timeseries" }, { - "aliasColors": {}, - "bars": true, - "dashLength": 10, - "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "description": "The absence of data on the graph means that container resources are not set", "fieldConfig": { "defaults": { - "links": [] + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "cores", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 30, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 1, + "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 + } + ] + }, + "unit": "short" }, - "overrides": [] + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Total" + }, + "properties": [ + { + "id": "custom.stacking", + "value": { + "group": false, + "mode": "none" + } + }, + { + "id": "custom.lineWidth", + "value": 0 + }, + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "color", + "value": { + "fixedColor": "yellow", + "mode": "fixed" + } + } + ] + } + ] }, - "fill": 1, - "fillGradient": 0, "gridPos": { "h": 5, "w": 24, "x": 0, "y": 36 }, - "hiddenSeries": false, "id": 31, - "legend": { - "alignAsTable": true, - "avg": true, - "current": false, - "hideEmpty": true, - "hideZero": true, - "max": true, - "min": false, - "rightSide": true, - "show": true, - "sort": "avg", - "sortDesc": true, - "total": false, - "values": true - }, - "lines": false, - "linewidth": 1, "links": [], - "nullPointMode": "null as zero", "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.2.6", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "Total", - "bars": false, - "stack": false + "legend": { + "calcs": [ + "mean", + "max" + ], + "displayMode": "table", + "placement": "right", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "desc" } - ], - "spaceLength": 10, - "stack": true, - "steppedLine": false, + }, + "pluginVersion": "8.5.13", "targets": [ { - "expr": "(\n sum by (pod) (\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"}\n * on (pod)\n sum by (pod) (rate(container_cpu_cfs_throttled_periods_total{node=~\"$node\", namespace=\"$namespace\", pod=~\"$pod\"}[$__rate_interval]))) \n / \n sum by (pod) (rate(container_cpu_cfs_periods_total{node=~\"$node\", namespace=\"$namespace\", pod=~\"$pod\"}[$__rate_interval]))\n) \n* \nsum by (pod) (kube_pod_container_resource_limits{resource=\"cpu\",unit=\"core\",node=~\"$node\", namespace=\"$namespace\", pod=~\"$pod\"})", + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, + "editorMode": "code", + "expr": "(\n sum by (pod) (\n max(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"}) by(pod)\n * on (pod)\n sum by (pod) (rate(container_cpu_cfs_throttled_periods_total{node=~\"$node\", namespace=\"$namespace\", pod=~\"$pod\"}[$__rate_interval]))) \n / \n sum by (pod) (rate(container_cpu_cfs_periods_total{node=~\"$node\", namespace=\"$namespace\", pod=~\"$pod\"}[$__rate_interval]))\n) \n* \nsum by (pod) (kube_pod_container_resource_limits{resource=\"cpu\",unit=\"core\",node=~\"$node\", namespace=\"$namespace\", pod=~\"$pod\"})", "format": "time_series", "intervalFactor": 1, "legendFormat": "{{ pod }}", + "range": true, "refId": "A" - }, - { - "expr": "sum (\n (\n sum by (pod) (\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"}\n * on (pod)\n sum by (pod) (rate(container_cpu_cfs_throttled_periods_total{node=~\"$node\", namespace=\"$namespace\", pod=~\"$pod\"}[$__rate_interval]))) \n / \n sum by (pod) (rate(container_cpu_cfs_periods_total{node=~\"$node\", namespace=\"$namespace\", pod=~\"$pod\"}[$__rate_interval]))\n ) \n * \n sum by (pod) (kube_pod_container_resource_limits{resource=\"cpu\",unit=\"core\",node=~\"$node\", namespace=\"$namespace\", pod=~\"$pod\"})\n)", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "Total", - "refId": "B" } ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, "title": "Throttling", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ + "transformations": [ { - "decimals": null, - "format": "short", - "label": "cores", - "logBase": 1, - "max": null, - "min": "0", - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": false + "id": "calculateField", + "options": {} } ], - "yaxis": { - "align": false, - "alignLevel": null - } + "type": "timeseries" }, { "collapsed": true, - "datasource": null, + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "gridPos": { "h": 1, "w": 24, @@ -1732,62 +1950,149 @@ "id": 61, "panels": [ { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "description": "The total value may not equal the sum of system and user times because of the kernel's cgroup accounting peculiarities. Read more here: https://www.kernel.org/doc/Documentation/cgroup-v1/cpuacct.txt", - "fill": 0, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "cores", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 2, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "short" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Usage" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#629e51", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Requests" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#f4d598", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Limits" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#c15c17", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "VPA Target" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#447ebc", + "mode": "fixed" + } + } + ] + } + ] + }, "gridPos": { "h": 9, - "w": 6, + "w": 24, "x": 0, - "y": 43 + "y": 42 }, "id": 62, - "legend": { - "alignAsTable": false, - "avg": false, - "current": false, - "max": false, - "min": false, - "rightSide": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 2, "links": [], - "nullPointMode": "null", - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } + }, + "pluginVersion": "8.5.13", "repeat": "pod", "repeatDirection": "h", - "seriesOverrides": [ - { - "alias": "Usage", - "color": "#629e51" - }, - { - "alias": "Requests", - "color": "#f4d598" - }, - { - "alias": "Limits", - "color": "#c15c17" - }, - { - "alias": "VPA Target", - "color": "#447ebc" - } - ], - "spaceLength": 10, - "stack": false, - "steppedLine": true, "targets": [ { "expr": "sum by(pod) (rate(container_cpu_usage_seconds_total{node=~\"$node\", container!=\"POD\", pod=\"$pod\", namespace=\"$namespace\"}[$__rate_interval]))", @@ -1818,46 +2123,8 @@ "refId": "B" } ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, "title": "$pod", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "label": "cores", - "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 - } + "type": "timeseries" } ], "title": "Pods CPU", @@ -1865,7 +2132,10 @@ }, { "collapsed": true, - "datasource": null, + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "gridPos": { "h": 1, "w": 24, @@ -1875,61 +2145,156 @@ "id": 9, "panels": [ { - "aliasColors": {}, - "bars": true, - "dashLength": 10, - "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "description": "The total value may not equal the sum of system and user times because of the kernel's cgroup accounting peculiarities. Read more here: https://www.kernel.org/doc/Documentation/cgroup-v1/cpuacct.txt", - "fill": 1, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "cores", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 30, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "normal" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "short" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Total" + }, + "properties": [ + { + "id": "custom.stacking", + "value": { + "group": false, + "mode": "none" + } + }, + { + "id": "custom.lineWidth", + "value": 0 + }, + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "color", + "value": { + "fixedColor": "yellow", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "System" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#e24d42", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "User" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#1f78c1", + "mode": "fixed" + } + } + ] + } + ] + }, "gridPos": { "h": 9, - "w": 6, + "w": 24, "x": 0, - "y": 44 + "y": 43 }, "id": 11, - "legend": { - "alignAsTable": false, - "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", - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "desc" + } + }, + "pluginVersion": "8.5.13", "repeat": "pod", "repeatDirection": "h", - "seriesOverrides": [ - { - "alias": "Total", - "bars": false, - "stack": false - }, - { - "alias": "System", - "color": "#e24d42" - }, - { - "alias": "User", - "color": "#1f78c1" - } - ], - "spaceLength": 10, - "stack": true, - "steppedLine": true, "targets": [ { + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "expr": "sum by(pod) (rate(container_cpu_system_seconds_total{node=~\"$node\", container!=\"POD\", pod=\"$pod\", namespace=\"$namespace\"}[$__rate_interval]))", "format": "time_series", "intervalFactor": 1, @@ -1937,60 +2302,25 @@ "refId": "A" }, { + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "expr": "sum by(pod) (rate(container_cpu_user_seconds_total{node=~\"$node\", container!=\"POD\", pod=\"$pod\", namespace=\"$namespace\"}[$__rate_interval]))", "format": "time_series", "intervalFactor": 1, "legendFormat": "User", "refId": "B" - }, - { - "expr": "sum by(pod) (rate(container_cpu_usage_seconds_total{node=~\"$node\", container!=\"POD\", pod=\"$pod\", namespace=\"$namespace\"}[$__rate_interval]))", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "Total", - "refId": "D" } ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, "title": "$pod", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ + "transformations": [ { - "format": "short", - "label": "cores", - "logBase": 1, - "max": null, - "min": "0", - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + "id": "calculateField", + "options": {} } ], - "yaxis": { - "align": false, - "alignLevel": null - } + "type": "timeseries" } ], "title": "Pods CPU by state", @@ -1998,7 +2328,10 @@ }, { "collapsed": false, - "datasource": null, + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "gridPos": { "h": 1, "w": 24, @@ -2011,503 +2344,658 @@ "type": "row" }, { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "fieldConfig": { "defaults": { - "links": [] + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 30, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 1, + "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": "bytes" }, - "overrides": [] + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Total" + }, + "properties": [ + { + "id": "custom.lineWidth", + "value": 0 + }, + { + "id": "custom.stacking", + "value": { + "group": false, + "mode": "none" + } + }, + { + "id": "custom.lineWidth", + "value": 0 + }, + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "color", + "value": { + "fixedColor": "yellow", + "mode": "fixed" + } + } + ] + } + ] }, - "fill": 1, - "fillGradient": 0, "gridPos": { "h": 9, "w": 12, "x": 0, "y": 44 }, - "hiddenSeries": false, "id": 15, - "legend": { - "alignAsTable": false, - "avg": false, - "current": false, - "hideEmpty": true, - "hideZero": true, - "max": false, - "min": false, - "rightSide": false, - "show": false, - "sort": "avg", - "sortDesc": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, "links": [], - "nullPointMode": "null as zero", "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.2.6", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "Total", - "lines": false, - "stack": false + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": false + }, + "tooltip": { + "mode": "multi", + "sort": "desc" } - ], - "spaceLength": 10, - "stack": true, - "steppedLine": false, + }, + "pluginVersion": "8.5.13", "targets": [ { - "expr": "sum by(pod) (\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"}\n * on (pod)\n sum by (pod) (avg_over_time(container_memory_working_set_bytes:without_kmem{node=~\"$node\", container!=\"POD\", pod=~\"$pod\", namespace=\"$namespace\"}[$__rate_interval]))\n)", + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, + "editorMode": "code", + "expr": "sum by(pod) (\n max(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"}) by(pod)\n * on (pod)\n sum by (pod) (avg_over_time(container_memory_working_set_bytes:without_kmem{node=~\"$node\", container!=\"POD\", pod=~\"$pod\", namespace=\"$namespace\"}[$__rate_interval]))\n)", "format": "time_series", "intervalFactor": 1, "legendFormat": "{{ pod }}", + "range": true, "refId": "A" - }, - { - "expr": "sum(\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"}\n * on (pod)\n sum by (pod) (avg_over_time(container_memory_working_set_bytes:without_kmem{node=~\"$node\", container!=\"POD\", pod=~\"$pod\", namespace=\"$namespace\"}[$__rate_interval]))\n)", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "Total", - "refId": "B" } ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, "title": "Usage by pod", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ + "transformations": [ { - "format": "bytes", - "label": null, - "logBase": 1, - "max": null, - "min": "0", - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": false + "id": "calculateField", + "options": {} } ], - "yaxis": { - "align": false, - "alignLevel": null - } + "type": "timeseries" }, { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "description": "The Working set bytes metric is the actual memory used by the container, as it includes active file memory. When its value approaches the limit, the container can be killed by the OOMKiller. This value can be higher than the sum RSS and Cache since not all active file memory is Cache.", "fieldConfig": { "defaults": { - "links": [] + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 30, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 1, + "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 + } + ] + }, + "unit": "bytes" }, - "overrides": [] + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Working set bytes without kmem" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "rgb(0, 0, 0)", + "mode": "fixed" + } + }, + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "custom.lineWidth", + "value": 2 + }, + { + "id": "custom.stacking", + "value": { + "group": false, + "mode": "none" + } + }, + { + "id": "custom.lineStyle", + "value": { + "dash": [ + 10, + 10 + ], + "fill": "dash" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Kmem" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "rgb(255, 0, 0)", + "mode": "fixed" + } + }, + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "custom.lineWidth", + "value": 2 + }, + { + "id": "custom.stacking", + "value": { + "group": false, + "mode": "normal" + } + }, + { + "id": "custom.lineStyle", + "value": { + "dash": [ + 10, + 10 + ], + "fill": "dash" + } + } + ] + } + ] }, - "fill": 1, - "fillGradient": 0, "gridPos": { "h": 9, "w": 12, "x": 12, "y": 44 }, - "hiddenSeries": false, "id": 16, - "legend": { - "alignAsTable": false, - "avg": false, - "current": false, - "max": false, - "min": false, - "rightSide": false, - "show": false, - "sort": "avg", - "sortDesc": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, "links": [], - "nullPointMode": "null as zero", "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.2.6", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "Working set bytes without kmem", - "color": "rgb(0, 0, 0)", - "dashes": true, - "fill": 0, - "linewidth": 2, - "stack": false + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": false }, - { - "alias": "Kmem", - "color": "rgb(255, 0, 0)", - "dashes": true, - "fill": 0, - "linewidth": 2, - "stack": false + "tooltip": { + "mode": "multi", + "sort": "desc" } - ], - "spaceLength": 10, - "stack": true, - "steppedLine": false, + }, + "pluginVersion": "8.5.13", "targets": [ { - "expr": "sum (\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"}\n * on (pod)\n sum by (pod) (avg_over_time(container_memory_rss{node=~\"$node\", namespace=\"$namespace\", pod=~\"$pod\", container!=\"POD\"}[$__rate_interval]))\n)", + "datasource": { + "type": "prometheus", + "uid": "${ds_prometheus}" + }, + "editorMode": "code", + "expr": "sum (\n max(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"}) by(pod)\n * on (pod)\n sum by (pod) (avg_over_time(container_memory_rss{node=~\"$node\", namespace=\"$namespace\", pod=~\"$pod\", container!=\"POD\"}[$__rate_interval]))\n)", "format": "time_series", "intervalFactor": 1, "legendFormat": "RSS", + "range": true, "refId": "A" }, { - "expr": "sum (\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"}\n * on (pod)\n sum by (pod) (avg_over_time(container_memory_cache{node=~\"$node\", namespace=\"$namespace\", pod=~\"$pod\", container!=\"POD\"}[$__rate_interval]))\n)", + "datasource": { + "type": "prometheus", + "uid": "${ds_prometheus}" + }, + "editorMode": "code", + "expr": "sum (\n max(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"}) by(pod)\n * on (pod)\n sum by (pod) (avg_over_time(container_memory_cache{node=~\"$node\", namespace=\"$namespace\", pod=~\"$pod\", container!=\"POD\"}[$__rate_interval]))\n)", "format": "time_series", "intervalFactor": 1, "legendFormat": "Cache", + "range": true, "refId": "B" }, { - "expr": "sum (\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"}\n * on (pod)\n sum by (pod) (avg_over_time(container_memory_swap{node=~\"$node\", namespace=\"$namespace\", pod=~\"$pod\", container!=\"POD\"}[$__rate_interval]))\n)", + "datasource": { + "type": "prometheus", + "uid": "${ds_prometheus}" + }, + "editorMode": "code", + "expr": "sum (\n max(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"}) by(pod)\n * on (pod)\n sum by (pod) (avg_over_time(container_memory_swap{node=~\"$node\", namespace=\"$namespace\", pod=~\"$pod\", container!=\"POD\"}[$__rate_interval]))\n)", "format": "time_series", "intervalFactor": 1, "legendFormat": "Swap", + "range": true, "refId": "C" }, { - "expr": "sum (\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"}\n * on (pod)\n sum by (pod) (avg_over_time(container_memory_working_set_bytes:without_kmem{node=~\"$node\", namespace=\"$namespace\", pod=~\"$pod\", container!=\"POD\"}[$__rate_interval]))\n)", + "datasource": { + "type": "prometheus", + "uid": "${ds_prometheus}" + }, + "editorMode": "code", + "expr": "sum (\n max(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"}) by(pod)\n * on (pod)\n sum by (pod) (avg_over_time(container_memory_working_set_bytes:without_kmem{node=~\"$node\", namespace=\"$namespace\", pod=~\"$pod\", container!=\"POD\"}[$__rate_interval]))\n)", "format": "time_series", "intervalFactor": 1, "legendFormat": "Working set bytes without kmem", + "range": true, "refId": "D" }, { - "expr": "sum (\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"}\n * on (pod)\n sum by (pod) (avg_over_time(container_memory:kmem{node=~\"$node\", namespace=\"$namespace\", pod=~\"$pod\", container!=\"POD\"}[$__rate_interval]))\n)", + "datasource": { + "type": "prometheus", + "uid": "${ds_prometheus}" + }, + "editorMode": "code", + "expr": "sum (\n max(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"}) by(pod)\n * on (pod)\n sum by (pod) (avg_over_time(container_memory:kmem{node=~\"$node\", namespace=\"$namespace\", pod=~\"$pod\", container!=\"POD\"}[$__rate_interval]))\n)", "format": "time_series", "intervalFactor": 1, "legendFormat": "Kmem", + "range": true, "refId": "E" } ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, "title": "Usage by state", - "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": null, - "show": false - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } + "type": "timeseries" }, { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "description": "This graph shows the requested Memory resources higher than the actual Memory consumption. In other words, it shows Memory resources that can be \"freed\" without affecting the service.", "fieldConfig": { "defaults": { - "links": [] + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 30, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 1, + "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": "bytes" }, - "overrides": [] + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Total" + }, + "properties": [ + { + "id": "custom.lineWidth", + "value": 0 + }, + { + "id": "custom.stacking", + "value": { + "group": false, + "mode": "none" + } + }, + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "color", + "value": { + "fixedColor": "yellow", + "mode": "fixed" + } + } + ] + } + ] }, - "fill": 1, - "fillGradient": 0, "gridPos": { "h": 9, "w": 12, "x": 0, "y": 53 }, - "hiddenSeries": false, "id": 63, - "legend": { - "alignAsTable": false, - "avg": false, - "current": false, - "max": false, - "min": false, - "rightSide": false, - "show": false, - "sort": "avg", - "sortDesc": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, "links": [], - "nullPointMode": "null as zero", "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.2.6", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "Total", - "lines": false, - "stack": false + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": false + }, + "tooltip": { + "mode": "multi", + "sort": "desc" } - ], - "spaceLength": 10, - "stack": true, - "steppedLine": false, + }, + "pluginVersion": "8.5.13", "targets": [ { + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "expr": "(\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"}\n * on (pod) group_left()\n sum by (pod)\n (\n (\n sum by (namespace, pod, container) (avg_over_time(kube_pod_container_resource_requests{resource=\"memory\",unit=\"byte\",node=~\"$node\", namespace=\"$namespace\"}[$__rate_interval]))\n -\n sum by (namespace, pod, container) (avg_over_time(container_memory_working_set_bytes:without_kmem{node=~\"$node\", namespace=\"$namespace\", container!=\"POD\"}[$__rate_interval]))\n ) > 0\n )\n)", "format": "time_series", "intervalFactor": 1, "legendFormat": "{{ pod }}", "refId": "A" - }, - { - "expr": "sum\n(\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"}\n * on (pod) group_left()\n sum by (pod)\n (\n (\n sum by (namespace, pod, container) (avg_over_time(kube_pod_container_resource_requests{resource=\"memory\",unit=\"byte\",node=~\"$node\", namespace=\"$namespace\"}[$__rate_interval]))\n -\n sum by (namespace, pod, container) (avg_over_time(container_memory_working_set_bytes:without_kmem{node=~\"$node\", namespace=\"$namespace\", container!=\"POD\"}[$__rate_interval]))\n ) > 0\n )\n)", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "Total", - "refId": "B" } ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, "title": "Over-requested by pod", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ + "transformations": [ { - "decimals": null, - "format": "bytes", - "label": "", - "logBase": 1, - "max": null, - "min": "0", - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": "0", - "show": false + "id": "calculateField", + "options": {} } ], - "yaxis": { - "align": false, - "alignLevel": null - } + "type": "timeseries" }, { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "description": "This graph shows the requested Memory resources higher than the actual Memory consumption. In other words, it shows Memory resources that need to be \"reserved\" for the service to run smoothly.", "fieldConfig": { "defaults": { - "links": [] + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 30, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 1, + "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 + } + ] + }, + "unit": "bytes" }, - "overrides": [] + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Total" + }, + "properties": [ + { + "id": "custom.lineWidth", + "value": 0 + }, + { + "id": "custom.stacking", + "value": { + "group": false, + "mode": "none" + } + }, + { + "id": "custom.lineWidth", + "value": 0 + }, + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "color", + "value": { + "fixedColor": "yellow", + "mode": "fixed" + } + } + ] + } + ] }, - "fill": 1, - "fillGradient": 0, "gridPos": { "h": 9, "w": 12, "x": 12, "y": 53 }, - "hiddenSeries": false, "id": 75, - "legend": { - "alignAsTable": false, - "avg": false, - "current": false, - "max": false, - "min": false, - "rightSide": false, - "show": false, - "sort": "avg", - "sortDesc": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, "links": [], - "nullPointMode": "null as zero", "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.2.6", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "Total", - "lines": false, - "stack": false + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": false + }, + "tooltip": { + "mode": "multi", + "sort": "desc" } - ], - "spaceLength": 10, - "stack": true, - "steppedLine": false, + }, + "pluginVersion": "8.5.13", "targets": [ { + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "expr": "(\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"}\n * on (pod) group_left()\n sum by (pod)\n (\n (\n (\n sum by (namespace, pod, container) (avg_over_time(container_memory_working_set_bytes:without_kmem{node=~\"$node\", namespace=\"$namespace\"}[$__rate_interval]))\n -\n sum by (namespace, pod, container) (avg_over_time(kube_pod_container_resource_requests{resource=\"memory\",unit=\"byte\",node=~\"$node\", namespace=\"$namespace\", container!=\"POD\"}[$__rate_interval]))\n ) or sum by (namespace, pod, container) (avg_over_time(container_memory_working_set_bytes:without_kmem{node=~\"$node\", namespace=\"$namespace\", container!=\"POD\"}[$__rate_interval]))\n ) > 0\n )\n)", "format": "time_series", "intervalFactor": 1, "legendFormat": "{{ pod }}", "refId": "A" - }, - { - "expr": "sum\n(\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"}\n * on (pod) group_left()\n sum by (pod)\n (\n (\n (\n sum by (namespace, pod, container) (avg_over_time(container_memory_working_set_bytes:without_kmem{node=~\"$node\", namespace=\"$namespace\"}[$__rate_interval]))\n -\n sum by (namespace, pod, container) (avg_over_time(kube_pod_container_resource_requests{resource=\"memory\",unit=\"byte\",node=~\"$node\", namespace=\"$namespace\", container!=\"POD\"}[$__rate_interval]))\n ) or sum by (namespace, pod, container) (avg_over_time(container_memory_working_set_bytes:without_kmem{node=~\"$node\", namespace=\"$namespace\", container!=\"POD\"}[$__rate_interval]))\n ) > 0\n )\n)", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "Total", - "refId": "B" } ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, "title": "Under-requested by pod", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ + "transformations": [ { - "decimals": null, - "format": "bytes", - "label": "", - "logBase": 1, - "max": null, - "min": "0", - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": "0", - "show": false + "id": "calculateField", + "options": {} } ], - "yaxis": { - "align": false, - "alignLevel": null - } + "type": "timeseries" }, { "collapsed": true, - "datasource": null, + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "gridPos": { "h": 1, "w": 24, @@ -2517,91 +3005,289 @@ "id": 18, "panels": [ { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "description": "The Working set bytes metric is the actual memory used by the container, as it includes active file memory. When its value approaches the limit, the container can be killed by the OOMKiller. This value can be higher than the sum RSS and Cache since not all active file memory is Cache.", - "fill": 1, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 30, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "normal" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "bytes" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Working set bytes without kmem" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "rgb(0, 0, 0)", + "mode": "fixed" + } + }, + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "custom.lineWidth", + "value": 2 + }, + { + "id": "custom.stacking", + "value": { + "group": false, + "mode": "none" + } + }, + { + "id": "custom.lineStyle", + "value": { + "dash": [ + 10, + 10 + ], + "fill": "dash" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Kmem" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "rgb(255, 0, 0)", + "mode": "fixed" + } + }, + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "custom.lineWidth", + "value": 2 + }, + { + "id": "custom.stacking", + "value": { + "group": false, + "mode": "normal" + } + }, + { + "id": "custom.lineStyle", + "value": { + "dash": [ + 10, + 10 + ], + "fill": "dash" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Limits" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#c15c17", + "mode": "fixed" + } + }, + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "custom.lineWidth", + "value": 2 + }, + { + "id": "custom.stacking", + "value": { + "group": false, + "mode": "none" + } + }, + { + "id": "custom.lineStyle", + "value": { + "dash": [ + 10, + 10 + ], + "fill": "dash" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Requests" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#f4d598", + "mode": "fixed" + } + }, + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "custom.lineWidth", + "value": 2 + }, + { + "id": "custom.stacking", + "value": { + "group": false, + "mode": "none" + } + }, + { + "id": "custom.lineStyle", + "value": { + "dash": [ + 10, + 10 + ], + "fill": "dash" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "VPA Target" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#447ebc", + "mode": "fixed" + } + }, + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "custom.lineWidth", + "value": 2 + }, + { + "id": "custom.stacking", + "value": { + "group": false, + "mode": "none" + } + }, + { + "id": "custom.lineStyle", + "value": { + "dash": [ + 10, + 10 + ], + "fill": "dash" + } + } + ] + } + ] + }, "gridPos": { "h": 9, - "w": 6, + "w": 24, "x": 0, - "y": 64 + "y": 63 }, "id": 19, - "legend": { - "alignAsTable": false, - "avg": false, - "current": false, - "max": false, - "min": false, - "rightSide": false, - "show": false, - "sort": "avg", - "sortDesc": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, "links": [], - "nullPointMode": "null as zero", - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": false + }, + "tooltip": { + "mode": "multi", + "sort": "desc" + } + }, + "pluginVersion": "8.5.13", "repeat": "pod", "repeatDirection": "h", - "seriesOverrides": [ - { - "alias": "Working set bytes without kmem", - "color": "rgb(0, 0, 0)", - "dashes": true, - "fill": 0, - "linewidth": 2, - "stack": false - }, - { - "alias": "Kmem", - "color": "rgb(255, 0, 0)", - "dashes": true, - "fill": 0, - "linewidth": 2, - "stack": false - }, - { - "alias": "Limits", - "color": "#c15c17", - "dashes": true, - "fill": 0, - "lines": false, - "linewidth": 2, - "stack": false - }, - { - "alias": "Requests", - "color": "#f4d598", - "dashes": true, - "fill": 0, - "lines": false, - "linewidth": 2, - "stack": false - }, - { - "alias": "VPA Target", - "color": "#447ebc", - "dashes": true, - "fill": 0, - "lines": false, - "linewidth": 2, - "stack": false - } - ], - "spaceLength": 10, - "stack": true, - "steppedLine": false, "targets": [ { "expr": "sum by (pod) (avg_over_time(container_memory_rss{node=~\"$node\", namespace=\"$namespace\", pod=~\"$pod\", container!=\"POD\"}[$__rate_interval]))", @@ -2660,46 +3346,8 @@ "refId": "H" } ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, "title": "$pod", - "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": null, - "show": false - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } + "type": "timeseries" } ], "title": "Pods Memory", @@ -2707,7 +3355,10 @@ }, { "collapsed": false, - "datasource": null, + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "gridPos": { "h": 1, "w": 24, @@ -2720,25 +3371,34 @@ "type": "row" }, { + "datasource": { + "type": "prometheus", + "uid": "${ds_prometheus}" + }, + "description": "This graph shows Network Receive (except for the hostNetwork Pods)", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { - "axisPlacement": "auto", + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", "axisLabel": "", + "axisPlacement": "auto", "barAlignment": 0, - "drawStyle": "bars", - "fillOpacity": 100, + "drawStyle": "line", + "fillOpacity": 30, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, - "lineInterpolation": "linear", - "lineWidth": 0, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" @@ -2779,38 +3439,36 @@ "overrides": [ { "matcher": { - "id": "byFrameRefID", - "options": "B" + "id": "byName", + "options": "Total" }, "properties": [ { - "id": "min", + "id": "custom.stacking", + "value": { + "group": "A", + "mode": "none" + } + }, + { + "id": "custom.lineWidth", "value": 0 }, { - "id": "max", + "id": "custom.fillOpacity", "value": 0 }, - { - "id": "custom.axisPlacement", - "value": "hidden" - }, { "id": "color", "value": { - "mode": "fixed", - "fixedColor": "transparent" + "fixedColor": "yellow", + "mode": "fixed" } } ] } ] }, - "datasource": { - "uid": "${ds_prometheus}", - "type": "prometheus" - }, - "description": "This graph shows Network Receive (except for the hostNetwork Pods)", "gridPos": { "h": 9, "w": 12, @@ -2825,63 +3483,83 @@ "mean" ], "displayMode": "table", - "placement": "right" + "placement": "right", + "showLegend": true, + "sortBy": "Mean", + "sortDesc": true }, "tooltip": { "mode": "multi", - "sort": "none" + "sort": "desc" } }, "pluginVersion": "8.5.13", "targets": [ { - "expr": "kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"} \n* on(pod)\nkube_pod_info{host_network=\"false\", namespace=\"$namespace\", pod=~\"$pod\"}\n* on(pod)\nsum by (pod) (rate(container_network_receive_bytes_total{node=~\"$node\", namespace=\"$namespace\", pod=~\"$pod\"}[$__rate_interval]))", + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, + "editorMode": "code", + "expr": "max(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"}) by(pod)\n* on(pod)\nmax(kube_pod_info{host_network=\"false\", namespace=\"$namespace\", pod=~\"$pod\"}) by(pod)\n* on(pod)\nsum by (pod) (rate(container_network_receive_bytes_total{node=~\"$node\", namespace=\"$namespace\", pod=~\"$pod\"}[$__rate_interval]))", "format": "time_series", "intervalFactor": 1, "legendFormat": "{{ pod }}", + "range": true, "refId": "A" }, { - "expr": "sum (\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"} \n * on(pod)\n kube_pod_info{host_network=\"false\", namespace=\"$namespace\", pod=~\"$pod\"}\n * on(pod)\n sum by (pod) (rate(container_network_receive_bytes_total{node=~\"$node\", namespace=\"$namespace\", pod=~\"$pod\"}[$__rate_interval]))\n)", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "Total", - "refId": "B" - }, - { - "expr": "# Return -1 for Pods with 'hostNetwork: true' to use in value mappings.\nkube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"} \n* on (pod)\nkube_pod_info{host_network=\"true\", namespace=\"$namespace\", pod=~\"$pod\"} \n*\n-1", + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, + "editorMode": "code", + "expr": "# Return -1 for Pods with 'hostNetwork: true' to use in value mappings.\nmax(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"}) by(pod)\n* on (pod)\nmax(kube_pod_info{host_network=\"true\", namespace=\"$namespace\", pod=~\"$pod\"}) by(pod)\n*\n-1", "format": "time_series", "intervalFactor": 1, "legendFormat": "{{ pod }}", + "range": true, "refId": "C" } ], - "timeFrom": null, - "timeShift": null, "title": "Receive", - "transformations": [], + "transformations": [ + { + "id": "calculateField", + "options": {} + } + ], "type": "timeseries" }, { + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, + "description": "This graph shows Network Transmit (except for the hostNetwork Pods)", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { - "axisPlacement": "auto", + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", "axisLabel": "", + "axisPlacement": "auto", "barAlignment": 0, - "drawStyle": "bars", - "fillOpacity": 100, + "drawStyle": "line", + "fillOpacity": 30, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, - "lineInterpolation": "linear", - "lineWidth": 0, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" @@ -2922,38 +3600,36 @@ "overrides": [ { "matcher": { - "id": "byFrameRefID", - "options": "B" + "id": "byName", + "options": "Total" }, "properties": [ { - "id": "min", + "id": "custom.stacking", + "value": { + "group": "A", + "mode": "none" + } + }, + { + "id": "custom.lineWidth", "value": 0 }, { - "id": "max", + "id": "custom.fillOpacity", "value": 0 }, - { - "id": "custom.axisPlacement", - "value": "hidden" - }, { "id": "color", "value": { - "mode": "fixed", - "fixedColor": "transparent" + "fixedColor": "yellow", + "mode": "fixed" } } ] } ] }, - "datasource": { - "uid": "${ds_prometheus}", - "type": "prometheus" - }, - "description": "This graph shows Network Transmit (except for the hostNetwork Pods)", "gridPos": { "h": 9, "w": 12, @@ -2968,46 +3644,60 @@ "mean" ], "displayMode": "table", - "placement": "right" + "placement": "right", + "showLegend": true, + "sortBy": "Mean", + "sortDesc": true }, "tooltip": { "mode": "multi", - "sort": "none" + "sort": "desc" } }, "pluginVersion": "8.5.13", "targets": [ { - "expr": "kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"} \n* on(pod)\nkube_pod_info{host_network=\"false\", namespace=\"$namespace\", pod=~\"$pod\"}\n* on(pod)\nsum by (pod) (rate(container_network_transmit_bytes_total{node=~\"$node\", namespace=\"$namespace\", pod=~\"$pod\"}[$__rate_interval]))", + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, + "editorMode": "code", + "expr": "max(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"}) by(pod)\n* on(pod)\nmax(kube_pod_info{host_network=\"false\", namespace=\"$namespace\", pod=~\"$pod\"}) by(pod)\n* on(pod)\nsum by (pod) (rate(container_network_transmit_bytes_total{node=~\"$node\", namespace=\"$namespace\", pod=~\"$pod\"}[$__rate_interval]))", "format": "time_series", "intervalFactor": 1, "legendFormat": "{{ pod }}", + "range": true, "refId": "A" }, { - "expr": "sum (\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"} \n * on(pod)\n kube_pod_info{host_network=\"false\", namespace=\"$namespace\", pod=~\"$pod\"}\n * on(pod)\n sum by (pod) (rate(container_network_transmit_bytes_total{node=~\"$node\", namespace=\"$namespace\", pod=~\"$pod\"}[$__rate_interval]))\n)", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "Total", - "refId": "B" - }, - { - "expr": "# Return -1 for Pods with 'hostNetwork: true' to use in value mappings.\nkube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"} \n* on (pod)\nkube_pod_info{host_network=\"true\", namespace=\"$namespace\", pod=~\"$pod\"} \n*\n-1", + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, + "editorMode": "code", + "expr": "# Return -1 for Pods with 'hostNetwork: true' to use in value mappings.\nmax(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"}) by(pod)\n* on (pod)\nmax(kube_pod_info{host_network=\"true\", namespace=\"$namespace\", pod=~\"$pod\"}) by(pod)\n*\n-1", "format": "time_series", "intervalFactor": 1, "legendFormat": "{{ pod }}", + "range": true, "refId": "C" } ], - "timeFrom": null, - "timeShift": null, "title": "Transmit", - "transformations": [], + "transformations": [ + { + "id": "calculateField", + "options": {} + } + ], "type": "timeseries" }, { "collapsed": false, - "datasource": null, + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "gridPos": { "h": 1, "w": 24, @@ -3020,236 +3710,291 @@ "type": "row" }, { - "aliasColors": {}, - "bars": true, - "dashLength": 10, - "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "fieldConfig": { "defaults": { - "links": [] + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 30, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 1, + "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": "iops" }, - "overrides": [] + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Total" + }, + "properties": [ + { + "id": "custom.stacking", + "value": { + "group": false, + "mode": "none" + } + }, + { + "id": "custom.lineWidth", + "value": 0 + }, + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "color", + "value": { + "fixedColor": "yellow", + "mode": "fixed" + } + } + ] + } + ] }, - "fill": 1, - "fillGradient": 0, "gridPos": { "h": 8, "w": 12, "x": 0, "y": 74 }, - "hiddenSeries": false, "id": 43, - "legend": { - "alignAsTable": true, - "avg": true, - "current": false, - "max": false, - "min": false, - "rightSide": true, - "show": true, - "sort": "avg", - "sortDesc": true, - "total": false, - "values": true - }, - "lines": false, - "linewidth": 1, "links": [], - "nullPointMode": "null as zero", "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.2.6", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "Total", - "bars": false, - "stack": false + "legend": { + "calcs": [ + "mean" + ], + "displayMode": "table", + "placement": "right", + "showLegend": true, + "sortBy": "Mean", + "sortDesc": true + }, + "tooltip": { + "mode": "multi", + "sort": "desc" } - ], - "spaceLength": 10, - "stack": true, - "steppedLine": false, + }, + "pluginVersion": "8.5.13", "targets": [ { - "expr": "sum by(pod) (\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\"}\n * on (pod)\n sum by (pod) (rate(container_fs_reads_total{node=~\"$node\", container!=\"POD\", pod=~\"$pod\", namespace=\"$namespace\"}[$__rate_interval]))\n)", + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, + "editorMode": "code", + "expr": "sum by(pod) (\n max(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\"}) by(pod)\n * on (pod)\n sum by (pod) (rate(container_fs_reads_total{node=~\"$node\", container!=\"POD\", pod=~\"$pod\", namespace=\"$namespace\"}[$__rate_interval]))\n)", "format": "time_series", "intervalFactor": 1, "legendFormat": "{{ pod }}", + "range": true, "refId": "A" - }, - { - "expr": "sum (\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\"}\n * on (pod)\n sum by (pod) (rate(container_fs_reads_total{node=~\"$node\", container!=\"POD\", pod=~\"$pod\", namespace=\"$namespace\"}[$__rate_interval]))\n)", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "Total", - "refId": "B" } ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, "title": "Read", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ + "transformations": [ { - "format": "iops", - "label": null, - "logBase": 1, - "max": null, - "min": "0", - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": false + "id": "calculateField", + "options": {} } ], - "yaxis": { - "align": false, - "alignLevel": null - } + "type": "timeseries" }, { - "aliasColors": {}, - "bars": true, - "dashLength": 10, - "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "fieldConfig": { "defaults": { - "links": [] + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 30, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 1, + "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 + } + ] + }, + "unit": "iops" }, - "overrides": [] + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Total" + }, + "properties": [ + { + "id": "custom.stacking", + "value": { + "group": false, + "mode": "none" + } + }, + { + "id": "custom.lineWidth", + "value": 0 + }, + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "color", + "value": { + "fixedColor": "yellow", + "mode": "fixed" + } + } + ] + } + ] }, - "fill": 1, - "fillGradient": 0, "gridPos": { "h": 8, "w": 12, "x": 12, "y": 74 }, - "hiddenSeries": false, "id": 58, - "legend": { - "alignAsTable": true, - "avg": true, - "current": false, - "max": false, - "min": false, - "rightSide": true, - "show": true, - "sort": "avg", - "sortDesc": true, - "total": false, - "values": true - }, - "lines": false, - "linewidth": 1, "links": [], - "nullPointMode": "null as zero", "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.2.6", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "Total", - "bars": false, - "stack": false + "legend": { + "calcs": [ + "mean" + ], + "displayMode": "table", + "placement": "right", + "showLegend": true, + "sortBy": "Mean", + "sortDesc": true + }, + "tooltip": { + "mode": "multi", + "sort": "desc" } - ], - "spaceLength": 10, - "stack": true, - "steppedLine": false, + }, + "pluginVersion": "8.5.13", "targets": [ { - "expr": "sum by(pod) (\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\"}\n * on (pod)\n sum by (pod) (rate(container_fs_writes_total{node=~\"$node\", container!=\"POD\", pod=~\"$pod\", namespace=\"$namespace\"}[$__rate_interval]))\n)", + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, + "editorMode": "code", + "expr": "sum by(pod) (\n max(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\"}) by(pod)\n * on (pod)\n sum by (pod) (rate(container_fs_writes_total{node=~\"$node\", container!=\"POD\", pod=~\"$pod\", namespace=\"$namespace\"}[$__rate_interval]))\n)", "format": "time_series", "intervalFactor": 1, "legendFormat": "{{ pod }}", + "range": true, "refId": "A" - }, - { - "expr": "sum (\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\"}\n * on (pod)\n sum by (pod) (rate(container_fs_writes_total{node=~\"$node\", container!=\"POD\", pod=~\"$pod\", namespace=\"$namespace\"}[$__rate_interval]))\n)", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "Total", - "refId": "B" } ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, "title": "Write", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ + "transformations": [ { - "format": "iops", - "label": null, - "logBase": 1, - "max": null, - "min": "0", - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": false + "id": "calculateField", + "options": {} } ], - "yaxis": { - "align": false, - "alignLevel": null - } + "type": "timeseries" }, { "collapsed": false, - "datasource": null, + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "gridPos": { "h": 1, "w": 24, @@ -3262,333 +4007,418 @@ "type": "row" }, { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "description": "This graph does not show any localstorage-related information due to incorrectly calculating the occupied space on localstorage disks", "fieldConfig": { "defaults": { - "links": [] + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 30, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 1, + "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": "bytes" }, - "overrides": [] + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Total" + }, + "properties": [ + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "custom.stacking", + "value": { + "group": false, + "mode": "none" + } + }, + { + "id": "custom.lineWidth", + "value": 0 + }, + { + "id": "color", + "value": { + "fixedColor": "yellow", + "mode": "fixed" + } + } + ] + } + ] }, - "fill": 1, - "fillGradient": 0, "gridPos": { "h": 7, "w": 12, "x": 0, "y": 83 }, - "hiddenSeries": false, "id": 82, - "legend": { - "alignAsTable": true, - "avg": true, - "current": false, - "max": false, - "min": false, - "rightSide": true, - "show": true, - "sort": "avg", - "sortDesc": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 1, "links": [], - "nullPointMode": "null as zero", "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.2.6", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "Total", - "fill": 0, - "stack": false + "legend": { + "calcs": [ + "mean" + ], + "displayMode": "table", + "placement": "right", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "desc" } - ], - "spaceLength": 10, - "stack": true, - "steppedLine": false, + }, + "pluginVersion": "8.5.13", "targets": [ { - "expr": "sum by (namespace, controller, persistentvolumeclaim) (\n max by (namespace, controller, persistentvolumeclaim)\n (\n sum by (namespace, persistentvolumeclaim) (\n max_over_time(kubelet_volume_stats_capacity_bytes{node=~\"$node\", namespace=\"$namespace\"}[$__rate_interval])\n ) \n\n * max by (namespace, persistentvolumeclaim) (\n label_replace(\n max_over_time(kube_persistentvolumeclaim_info{namespace=\"$namespace\"}[$__rate_interval]),\n \"persistentvolume\", \"$1\", \"volumename\", \"(.*)\")\n + on (persistentvolume) group_left() max by (persistentvolume) (kube_persistentvolume_is_local == 0)\n )\n\n * on (namespace, persistentvolumeclaim) group_left(pod) \n max by (namespace, persistentvolumeclaim, pod) (\n max_over_time(kube_pod_spec_volumes_persistentvolumeclaims_info{namespace=\"$namespace\"}[$__rate_interval])\n ) \n\n * on (namespace, pod) group_left(controller)\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=~\"$controller\", pod=~\"$pod\"} \n )\n)", + "datasource": { + "type": "prometheus", + "uid": "${ds_prometheus}" + }, + "editorMode": "code", + "expr": "sum by (namespace, controller, persistentvolumeclaim) (\n max by (namespace, controller, persistentvolumeclaim)\n (\n sum by (namespace, persistentvolumeclaim) (\n max_over_time(kubelet_volume_stats_capacity_bytes{node=~\"$node\", namespace=\"$namespace\"}[$__rate_interval])\n ) \n\n * max by (namespace, persistentvolumeclaim) (\n label_replace(\n max_over_time(kube_persistentvolumeclaim_info{namespace=\"$namespace\"}[$__rate_interval]),\n \"persistentvolume\", \"$1\", \"volumename\", \"(.*)\")\n + on (persistentvolume) group_left() max by (persistentvolume) (kube_persistentvolume_is_local == 0)\n )\n\n * on (namespace, persistentvolumeclaim) group_left(pod) \n max by (namespace, persistentvolumeclaim, pod) (\n max_over_time(kube_pod_spec_volumes_persistentvolumeclaims_info{namespace=\"$namespace\"}[$__rate_interval])\n ) \n\n * on (namespace, pod) group_left(controller)\n max(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=~\"$controller\", pod=~\"$pod\"}) by(pod)\n )\n)", "format": "time_series", "intervalFactor": 1, "legendFormat": "Provisioned {{ persistentvolumeclaim }}", + "range": true, "refId": "B" } ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, "title": "PVC Provisioned (except local storage classes)", - "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": null, - "show": false - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } + "type": "timeseries" }, { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "description": "This graph does not show any localstorage-related information due to incorrectly calculating the occupied space on localstorage disks", "fieldConfig": { "defaults": { - "links": [] + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 30, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 1, + "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": "bytes" }, - "overrides": [] + "overrides": [ + { + "matcher": { + "id": "byRegexp", + "options": "/Total/" + }, + "properties": [ + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "custom.stacking", + "value": { + "group": false, + "mode": "none" + } + }, + { + "id": "custom.lineWidth", + "value": 0 + }, + { + "id": "color", + "value": { + "fixedColor": "yellow", + "mode": "fixed" + } + } + ] + } + ] }, - "fill": 1, - "fillGradient": 0, "gridPos": { "h": 7, "w": 12, "x": 12, "y": 83 }, - "hiddenSeries": false, "id": 84, - "legend": { - "alignAsTable": true, - "avg": true, - "current": false, - "max": false, - "min": false, - "rightSide": true, - "show": true, - "sort": "avg", - "sortDesc": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 1, "links": [], - "nullPointMode": "null as zero", "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.2.6", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "/Total/", - "fill": 0, - "stack": false + "legend": { + "calcs": [ + "mean" + ], + "displayMode": "table", + "placement": "right", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "desc" } - ], - "spaceLength": 10, - "stack": true, - "steppedLine": false, + }, + "pluginVersion": "8.5.13", "targets": [ { - "expr": "sum by (pod, persistentvolumeclaim)\n(\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"}\n * on (pod) group_right(persistentvolumeclaim)\n (\n (avg_over_time(kubelet_volume_stats_capacity_bytes{node=~\"$node\", namespace=\"$namespace\"}[$__rate_interval]) - avg_over_time(kubelet_volume_stats_available_bytes{node=~\"$node\", namespace=\"$namespace\"}[$__rate_interval]))\n * \n on (namespace, persistentvolumeclaim) group_left (pod) \n (\n max by (namespace, persistentvolumeclaim, pod) (\n avg_over_time(kube_pod_spec_volumes_persistentvolumeclaims_info{namespace=\"$namespace\"}[$__rate_interval])) \n * on (namespace, persistentvolumeclaim) group_right(pod) \n max by (namespace, persistentvolumeclaim) (\n label_replace(\n max_over_time(kube_persistentvolumeclaim_info{namespace=\"$namespace\"}[$__rate_interval]),\n \"persistentvolume\", \"$1\", \"volumename\", \"(.*)\")\n + on (persistentvolume) group_left() max by (persistentvolume) (kube_persistentvolume_is_local == 0))\n * on (namespace, persistentvolumeclaim) group_right (pod)\n avg_over_time(kube_persistentvolumeclaim_status_phase{namespace=\"$namespace\", phase=\"Bound\"}[$__rate_interval])\n )\n )\n)", + "datasource": { + "type": "prometheus", + "uid": "${ds_prometheus}" + }, + "editorMode": "code", + "expr": "sum by (pod, persistentvolumeclaim)\n(\n max(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"}) by(pod)\n * on (pod) group_right(persistentvolumeclaim)\n (\n (avg_over_time(kubelet_volume_stats_capacity_bytes{node=~\"$node\", namespace=\"$namespace\"}[$__rate_interval]) - avg_over_time(kubelet_volume_stats_available_bytes{node=~\"$node\", namespace=\"$namespace\"}[$__rate_interval]))\n * \n on (namespace, persistentvolumeclaim) group_left (pod) \n (\n max by (namespace, persistentvolumeclaim, pod) (\n avg_over_time(kube_pod_spec_volumes_persistentvolumeclaims_info{namespace=\"$namespace\"}[$__rate_interval])) \n * on (namespace, persistentvolumeclaim) group_right(pod) \n max by (namespace, persistentvolumeclaim) (\n label_replace(\n max_over_time(kube_persistentvolumeclaim_info{namespace=\"$namespace\"}[$__rate_interval]),\n \"persistentvolume\", \"$1\", \"volumename\", \"(.*)\")\n + on (persistentvolume) group_left() max by (persistentvolume) (kube_persistentvolume_is_local == 0))\n * on (namespace, persistentvolumeclaim) group_right (pod)\n avg_over_time(kube_persistentvolumeclaim_status_phase{namespace=\"$namespace\", phase=\"Bound\"}[$__rate_interval])\n )\n )\n)", "format": "time_series", "intervalFactor": 1, "legendFormat": "Usage {{ persistentvolumeclaim }}", + "range": true, "refId": "A" } ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, "title": "PVC Usage (except local storage classes)", - "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": null, - "show": false - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } + "type": "timeseries" }, { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "description": "This graph does not show any localstorage-related information due to incorrectly calculating the occupied space on localstorage disks", "fieldConfig": { "defaults": { - "links": [] + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 30, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 1, + "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 + } + ] + }, + "unit": "percentunit" }, - "overrides": [] + "overrides": [ + { + "matcher": { + "id": "byRegexp", + "options": "/Total/" + }, + "properties": [ + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "custom.lineWidth", + "value": 0 + }, + { + "id": "custom.stacking", + "value": { + "group": false, + "mode": "none" + } + }, + { + "id": "color", + "value": { + "mode": "palette-classic" + } + }, + { + "id": "color", + "value": { + "fixedColor": "yellow", + "mode": "fixed" + } + } + ] + } + ] }, - "fill": 1, - "fillGradient": 0, "gridPos": { "h": 8, "w": 24, "x": 0, "y": 90 }, - "hiddenSeries": false, "id": 83, - "legend": { - "alignAsTable": true, - "avg": true, - "current": false, - "max": false, - "min": false, - "rightSide": true, - "show": true, - "sort": "avg", - "sortDesc": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 1, "links": [], - "nullPointMode": "null as zero", "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.2.6", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "/Total .*/", - "fill": 0, - "linewidth": 2, - "stack": false + "legend": { + "calcs": [ + "mean" + ], + "displayMode": "table", + "placement": "right", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "desc" } - ], - "spaceLength": 10, - "stack": true, - "steppedLine": false, + }, + "pluginVersion": "8.5.13", "targets": [ { - "expr": "sum by (pod, persistentvolumeclaim)\n(\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"}\n * on (pod) group_right(persistentvolumeclaim) (\n (\n avg_over_time(kubelet_volume_stats_capacity_bytes{node=~\"$node\", namespace=\"$namespace\"}[$__rate_interval]) - avg_over_time(kubelet_volume_stats_available_bytes{node=~\"$node\", namespace=\"$namespace\"}[$__rate_interval])\n ) * \n on (namespace, persistentvolumeclaim) group_left (pod) \n (\n max by (namespace, persistentvolumeclaim, pod) (\n avg_over_time(kube_pod_spec_volumes_persistentvolumeclaims_info{namespace=\"$namespace\"}[$__rate_interval])) \n * on (namespace, persistentvolumeclaim) group_right(pod) \n max by (namespace, persistentvolumeclaim) (\n label_replace(\n max_over_time(kube_persistentvolumeclaim_info{namespace=\"$namespace\"}[$__rate_interval]),\n \"persistentvolume\", \"$1\", \"volumename\", \"(.*)\")\n + on (persistentvolume) group_left() max by (persistentvolume) (kube_persistentvolume_is_local == 0))\n * on (namespace, persistentvolumeclaim) group_right (pod)\n avg_over_time(kube_persistentvolumeclaim_status_phase{namespace=\"$namespace\", phase=\"Bound\"}[$__rate_interval])\n )\n )\n)\n/\n(\nsum by (pod, persistentvolumeclaim)\n(\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\"}\n * on (pod) group_right(persistentvolumeclaim)\n (\n avg_over_time(kubelet_volume_stats_capacity_bytes{node=~\"$node\", namespace=\"$namespace\"}[$__rate_interval])\n * \n on (namespace, persistentvolumeclaim) group_left (pod) \n (\n avg_over_time(kube_pod_spec_volumes_persistentvolumeclaims_info{namespace=\"$namespace\"}[$__rate_interval])\n * on (namespace, persistentvolumeclaim) group_left (pod) \n (\n max by (namespace, persistentvolumeclaim, pod) (\n avg_over_time(kube_pod_spec_volumes_persistentvolumeclaims_info{namespace=\"$namespace\"}[$__rate_interval])) \n * on (namespace, persistentvolumeclaim) group_right(pod) \n max by (namespace, persistentvolumeclaim) (\n label_replace(\n max_over_time(kube_persistentvolumeclaim_info{namespace=\"$namespace\"}[$__rate_interval]),\n \"persistentvolume\", \"$1\", \"volumename\", \"(.*)\")\n + on (persistentvolume) group_left() max by (persistentvolume) (kube_persistentvolume_is_local == 0))\n * on (namespace, persistentvolumeclaim) group_right (pod)\n avg_over_time(kube_persistentvolumeclaim_status_phase{namespace=\"$namespace\", phase=\"Bound\"}[$__rate_interval])\n )\n )\n)))", + "datasource": { + "type": "prometheus", + "uid": "${ds_prometheus}" + }, + "editorMode": "code", + "expr": "sum by (pod, persistentvolumeclaim)\n(\n max(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\", pod=~\"$pod\"}) by(pod)\n * on (pod) group_right(persistentvolumeclaim) (\n (\n avg_over_time(kubelet_volume_stats_capacity_bytes{node=~\"$node\", namespace=\"$namespace\"}[$__rate_interval]) - avg_over_time(kubelet_volume_stats_available_bytes{node=~\"$node\", namespace=\"$namespace\"}[$__rate_interval])\n ) * \n on (namespace, persistentvolumeclaim) group_left (pod) \n (\n max by (namespace, persistentvolumeclaim, pod) (\n avg_over_time(kube_pod_spec_volumes_persistentvolumeclaims_info{namespace=\"$namespace\"}[$__rate_interval])) \n * on (namespace, persistentvolumeclaim) group_right(pod) \n max by (namespace, persistentvolumeclaim) (\n label_replace(\n max_over_time(kube_persistentvolumeclaim_info{namespace=\"$namespace\"}[$__rate_interval]),\n \"persistentvolume\", \"$1\", \"volumename\", \"(.*)\")\n + on (persistentvolume) group_left() max by (persistentvolume) (kube_persistentvolume_is_local == 0))\n * on (namespace, persistentvolumeclaim) group_right (pod)\n avg_over_time(kube_persistentvolumeclaim_status_phase{namespace=\"$namespace\", phase=\"Bound\"}[$__rate_interval])\n )\n )\n)\n/\n(\nsum by (pod, persistentvolumeclaim)\n(\n max(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\"}) by(pod)\n * on (pod) group_right(persistentvolumeclaim)\n (\n avg_over_time(kubelet_volume_stats_capacity_bytes{node=~\"$node\", namespace=\"$namespace\"}[$__rate_interval])\n * \n on (namespace, persistentvolumeclaim) group_left (pod) \n (\n avg_over_time(kube_pod_spec_volumes_persistentvolumeclaims_info{namespace=\"$namespace\"}[$__rate_interval])\n * on (namespace, persistentvolumeclaim) group_left (pod) \n (\n max by (namespace, persistentvolumeclaim, pod) (\n avg_over_time(kube_pod_spec_volumes_persistentvolumeclaims_info{namespace=\"$namespace\"}[$__rate_interval])) \n * on (namespace, persistentvolumeclaim) group_right(pod) \n max by (namespace, persistentvolumeclaim) (\n label_replace(\n max_over_time(kube_persistentvolumeclaim_info{namespace=\"$namespace\"}[$__rate_interval]),\n \"persistentvolume\", \"$1\", \"volumename\", \"(.*)\")\n + on (persistentvolume) group_left() max by (persistentvolume) (kube_persistentvolume_is_local == 0))\n * on (namespace, persistentvolumeclaim) group_right (pod)\n avg_over_time(kube_persistentvolumeclaim_status_phase{namespace=\"$namespace\", phase=\"Bound\"}[$__rate_interval])\n )\n )\n)))", "format": "time_series", "intervalFactor": 1, "legendFormat": "Usage {{ persistentvolumeclaim }}", + "range": true, "refId": "A" } ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, "title": "PVC Usage in % (except local storage classes)", - "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": null, - "min": "0", - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": false - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } + "type": "timeseries" }, { - "collapsed": true, - "datasource": null, + "collapsed": false, + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "gridPos": { "h": 1, "w": 24, @@ -3596,538 +4426,552 @@ "y": 98 }, "id": 88, - "panels": [ - { - "datasource": "$ds_prometheus", - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "custom": { - "align": null, - "displayMode": "auto" - }, - "decimals": 2, - "displayName": "", - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - }, - "unit": "short" + "panels": [], + "title": "PVC Detailed", + "type": "row" + }, + { + "datasource": { + "uid": "$ds_prometheus" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "cellOptions": { + "type": "auto" }, - "overrides": [ + "inspect": false + }, + "decimals": 2, + "displayName": "", + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ { - "matcher": { - "id": "byName", - "options": "Time" - }, - "properties": [ - { - "id": "displayName", - "value": "Time" - }, - { - "id": "custom.align", - "value": null - } - ] + "color": "green", + "value": null }, { - "matcher": { - "id": "byName", - "options": "persistentvolumeclaim" - }, - "properties": [ - { - "id": "displayName", - "value": "Name" - }, - { - "id": "unit", - "value": "short" - }, - { - "id": "decimals", - "value": 2 - }, - { - "id": "custom.align", - "value": null - } - ] - }, - { - "matcher": { - "id": "byName", - "options": "storageclass" - }, - "properties": [ - { - "id": "displayName", - "value": "StorageClass" - }, - { - "id": "unit", - "value": "short" - }, - { - "id": "decimals", - "value": 2 - }, - { - "id": "custom.align", - "value": null - } - ] - }, - { - "matcher": { - "id": "byName", - "options": "Value #B" - }, - "properties": [ - { - "id": "displayName", - "value": "Requested" - }, - { - "id": "unit", - "value": "bytes" - }, - { - "id": "decimals", - "value": 2 - }, - { - "id": "custom.align", - "value": null - } - ] - }, - { - "matcher": { - "id": "byName", - "options": "Value #C" - }, - "properties": [ - { - "id": "displayName", - "value": "Provisioned" - }, - { - "id": "unit", - "value": "bytes" - }, - { - "id": "decimals", - "value": 2 - }, - { - "id": "custom.align", - "value": null - } - ] - }, - { - "matcher": { - "id": "byName", - "options": "Value #D" - }, - "properties": [ - { - "id": "displayName", - "value": "Capacity" - }, - { - "id": "unit", - "value": "bytes" - }, - { - "id": "decimals", - "value": 2 - }, - { - "id": "custom.align", - "value": null - } - ] - }, - { - "matcher": { - "id": "byName", - "options": "Value #E" - }, - "properties": [ - { - "id": "displayName", - "value": "Used bytes" - }, - { - "id": "unit", - "value": "bytes" - }, - { - "id": "decimals", - "value": 2 - }, - { - "id": "custom.align", - "value": null - } - ] - }, - { - "matcher": { - "id": "byName", - "options": "Value #F" - }, - "properties": [ - { - "id": "displayName", - "value": "Used inodes" - }, - { - "id": "unit", - "value": "short" - }, - { - "id": "custom.align", - "value": null - } - ] - }, - { - "matcher": { - "id": "byName", - "options": "Value #G" - }, - "properties": [ - { - "id": "displayName", - "value": "Used bytes (%)" - }, - { - "id": "unit", - "value": "percentunit" - }, - { - "id": "decimals", - "value": 2 - }, - { - "id": "custom.align", - "value": null - } - ] - }, - { - "matcher": { - "id": "byName", - "options": "Value #H" - }, - "properties": [ - { - "id": "displayName", - "value": "Used inodes (%)" - }, - { - "id": "unit", - "value": "percentunit" - }, - { - "id": "decimals", - "value": 2 - }, - { - "id": "custom.align", - "value": null - } - ] - }, - { - "matcher": { - "id": "byName", - "options": "pod" - }, - "properties": [ - { - "id": "displayName", - "value": "Used by pod" - }, - { - "id": "unit", - "value": "short" - }, - { - "id": "decimals", - "value": 2 - }, - { - "id": "custom.align", - "value": null - } - ] + "color": "red", + "value": 80 } ] }, - "gridPos": { - "h": 9, - "w": 24, - "x": 0, - "y": 99 - }, - "id": 86, - "links": [], - "options": { - "showHeader": true - }, - "pluginVersion": "8.2.6", - "targets": [ - { - "expr": "max by (namespace, persistentvolumeclaim, storageclass) (\n kube_persistentvolumeclaim_info{namespace=\"$namespace\"}\n) \nand on (namespace, persistentvolumeclaim) \nmax by (namespace, persistentvolumeclaim) (\n kube_pod_spec_volumes_persistentvolumeclaims_info{namespace=\"$namespace\", pod=~\"$pod\"}\n * on (namespace, pod) group_left(controller)\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=~\"$controller\", pod=~\"$pod\"} \n)", - "format": "table", - "instant": true, - "intervalFactor": 1, - "legendFormat": "Name, storageclass", - "refId": "A" + "unit": "short" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Time" }, - { - "expr": "max by (namespace, persistentvolumeclaim, storageclass) (\n avg_over_time(kube_persistentvolumeclaim_resource_requests_storage_bytes{namespace=\"$namespace\"}[$__range])\n) \nand on (namespace, persistentvolumeclaim) \nmax by (namespace, persistentvolumeclaim) (\n kube_pod_spec_volumes_persistentvolumeclaims_info{namespace=\"$namespace\", pod=~\"$pod\"}\n * on (namespace, pod) group_left(controller)\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=~\"$controller\", pod=~\"$pod\"}\n)", - "format": "table", - "hide": false, - "instant": true, - "interval": "", - "intervalFactor": 1, - "legendFormat": "Requested (pvc)", - "refId": "B" - }, - { - "expr": "max by (namespace, persistentvolumeclaim, storageclass) (\n label_replace(\n kube_persistentvolumeclaim_info{namespace=\"$namespace\"},\n \"persistentvolume\", \"$1\", \"volumename\", \"(.*)\") \n * on (persistentvolume) group_left() \n kube_persistentvolume_capacity_bytes\n) \nand on (namespace, persistentvolumeclaim) \nmax by (namespace, persistentvolumeclaim) (\n kube_pod_spec_volumes_persistentvolumeclaims_info{namespace=\"$namespace\", pod=~\"$pod\"}\n * on (namespace, pod) group_left(controller)\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=~\"$controller\", pod=~\"$pod\"} \n)", - "format": "table", - "hide": false, - "instant": true, - "intervalFactor": 1, - "legendFormat": "Provisioned (pv)", - "refId": "C" - }, - { - "expr": "max by (namespace, persistentvolumeclaim, storageclass) (\n avg_over_time(kubelet_volume_stats_capacity_bytes{node=~\"$node\", namespace=\"$namespace\"}[$__range])\n) \nand on (namespace, persistentvolumeclaim) \nmax by (namespace, persistentvolumeclaim) (\n kube_pod_spec_volumes_persistentvolumeclaims_info{namespace=\"$namespace\", pod=~\"$pod\"}\n * on (namespace, pod) group_left(controller)\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=~\"$controller\", pod=~\"$pod\"} \n)", - "format": "table", - "instant": true, - "intervalFactor": 1, - "legendFormat": "Capacity (real)", - "refId": "D" - }, - { - "expr": "max by (namespace, persistentvolumeclaim, storageclass) (\n avg_over_time(kubelet_volume_stats_capacity_bytes{node=~\"$node\", namespace=\"$namespace\"}[$__range]) - avg_over_time(kubelet_volume_stats_available_bytes{node=~\"$node\", namespace=\"$namespace\"}[$__range])\n) \nand on (namespace, persistentvolumeclaim) \nmax by (namespace, persistentvolumeclaim) (\n kube_pod_spec_volumes_persistentvolumeclaims_info{namespace=\"$namespace\", pod=~\"$pod\"}\n * on (namespace, pod) group_left(controller)\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=~\"$controller\", pod=~\"$pod\"} \n)", - "format": "table", - "instant": true, - "intervalFactor": 1, - "legendFormat": "Used bytes", - "refId": "E" - }, - { - "expr": "max by (namespace, persistentvolumeclaim, storageclass) (\n avg_over_time(kubelet_volume_stats_inodes_used{node=~\"$node\", namespace=\"$namespace\"}[$__range])\n) \nand on (namespace, persistentvolumeclaim) \nmax by (namespace, persistentvolumeclaim) (\n kube_pod_spec_volumes_persistentvolumeclaims_info{namespace=\"$namespace\", pod=~\"$pod\"}\n * on (namespace, pod) group_left(controller)\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=~\"$controller\", pod=~\"$pod\"} \n)", - "format": "table", - "instant": true, - "intervalFactor": 1, - "legendFormat": "Used inodes", - "refId": "F" - }, - { - "expr": "max by (namespace, persistentvolumeclaim, storageclass) (\n (avg_over_time(kubelet_volume_stats_capacity_bytes{node=~\"$node\", namespace=\"$namespace\"}[$__range]) - avg_over_time(kubelet_volume_stats_available_bytes{node=~\"$node\", namespace=\"$namespace\"}[$__range]))\n /\n avg_over_time(kubelet_volume_stats_capacity_bytes{node=~\"$node\", namespace=\"$namespace\"}[$__range])\n) \nand on (namespace, persistentvolumeclaim) \nmax by (namespace, persistentvolumeclaim) (\n kube_pod_spec_volumes_persistentvolumeclaims_info{namespace=\"$namespace\", pod=~\"$pod\", pod=~\"$pod\"}\n * on (namespace, pod) group_left(controller)\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=~\"$controller\"} \n)", - "format": "table", - "instant": true, - "intervalFactor": 1, - "legendFormat": "Used bytes %", - "refId": "G" - }, - { - "expr": "max by (namespace, persistentvolumeclaim, storageclass) (\n avg_over_time(kubelet_volume_stats_inodes_used{node=~\"$node\", namespace=\"$namespace\"}[$__range])\n /\n avg_over_time(kubelet_volume_stats_inodes{node=~\"$node\", namespace=\"$namespace\"}[$__range])\n) \nand on (namespace, persistentvolumeclaim) \nmax by (namespace, persistentvolumeclaim) (\n kube_pod_spec_volumes_persistentvolumeclaims_info{namespace=\"$namespace\", pod=~\"$pod\"}\n * on (namespace, pod) group_left(controller)\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=~\"$controller\", pod=~\"$pod\"} \n)", - "format": "table", - "instant": true, - "intervalFactor": 1, - "legendFormat": "Used inodes %", - "refId": "H" - }, - { - "expr": "max by (namespace, persistentvolumeclaim, pod) (\n kube_pod_spec_volumes_persistentvolumeclaims_info{namespace=\"$namespace\", pod=~\"$pod\"}\n * on (namespace, pod) group_left(controller)\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=~\"$controller\", pod=~\"$pod\"} \n)", - "format": "table", - "instant": true, - "intervalFactor": 1, - "legendFormat": "pod", - "refId": "I" - } - ], - "title": "Overview", - "transformations": [ - { - "id": "merge", - "options": { - "reducers": [] + "properties": [ + { + "id": "displayName", + "value": "Time" + }, + { + "id": "custom.align" } + ] + }, + { + "matcher": { + "id": "byName", + "options": "persistentvolumeclaim" }, - { - "id": "filterFieldsByName", - "options": { - "include": { - "names": [ - "persistentvolumeclaim", - "storageclass", - "Value #B", - "Value #C", - "Value #D", - "Value #E", - "Value #F", - "Value #G", - "Value #H", - "pod" - ] - } + "properties": [ + { + "id": "displayName", + "value": "Name" + }, + { + "id": "unit", + "value": "short" + }, + { + "id": "decimals", + "value": 2 + }, + { + "id": "custom.align" } - } + ] + }, + { + "matcher": { + "id": "byName", + "options": "storageclass" + }, + "properties": [ + { + "id": "displayName", + "value": "StorageClass" + }, + { + "id": "unit", + "value": "short" + }, + { + "id": "decimals", + "value": 2 + }, + { + "id": "custom.align" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Value #B" + }, + "properties": [ + { + "id": "displayName", + "value": "Requested" + }, + { + "id": "unit", + "value": "bytes" + }, + { + "id": "decimals", + "value": 2 + }, + { + "id": "custom.align" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Value #C" + }, + "properties": [ + { + "id": "displayName", + "value": "Provisioned" + }, + { + "id": "unit", + "value": "bytes" + }, + { + "id": "decimals", + "value": 2 + }, + { + "id": "custom.align" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Value #D" + }, + "properties": [ + { + "id": "displayName", + "value": "Capacity" + }, + { + "id": "unit", + "value": "bytes" + }, + { + "id": "decimals", + "value": 2 + }, + { + "id": "custom.align" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Value #E" + }, + "properties": [ + { + "id": "displayName", + "value": "Used bytes" + }, + { + "id": "unit", + "value": "bytes" + }, + { + "id": "decimals", + "value": 2 + }, + { + "id": "custom.align" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Value #F" + }, + "properties": [ + { + "id": "displayName", + "value": "Used inodes" + }, + { + "id": "unit", + "value": "short" + }, + { + "id": "custom.align" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Value #G" + }, + "properties": [ + { + "id": "displayName", + "value": "Used bytes (%)" + }, + { + "id": "unit", + "value": "percentunit" + }, + { + "id": "decimals", + "value": 2 + }, + { + "id": "custom.align" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Value #H" + }, + "properties": [ + { + "id": "displayName", + "value": "Used inodes (%)" + }, + { + "id": "unit", + "value": "percentunit" + }, + { + "id": "decimals", + "value": 2 + }, + { + "id": "custom.align" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "pod" + }, + "properties": [ + { + "id": "displayName", + "value": "Used by pod" + }, + { + "id": "unit", + "value": "short" + }, + { + "id": "decimals", + "value": 2 + }, + { + "id": "custom.align" + } + ] + } + ] + }, + "gridPos": { + "h": 9, + "w": 24, + "x": 0, + "y": 99 + }, + "id": 86, + "links": [], + "options": { + "cellHeight": "sm", + "footer": { + "countRows": false, + "fields": "", + "reducer": [ + "sum" ], - "type": "table" + "show": false + }, + "showHeader": true + }, + "pluginVersion": "10.2.2", + "targets": [ + { + "expr": "max by (namespace, persistentvolumeclaim, storageclass) (\n kube_persistentvolumeclaim_info{namespace=\"$namespace\"}\n) \nand on (namespace, persistentvolumeclaim) \nmax by (namespace, persistentvolumeclaim) (\n kube_pod_spec_volumes_persistentvolumeclaims_info{namespace=\"$namespace\", pod=~\"$pod\"}\n * on (namespace, pod) group_left(controller)\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=~\"$controller\", pod=~\"$pod\"} \n)", + "format": "table", + "instant": true, + "intervalFactor": 1, + "legendFormat": "Name, storageclass", + "refId": "A" }, { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "$ds_prometheus", - "description": "This graph does not show any localstorage-related information due to incorrectly calculating the occupied space on localstorage disks", - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 7, - "w": 24, - "x": 0, - "y": 108 - }, - "hiddenSeries": false, - "id": 89, - "legend": { - "alignAsTable": true, - "avg": true, - "current": false, - "max": false, - "min": false, - "rightSide": true, - "show": true, - "sort": "avg", - "sortDesc": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null as zero", + "expr": "max by (namespace, persistentvolumeclaim, storageclass) (\n avg_over_time(kube_persistentvolumeclaim_resource_requests_storage_bytes{namespace=\"$namespace\"}[$__range])\n) \nand on (namespace, persistentvolumeclaim) \nmax by (namespace, persistentvolumeclaim) (\n kube_pod_spec_volumes_persistentvolumeclaims_info{namespace=\"$namespace\", pod=~\"$pod\"}\n * on (namespace, pod) group_left(controller)\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=~\"$controller\", pod=~\"$pod\"}\n)", + "format": "table", + "hide": false, + "instant": true, + "interval": "", + "intervalFactor": 1, + "legendFormat": "Requested (pvc)", + "refId": "B" + }, + { + "expr": "max by (namespace, persistentvolumeclaim, storageclass) (\n label_replace(\n kube_persistentvolumeclaim_info{namespace=\"$namespace\"},\n \"persistentvolume\", \"$1\", \"volumename\", \"(.*)\") \n * on (persistentvolume) group_left() \n kube_persistentvolume_capacity_bytes\n) \nand on (namespace, persistentvolumeclaim) \nmax by (namespace, persistentvolumeclaim) (\n kube_pod_spec_volumes_persistentvolumeclaims_info{namespace=\"$namespace\", pod=~\"$pod\"}\n * on (namespace, pod) group_left(controller)\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=~\"$controller\", pod=~\"$pod\"} \n)", + "format": "table", + "hide": false, + "instant": true, + "intervalFactor": 1, + "legendFormat": "Provisioned (pv)", + "refId": "C" + }, + { + "expr": "max by (namespace, persistentvolumeclaim, storageclass) (\n avg_over_time(kubelet_volume_stats_capacity_bytes{node=~\"$node\", namespace=\"$namespace\"}[$__range])\n) \nand on (namespace, persistentvolumeclaim) \nmax by (namespace, persistentvolumeclaim) (\n kube_pod_spec_volumes_persistentvolumeclaims_info{namespace=\"$namespace\", pod=~\"$pod\"}\n * on (namespace, pod) group_left(controller)\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=~\"$controller\", pod=~\"$pod\"} \n)", + "format": "table", + "instant": true, + "intervalFactor": 1, + "legendFormat": "Capacity (real)", + "refId": "D" + }, + { + "expr": "max by (namespace, persistentvolumeclaim, storageclass) (\n avg_over_time(kubelet_volume_stats_capacity_bytes{node=~\"$node\", namespace=\"$namespace\"}[$__range]) - avg_over_time(kubelet_volume_stats_available_bytes{node=~\"$node\", namespace=\"$namespace\"}[$__range])\n) \nand on (namespace, persistentvolumeclaim) \nmax by (namespace, persistentvolumeclaim) (\n kube_pod_spec_volumes_persistentvolumeclaims_info{namespace=\"$namespace\", pod=~\"$pod\"}\n * on (namespace, pod) group_left(controller)\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=~\"$controller\", pod=~\"$pod\"} \n)", + "format": "table", + "instant": true, + "intervalFactor": 1, + "legendFormat": "Used bytes", + "refId": "E" + }, + { + "expr": "max by (namespace, persistentvolumeclaim, storageclass) (\n avg_over_time(kubelet_volume_stats_inodes_used{node=~\"$node\", namespace=\"$namespace\"}[$__range])\n) \nand on (namespace, persistentvolumeclaim) \nmax by (namespace, persistentvolumeclaim) (\n kube_pod_spec_volumes_persistentvolumeclaims_info{namespace=\"$namespace\", pod=~\"$pod\"}\n * on (namespace, pod) group_left(controller)\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=~\"$controller\", pod=~\"$pod\"} \n)", + "format": "table", + "instant": true, + "intervalFactor": 1, + "legendFormat": "Used inodes", + "refId": "F" + }, + { + "expr": "max by (namespace, persistentvolumeclaim, storageclass) (\n (avg_over_time(kubelet_volume_stats_capacity_bytes{node=~\"$node\", namespace=\"$namespace\"}[$__range]) - avg_over_time(kubelet_volume_stats_available_bytes{node=~\"$node\", namespace=\"$namespace\"}[$__range]))\n /\n avg_over_time(kubelet_volume_stats_capacity_bytes{node=~\"$node\", namespace=\"$namespace\"}[$__range])\n) \nand on (namespace, persistentvolumeclaim) \nmax by (namespace, persistentvolumeclaim) (\n kube_pod_spec_volumes_persistentvolumeclaims_info{namespace=\"$namespace\", pod=~\"$pod\", pod=~\"$pod\"}\n * on (namespace, pod) group_left(controller)\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=~\"$controller\"} \n)", + "format": "table", + "instant": true, + "intervalFactor": 1, + "legendFormat": "Used bytes %", + "refId": "G" + }, + { + "expr": "max by (namespace, persistentvolumeclaim, storageclass) (\n avg_over_time(kubelet_volume_stats_inodes_used{node=~\"$node\", namespace=\"$namespace\"}[$__range])\n /\n avg_over_time(kubelet_volume_stats_inodes{node=~\"$node\", namespace=\"$namespace\"}[$__range])\n) \nand on (namespace, persistentvolumeclaim) \nmax by (namespace, persistentvolumeclaim) (\n kube_pod_spec_volumes_persistentvolumeclaims_info{namespace=\"$namespace\", pod=~\"$pod\"}\n * on (namespace, pod) group_left(controller)\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=~\"$controller\", pod=~\"$pod\"} \n)", + "format": "table", + "instant": true, + "intervalFactor": 1, + "legendFormat": "Used inodes %", + "refId": "H" + }, + { + "expr": "max by (namespace, persistentvolumeclaim, pod) (\n kube_pod_spec_volumes_persistentvolumeclaims_info{namespace=\"$namespace\", pod=~\"$pod\"}\n * on (namespace, pod) group_left(controller)\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=~\"$controller\", pod=~\"$pod\"} \n)", + "format": "table", + "instant": true, + "intervalFactor": 1, + "legendFormat": "pod", + "refId": "I" + } + ], + "title": "Overview", + "transformations": [ + { + "id": "merge", "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.2.6", - "pointradius": 5, - "points": false, - "renderer": "flot", - "repeat": "persistentvolumeclaim", - "repeatDirection": "h", - "seriesOverrides": [ - { - "alias": "Total", - "fill": 0, - "stack": false + "reducers": [] + } + }, + { + "id": "filterFieldsByName", + "options": { + "include": { + "names": [ + "persistentvolumeclaim", + "storageclass", + "Value #B", + "Value #C", + "Value #D", + "Value #E", + "Value #F", + "Value #G", + "Value #H", + "pod" + ] } - ], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "max by (namespace, persistentvolumeclaim, storageclass) (\n label_replace(\n kube_persistentvolumeclaim_info{namespace=\"$namespace\"},\n \"persistentvolume\", \"$1\", \"volumename\", \"(.*)\") \n * on (persistentvolume) group_left() \n avg_over_time(kube_persistentvolume_capacity_bytes[$__rate_interval])\n) \nand on (namespace, persistentvolumeclaim) \nmax by (namespace, persistentvolumeclaim) (\n kube_pod_spec_volumes_persistentvolumeclaims_info{namespace=\"$namespace\", persistentvolumeclaim=\"$persistentvolumeclaim\", pod=~\"$pod\"}\n * on (namespace, pod) group_left(controller)\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=~\"$controller\"} \n)", - "format": "time_series", - "hide": false, - "intervalFactor": 1, - "legendFormat": "Provisioned", - "refId": "B" - }, - { - "expr": "max by (namespace, persistentvolumeclaim, storageclass) (\n avg_over_time(kubelet_volume_stats_capacity_bytes{namespace=\"$namespace\"}[$__rate_interval])\n) \nand on (namespace, persistentvolumeclaim) \nmax by (namespace, persistentvolumeclaim) (\n kube_pod_spec_volumes_persistentvolumeclaims_info{namespace=\"$namespace\", pod=~\"$pod\"}\n * on (namespace, pod) group_left(controller)\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=~\"$controller\"} \n)", - "format": "time_series", - "hide": false, - "intervalFactor": 1, - "legendFormat": "Capacity", - "refId": "A" - }, - { - "expr": "max by (namespace, persistentvolumeclaim, storageclass) (\n avg_over_time(kubelet_volume_stats_capacity_bytes{namespace=\"$namespace\"}[$__rate_interval]) - avg_over_time(kubelet_volume_stats_available_bytes{namespace=\"$namespace\"}[$__rate_interval])\n) \nand on (namespace, persistentvolumeclaim) \nmax by (namespace, persistentvolumeclaim) (\n kube_pod_spec_volumes_persistentvolumeclaims_info{namespace=\"$namespace\", pod=~\"$pod\"}\n * on (namespace, pod) group_left(controller)\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=~\"$controller\"} \n)", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "Used bytes", - "refId": "C" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "$persistentvolumeclaim", - "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": null, - "show": false - } - ], - "yaxis": { - "align": false, - "alignLevel": null } } ], - "title": "PVC Detailed", - "type": "row" + "type": "table" + }, + { + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, + "description": "This graph does not show any localstorage-related information due to incorrectly calculating the occupied space on localstorage disks", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "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": "bytes" + }, + "overrides": [] + }, + "gridPos": { + "h": 7, + "w": 12, + "x": 0, + "y": 108 + }, + "id": 89, + "links": [], + "options": { + "legend": { + "calcs": [ + "mean" + ], + "displayMode": "table", + "placement": "right", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "desc" + } + }, + "pluginVersion": "8.5.13", + "repeat": "persistentvolumeclaim", + "repeatDirection": "h", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${ds_prometheus}" + }, + "editorMode": "code", + "expr": "max by (namespace, persistentvolumeclaim, storageclass) (\n label_replace(\n kube_persistentvolumeclaim_info{namespace=\"$namespace\"},\n \"persistentvolume\", \"$1\", \"volumename\", \"(.*)\") \n * on (persistentvolume) group_left() \n avg_over_time(kube_persistentvolume_capacity_bytes[$__rate_interval])\n) \nand on (namespace, persistentvolumeclaim) \nmax by (namespace, persistentvolumeclaim) (\n kube_pod_spec_volumes_persistentvolumeclaims_info{namespace=\"$namespace\", persistentvolumeclaim=\"$persistentvolumeclaim\", pod=~\"$pod\"}\n * on (namespace, pod) group_left(controller)\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=~\"$controller\"}\n)", + "format": "time_series", + "hide": false, + "intervalFactor": 1, + "legendFormat": "Provisioned", + "range": true, + "refId": "B" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${ds_prometheus}" + }, + "editorMode": "code", + "expr": "max by (namespace, persistentvolumeclaim, storageclass) (\n avg_over_time(kubelet_volume_stats_capacity_bytes{namespace=\"$namespace\"}[$__rate_interval])\n) \nand on (namespace, persistentvolumeclaim) \nmax by (namespace, persistentvolumeclaim) (\n kube_pod_spec_volumes_persistentvolumeclaims_info{namespace=\"$namespace\", pod=~\"$pod\"}\n * on (namespace, pod) group_left(controller)\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=~\"$controller\"}\n)", + "format": "time_series", + "hide": false, + "intervalFactor": 1, + "legendFormat": "Capacity", + "range": true, + "refId": "A" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${ds_prometheus}" + }, + "editorMode": "code", + "expr": "max by (namespace, persistentvolumeclaim, storageclass) (\n avg_over_time(kubelet_volume_stats_capacity_bytes{namespace=\"$namespace\"}[$__rate_interval]) - avg_over_time(kubelet_volume_stats_available_bytes{namespace=\"$namespace\"}[$__rate_interval])\n) \nand on (namespace, persistentvolumeclaim) \nmax by (namespace, persistentvolumeclaim) (\n kube_pod_spec_volumes_persistentvolumeclaims_info{namespace=\"$namespace\", pod=~\"$pod\"}\n * on (namespace, pod) group_left(controller)\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=~\"$controller\"}\n)", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "Used bytes", + "range": true, + "refId": "C" + } + ], + "title": "$persistentvolumeclaim", + "type": "timeseries" } ], "refresh": "30s", - "schemaVersion": 32, - "style": "dark", + "schemaVersion": 38, "tags": [ "main" ], @@ -4139,8 +4983,6 @@ "text": "default", "value": "default" }, - "description": null, - "error": null, "hide": 0, "includeAll": false, "label": "Prometheus", @@ -4164,10 +5006,11 @@ "$__all" ] }, - "datasource": "$ds_prometheus", + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "definition": "label_values(kubernetes_build_info, node)", - "description": null, - "error": null, "hide": 0, "includeAll": true, "label": "Node", @@ -4188,16 +5031,16 @@ "useTags": false }, { - "allValue": null, "current": { "selected": false, - "text": "candi-dashboard-stage", - "value": "candi-dashboard-stage" + "text": "d8-monitoring", + "value": "d8-monitoring" + }, + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" }, - "datasource": "$ds_prometheus", "definition": "label_values(kube_pod_info{node=~\"$node\"}, namespace)", - "description": null, - "error": null, "hide": 0, "includeAll": false, "label": "Namespace", @@ -4218,16 +5061,16 @@ "useTags": false }, { - "allValue": null, "current": { "selected": false, - "text": "sts/postgres", - "value": "sts/postgres" + "text": "sts/prometheus-main", + "value": "sts/prometheus-main" }, - "datasource": "$ds_prometheus", - "definition": "label_values(kube_controller_pod{node=~\"$node\", namespace=~\"$namespace\"}, controller)", - "description": null, - "error": null, + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, + "definition": "label_values(kube_controller_pod{node=~\"$node\", namespace=~\"$namespace\"},controller)", "hide": 0, "includeAll": false, "label": "Controller", @@ -4235,8 +5078,9 @@ "name": "controller", "options": [], "query": { - "query": "label_values(kube_controller_pod{node=~\"$node\", namespace=~\"$namespace\"}, controller)", - "refId": "main-controller-Variable-Query" + "qryType": 1, + "query": "label_values(kube_controller_pod{node=~\"$node\", namespace=~\"$namespace\"},controller)", + "refId": "PrometheusVariableQueryEditor-VariableQuery" }, "refresh": 1, "regex": "", @@ -4258,10 +5102,11 @@ "$__all" ] }, - "datasource": "$ds_prometheus", + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "definition": "label_values(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\"}, pod)", - "description": null, - "error": null, "hide": 0, "includeAll": true, "label": "Pod", @@ -4292,10 +5137,11 @@ "$__all" ] }, - "datasource": "$ds_prometheus", - "definition": "query_result(max_over_time(kube_pod_spec_volumes_persistentvolumeclaims_info{node=~\"$node\", namespace=\"$namespace\", pod=~\"$pod\"}[$__range]))", - "description": null, - "error": null, + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, + "definition": "query_result((kube_controller_pod{namespace=\"$namespace\",controller=\"$controller\"}) * on(pod) group_right(controller_name,persistentvolumeclaims) max_over_time(kube_pod_spec_volumes_persistentvolumeclaims_info{namespace=\"$namespace\"}[$__range]))", "hide": 2, "includeAll": true, "label": "PersistentVolumeClaim", @@ -4303,8 +5149,9 @@ "name": "persistentvolumeclaim", "options": [], "query": { - "query": "query_result(max_over_time(kube_pod_spec_volumes_persistentvolumeclaims_info{node=~\"$node\", namespace=\"$namespace\", pod=~\"$pod\"}[$__range]))", - "refId": "main-persistentvolumeclaim-Variable-Query" + "qryType": 3, + "query": "query_result((kube_controller_pod{namespace=\"$namespace\",controller=\"$controller\"}) * on(pod) group_right(controller_name,persistentvolumeclaims) max_over_time(kube_pod_spec_volumes_persistentvolumeclaims_info{namespace=\"$namespace\"}[$__range]))", + "refId": "PrometheusVariableQueryEditor-VariableQuery" }, "refresh": 2, "regex": "/.*persistentvolumeclaim=\"([^\"]+)\".*/", @@ -4349,5 +5196,6 @@ "timezone": "", "title": "Namespace / Controller", "uid": "IRPuf4ymk1", - "version": 2 + "version": 6, + "weekStart": "" } diff --git a/dashboards/main/namespace.json b/dashboards/main/namespace.json index eea95317..9a53033c 100644 --- a/dashboards/main/namespace.json +++ b/dashboards/main/namespace.json @@ -24,7 +24,6 @@ "editable": false, "fiscalYearStartMonth": 0, "graphTooltip": 1, - "iteration": 1684513475244, "links": [], "liveNow": false, "panels": [ @@ -40,7 +39,10 @@ "mode": "thresholds" }, "custom": { - "displayMode": "auto", + "align": "auto", + "cellOptions": { + "type": "auto" + }, "filterable": false, "inspect": false, "minWidth": 70 @@ -607,7 +609,9 @@ "links": [], "maxPerRow": 6, "options": { + "cellHeight": "sm", "footer": { + "countRows": false, "fields": "", "reducer": [ "sum" @@ -617,10 +621,14 @@ "showHeader": true, "sortBy": [] }, - "pluginVersion": "8.5.13", + "pluginVersion": "10.2.2", "repeatDirection": "h", "targets": [ { + "datasource": { + "type": "prometheus", + "uid": "${ds_prometheus}" + }, "expr": "max by (job, namespace, controller, controller_name) (avg_over_time(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller_type=~\"$controller_type\", controller=~\"$controller\"}[$__range]))", "format": "table", "hide": false, @@ -631,6 +639,10 @@ "refId": "A" }, { + "datasource": { + "type": "prometheus", + "uid": "${ds_prometheus}" + }, "expr": "sum by (controller) (avg_over_time(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller_type=~\"$controller_type\", controller=~\"$controller\"}[$__range]) * on (controller_type, controller_name) group_left() sum by (controller_type, controller_name) (avg_over_time(vpa_target_recommendation{namespace=\"$namespace\", update_mode=\"Off\"}[$__range]))) * 0\nor\nsum by (controller) (avg_over_time(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller_type=~\"$controller_type\", controller=~\"$controller\"}[$__range]) * on (controller_type, controller_name) group_left() sum by (controller_type, controller_name) (avg_over_time(vpa_target_recommendation{namespace=\"$namespace\", update_mode=\"Initial\"}[$__range]))) * 0 + 1\nor\nsum by (controller) (avg_over_time(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller_type=~\"$controller_type\", controller=~\"$controller\"}[$__range]) * on (controller_type, controller_name) group_left() sum by (controller_type, controller_name) (avg_over_time(vpa_target_recommendation{namespace=\"$namespace\", update_mode=\"Auto\"}[$__range]))) * 0 + 2\nor\nsum by (controller) (avg_over_time(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller_type=~\"$controller_type\", controller=~\"$controller\"}[$__range]) * on (controller_type, controller_name) group_left() sum by (controller_type, controller_name) (avg_over_time(vpa_target_recommendation{namespace=\"$namespace\", update_mode=\"Recreate\"}[$__range]))) * 0 + 3\nor\nsum by (controller) (avg_over_time(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller_type=~\"$controller_type\", controller=~\"$controller\"}[$__range])) * 0 + 5", "format": "table", "hide": false, @@ -640,6 +652,10 @@ "refId": "B" }, { + "datasource": { + "type": "prometheus", + "uid": "${ds_prometheus}" + }, "expr": "sum by (controller) (avg_over_time(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller_type=~\"$controller_type\", controller=~\"$controller\"}[$__range]) * on (pod) group_left() sum by (pod) (rate(container_cpu_usage_seconds_total{node=~\"$node\", namespace=\"$namespace\", container!=\"POD\"}[$__range])))\nor\ncount (avg_over_time(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller_type=~\"$controller_type\", controller=~\"$controller\"}[$__range])) by (controller) * 0", "format": "table", "instant": true, @@ -648,6 +664,10 @@ "refId": "C" }, { + "datasource": { + "type": "prometheus", + "uid": "${ds_prometheus}" + }, "expr": "sum by (controller)\n (\n avg_over_time(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller_type=~\"$controller_type\", controller=~\"$controller\"}[$__range])\n * on (pod) group_left()\n sum by (pod) (avg_over_time(kube_pod_container_resource_requests{resource=\"cpu\",unit=\"core\",node=~\"$node\", namespace=\"$namespace\"}[$__range]))\n )\nor\ncount (avg_over_time(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller_type=~\"$controller_type\", controller=~\"$controller\"}[$__range])) by (controller) * 0", "format": "table", "instant": true, @@ -656,6 +676,10 @@ "refId": "D" }, { + "datasource": { + "type": "prometheus", + "uid": "${ds_prometheus}" + }, "expr": "sum by (controller)\n (\n avg_over_time(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller_type=~\"$controller_type\", controller=~\"$controller\"}[$__range])\n * on (controller_type, controller_name) group_left()\n sum by(controller_type, controller_name) (avg_over_time(vpa_target_recommendation{container!=\"POD\",namespace=\"$namespace\", resource=\"cpu\"}[$__range]))\n ) \nor\ncount (avg_over_time(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller_type=~\"$controller_type\", controller=~\"$controller\"}[$__range])) by (controller) * 0", "format": "table", "instant": true, @@ -664,6 +688,10 @@ "refId": "E" }, { + "datasource": { + "type": "prometheus", + "uid": "${ds_prometheus}" + }, "expr": "sum by (controller)\n (\n avg_over_time(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller_type=~\"$controller_type\", controller=~\"$controller\"}[$__range])\n * on (namespace, pod) group_left()\n sum by (namespace, pod)\n (\n (\n sum by(namespace, pod, container) (avg_over_time(kube_pod_container_resource_requests{resource=\"cpu\",unit=\"core\",node=~\"$node\", namespace=\"$namespace\"}[$__range]))\n -\n sum by(namespace, pod, container) (rate(container_cpu_usage_seconds_total{node=~\"$node\", container!=\"POD\", namespace=\"$namespace\"}[$__range]))\n ) > 0\n )\n )\nor\ncount (avg_over_time(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller_type=~\"$controller_type\", controller=~\"$controller\"}[$__range])) by (controller) * 0", "format": "table", "instant": true, @@ -672,6 +700,10 @@ "refId": "F" }, { + "datasource": { + "type": "prometheus", + "uid": "${ds_prometheus}" + }, "expr": "sum by (controller)\n (\n avg_over_time(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller_type=~\"$controller_type\", controller=~\"$controller\"}[$__range])\n * on (namespace, pod) group_left()\n sum by (namespace, pod)\n (\n (\n (\n sum by(namespace, pod, container) (rate(container_cpu_usage_seconds_total{node=~\"$node\", namespace=\"$namespace\"}[$__range]))\n -\n sum by(namespace, pod, container) (avg_over_time(kube_pod_container_resource_requests{resource=\"cpu\",unit=\"core\",node=~\"$node\", container!=\"POD\", namespace=\"$namespace\"}[$__range]))\n ) or sum by(namespace, pod, container) (rate(container_cpu_usage_seconds_total{node=~\"$node\", container!=\"POD\", namespace=\"$namespace\"}[$__range]))\n ) > 0\n )\n )\nor\ncount (avg_over_time(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller_type=~\"$controller_type\", controller=~\"$controller\"}[$__range])) by (controller) * 0", "format": "table", "instant": true, @@ -680,6 +712,10 @@ "refId": "G" }, { + "datasource": { + "type": "prometheus", + "uid": "${ds_prometheus}" + }, "expr": "sum by (controller) (avg_over_time(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller_type=~\"$controller_type\", controller=~\"$controller\"}[$__range]) * on (pod) group_left() ((sum by (pod) (rate(container_cpu_cfs_throttled_periods_total{node=~\"$node\", namespace=\"$namespace\"}[$__range])) / sum by (pod) (rate(container_cpu_cfs_periods_total{node=~\"$node\", namespace=\"$namespace\"}[$__range]))) * sum by (pod) (rate(kube_pod_container_resource_limits{resource=\"cpu\",unit=\"core\",node=~\"$node\", namespace=\"$namespace\"}[$__range]))))\nor\ncount (avg_over_time(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller_type=~\"$controller_type\", controller=~\"$controller\"}[$__range])) by (controller) * 0", "format": "table", "instant": true, @@ -688,6 +724,10 @@ "refId": "H" }, { + "datasource": { + "type": "prometheus", + "uid": "${ds_prometheus}" + }, "expr": "sum by (controller) (avg_over_time(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller_type=~\"$controller_type\", controller=~\"$controller\"}[$__range]) * on (pod) group_left() sum by (pod) (avg_over_time(container_memory_working_set_bytes:without_kmem{node=~\"$node\", namespace=\"$namespace\", container!=\"POD\"}[$__range])))\nor\ncount (avg_over_time(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller_type=~\"$controller_type\", controller=~\"$controller\"}[$__range])) by (controller) * 0", "format": "table", "instant": true, @@ -696,6 +736,10 @@ "refId": "I" }, { + "datasource": { + "type": "prometheus", + "uid": "${ds_prometheus}" + }, "expr": "sum by (controller)\n (\n avg_over_time(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller_type=~\"$controller_type\", controller=~\"$controller\"}[$__range])\n * on (pod) group_left()\n sum by (namespace, pod)\n (\n avg_over_time(kube_pod_container_resource_requests{resource=\"memory\",unit=\"byte\",node=~\"$node\", namespace=\"$namespace\", container!=\"POD\"}[$__range])\n )\n )\n or\n count (avg_over_time(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller_type=~\"$controller_type\", controller=~\"$controller\"}[$__range])) by (controller) * 0", "format": "table", "instant": true, @@ -704,6 +748,10 @@ "refId": "J" }, { + "datasource": { + "type": "prometheus", + "uid": "${ds_prometheus}" + }, "expr": "sum by (controller)\n (\n avg_over_time(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller_type=~\"$controller_type\", controller=~\"$controller\"}[$__range])\n * on (controller_type, controller_name) group_left()\n sum by(controller_type, controller_name) (avg_over_time(vpa_target_recommendation{container!=\"POD\",namespace=\"$namespace\", resource=\"memory\"}[$__range]))\n ) \n or \ncount (avg_over_time(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller_type=~\"$controller_type\", controller=~\"$controller\"}[$__range])) by (controller) * 0", "format": "table", "instant": true, @@ -712,6 +760,10 @@ "refId": "K" }, { + "datasource": { + "type": "prometheus", + "uid": "${ds_prometheus}" + }, "expr": "sum by (controller)\n (\n avg_over_time(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller_type=~\"$controller_type\", controller=~\"$controller\"}[$__range])\n * on (namespace, pod) group_left()\n sum by (namespace, pod)\n (\n (\n sum by(namespace, pod, container) (avg_over_time(kube_pod_container_resource_requests{resource=\"memory\",unit=\"byte\",node=~\"$node\", namespace=\"$namespace\"}[$__range]))\n -\n sum by(namespace, pod, container) (avg_over_time(container_memory_working_set_bytes:without_kmem{node=~\"$node\", container!=\"POD\", namespace=\"$namespace\"}[$__range]))\n ) > 0\n )\n )\nor\ncount (avg_over_time(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller_type=~\"$controller_type\", controller=~\"$controller\"}[$__range])) by (controller) * 0", "format": "table", "instant": true, @@ -720,6 +772,10 @@ "refId": "L" }, { + "datasource": { + "type": "prometheus", + "uid": "${ds_prometheus}" + }, "expr": "sum by (controller)\n (\n avg_over_time(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller_type=~\"$controller_type\", controller=~\"$controller\"}[$__range])\n * on (namespace, pod) group_left()\n sum by (namespace, pod)\n (\n (\n (\n sum by(namespace, pod, container) (avg_over_time(container_memory_working_set_bytes:without_kmem{node=~\"$node\", namespace=\"$namespace\"}[$__range]))\n -\n sum by(namespace, pod, container) (avg_over_time(kube_pod_container_resource_requests{resource=\"memory\",unit=\"byte\",node=~\"$node\", container!=\"POD\", namespace=\"$namespace\"}[$__range]))\n ) or sum by(namespace, pod, container) (avg_over_time(container_memory_working_set_bytes:without_kmem{node=~\"$node\", container!=\"POD\", namespace=\"$namespace\"}[$__range]))\n ) > 0\n )\n )\nor\ncount (avg_over_time(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller_type=~\"$controller_type\", controller=~\"$controller\"}[$__range])) by (controller) * 0", "format": "table", "instant": true, @@ -728,7 +784,12 @@ "refId": "M" }, { - "expr": "sum by(controller) ( # Data rate of the controller is a sum of data rates from its Pods.\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller_type=~\"$controller_type\", controller=~\"$controller\"} \n * on(pod)\n group_left() # Do not drop controller label from kube_controller_pod.\n sum by(pod) # Use sum if there are multiple interaces in the Pod.\n (\n rate(container_network_receive_bytes_total{node=~\"$node\", namespace=\"$namespace\"}[$__range])\n * # Select only Pods with 'hostNetwork: false', because receive_bytes values are meaningful only for Pods with hostNetwork: false.\n on(pod)\n kube_pod_info{host_network=\"false\", namespace=\"$namespace\"}\n )\n)\nor # Return -1 value for Pods with 'hostNetwork: true' to rewrite by value mapping.\n# Use max to get one '-1' per controller\n(max by(controller) (\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller_type=~\"$controller_type\", controller=~\"$controller\"}\n * on(pod)\n group_left() # Do not drop controller label from kube_controller_pod.\n (kube_pod_info{host_network=\"true\", namespace=\"$namespace\"})\n) * -1)", + "datasource": { + "type": "prometheus", + "uid": "${ds_prometheus}" + }, + "editorMode": "code", + "expr": "sum by(controller) ( # Data rate of the controller is a sum of data rates from its Pods.\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller_type=~\"$controller_type\", controller=~\"$controller\"} \n * on(pod)\n group_left() # Do not drop controller label from kube_controller_pod.\n sum by(pod) # Use sum if there are multiple interaces in the Pod.\n (\n max(rate(container_network_receive_bytes_total{node=~\"$node\", namespace=\"$namespace\"}[$__range])) by(pod)\n * # Select only Pods with 'hostNetwork: false', because receive_bytes values are meaningful only for Pods with hostNetwork: false.\n on(pod)\n kube_pod_info{host_network=\"false\", namespace=\"$namespace\"}\n )\n)\nor # Return -1 value for Pods with 'hostNetwork: true' to rewrite by value mapping.\n# Use max to get one '-1' per controller\n(max by(controller) (\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller_type=~\"$controller_type\", controller=~\"$controller\"}\n * on(pod)\n group_left() # Do not drop controller label from kube_controller_pod.\n (kube_pod_info{host_network=\"true\", namespace=\"$namespace\"})\n) * -1)", "format": "table", "instant": true, "intervalFactor": 1, @@ -736,7 +797,12 @@ "refId": "N" }, { - "expr": "sum by(controller) ( # Data rate of the controller is a sum of data rates from its Pods.\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller_type=~\"$controller_type\", controller=~\"$controller\"} \n * on(pod)\n group_left() # Do not drop controller label from kube_controller_pod.\n sum by(pod) # Use sum if there are multiple interaces in the Pod.\n (\n rate(container_network_transmit_bytes_total{node=~\"$node\", namespace=\"$namespace\"}[$__range])\n * # Select only Pods with 'hostNetwork: false', because receive_bytes values are meaningful only for Pods with hostNetwork: false.\n on(pod)\n kube_pod_info{host_network=\"false\", namespace=\"$namespace\"}\n )\n)\nor # Return -1 value for Pods with 'hostNetwork: true' to rewrite by value mapping.\n# Use max to get one '-1' per controller\n(max by(controller) (\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller_type=~\"$controller_type\", controller=~\"$controller\"}\n * on(pod)\n group_left() # Do not drop controller label from kube_controller_pod.\n (kube_pod_info{host_network=\"true\", namespace=\"$namespace\"})\n) * -1)", + "datasource": { + "type": "prometheus", + "uid": "${ds_prometheus}" + }, + "editorMode": "code", + "expr": "sum by(controller) ( # Data rate of the controller is a sum of data rates from its Pods.\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller_type=~\"$controller_type\", controller=~\"$controller\"} \n * on(pod)\n group_left() # Do not drop controller label from kube_controller_pod.\n sum by(pod) # Use sum if there are multiple interaces in the Pod.\n (\n max(rate(container_network_transmit_bytes_total{node=~\"$node\", namespace=\"$namespace\"}[$__range])) by(pod)\n * # Select only Pods with 'hostNetwork: false', because receive_bytes values are meaningful only for Pods with hostNetwork: false.\n on(pod)\n kube_pod_info{host_network=\"false\", namespace=\"$namespace\"}\n )\n)\nor # Return -1 value for Pods with 'hostNetwork: true' to rewrite by value mapping.\n# Use max to get one '-1' per controller\n(max by(controller) (\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller_type=~\"$controller_type\", controller=~\"$controller\"}\n * on(pod)\n group_left() # Do not drop controller label from kube_controller_pod.\n (kube_pod_info{host_network=\"true\", namespace=\"$namespace\"})\n) * -1)", "format": "table", "instant": true, "intervalFactor": 1, @@ -744,6 +810,10 @@ "refId": "O" }, { + "datasource": { + "type": "prometheus", + "uid": "${ds_prometheus}" + }, "expr": "sum by (controller) (avg_over_time(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller_type=~\"$controller_type\", controller=~\"$controller\"}[$__range]) * on (pod) group_left() sum by (pod) (rate(container_fs_reads_total{node=~\"$node\", container!=\"POD\", namespace=\"$namespace\"}[$__range])))\nor\ncount (avg_over_time(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller_type=~\"$controller_type\", controller=~\"$controller\"}[$__range])) by (controller) * 0", "format": "table", "instant": true, @@ -752,6 +822,10 @@ "refId": "P" }, { + "datasource": { + "type": "prometheus", + "uid": "${ds_prometheus}" + }, "expr": "sum by (controller) (avg_over_time(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller_type=~\"$controller_type\", controller=~\"$controller\"}[$__range]) * on (pod) group_left() sum by (pod) (rate(container_fs_writes_total{node=~\"$node\", container!=\"POD\", namespace=\"$namespace\"}[$__range])))\nor\ncount (avg_over_time(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller_type=~\"$controller_type\", controller=~\"$controller\"}[$__range])) by (controller) * 0", "format": "table", "instant": true, @@ -760,6 +834,10 @@ "refId": "Q" }, { + "datasource": { + "type": "prometheus", + "uid": "${ds_prometheus}" + }, "expr": "max by (controller) (max by (namespace, controller_type, controller_name, controller) (avg_over_time(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller_type=~\"$controller_type\", controller=~\"$controller\"}[$__range])) * on (namespace, controller_type, controller_name) group_left() max by (namespace, controller_type, controller_name) (avg_over_time(kube_controller_replicas{node=~\"$node\", namespace=\"$namespace\"}[$__range])))\nor\ncount (avg_over_time(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller_type=~\"$controller_type\", controller=~\"$controller\"}[$__range])) by (controller) * 0", "format": "table", "hide": false, @@ -769,6 +847,10 @@ "refId": "R" }, { + "datasource": { + "type": "prometheus", + "uid": "${ds_prometheus}" + }, "expr": "max by (job, namespace, controller_type, controller_name, controller) ((max by (job, namespace, controller_type, controller_name, controller) (avg_over_time(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller_type=~\"$controller_type\", controller=~\"$controller\"}[$__range]))) * on (job, namespace, controller_type, controller_name) group_right(controller)\n(avg_over_time(kube_controller_replicas[$__range]) - avg_over_time(kube_controller_replicas_ready[$__range])))\nor\nmax by (job, namespace, controller_type, controller_name, controller) (avg_over_time(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller_type=~\"$controller_type\", controller=~\"$controller\"}[$__range])) * 0", "format": "table", "hide": false, @@ -778,6 +860,10 @@ "refId": "S" }, { + "datasource": { + "type": "prometheus", + "uid": "${ds_prometheus}" + }, "expr": "sum by (controller) \n (\n avg_over_time(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller_type=~\"$controller_type\", controller=~\"$controller\"}[$__range])\n * on (pod) group_left()\n sum by (pod) (increase(kube_pod_container_status_restarts_total{node=~\"$node\", namespace=\"$namespace\"}[$__range]))\n )\nor\ncount (avg_over_time(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller_type=~\"$controller_type\", controller=~\"$controller\"}[$__range])) by (controller) * 0", "format": "table", "hide": false, @@ -787,6 +873,10 @@ "refId": "T" }, { + "datasource": { + "type": "prometheus", + "uid": "${ds_prometheus}" + }, "expr": "sum by (controller) (avg_over_time(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller_type=~\"$controller_type\", controller=~\"$controller\"}[$__range]) * on (pod) group_left() sum by (pod) (avg_over_time(container_memory:kmem{node=~\"$node\", namespace=\"$namespace\", container!=\"POD\"}[$__range])))\nor\ncount (avg_over_time(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller_type=~\"$controller_type\", controller=~\"$controller\"}[$__range])) by (controller) * 0", "format": "table", "instant": true, @@ -845,355 +935,404 @@ "type": "table" }, { - "cards": { - "cardHSpacing": 2, - "cardMinWidth": 5, - "cardVSpacing": 2 - }, - "color": { - "cardColor": "#b4ff00", - "colorScale": "sqrt", - "colorScheme": "interpolateGnYlRd", - "defaultColor": "#757575", - "exponent": 0.5, - "mode": "discrete", - "thresholds": [ - { - "color": "#bf1b00", - "tooltip": "100% not ready", - "value": "0" - }, - { - "color": "#508642", - "tooltip": "100% ready", - "value": "1" - }, - { - "color": "#ea6460", - "tooltip": "60-99% not ready", - "value": "2" - }, - { - "color": "#e5ac0e", - "tooltip": "30-59% not ready", - "value": "3" - }, - { - "color": "#f4d598", - "tooltip": "1-29% not ready", - "value": "4" - } - ] - }, "datasource": { "uid": "$ds_prometheus" }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "fillOpacity": 70, + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineWidth": 0, + "spanNulls": false + }, + "decimals": 0, + "mappings": [], + "max": 100, + "min": 0, + "thresholds": { + "mode": "percentage", + "steps": [ + { + "color": "transparent", + "value": null + }, + { + "color": "dark-red", + "value": 0 + }, + { + "color": "light-red", + "value": 30 + }, + { + "color": "semi-dark-yellow", + "value": 60 + }, + { + "color": "green", + "value": 100 + } + ] + }, + "unit": "percent" + }, + "overrides": [] + }, "gridPos": { "h": 8, "w": 24, "x": 0, "y": 8 }, - "hideBranding": false, - "highlightCards": true, "id": 223, - "legend": { - "show": true - }, "links": [], - "nullPointMode": "as empty", - "pageSize": 15, - "seriesFilterIndex": -1, - "statusmap": { - "ConfigVersion": "v1" + "options": { + "alignValue": "left", + "legend": { + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "mergeValues": false, + "rowHeight": 0.9, + "showValue": "never", + "tooltip": { + "mode": "single", + "sort": "none" + } }, "targets": [ { - "expr": "((max by (job, namespace, controller_type, controller_name, controller) (kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller_type=~\"$controller_type\", controller=~\"$controller\"})) * on (job, namespace, controller_type, controller_name) group_right(controller) \n(kube_controller_replicas_ready/kube_controller_replicas == 1)) * 1", + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, + "editorMode": "code", + "expr": "kube_controller_replicas_ready{namespace=~\"$namespace\", controller_type=~\"$controller_type\", controller_type != \"ReplicaSet\", controller_name=~\"$controller\"}/kube_controller_replicas{namespace=~\"$namespace\", controller_type=~\"$controller_type\", controller_type != \"ReplicaSet\", controller_name=~\"$controller\"}*100", "format": "time_series", "intervalFactor": 1, - "legendFormat": "{{ controller }}", + "legendFormat": "{{controller_type}}/{{ controller_name }}", + "range": true, "refId": "A" - }, - { - "expr": "((max by (job, namespace, controller_type, controller_name, controller) (kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller_type=~\"$controller_type\", controller=~\"$controller\"})) * on (job, namespace, controller_type, controller_name) group_right(controller) \n((kube_controller_replicas_ready/kube_controller_replicas > 0) and (kube_controller_replicas_ready/kube_controller_replicas < 0.3)) > bool 0) * 2", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "{{ controller }}", - "refId": "B" - }, - { - "expr": "((max by (job, namespace, controller_type, controller_name, controller) (kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller_type=~\"$controller_type\", controller=~\"$controller\"})) * on (job, namespace, controller_type, controller_name) group_right(controller) \n((kube_controller_replicas_ready/kube_controller_replicas >= 0.3) and (kube_controller_replicas_ready/kube_controller_replicas < 0.6)) > bool 0) * 3", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "{{ controller }}", - "refId": "C" - }, - { - "expr": "((max by (job, namespace, controller_type, controller_name, controller) (kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller_type=~\"$controller_type\", controller=~\"$controller\"})) * on (job, namespace, controller_type, controller_name) group_right(controller) \n((kube_controller_replicas_ready/kube_controller_replicas >= 0.6) and (kube_controller_replicas_ready/kube_controller_replicas < 1)) > bool 0) * 4", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "{{ controller }}", - "refId": "D" - }, - { - "expr": "((max by (job, namespace, controller_type, controller_name, controller) (kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller_type=~\"$controller_type\", controller=~\"$controller\"})) * on (job, namespace, controller_type, controller_name) group_right(controller)\n(kube_controller_replicas_ready/kube_controller_replicas == 0)) * 5", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "{{ controller }}", - "refId": "E" } ], "title": "Status", - "tooltip": { - "extraInfo": "", - "freezeOnClick": true, - "items": [], - "show": true, - "showExtraInfo": false, - "showItems": false - }, - "type": "flant-statusmap-panel", - "useMax": true, - "usingPagination": false, - "xAxis": { - "show": true - }, - "yAxis": { - "maxWidth": -1, - "minWidth": -1, - "show": true - }, - "yAxisSort": "metrics", - "yLabel": { - "delimiter": "", - "labelTemplate": "", - "usingSplitLabel": false - } + "transformations": [ + { + "id": "renameByRegex", + "options": { + "regex": "StatefulSet", + "renamePattern": "sts" + } + }, + { + "id": "renameByRegex", + "options": { + "regex": "DaemonSet", + "renamePattern": "ds" + } + }, + { + "id": "renameByRegex", + "options": { + "regex": "Deployment", + "renamePattern": "deploy" + } + } + ], + "type": "state-timeline" }, { - "aliasColors": {}, - "bars": true, - "dashLength": 10, - "dashes": false, "datasource": { + "type": "prometheus", "uid": "$ds_prometheus" }, - "decimals": 0, "description": "The number of Pods controlled by the Controller", "fieldConfig": { "defaults": { - "links": [] + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 30, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineStyle": { + "fill": "solid" + }, + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "normal" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "decimals": 0, + "links": [], + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "short" }, - "overrides": [] + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Total" + }, + "properties": [ + { + "id": "custom.drawStyle", + "value": "line" + }, + { + "id": "custom.stacking", + "value": { + "group": false, + "mode": "none" + } + }, + { + "id": "custom.lineWidth", + "value": 0 + }, + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "color", + "value": { + "fixedColor": "yellow", + "mode": "fixed" + } + } + ] + } + ] }, - "fill": 1, - "fillGradient": 0, "gridPos": { "h": 4, "w": 12, "x": 0, "y": 16 }, - "hiddenSeries": false, "id": 794, - "legend": { - "alignAsTable": false, - "avg": false, - "current": false, - "hideEmpty": true, - "hideZero": true, - "max": false, - "min": false, - "rightSide": false, - "show": false, - "sort": "avg", - "sortDesc": true, - "total": false, - "values": false - }, - "lines": false, - "linewidth": 1, "links": [], - "nullPointMode": "null as zero", "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.5.13", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "Total", - "bars": false, - "stack": false + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": false + }, + "tooltip": { + "mode": "multi", + "sort": "desc" } - ], - "spaceLength": 10, - "stack": true, - "steppedLine": false, + }, + "pluginVersion": "8.5.13", "targets": [ { + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "expr": "sum by (controller) \n (\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller_type=~\"$controller_type\", controller=~\"$controller\"}\n * on (pod) group_left()\n sum by (pod) (max_over_time(kube_pod_info{node=~\"$node\", namespace=\"$namespace\"}[$__rate_interval]))\n )", "format": "time_series", "intervalFactor": 1, "legendFormat": "{{ controller }}", "refId": "A" - }, - { - "expr": "sum \n (\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller_type=~\"$controller_type\", controller=~\"$controller\"}\n * on (pod) group_left()\n sum by (pod) (max_over_time(kube_pod_info{node=~\"$node\", namespace=\"$namespace\"}[$__rate_interval]))\n )", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "Total", - "refId": "B" } ], - "thresholds": [], - "timeRegions": [], "title": "Pods count", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": true, - "values": [] - }, - "yaxes": [ + "transformations": [ { - "decimals": 0, - "format": "short", - "label": "", - "logBase": 1, - "min": "0", - "show": true - }, - { - "format": "short", - "logBase": 1, - "show": false + "id": "calculateField", + "options": {} } ], - "yaxis": { - "align": false - } + "type": "timeseries" }, { - "aliasColors": {}, - "bars": true, - "dashLength": 10, - "dashes": false, "datasource": { + "type": "prometheus", "uid": "$ds_prometheus" }, - "decimals": 0, "description": "The number of Pod restarts", "fieldConfig": { "defaults": { - "links": [] + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 30, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "normal" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "decimals": 0, + "links": [], + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "short" }, - "overrides": [] + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Total" + }, + "properties": [ + { + "id": "custom.drawStyle", + "value": "line" + }, + { + "id": "custom.lineWidth", + "value": 0 + }, + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "custom.stacking", + "value": { + "group": "A", + "mode": "none" + } + }, + { + "id": "color", + "value": { + "fixedColor": "yellow", + "mode": "fixed" + } + } + ] + } + ] }, - "fill": 1, - "fillGradient": 0, "gridPos": { "h": 4, "w": 12, "x": 12, "y": 16 }, - "hiddenSeries": false, "id": 661, - "legend": { - "alignAsTable": false, - "avg": false, - "current": false, - "hideEmpty": true, - "hideZero": true, - "max": false, - "min": false, - "rightSide": false, - "show": false, - "sort": "avg", - "sortDesc": true, - "total": false, - "values": false - }, - "lines": false, - "linewidth": 1, "links": [], - "nullPointMode": "null as zero", "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.5.13", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "Total", - "bars": false, - "stack": false + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": false + }, + "tooltip": { + "mode": "multi", + "sort": "desc" } - ], - "spaceLength": 10, - "stack": true, - "steppedLine": false, + }, + "pluginVersion": "8.5.13", "targets": [ { + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "expr": "sum by (controller) \n (\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller_type=~\"$controller_type\", controller=~\"$controller\"}\n * on (pod) group_left()\n sum by (pod) (increase(kube_pod_container_status_restarts_total{node=~\"$node\", namespace=\"$namespace\"}[$__rate_interval]))\n )", "format": "time_series", "intervalFactor": 1, "legendFormat": "{{ controller }}", "refId": "A" - }, - { - "expr": "sum \n (\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller_type=~\"$controller_type\", controller=~\"$controller\"}\n * on (pod) group_left()\n sum by (pod) (increase(kube_pod_container_status_restarts_total{node=~\"$node\", namespace=\"$namespace\"}[$__rate_interval]))\n )", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "Total", - "refId": "B" } ], - "thresholds": [], - "timeRegions": [], "title": "Pods restarts", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": true, - "values": [] - }, - "yaxes": [ + "transformations": [ { - "decimals": 0, - "format": "short", - "label": "", - "logBase": 1, - "min": "0", - "show": true - }, - { - "format": "short", - "logBase": 1, - "show": false + "id": "calculateField", + "options": {} } ], - "yaxis": { - "align": false - } + "type": "timeseries" }, { "collapsed": false, @@ -1213,182 +1352,300 @@ "type": "row" }, { - "aliasColors": {}, - "bars": true, - "dashLength": 10, - "dashes": false, "datasource": { + "type": "prometheus", "uid": "$ds_prometheus" }, "fieldConfig": { "defaults": { - "links": [] + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "cores", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 30, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 1, + "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 + } + ] + }, + "unit": "short" }, - "overrides": [] + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Total" + }, + "properties": [ + { + "id": "custom.drawStyle", + "value": "line" + }, + { + "id": "custom.stacking", + "value": { + "group": "A", + "mode": "none" + } + }, + { + "id": "custom.lineWidth", + "value": 0 + }, + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "color", + "value": { + "fixedColor": "yellow", + "mode": "fixed" + } + } + ] + } + ] }, - "fill": 1, - "fillGradient": 0, "gridPos": { "h": 9, "w": 12, "x": 0, "y": 21 }, - "hiddenSeries": false, "id": 6, - "legend": { - "alignAsTable": true, - "avg": true, - "current": false, - "max": false, - "min": false, - "rightSide": true, - "show": true, - "sort": "avg", - "sortDesc": true, - "total": false, - "values": true - }, - "lines": false, - "linewidth": 1, "links": [], - "nullPointMode": "null as zero", "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.5.13", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "Total", - "bars": false, - "stack": false + "legend": { + "calcs": [ + "mean" + ], + "displayMode": "table", + "placement": "right", + "showLegend": true, + "sortBy": "Mean", + "sortDesc": true + }, + "tooltip": { + "mode": "multi", + "sort": "desc" } - ], - "spaceLength": 10, - "stack": true, - "steppedLine": true, + }, + "pluginVersion": "8.5.13", "targets": [ { + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "expr": "sum by (controller) (kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller_type=~\"$controller_type\", controller=~\"$controller\"} * on (pod) group_left() sum by (pod) (rate(container_cpu_usage_seconds_total{node=~\"$node\", namespace=\"$namespace\", container!=\"POD\"}[$__rate_interval])))", "format": "time_series", "intervalFactor": 1, "legendFormat": "{{ controller }}", "refId": "A" - }, - { - "expr": "sum (sum by (controller) (kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller_type=~\"$controller_type\", controller=~\"$controller\"} * on (pod) group_left() sum by (pod) (rate(container_cpu_usage_seconds_total{node=~\"$node\", namespace=\"$namespace\", container!=\"POD\"}[$__rate_interval]))))", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "Total", - "refId": "B" } ], - "thresholds": [], - "timeRegions": [], "title": "Usage by controller", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": true, - "values": [] - }, - "yaxes": [ + "transformations": [ { - "format": "short", - "label": "cores", - "logBase": 1, - "min": "0", - "show": true - }, - { - "format": "short", - "logBase": 1, - "show": true + "id": "calculateField", + "options": {} } ], - "yaxis": { - "align": false - } + "type": "timeseries" }, { - "aliasColors": {}, - "bars": true, - "dashLength": 10, - "dashes": false, "datasource": { + "type": "prometheus", "uid": "$ds_prometheus" }, "description": "The total value may not equal the sum of system and user times because of the kernel's cgroup accounting peculiarities. Read more here: https://www.kernel.org/doc/Documentation/cgroup-v1/cpuacct.txt", "fieldConfig": { "defaults": { - "links": [] + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "cores", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 30, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 1, + "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 + } + ] + }, + "unit": "short" }, - "overrides": [] + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "System" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#e24d42", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "User" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#1f78c1", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Total" + }, + "properties": [ + { + "id": "custom.drawStyle", + "value": "line" + }, + { + "id": "custom.stacking", + "value": { + "group": "A", + "mode": "none" + } + }, + { + "id": "custom.lineWidth", + "value": 0 + }, + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "color", + "value": { + "fixedColor": "yellow", + "mode": "fixed" + } + } + ] + } + ] }, - "fill": 1, - "fillGradient": 0, "gridPos": { "h": 9, "w": 12, "x": 12, "y": 21 }, - "hiddenSeries": false, "id": 10, - "legend": { - "alignAsTable": true, - "avg": true, - "current": false, - "max": false, - "min": false, - "rightSide": true, - "show": true, - "sort": "avg", - "sortDesc": true, - "total": false, - "values": true - }, - "lines": false, - "linewidth": 1, "links": [], - "nullPointMode": "null as zero", "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.5.13", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "Total", - "bars": false, - "stack": false + "legend": { + "calcs": [ + "mean" + ], + "displayMode": "table", + "placement": "right", + "showLegend": true, + "sortBy": "Mean", + "sortDesc": true }, - { - "alias": "System", - "color": "#e24d42" - }, - { - "alias": "User", - "color": "#1f78c1" + "tooltip": { + "mode": "multi", + "sort": "desc" } - ], - "spaceLength": 10, - "stack": true, - "steppedLine": true, + }, + "pluginVersion": "8.5.13", "targets": [ { + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "expr": "sum (sum by (controller) (kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller_type=~\"$controller_type\", controller=~\"$controller\"} * on (pod) group_left() sum by (pod) (rate(container_cpu_system_seconds_total{node=~\"$node\", namespace=\"$namespace\", container!=\"POD\"}[$__rate_interval]))))", "format": "time_series", "intervalFactor": 1, @@ -1396,378 +1653,448 @@ "refId": "A" }, { + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "expr": "sum (sum by (controller) (kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller_type=~\"$controller_type\", controller=~\"$controller\"} * on (pod) group_left() sum by (pod) (rate(container_cpu_user_seconds_total{node=~\"$node\", namespace=\"$namespace\", container!=\"POD\"}[$__rate_interval]))))", "format": "time_series", "intervalFactor": 1, "legendFormat": "User", "refId": "B" - }, - { - "expr": "sum (sum by (controller) (kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller_type=~\"$controller_type\", controller=~\"$controller\"} * on (pod) group_left() sum by (pod) (rate(container_cpu_usage_seconds_total{node=~\"$node\", namespace=\"$namespace\", container!=\"POD\"}[$__rate_interval]))))", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "Total", - "refId": "D" } ], - "thresholds": [], - "timeRegions": [], "title": "Usage by state", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": true, - "values": [] - }, - "yaxes": [ + "transformations": [ { - "format": "short", - "label": "cores", - "logBase": 1, - "min": "0", - "show": true - }, - { - "format": "short", - "logBase": 1, - "show": true + "id": "calculateField", + "options": {} } ], - "yaxis": { - "align": false - } + "type": "timeseries" }, { - "aliasColors": {}, - "bars": true, - "dashLength": 10, - "dashes": false, "datasource": { + "type": "prometheus", "uid": "$ds_prometheus" }, "description": "This graph shows the requested CPU resources higher than the actual CPU consumption. In other words, it shows CPU resources that can be \"freed\" without affecting the service.", "fieldConfig": { "defaults": { - "links": [] + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "cores", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 30, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 1, + "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 + } + ] + }, + "unit": "short" }, - "overrides": [] + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Total" + }, + "properties": [ + { + "id": "custom.drawStyle", + "value": "line" + }, + { + "id": "custom.stacking", + "value": { + "group": "A", + "mode": "none" + } + }, + { + "id": "custom.lineWidth", + "value": 0 + }, + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "color", + "value": { + "fixedColor": "yellow", + "mode": "fixed" + } + } + ] + } + ] }, - "fill": 1, - "fillGradient": 0, "gridPos": { "h": 9, "w": 12, "x": 0, "y": 30 }, - "hiddenSeries": false, "id": 404, - "legend": { - "alignAsTable": true, - "avg": true, - "current": false, - "max": false, - "min": false, - "rightSide": true, - "show": true, - "sort": "avg", - "sortDesc": true, - "total": false, - "values": true - }, - "lines": false, - "linewidth": 1, "links": [], - "nullPointMode": "null as zero", "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.5.13", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "Total", - "bars": false, - "stack": false + "legend": { + "calcs": [ + "mean" + ], + "displayMode": "table", + "placement": "right", + "showLegend": true, + "sortBy": "Mean", + "sortDesc": true + }, + "tooltip": { + "mode": "multi", + "sort": "desc" } - ], - "spaceLength": 10, - "stack": true, - "steppedLine": true, + }, + "pluginVersion": "8.5.13", "targets": [ { + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "expr": "sum by (controller)\n (\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller_type=~\"$controller_type\", controller=~\"$controller\"}\n * on (namespace, pod) group_left()\n sum by (namespace, pod)\n (\n (\n sum by(namespace, pod, container) (avg_over_time(kube_pod_container_resource_requests{resource=\"cpu\",unit=\"core\",node=~\"$node\", namespace=\"$namespace\"}[$__rate_interval]))\n -\n sum by(namespace, pod, container) (rate(container_cpu_usage_seconds_total{node=~\"$node\", container!=\"POD\", namespace=\"$namespace\"}[$__rate_interval]))\n ) > 0\n )\n )", "format": "time_series", "intervalFactor": 1, "legendFormat": "{{ controller }}", "refId": "A" - }, - { - "expr": "sum\n (\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller_type=~\"$controller_type\", controller=~\"$controller\"}\n * on (namespace, pod) group_left()\n sum by (namespace, pod)\n (\n (\n sum by(namespace, pod, container) (avg_over_time(kube_pod_container_resource_requests{resource=\"cpu\",unit=\"core\",node=~\"$node\", namespace=\"$namespace\"}[$__rate_interval]))\n -\n sum by(namespace, pod, container) (rate(container_cpu_usage_seconds_total{node=~\"$node\", container!=\"POD\", namespace=\"$namespace\"}[$__rate_interval]))\n ) > 0\n )\n )", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "Total", - "refId": "B" } ], - "thresholds": [], - "timeRegions": [], "title": "Over-requested by controller", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": true, - "values": [] - }, - "yaxes": [ + "transformations": [ { - "$$hashKey": "object:149", - "format": "short", - "label": "cores", - "logBase": 1, - "min": "0", - "show": true - }, - { - "$$hashKey": "object:150", - "format": "short", - "logBase": 1, - "show": true + "id": "calculateField", + "options": {} } ], - "yaxis": { - "align": false - } + "type": "timeseries" }, { - "aliasColors": {}, - "bars": true, - "dashLength": 10, - "dashes": false, "datasource": { + "type": "prometheus", "uid": "$ds_prometheus" }, "description": "This graph shows the requested CPU resources lower than the actual CPU consumption. In other words, it shows CPU resources that need to be \"reserved\" for the service to run smoothly.", "fieldConfig": { "defaults": { - "links": [] + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "cores", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 30, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 1, + "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 + } + ] + }, + "unit": "short" }, - "overrides": [] + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Total" + }, + "properties": [ + { + "id": "custom.drawStyle", + "value": "line" + }, + { + "id": "custom.stacking", + "value": { + "group": "A", + "mode": "none" + } + }, + { + "id": "custom.lineWidth", + "value": 0 + }, + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "color", + "value": { + "fixedColor": "yellow", + "mode": "fixed" + } + } + ] + } + ] }, - "fill": 1, - "fillGradient": 0, "gridPos": { "h": 9, "w": 12, "x": 12, "y": 30 }, - "hiddenSeries": false, "id": 538, - "legend": { - "alignAsTable": true, - "avg": true, - "current": false, - "max": false, - "min": false, - "rightSide": true, - "show": true, - "sort": "avg", - "sortDesc": true, - "total": false, - "values": true - }, - "lines": false, - "linewidth": 1, "links": [], - "nullPointMode": "null as zero", "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.5.13", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "Total", - "bars": false, - "stack": false + "legend": { + "calcs": [ + "mean" + ], + "displayMode": "table", + "placement": "right", + "showLegend": true, + "sortBy": "Mean", + "sortDesc": true + }, + "tooltip": { + "mode": "multi", + "sort": "desc" } - ], - "spaceLength": 10, - "stack": true, - "steppedLine": true, + }, + "pluginVersion": "8.5.13", "targets": [ { + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "expr": "sum by (controller)\n (\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller_type=~\"$controller_type\", controller=~\"$controller\"}\n * on (namespace, pod) group_left()\n sum by (namespace, pod)\n (\n (\n (\n sum by(namespace, pod, container) (rate(container_cpu_usage_seconds_total{node=~\"$node\", namespace=\"$namespace\"}[$__rate_interval]))\n -\n sum by(namespace, pod, container) (avg_over_time(kube_pod_container_resource_requests{resource=\"cpu\",unit=\"core\",node=~\"$node\", container!=\"POD\", namespace=\"$namespace\"}[$__rate_interval]))\n ) or sum by(namespace, pod, container) (rate(container_cpu_usage_seconds_total{node=~\"$node\", container!=\"POD\", namespace=\"$namespace\"}[$__rate_interval]))\n ) > 0\n )\n )", "format": "time_series", "instant": false, "intervalFactor": 1, "legendFormat": "{{ controller }}", "refId": "A" - }, - { - "expr": "sum\n (\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller_type=~\"$controller_type\", controller=~\"$controller\"}\n * on (namespace, pod) group_left()\n sum by (namespace, pod)\n (\n (\n (\n sum by(namespace, pod, container) (rate(container_cpu_usage_seconds_total{node=~\"$node\", namespace=\"$namespace\"}[$__rate_interval]))\n -\n sum by(namespace, pod, container) (avg_over_time(kube_pod_container_resource_requests{resource=\"cpu\",unit=\"core\",node=~\"$node\", container!=\"POD\", namespace=\"$namespace\"}[$__rate_interval]))\n ) or sum by(namespace, pod, container) (rate(container_cpu_usage_seconds_total{node=~\"$node\", container!=\"POD\", namespace=\"$namespace\"}[$__rate_interval]))\n ) > 0\n )\n )", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "Total", - "refId": "B" } ], - "thresholds": [], - "timeRegions": [], "title": "Under-requested by controller", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": true, - "values": [] - }, - "yaxes": [ + "transformations": [ { - "format": "short", - "label": "cores", - "logBase": 1, - "min": "0", - "show": true - }, - { - "format": "short", - "logBase": 1, - "show": true + "id": "calculateField", + "options": {} } ], - "yaxis": { - "align": false - } + "type": "timeseries" }, { - "aliasColors": {}, - "bars": true, - "dashLength": 10, - "dashes": false, "datasource": { + "type": "prometheus", "uid": "$ds_prometheus" }, "description": "The absence of data on the graph means that container resources are not set", "fieldConfig": { "defaults": { - "links": [] + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "cores", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 30, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 1, + "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 + } + ] + }, + "unit": "short" }, - "overrides": [] + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Total" + }, + "properties": [ + { + "id": "custom.drawStyle", + "value": "line" + }, + { + "id": "custom.stacking", + "value": { + "group": false, + "mode": "none" + } + }, + { + "id": "custom.lineWidth", + "value": 0 + }, + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "color", + "value": { + "fixedColor": "yellow", + "mode": "fixed" + } + } + ] + } + ] }, - "fill": 1, - "fillGradient": 0, "gridPos": { "h": 7, "w": 24, "x": 0, "y": 39 }, - "hiddenSeries": false, "id": 262, - "legend": { - "alignAsTable": true, - "avg": true, - "current": false, - "max": true, - "min": false, - "rightSide": true, - "show": true, - "sort": "avg", - "sortDesc": true, - "total": false, - "values": true - }, - "lines": false, - "linewidth": 1, "links": [], - "nullPointMode": "null as zero", "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.5.13", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "Total", - "bars": false, - "stack": false + "legend": { + "calcs": [ + "mean", + "max" + ], + "displayMode": "table", + "placement": "right", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "desc" } - ], - "spaceLength": 10, - "stack": true, - "steppedLine": false, + }, + "pluginVersion": "8.5.13", "targets": [ { + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "expr": "sum by (controller) (kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller_type=~\"$controller_type\", controller=~\"$controller\"} * on (pod) group_left() ((sum by (pod) (rate(container_cpu_cfs_throttled_periods_total{node=~\"$node\", namespace=\"$namespace\"}[$__rate_interval])) / sum by (pod) (rate(container_cpu_cfs_periods_total{node=~\"$node\", namespace=\"$namespace\"}[$__rate_interval]))) * sum by (pod) (kube_pod_container_resource_limits{resource=\"cpu\",unit=\"core\",node=~\"$node\", namespace=\"$namespace\"})))", "format": "time_series", "intervalFactor": 1, "legendFormat": "{{ controller }}", "refId": "A" - }, - { - "expr": "sum (sum by (controller) (kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller_type=~\"$controller_type\", controller=~\"$controller\"} * on (pod) group_left() ((sum by (pod) (rate(container_cpu_cfs_throttled_periods_total{node=~\"$node\", namespace=\"$namespace\"}[$__rate_interval])) / sum by (pod) (rate(container_cpu_cfs_periods_total{node=~\"$node\", namespace=\"$namespace\"}[$__rate_interval]))) * sum by (pod) (kube_pod_container_resource_limits{resource=\"cpu\",unit=\"core\",node=~\"$node\", namespace=\"$namespace\"}))))", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "Total", - "refId": "B" } ], - "thresholds": [], - "timeRegions": [], "title": "Throttling", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": true, - "values": [] - }, - "yaxes": [ + "transformations": [ { - "format": "short", - "label": "cores", - "logBase": 1, - "min": "0", - "show": true - }, - { - "format": "short", - "logBase": 1, - "show": false + "id": "calculateField", + "options": {} } ], - "yaxis": { - "align": false - } + "type": "timeseries" }, { "collapsed": true, @@ -1784,15 +2111,127 @@ "id": 343, "panels": [ { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, "datasource": { "uid": "$ds_prometheus" }, "description": "", - "fill": 0, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "cores", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 2, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "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": "short" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Usage" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#629e51", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Requests" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#f4d598", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Limits" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#c15c17", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "VPA Target" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#447ebc", + "mode": "fixed" + } + } + ] + } + ] + }, "gridPos": { "h": 9, "w": 6, @@ -1800,48 +2239,22 @@ "y": 47 }, "id": 341, - "legend": { - "alignAsTable": false, - "avg": false, - "current": false, - "max": false, - "min": false, - "rightSide": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 2, "links": [], - "nullPointMode": "null", - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } + }, + "pluginVersion": "8.5.13", "repeat": "controller", "repeatDirection": "h", - "seriesOverrides": [ - { - "alias": "Usage", - "color": "#629e51" - }, - { - "alias": "Requests", - "color": "#f4d598" - }, - { - "alias": "Limits", - "color": "#c15c17" - }, - { - "alias": "VPA Target", - "color": "#447ebc" - } - ], - "spaceLength": 10, - "stack": false, - "steppedLine": true, "targets": [ { "expr": "sum by (controller) (kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\"} * on (pod) group_left() sum by (pod) (rate(container_cpu_usage_seconds_total{node=~\"$node\", namespace=\"$namespace\", container!=\"POD\"}[$__rate_interval])))", @@ -1872,37 +2285,8 @@ "refId": "F" } ], - "thresholds": [], - "timeRegions": [], "title": "$controller", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "label": "cores", - "logBase": 1, - "min": "0", - "show": true - }, - { - "format": "short", - "logBase": 1, - "show": true - } - ], - "yaxis": { - "align": false - } + "type": "timeseries" } ], "title": "Controllers CPU", @@ -1923,15 +2307,128 @@ "id": 12, "panels": [ { - "aliasColors": {}, - "bars": true, - "dashLength": 10, - "dashes": false, "datasource": { + "type": "prometheus", "uid": "$ds_prometheus" }, "description": "The total value may not equal the sum of system and user times because of the kernel's cgroup accounting peculiarities. Read more here: https://www.kernel.org/doc/Documentation/cgroup-v1/cpuacct.txt", - "fill": 1, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "cores", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 30, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "normal" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "short" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Total" + }, + "properties": [ + { + "id": "custom.drawStyle", + "value": "line" + }, + { + "id": "custom.stacking", + "value": { + "group": false, + "mode": "none" + } + }, + { + "id": "custom.lineWidth", + "value": 0 + }, + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "color", + "value": { + "fixedColor": "green", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "System" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#e24d42", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "User" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#1f78c1", + "mode": "fixed" + } + } + ] + } + ] + }, "gridPos": { "h": 9, "w": 6, @@ -1939,47 +2436,28 @@ "y": 48 }, "id": 14, - "legend": { - "alignAsTable": false, - "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", - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "desc" + } + }, + "pluginVersion": "8.5.13", "repeat": "controller", "repeatDirection": "h", - "seriesOverrides": [ - { - "alias": "Total", - "bars": false, - "stack": false - }, - { - "alias": "System", - "color": "#e24d42" - }, - { - "alias": "User", - "color": "#1f78c1" - } - ], - "spaceLength": 10, - "stack": true, - "steppedLine": true, "targets": [ { + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "expr": "sum by (controller) (kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\"} * on (pod) group_left() sum by (pod) (rate(container_cpu_system_seconds_total{node=~\"$node\", namespace=\"$namespace\", container!=\"POD\"}[$__rate_interval])))", "format": "time_series", "interval": "", @@ -1988,51 +2466,25 @@ "refId": "A" }, { + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "expr": "sum by (controller) (kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\"} * on (pod) group_left() sum by (pod) (rate(container_cpu_user_seconds_total{node=~\"$node\", namespace=\"$namespace\", container!=\"POD\"}[$__rate_interval])))", "format": "time_series", "intervalFactor": 1, "legendFormat": "User", "refId": "B" - }, - { - "expr": "sum by (controller) (kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\"} * on (pod) group_left() sum by (pod) (rate(container_cpu_usage_seconds_total{node=~\"$node\", namespace=\"$namespace\", container!=\"POD\"}[$__rate_interval])))", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "Total", - "refId": "D" } ], - "thresholds": [], - "timeRegions": [], "title": "$controller", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": true, - "values": [] - }, - "yaxes": [ + "transformations": [ { - "format": "short", - "label": "cores", - "logBase": 1, - "min": "0", - "show": true - }, - { - "format": "short", - "logBase": 1, - "show": true + "id": "calculateField", + "options": {} } ], - "yaxis": { - "align": false - } + "type": "timeseries" } ], "title": "Controllers CPU by state", @@ -2056,59 +2508,114 @@ "type": "row" }, { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, "datasource": { "type": "prometheus", "uid": "$ds_prometheus" }, - "fill": 1, - "fillGradient": 0, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 30, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "normal" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "bytes" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Total" + }, + "properties": [ + { + "id": "custom.stacking", + "value": { + "group": "A", + "mode": "none" + } + }, + { + "id": "custom.lineWidth", + "value": 0 + }, + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "color", + "value": { + "fixedColor": "yellow", + "mode": "fixed" + } + } + ] + } + ] + }, "gridPos": { "h": 9, "w": 12, "x": 0, "y": 49 }, - "hiddenSeries": false, "id": 40, - "legend": { - "alignAsTable": false, - "avg": false, - "current": false, - "max": false, - "min": false, - "rightSide": false, - "show": false, - "sort": "avg", - "sortDesc": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, "links": [], - "nullPointMode": "null as zero", "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.5.13", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "Total", - "lines": false, - "stack": false + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": false + }, + "tooltip": { + "mode": "multi", + "sort": "desc" } - ], - "spaceLength": 10, - "stack": true, - "steppedLine": false, + }, + "pluginVersion": "8.5.13", "targets": [ { "datasource": { @@ -2120,118 +2627,176 @@ "intervalFactor": 1, "legendFormat": "{{ controller }}", "refId": "A" - }, - { - "datasource": { - "type": "prometheus", - "uid": "$ds_prometheus" - }, - "expr": "sum\n (\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller_type=~\"$controller_type\", controller=~\"$controller\"}\n * on (pod) group_left()\n sum by (pod) (avg_over_time(container_memory_working_set_bytes:without_kmem{node=~\"$node\", namespace=\"$namespace\", container!=\"POD\"}[$__rate_interval]))\n )", - "format": "time_series", - "interval": "", - "intervalFactor": 1, - "legendFormat": "Total", - "refId": "B" } ], - "thresholds": [], - "timeRegions": [], "title": "Usage by controller", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": true, - "values": [] - }, - "yaxes": [ + "transformations": [ { - "$$hashKey": "object:205", - "format": "bytes", - "logBase": 1, - "min": "0", - "show": true - }, - { - "$$hashKey": "object:206", - "format": "short", - "logBase": 1, - "show": false + "id": "calculateField", + "options": {} } ], - "yaxis": { - "align": false - } + "type": "timeseries" }, { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, "datasource": { "uid": "$ds_prometheus" }, "description": "The Working set bytes metric is the actual memory used by the container, as it includes active file memory. When its value approaches the limit, the container can be killed by the OOM killer. This value can be higher than the sum RSS and Cache since not all active file memory is Cache.", - "fill": 1, - "fillGradient": 0, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "normal" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "bytes" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Working set bytes without kmem" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "rgb(0, 0, 0)", + "mode": "fixed" + } + }, + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "custom.lineWidth", + "value": 2 + }, + { + "id": "custom.stacking", + "value": { + "group": false, + "mode": "none" + } + }, + { + "id": "custom.lineStyle", + "value": { + "dash": [ + 10, + 10 + ], + "fill": "dash" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Kmem" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "rgb(255, 0, 0)", + "mode": "fixed" + } + }, + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "custom.lineWidth", + "value": 2 + }, + { + "id": "custom.stacking", + "value": { + "group": false, + "mode": "normal" + } + }, + { + "id": "custom.lineStyle", + "value": { + "dash": [ + 10, + 10 + ], + "fill": "dash" + } + } + ] + } + ] + }, "gridPos": { "h": 9, "w": 12, "x": 12, "y": 49 }, - "hiddenSeries": false, "id": 41, - "legend": { - "alignAsTable": false, - "avg": false, - "current": false, - "max": false, - "min": false, - "rightSide": false, - "show": false, - "sort": "avg", - "sortDesc": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, "links": [], - "nullPointMode": "null as zero", "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.5.13", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "Working set bytes without kmem", - "color": "rgb(0, 0, 0)", - "dashes": true, - "fill": 0, - "linewidth": 2, - "stack": false + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": false }, - { - "alias": "Kmem", - "color": "rgb(255, 0, 0)", - "dashes": true, - "fill": 0, - "linewidth": 2, - "stack": false + "tooltip": { + "mode": "multi", + "sort": "desc" } - ], - "spaceLength": 10, - "stack": true, - "steppedLine": false, + }, + "pluginVersion": "8.5.13", "targets": [ { "expr": "sum\n (\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller_type=~\"$controller_type\", controller=~\"$controller\"}\n * on (pod) group_left()\n sum by (pod) (avg_over_time(container_memory_rss{node=~\"$node\", namespace=\"$namespace\", container!=\"POD\"}[$__rate_interval]))\n )", @@ -2271,92 +2836,119 @@ "refId": "E" } ], - "thresholds": [], - "timeRegions": [], "title": "Usage by state", - "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": false - } - ], - "yaxis": { - "align": false - } + "type": "timeseries" }, { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, "datasource": { "type": "prometheus", "uid": "$ds_prometheus" }, "description": "This graph shows the requested Memory resources higher than the actual Memory consumption. In other words, it shows Memory resources that can be \"freed\" without affecting the service.", - "fill": 1, - "fillGradient": 0, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 30, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "normal" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "bytes" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Total" + }, + "properties": [ + { + "id": "custom.lineWidth", + "value": 0 + }, + { + "id": "custom.stacking", + "value": { + "group": false, + "mode": "none" + } + }, + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "color", + "value": { + "fixedColor": "yellow", + "mode": "fixed" + } + } + ] + } + ] + }, "gridPos": { "h": 8, "w": 12, "x": 0, "y": 58 }, - "hiddenSeries": false, "id": 489, - "legend": { - "alignAsTable": false, - "avg": false, - "current": false, - "max": false, - "min": false, - "rightSide": false, - "show": false, - "sort": "avg", - "sortDesc": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, "links": [], - "nullPointMode": "null as zero", "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.5.13", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "Total", - "lines": false, - "stack": false + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": false + }, + "tooltip": { + "mode": "multi", + "sort": "desc" } - ], - "spaceLength": 10, - "stack": true, - "steppedLine": false, + }, + "pluginVersion": "8.5.13", "targets": [ { "datasource": { @@ -2368,166 +2960,152 @@ "intervalFactor": 1, "legendFormat": "{{ controller }}", "refId": "A" - }, - { - "datasource": { - "type": "prometheus", - "uid": "$ds_prometheus" - }, - "expr": "sum\n (\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller_type=~\"$controller_type\", controller=~\"$controller\"}\n * on (namespace, pod) group_left()\n sum by (namespace, pod)\n (\n (\n sum by(namespace, pod, container) (avg_over_time(kube_pod_container_resource_requests{resource=\"memory\",unit=\"byte\",node=~\"$node\", namespace=\"$namespace\"}[$__rate_interval]))\n -\n sum by(namespace, pod, container) (avg_over_time(container_memory_working_set_bytes:without_kmem{node=~\"$node\", container!=\"POD\", namespace=\"$namespace\"}[$__rate_interval]))\n ) > 0\n )\n )", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "Total", - "refId": "B" } ], - "thresholds": [], - "timeRegions": [], "title": "Over-requested by controller", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": true, - "values": [] - }, - "yaxes": [ + "transformations": [ { - "$$hashKey": "object:95", - "format": "bytes", - "logBase": 1, - "min": "0", - "show": true - }, - { - "$$hashKey": "object:96", - "format": "short", - "logBase": 1, - "show": false + "id": "calculateField", + "options": {} } ], - "yaxis": { - "align": false - } + "type": "timeseries" }, { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, "datasource": { + "type": "prometheus", "uid": "$ds_prometheus" }, "description": "This graph shows the requested Memory resources higher than the actual Memory consumption. In other words, it shows Memory resources that need to be \"reserved\" for the service to run smoothly.", - "fill": 1, - "fillGradient": 0, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 30, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "normal" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "bytes" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Total" + }, + "properties": [ + { + "id": "custom.lineWidth", + "value": 0 + }, + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "custom.stacking", + "value": { + "group": "A", + "mode": "none" + } + }, + { + "id": "color", + "value": { + "fixedColor": "yellow", + "mode": "fixed" + } + } + ] + } + ] + }, "gridPos": { "h": 8, "w": 12, "x": 12, "y": 58 }, - "hiddenSeries": false, "id": 575, - "legend": { - "alignAsTable": false, - "avg": false, - "current": false, - "max": false, - "min": false, - "rightSide": false, - "show": false, - "sort": "avg", - "sortDesc": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, "links": [], - "nullPointMode": "null as zero", "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.5.13", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "Total", - "lines": false, - "stack": false + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": false + }, + "tooltip": { + "mode": "multi", + "sort": "desc" } - ], - "spaceLength": 10, - "stack": true, - "steppedLine": false, + }, + "pluginVersion": "8.5.13", "targets": [ { - "expr": "sum by (controller)\n (\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller_type=~\"$controller_type\", controller=~\"$controller\"}\n * on (namespace, pod) group_left()\n sum by (namespace, pod)\n (\n (\n (\n sum by(namespace, pod, container) (avg_over_time(container_memory_working_set_bytes:without_kmem{node=~\"$node\", namespace=\"$namespace\"}[$__rate_interval]))\n -\n sum by(namespace, pod, container) (avg_over_time(kube_pod_container_resource_requests{resource=\"memory\",unit=\"byte\",node=~\"$node\", container!=\"POD\", namespace=\"$namespace\"}[$__rate_interval]))\n ) or sum by(namespace, pod, container) (avg_over_time(container_memory_working_set_bytes:without_kmem{node=~\"$node\", container!=\"POD\", namespace=\"$namespace\"}[$__rate_interval]))\n ) > 0\n )\n )", + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, + "expr": "sum by (controller)\n (\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller_type=~\"$controller_type\", controller=~\"$controller\"}\n * on (namespace, pod) group_left()\n sum by (namespace, pod)\n (\n (\n (\n sum by(namespace, pod, container) (avg_over_time(container_memory_working_set_bytes:without_kmem{node=~\"$node\", namespace=\"$namespace\"}[$__rate_interval]))\n -\n sum by(namespace, pod, container) (avg_over_time(kube_pod_container_resource_requests{resource=\"memory\",unit=\"byte\",node=~\"$node\", container!=\"POD\", namespace=\"$namespace\"}[$__rate_interval]))\n )\n or\n (\n sum by(namespace, pod, container) (avg_over_time(container_memory_working_set_bytes:without_kmem{node=~\"$node\", container!=\"POD\", namespace=\"$namespace\"}[$__rate_interval]))\n +\n sum by(namespace, pod, container) (avg_over_time(container_memory:kmem{node=~\"$node\", container!=\"POD\", namespace=\"$namespace\"}[$__rate_interval]))\n )\n ) > 0\n )\n )", "format": "time_series", "intervalFactor": 1, "legendFormat": "{{ controller }}", "refId": "A" - }, - { - "expr": "sum\n (\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller_type=~\"$controller_type\", controller=~\"$controller\"}\n * on (namespace, pod) group_left()\n sum by (namespace, pod)\n (\n (\n (\n sum by(namespace, pod, container) (avg_over_time(container_memory_working_set_bytes:without_kmem{node=~\"$node\", namespace=\"$namespace\"}[$__rate_interval]))\n -\n sum by(namespace, pod, container) (avg_over_time(kube_pod_container_resource_requests{resource=\"memory\",unit=\"byte\",node=~\"$node\", container!=\"POD\", namespace=\"$namespace\"}[$__rate_interval]))\n ) or sum by(namespace, pod, container) (avg_over_time(container_memory_working_set_bytes:without_kmem{node=~\"$node\", container!=\"POD\", namespace=\"$namespace\"}[$__rate_interval]))\n ) > 0\n )\n )", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "Total", - "refId": "B" - }, - { - "expr": "sum by (controller)\n (\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller_type=~\"$controller_type\", controller=~\"$controller\"}\n * on (namespace, pod) group_left()\n sum by (namespace, pod)\n (\n (\n (\n sum by(namespace, pod, container) (avg_over_time(container_memory_working_set_bytes:without_kmem{node=~\"$node\", namespace=\"$namespace\"}[$__rate_interval]))\n -\n sum by(namespace, pod, container) (avg_over_time(kube_pod_container_resource_requests{resource=\"memory\",unit=\"byte\",node=~\"$node\", container!=\"POD\", namespace=\"$namespace\"}[$__rate_interval]))\n ) or sum by(namespace, pod, container) (avg_over_time(container_memory:kmem{node=~\"$node\", container!=\"POD\", namespace=\"$namespace\"}[$__rate_interval]))\n ) > 0\n )\n )", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "{{ controller }}", - "refId": "C" - }, - { - "expr": "sum\n (\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller_type=~\"$controller_type\", controller=~\"$controller\"}\n * on (namespace, pod) group_left()\n sum by (namespace, pod)\n (\n (\n (\n sum by(namespace, pod, container) (avg_over_time(container_memory_working_set_bytes:without_kmem{node=~\"$node\", namespace=\"$namespace\"}[$__rate_interval]))\n -\n sum by(namespace, pod, container) (avg_over_time(kube_pod_container_resource_requests{resource=\"memory\",unit=\"byte\",node=~\"$node\", container!=\"POD\", namespace=\"$namespace\"}[$__rate_interval]))\n ) or sum by(namespace, pod, container) (avg_over_time(container_memory:kmem{node=~\"$node\", container!=\"POD\", namespace=\"$namespace\"}[$__rate_interval]))\n ) > 0\n )\n )", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "Total", - "refId": "D" } ], - "thresholds": [], - "timeRegions": [], "title": "Under-requested by controller", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": true, - "values": [] - }, - "yaxes": [ + "transformations": [ { - "format": "bytes", - "logBase": 1, - "min": "0", - "show": true - }, - { - "format": "short", - "logBase": 1, - "show": false + "id": "calculateField", + "options": {} } ], - "yaxis": { - "align": false - } + "type": "timeseries" }, { "collapsed": true, @@ -2544,15 +3122,267 @@ "id": 43, "panels": [ { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, "datasource": { "uid": "$ds_prometheus" }, "description": "The Working set bytes metric is the actual memory used by the container, as it includes active file memory. When its value approaches the limit, the container can be killed by the OOM killer. This value can be higher than the sum RSS and Cache since not all active file memory is Cache.", - "fill": 1, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 30, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "normal" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "bytes" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Working set bytes without kmem" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "rgb(0, 0, 0)", + "mode": "fixed" + } + }, + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "custom.lineWidth", + "value": 2 + }, + { + "id": "custom.stacking", + "value": { + "group": false, + "mode": "none" + } + }, + { + "id": "custom.lineStyle", + "value": { + "dash": [ + 10, + 10 + ], + "fill": "dash" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Kmem" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "rgb(255, 0, 0)", + "mode": "fixed" + } + }, + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "custom.lineWidth", + "value": 2 + }, + { + "id": "custom.stacking", + "value": { + "group": false, + "mode": "normal" + } + }, + { + "id": "custom.lineStyle", + "value": { + "dash": [ + 10, + 10 + ], + "fill": "dash" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "VPA Target" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#447ebc", + "mode": "fixed" + } + }, + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "custom.lineWidth", + "value": 2 + }, + { + "id": "custom.stacking", + "value": { + "group": false, + "mode": "none" + } + }, + { + "id": "custom.lineStyle", + "value": { + "dash": [ + 10, + 10 + ], + "fill": "dash" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Requests" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#f4d598", + "mode": "fixed" + } + }, + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "custom.lineWidth", + "value": 2 + }, + { + "id": "custom.stacking", + "value": { + "group": false, + "mode": "none" + } + }, + { + "id": "custom.lineStyle", + "value": { + "dash": [ + 10, + 10 + ], + "fill": "dash" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Limits" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#c15c17", + "mode": "fixed" + } + }, + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "custom.lineWidth", + "value": 2 + }, + { + "id": "custom.stacking", + "value": { + "group": false, + "mode": "none" + } + }, + { + "id": "custom.lineStyle", + "value": { + "dash": [ + 10, + 10 + ], + "fill": "dash" + } + } + ] + } + ] + }, "gridPos": { "h": 9, "w": 6, @@ -2560,75 +3390,22 @@ "y": 67 }, "id": 44, - "legend": { - "alignAsTable": false, - "avg": false, - "current": false, - "max": false, - "min": false, - "rightSide": false, - "show": false, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, "links": [], - "nullPointMode": "null as zero", - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": false + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } + }, + "pluginVersion": "8.5.13", "repeat": "controller", "repeatDirection": "h", - "seriesOverrides": [ - { - "alias": "Working set bytes without kmem", - "color": "rgb(0, 0, 0)", - "dashes": true, - "fill": 0, - "linewidth": 2, - "stack": false - }, - { - "alias": "Kmem", - "color": "rgb(255, 0, 0)", - "dashes": true, - "fill": 0, - "linewidth": 2, - "stack": false - }, - { - "alias": "VPA Target", - "color": "#447ebc", - "dashes": true, - "fill": 0, - "lines": false, - "linewidth": 2, - "stack": false - }, - { - "alias": "Requests", - "color": "#f4d598", - "dashes": true, - "fill": 0, - "lines": false, - "linewidth": 2, - "stack": false - }, - { - "alias": "Limits", - "color": "#c15c17", - "dashes": true, - "fill": 0, - "lines": false, - "linewidth": 2, - "stack": false - } - ], - "spaceLength": 10, - "stack": true, - "steppedLine": false, "targets": [ { "expr": "sum \n (\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=\"$controller\"}\n * on (pod) group_left() \n sum by (pod) (avg_over_time(container_memory_rss{node=~\"$node\", namespace=\"$namespace\", container!=\"POD\"}[$__rate_interval]))\n )", @@ -2689,36 +3466,8 @@ "refId": "H" } ], - "thresholds": [], - "timeRegions": [], "title": "$controller", - "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": false - } - ], - "yaxis": { - "align": false - } + "type": "timeseries" } ], "title": "Controllers Memory", @@ -2742,206 +3491,288 @@ "type": "row" }, { - "aliasColors": {}, - "bars": true, - "dashLength": 10, - "dashes": false, "datasource": { + "type": "prometheus", "uid": "$ds_prometheus" }, "description": "This graph shows Network Receive (except for the hostNetwork Pods)", - "fill": 1, - "fillGradient": 0, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 30, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "normal" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "Bps" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Total" + }, + "properties": [ + { + "id": "custom.lineWidth", + "value": 0 + }, + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "custom.stacking", + "value": { + "group": "A", + "mode": "none" + } + }, + { + "id": "color", + "value": { + "fixedColor": "yellow", + "mode": "fixed" + } + } + ] + } + ] + }, "gridPos": { "h": 8, "w": 12, "x": 0, "y": 68 }, - "hiddenSeries": false, "id": 79, - "legend": { - "alignAsTable": true, - "avg": true, - "current": false, - "max": false, - "min": false, - "rightSide": true, - "show": true, - "sort": "avg", - "sortDesc": true, - "total": false, - "values": true - }, - "lines": false, - "linewidth": 2, "links": [], - "nullPointMode": "null as zero", "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.5.13", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "Total", - "bars": false, - "stack": false + "legend": { + "calcs": [ + "mean" + ], + "displayMode": "table", + "placement": "right", + "showLegend": true, + "sortBy": "Mean", + "sortDesc": true + }, + "tooltip": { + "mode": "multi", + "sort": "desc" } - ], - "spaceLength": 10, - "stack": true, - "steppedLine": false, + }, + "pluginVersion": "8.5.13", "targets": [ { - "expr": "# Data rate for the controller is a sum of data rates of its Pods.\nsum by (controller) (\n # Select Pods by controller_type and controller.\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller_type=~\"$controller_type\", controller=~\"$controller\"} \n * on (pod)\n group_left() # Preserve controller label from the 'kube_controller_pod' metric.\n (\n # Select Pods with hostNetwork: false.\n kube_pod_info{host_network=\"false\",namespace=\"$namespace\"}\n * on(pod)\n # Sum data rate for all interfaces in the Pod. \n sum by (pod) (rate(container_network_receive_bytes_total{node=~\"$node\", namespace=\"$namespace\"}[$__rate_interval]))\n )\n)", + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, + "editorMode": "code", + "expr": "# Data rate for the controller is a sum of data rates of its Pods.\nsum by (controller) (\n # Select Pods by controller_type and controller.\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller_type=~\"$controller_type\", controller=~\"$controller\"}\n * on (pod)\n group_left() # Preserve controller label from the 'kube_controller_pod' metric.\n (\n # Select Pods with hostNetwork: false.\n max(kube_pod_info{host_network=\"false\",namespace=\"$namespace\"}) by(pod)\n * on(pod)\n # Sum data rate for all interfaces in the Pod. \n sum by (pod) (rate(container_network_receive_bytes_total{node=~\"$node\", namespace=\"$namespace\"}[$__rate_interval]))\n )\n)", "format": "time_series", "intervalFactor": 1, "legendFormat": "{{ controller }}", + "range": true, "refId": "A" - }, - { - "expr": "# Total is a sum of data rates of all Pods in selected containers.\nsum (\n # Select Pods by controller_type and controller.\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller_type=~\"$controller_type\", controller=~\"$controller\"} \n * on (pod)\n # Select Pods with hostNetwork: false.\n kube_pod_info{host_network=\"false\",namespace=\"$namespace\"}\n * on(pod)\n # Sum data rate for all interfaces in the Pod. \n sum by (pod) (rate(container_network_receive_bytes_total{node=~\"$node\", namespace=\"$namespace\"}[$__rate_interval]))\n)", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "Total", - "refId": "B" } ], - "thresholds": [], - "timeRegions": [], "title": "Receive", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": true, - "values": [] - }, - "yaxes": [ + "transformations": [ { - "format": "Bps", - "logBase": 1, - "min": "0", - "show": true - }, - { - "format": "short", - "logBase": 1, - "show": true + "id": "calculateField", + "options": {} } ], - "yaxis": { - "align": false - } + "type": "timeseries" }, { - "aliasColors": {}, - "bars": true, - "dashLength": 10, - "dashes": false, "datasource": { + "type": "prometheus", "uid": "$ds_prometheus" }, "description": "This graph shows Network Transmit (except for the hostNetwork Pods)", - "fill": 1, - "fillGradient": 0, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 30, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "normal" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "Bps" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Total" + }, + "properties": [ + { + "id": "custom.lineWidth", + "value": 0 + }, + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "custom.stacking", + "value": { + "group": "A", + "mode": "none" + } + }, + { + "id": "color", + "value": { + "fixedColor": "yellow", + "mode": "fixed" + } + } + ] + } + ] + }, "gridPos": { "h": 8, "w": 12, "x": 12, "y": 68 }, - "hiddenSeries": false, "id": 240, - "legend": { - "alignAsTable": true, - "avg": true, - "current": false, - "max": false, - "min": false, - "rightSide": true, - "show": true, - "sort": "avg", - "sortDesc": true, - "total": false, - "values": true - }, - "lines": false, - "linewidth": 2, "links": [], - "nullPointMode": "null as zero", "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.5.13", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "Total", - "bars": false, - "stack": false + "legend": { + "calcs": [ + "mean" + ], + "displayMode": "table", + "placement": "right", + "showLegend": true, + "sortBy": "Mean", + "sortDesc": true + }, + "tooltip": { + "mode": "multi", + "sort": "desc" } - ], - "spaceLength": 10, - "stack": true, - "steppedLine": false, + }, + "pluginVersion": "8.5.13", "targets": [ { - "expr": "# Data rate for the controller is a sum of data rates of its Pods.\nsum by (controller) (\n # Select Pods by controller_type and controller.\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller_type=~\"$controller_type\", controller=~\"$controller\"} \n * on (pod)\n group_left() # Preserve controller label from the 'kube_controller_pod' metric.\n (\n # Select Pods with hostNetwork: false.\n kube_pod_info{host_network=\"false\",namespace=\"$namespace\"}\n * on(pod)\n # Sum data rate for all interfaces in the Pod. \n sum by (pod) (rate(container_network_transmit_bytes_total{node=~\"$node\", namespace=\"$namespace\"}[$__rate_interval]))\n )\n)", + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, + "editorMode": "code", + "expr": "# Data rate for the controller is a sum of data rates of its Pods.\nsum by (controller) (\n # Select Pods by controller_type and controller.\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller_type=~\"$controller_type\", controller=~\"$controller\"} \n * on (pod)\n group_left() # Preserve controller label from the 'kube_controller_pod' metric.\n (\n # Select Pods with hostNetwork: false.\n max(kube_pod_info{host_network=\"false\",namespace=\"$namespace\"}) by(pod)\n * on(pod)\n # Sum data rate for all interfaces in the Pod. \n sum by (pod) (rate(container_network_transmit_bytes_total{node=~\"$node\", namespace=\"$namespace\"}[$__rate_interval]))\n )\n)", "format": "time_series", "intervalFactor": 1, "legendFormat": "{{ controller }}", + "range": true, "refId": "A" - }, - { - "expr": "# Total is a sum of data rates of all Pods in selected containers.\nsum (\n # Select Pods by controller_type and controller.\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller_type=~\"$controller_type\", controller=~\"$controller\"} \n * on (pod)\n # Select Pods with hostNetwork: false.\n kube_pod_info{host_network=\"false\",namespace=\"$namespace\"}\n * on(pod)\n # Sum data rate for all interfaces in the Pod. \n sum by (pod) (rate(container_network_transmit_bytes_total{node=~\"$node\", namespace=\"$namespace\"}[$__rate_interval]))\n)", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "Total", - "refId": "B" } ], - "thresholds": [], - "timeRegions": [], "title": "Transmit", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": true, - "values": [] - }, - "yaxes": [ + "transformations": [ { - "format": "Bps", - "logBase": 1, - "min": "0", - "show": true - }, - { - "format": "short", - "logBase": 1, - "show": true + "id": "calculateField", + "options": {} } ], - "yaxis": { - "align": false - } + "type": "timeseries" }, { "collapsed": false, @@ -2961,204 +3792,278 @@ "type": "row" }, { - "aliasColors": {}, - "bars": true, - "dashLength": 10, - "dashes": false, "datasource": { + "type": "prometheus", "uid": "$ds_prometheus" }, - "fill": 1, - "fillGradient": 0, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 30, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "normal" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "iops" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Total" + }, + "properties": [ + { + "id": "custom.lineWidth", + "value": 0 + }, + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "custom.stacking", + "value": { + "group": "A", + "mode": "none" + } + }, + { + "id": "color", + "value": { + "fixedColor": "yellow", + "mode": "fixed" + } + } + ] + } + ] + }, "gridPos": { "h": 7, "w": 12, "x": 0, "y": 77 }, - "hiddenSeries": false, "id": 156, - "legend": { - "alignAsTable": true, - "avg": true, - "current": false, - "max": false, - "min": false, - "rightSide": true, - "show": true, - "sort": "avg", - "sortDesc": true, - "total": false, - "values": true - }, - "lines": false, - "linewidth": 1, "links": [], - "nullPointMode": "null as zero", "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.5.13", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "Total", - "bars": false, - "stack": false + "legend": { + "calcs": [ + "mean" + ], + "displayMode": "table", + "placement": "right", + "showLegend": true, + "sortBy": "Mean", + "sortDesc": true + }, + "tooltip": { + "mode": "multi", + "sort": "desc" } - ], - "spaceLength": 10, - "stack": true, - "steppedLine": false, + }, + "pluginVersion": "8.5.13", "targets": [ { + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "expr": "sum by (controller) (kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller_type=~\"$controller_type\", controller=~\"$controller\"} * on (pod) group_left() sum by (pod) (rate(container_fs_reads_total{node=~\"$node\", container!=\"POD\", namespace=\"$namespace\"}[$__rate_interval])))", "format": "time_series", "intervalFactor": 1, "legendFormat": "{{ controller }}", "refId": "A" - }, - { - "expr": "sum (sum by (controller) (kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller_type=~\"$controller_type\", controller=~\"$controller\"} * on (pod) group_left() sum by (pod) (rate(container_fs_reads_total{node=~\"$node\", container!=\"POD\", namespace=\"$namespace\"}[$__rate_interval]))))", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "Total", - "refId": "B" } ], - "thresholds": [], - "timeRegions": [], "title": "Read", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": true, - "values": [] - }, - "yaxes": [ + "transformations": [ { - "format": "iops", - "logBase": 1, - "min": "0", - "show": true - }, - { - "format": "short", - "logBase": 1, - "show": false + "id": "calculateField", + "options": {} } ], - "yaxis": { - "align": false - } + "type": "timeseries" }, { - "aliasColors": {}, - "bars": true, - "dashLength": 10, - "dashes": false, "datasource": { + "type": "prometheus", "uid": "$ds_prometheus" }, - "fill": 1, - "fillGradient": 0, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 30, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "normal" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "iops" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Total" + }, + "properties": [ + { + "id": "custom.lineWidth", + "value": 0 + }, + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "custom.stacking", + "value": { + "group": "A", + "mode": "none" + } + }, + { + "id": "color", + "value": { + "fixedColor": "yellow", + "mode": "fixed" + } + } + ] + } + ] + }, "gridPos": { "h": 7, "w": 12, "x": 12, "y": 77 }, - "hiddenSeries": false, "id": 241, - "legend": { - "alignAsTable": true, - "avg": true, - "current": false, - "max": false, - "min": false, - "rightSide": true, - "show": true, - "sort": "avg", - "sortDesc": true, - "total": false, - "values": true - }, - "lines": false, - "linewidth": 1, "links": [], - "nullPointMode": "null as zero", "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.5.13", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "Total", - "bars": false, - "stack": false + "legend": { + "calcs": [ + "mean" + ], + "displayMode": "table", + "placement": "right", + "showLegend": true, + "sortBy": "Mean", + "sortDesc": true + }, + "tooltip": { + "mode": "multi", + "sort": "desc" } - ], - "spaceLength": 10, - "stack": true, - "steppedLine": false, + }, + "pluginVersion": "8.5.13", "targets": [ { + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "expr": "sum by (controller) (kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller_type=~\"$controller_type\", controller=~\"$controller\"} * on (pod) group_left() sum by (pod) (rate(container_fs_writes_total{node=~\"$node\", container!=\"POD\", namespace=\"$namespace\"}[$__rate_interval])))", "format": "time_series", "intervalFactor": 1, "legendFormat": "{{ controller }}", "refId": "A" - }, - { - "expr": "sum (sum by (controller) (kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller_type=~\"$controller_type\", controller=~\"$controller\"} * on (pod) group_left() sum by (pod) (rate(container_fs_writes_total{node=~\"$node\", container!=\"POD\", namespace=\"$namespace\"}[$__rate_interval]))))", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "Total", - "refId": "B" } ], - "thresholds": [], - "timeRegions": [], "title": "Write", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": true, - "values": [] - }, - "yaxes": [ + "transformations": [ { - "format": "iops", - "logBase": 1, - "min": "0", - "show": true - }, - { - "format": "short", - "logBase": 1, - "show": false + "id": "calculateField", + "options": {} } ], - "yaxis": { - "align": false - } + "type": "timeseries" }, { "collapsed": false, @@ -3178,62 +4083,125 @@ "type": "row" }, { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, "datasource": { + "type": "prometheus", "uid": "$ds_prometheus" }, "description": "This graph does not show any localstorage-related information due to incorrectly calculating the occupied space on localstorage disks", - "fill": 1, - "fillGradient": 0, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 30, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "normal" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "bytes" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "controller" + }, + "properties": [ + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "custom.lineWidth", + "value": 0 + }, + { + "id": "custom.stacking", + "value": { + "group": false, + "mode": "none" + } + }, + { + "id": "color", + "value": { + "fixedColor": "yellow", + "mode": "fixed" + } + } + ] + } + ] + }, "gridPos": { "h": 7, "w": 12, "x": 0, "y": 85 }, - "hiddenSeries": false, "id": 598, - "legend": { - "alignAsTable": true, - "avg": true, - "current": false, - "max": false, - "min": false, - "rightSide": true, - "show": true, - "sort": "avg", - "sortDesc": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 1, "links": [], - "nullPointMode": "null as zero", "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.2.6", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "/Total/", - "fill": 0, - "linewidth": 2, - "stack": false + "legend": { + "calcs": [ + "mean" + ], + "displayMode": "table", + "placement": "right", + "showLegend": true, + "sortBy": "Mean", + "sortDesc": true + }, + "tooltip": { + "mode": "multi", + "sort": "desc" } - ], - "spaceLength": 10, - "stack": true, - "steppedLine": false, + }, + "pluginVersion": "8.5.13", "targets": [ { + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "expr": "sum by (namespace, controller) (\n max by (namespace, controller, persistentvolumeclaim)\n (\n sum by (namespace, persistentvolumeclaim) (\n max_over_time(kubelet_volume_stats_capacity_bytes{node=~\"$node\", namespace=\"$namespace\"}[$__rate_interval])\n ) \n\n * max by (namespace, persistentvolumeclaim) (\n label_replace(\n max_over_time(kube_persistentvolumeclaim_info{namespace=\"$namespace\"}[$__rate_interval]),\n \"persistentvolume\", \"$1\", \"volumename\", \"(.*)\")\n + on (persistentvolume) group_left() max by (persistentvolume) (kube_persistentvolume_is_local == 0)\n )\n\n * on (namespace, persistentvolumeclaim) group_left(pod) \n max by (namespace, persistentvolumeclaim, pod) (\n max_over_time(kube_pod_spec_volumes_persistentvolumeclaims_info{namespace=\"$namespace\"}[$__rate_interval])\n ) \n\n * on (namespace, pod) group_left(controller)\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=~\"$controller\"} \n )\n)", "format": "time_series", "intervalFactor": 1, @@ -3241,207 +4209,244 @@ "refId": "A" }, { + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "expr": "sum (\n sum by (namespace, persistentvolumeclaim) (\n max_over_time(kube_persistentvolumeclaim_resource_requests_storage_bytes{namespace=\"$namespace\"}[$__rate_interval])\n ) \n * \n sum by (namespace, persistentvolumeclaim) (\n label_replace(\n max_over_time(kube_persistentvolumeclaim_info{namespace=\"$namespace\"}[$__rate_interval]),\n \"persistentvolume\", \"$1\", \"volumename\", \"(.*)\")\n + on (persistentvolume) group_left() max by (persistentvolume) (kube_persistentvolume_is_local == 0)\n\n )\n unless\n sum by (namespace, persistentvolumeclaim) (\n max_over_time(kube_pod_spec_volumes_persistentvolumeclaims_info{namespace=\"$namespace\"}[$__rate_interval])\n ) \n) \nand (count (kube_node_info) == count (kube_node_info{node=~\"$node\"}))", "format": "time_series", "intervalFactor": 1, "legendFormat": "Unused PVC", "refId": "B" - }, - { - "expr": "sum (\n sum by (namespace, controller) (\n max by (namespace, controller, persistentvolumeclaim)\n (\n sum by (namespace, persistentvolumeclaim) (\n max_over_time(kubelet_volume_stats_capacity_bytes{node=~\"$node\", namespace=\"$namespace\"}[$__rate_interval])\n ) \n\n * max by (namespace, persistentvolumeclaim) (\n label_replace(\n max_over_time(kube_persistentvolumeclaim_info{namespace=\"$namespace\"}[$__rate_interval]),\n \"persistentvolume\", \"$1\", \"volumename\", \"(.*)\")\n + on (persistentvolume) group_left() max by (persistentvolume) (kube_persistentvolume_is_local == 0)\n\n )\n\n * on (namespace, persistentvolumeclaim) group_left(pod) \n max by (namespace, persistentvolumeclaim, pod) (\n max_over_time(kube_pod_spec_volumes_persistentvolumeclaims_info{namespace=\"$namespace\"}[$__rate_interval])\n ) \n\n * on (namespace, pod) group_left(controller)\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=~\"$controller\"} \n )\n )\n)\n+\n(sum (\n sum by (namespace, persistentvolumeclaim) (\n max_over_time(kube_persistentvolumeclaim_resource_requests_storage_bytes{namespace=\"$namespace\"}[$__rate_interval])\n ) \n * \n sum by (namespace, persistentvolumeclaim) (\n label_replace(\n max_over_time(kube_persistentvolumeclaim_info{namespace=\"$namespace\"}[$__rate_interval]),\n \"persistentvolume\", \"$1\", \"volumename\", \"(.*)\")\n + on (persistentvolume) group_left() max by (persistentvolume) (kube_persistentvolume_is_local == 0)\n\n )\n unless\n sum by (namespace, persistentvolumeclaim) (\n max_over_time(kube_pod_spec_volumes_persistentvolumeclaims_info{namespace=\"$namespace\"}[$__rate_interval])\n ) \n) * (count (kube_node_info) == bool count (kube_node_info{node=~\"$node\"})))", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "Total", - "refId": "C" } ], - "thresholds": [], - "timeRegions": [], "title": "PVC Provisioned (except local storage classes)", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": true, - "values": [] - }, - "yaxes": [ + "transformations": [ { - "format": "bytes", - "logBase": 1, - "min": "0", - "show": true - }, - { - "format": "short", - "logBase": 1, - "show": false + "id": "calculateField", + "options": {} } ], - "yaxis": { - "align": false - } + "type": "timeseries" }, { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, "datasource": { + "type": "prometheus", "uid": "$ds_prometheus" }, "description": "This graph does not show any localstorage-related information due to incorrectly calculating the occupied space on localstorage disks", - "fill": 1, - "fillGradient": 0, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 30, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "normal" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "bytes" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "controller" + }, + "properties": [ + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "custom.lineWidth", + "value": 0 + }, + { + "id": "custom.stacking", + "value": { + "group": false, + "mode": "none" + } + }, + { + "id": "color", + "value": { + "fixedColor": "yellow", + "mode": "fixed" + } + } + ] + } + ] + }, "gridPos": { "h": 7, "w": 12, "x": 12, "y": 85 }, - "hiddenSeries": false, "id": 596, - "legend": { - "alignAsTable": true, - "avg": true, - "current": false, - "max": false, - "min": false, - "rightSide": true, - "show": true, - "sort": "avg", - "sortDesc": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 1, "links": [], - "nullPointMode": "null as zero", "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.2.6", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "/Total/", - "fill": 0, - "linewidth": 2, - "stack": false + "legend": { + "calcs": [ + "mean" + ], + "displayMode": "table", + "placement": "right", + "showLegend": true, + "sortBy": "Mean", + "sortDesc": true + }, + "tooltip": { + "mode": "multi", + "sort": "desc" } - ], - "spaceLength": 10, - "stack": true, - "steppedLine": false, + }, + "pluginVersion": "8.5.13", "targets": [ { + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "expr": "sum by (namespace, controller) (\n max by (namespace, controller, persistentvolumeclaim)\n (\n sum by (namespace, persistentvolumeclaim) (\n max_over_time(kubelet_volume_stats_capacity_bytes{node=~\"$node\", namespace=\"$namespace\"}[$__rate_interval]) - max_over_time(kubelet_volume_stats_available_bytes{node=~\"$node\", namespace=\"$namespace\"}[$__rate_interval])\n ) \n\n * max by (namespace, persistentvolumeclaim) (\n label_replace(\n max_over_time(kube_persistentvolumeclaim_info{namespace=\"$namespace\"}[$__rate_interval]),\n \"persistentvolume\", \"$1\", \"volumename\", \"(.*)\")\n + on (persistentvolume) group_left() max by (persistentvolume) (kube_persistentvolume_is_local == 0)\n )\n\n * on (namespace, persistentvolumeclaim) group_left(pod) \n max by (namespace, persistentvolumeclaim, pod) (\n max_over_time(kube_pod_spec_volumes_persistentvolumeclaims_info{namespace=\"$namespace\"}[$__rate_interval])\n ) \n\n * on (namespace, pod) group_left(controller)\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=~\"$controller\"} \n )\n)", "format": "time_series", "intervalFactor": 1, "legendFormat": "Usage {{ controller }}", "refId": "A" - }, - { - "expr": "sum(\n sum by (namespace, controller) (\n max by (namespace, controller, persistentvolumeclaim)\n (\n sum by (namespace, persistentvolumeclaim) (\n max_over_time(kubelet_volume_stats_capacity_bytes{node=~\"$node\", namespace=\"$namespace\"}[$__rate_interval]) - max_over_time(kubelet_volume_stats_available_bytes{node=~\"$node\", namespace=\"$namespace\"}[$__rate_interval])\n ) \n\n * max by (namespace, persistentvolumeclaim) (\n label_replace(\n max_over_time(kube_persistentvolumeclaim_info{namespace=\"$namespace\"}[$__rate_interval]),\n \"persistentvolume\", \"$1\", \"volumename\", \"(.*)\")\n + on (persistentvolume) group_left() max by (persistentvolume) (kube_persistentvolume_is_local == 0)\n )\n\n * on (namespace, persistentvolumeclaim) group_left(pod) \n max by (namespace, persistentvolumeclaim, pod) (\n max_over_time(kube_pod_spec_volumes_persistentvolumeclaims_info{namespace=\"$namespace\"}[$__rate_interval])\n ) \n\n * on (namespace, pod) group_left(controller)\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=~\"$controller\"} \n )\n )\n)", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "Total", - "refId": "B" } ], - "thresholds": [], - "timeRegions": [], "title": "PVC Usage (except local storage classes)", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": true, - "values": [] - }, - "yaxes": [ + "transformations": [ { - "format": "bytes", - "logBase": 1, - "min": "0", - "show": true - }, - { - "format": "short", - "logBase": 1, - "show": false + "id": "calculateField", + "options": {} } ], - "yaxis": { - "align": false - } + "type": "timeseries" }, { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, "datasource": { "uid": "$ds_prometheus" }, "description": "This graph does not show any localstorage-related information due to incorrectly calculating the occupied space on localstorage disks", - "fill": 1, - "fillGradient": 0, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 30, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "normal" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "percentunit" + }, + "overrides": [] + }, "gridPos": { "h": 7, "w": 24, "x": 0, "y": 92 }, - "hiddenSeries": false, "id": 597, - "legend": { - "alignAsTable": true, - "avg": true, - "current": false, - "max": false, - "min": false, - "rightSide": true, - "show": true, - "sort": "avg", - "sortDesc": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 1, "links": [], - "nullPointMode": "null as zero", "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.2.6", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "/Total .*/", - "fill": 0, - "linewidth": 2 + "legend": { + "calcs": [ + "mean" + ], + "displayMode": "table", + "placement": "right", + "showLegend": true, + "sortBy": "Mean", + "sortDesc": true + }, + "tooltip": { + "mode": "multi", + "sort": "desc" } - ], - "spaceLength": 10, - "stack": true, - "steppedLine": false, + }, + "pluginVersion": "8.5.13", "targets": [ { "expr": "sum by (namespace, controller) (\n max by (namespace, controller, persistentvolumeclaim)\n (\n sum by (namespace, persistentvolumeclaim) (\n max_over_time(kubelet_volume_stats_capacity_bytes{node=~\"$node\", namespace=\"$namespace\"}[$__rate_interval]) - max_over_time(kubelet_volume_stats_available_bytes{node=~\"$node\", namespace=\"$namespace\"}[$__rate_interval])\n ) \n\n * max by (namespace, persistentvolumeclaim) (\n label_replace(\n max_over_time(kube_persistentvolumeclaim_info{namespace=\"$namespace\"}[$__rate_interval]),\n \"persistentvolume\", \"$1\", \"volumename\", \"(.*)\")\n + on (persistentvolume) group_left() max by (persistentvolume) (kube_persistentvolume_is_local == 0)\n )\n\n * on (namespace, persistentvolumeclaim) group_left(pod) \n max by (namespace, persistentvolumeclaim, pod) (\n max_over_time(kube_pod_spec_volumes_persistentvolumeclaims_info{namespace=\"$namespace\"}[$__rate_interval])\n ) \n\n * on (namespace, pod) group_left(controller)\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=~\"$controller\"} \n )\n)\n/\nsum by (namespace, controller) (\n max by (namespace, controller, persistentvolumeclaim)\n (\n sum by (namespace, persistentvolumeclaim) (\n max_over_time(kubelet_volume_stats_capacity_bytes{node=~\"$node\", namespace=\"$namespace\"}[$__rate_interval])\n ) \n\n * max by (namespace, persistentvolumeclaim) (\n label_replace(\n max_over_time(kube_persistentvolumeclaim_info{namespace=\"$namespace\"}[$__rate_interval]),\n \"persistentvolume\", \"$1\", \"volumename\", \"(.*)\")\n + on (persistentvolume) group_left() max by (persistentvolume) (kube_persistentvolume_is_local == 0)\n )\n\n * on (namespace, persistentvolumeclaim) group_left(pod) \n max by (namespace, persistentvolumeclaim, pod) (\n max_over_time(kube_pod_spec_volumes_persistentvolumeclaims_info{namespace=\"$namespace\"}[$__rate_interval])\n ) \n\n * on (namespace, pod) group_left(controller)\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=~\"$controller\"} \n )\n)", @@ -3451,36 +4456,8 @@ "refId": "A" } ], - "thresholds": [], - "timeRegions": [], "title": "PVC Usage in % (except local storage classes)", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "percentunit", - "logBase": 1, - "min": "0", - "show": true - }, - { - "format": "short", - "logBase": 1, - "show": false - } - ], - "yaxis": { - "align": false - } + "type": "timeseries" }, { "collapsed": true, @@ -3506,7 +4483,11 @@ "mode": "thresholds" }, "custom": { - "displayMode": "auto" + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false }, "decimals": 2, "displayName": "", @@ -3515,7 +4496,8 @@ "mode": "absolute", "steps": [ { - "color": "green" + "color": "green", + "value": null }, { "color": "red", @@ -3778,9 +4760,18 @@ "id": 600, "links": [], "options": { + "cellHeight": "sm", + "footer": { + "countRows": false, + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, "showHeader": true }, - "pluginVersion": "8.2.6", + "pluginVersion": "10.2.2", "targets": [ { "expr": "max by (persistentvolumeclaim, storageclass) (\n max by (namespace, persistentvolumeclaim) (\n max by (namespace, persistentvolumeclaim, pod) (\n max_over_time(kube_pod_spec_volumes_persistentvolumeclaims_info{namespace=\"$namespace\"}[$__range])\n ) \n * on (namespace, pod) group_left(controller)\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=~\"$controller\"}\n )\n* on (namespace, persistentvolumeclaim) group_right() kube_persistentvolumeclaim_info{namespace=\"$namespace\"})", @@ -3891,118 +4882,140 @@ "type": "table" }, { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, "datasource": { + "type": "prometheus", "uid": "$ds_prometheus" }, "description": "", - "fill": 1, - "fillGradient": 0, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 30, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "decimals": 2, + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "bytes" + }, + "overrides": [] + }, "gridPos": { "h": 7, "w": 24, "x": 0, "y": 107 }, - "hiddenSeries": false, "id": 603, - "legend": { - "alignAsTable": true, - "avg": true, - "current": false, - "max": false, - "min": false, - "rightSide": true, - "show": true, - "sort": "avg", - "sortDesc": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 1, "links": [], - "nullPointMode": "null as zero", "options": { - "alertThreshold": true + "legend": { + "calcs": [ + "mean" + ], + "displayMode": "table", + "placement": "right", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "desc" + } }, - "percentage": false, - "pluginVersion": "8.2.6", - "pointradius": 5, - "points": false, - "renderer": "flot", + "pluginVersion": "8.5.13", "repeat": "persistentvolumeclaim", "repeatDirection": "h", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, "targets": [ { - "expr": "\n\nmax by (persistentvolumeclaim) (\n max by (namespace, persistentvolumeclaim) (\n max by (namespace, persistentvolumeclaim, pod) (\n max_over_time(kube_pod_spec_volumes_persistentvolumeclaims_info{namespace=\"$namespace\"}[$__range])\n ) \n * on (namespace, pod) group_left(controller)\n kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=~\"$controller\"}\n )\n)\n* on (persistentvolumeclaim) group_right()\nmax by (persistentvolumeclaim) (\n max_over_time(kube_persistentvolume_capacity_bytes[$__rate_interval]) \n * on (persistentvolume) group_right() \n (\n label_replace(\n max_over_time(kube_persistentvolumeclaim_info{namespace=\"$namespace\", persistentvolumeclaim=~\"$persistentvolumeclaim\"}[$__rate_interval]),\n \"persistentvolume\", \"$1\", \"volumename\", \"(.*)\")\n )\n)", + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, + "editorMode": "code", + "expr": "sum(max by (persistentvolumeclaim) (\n max by (namespace, persistentvolumeclaim) (\n max by (namespace, persistentvolumeclaim, pod) (\n max_over_time(kube_pod_spec_volumes_persistentvolumeclaims_info{namespace=\"$namespace\"}[$__range])\n ) \n * on (namespace, pod) group_left(controller)\n max(kube_controller_pod{node=~\"$node\", namespace=\"$namespace\", controller=~\"$controller\"}) by(namespace, pod)\n )\n)\n* on (persistentvolumeclaim) group_right()\nmax by (persistentvolumeclaim) (\n max_over_time(kube_persistentvolume_capacity_bytes[$__rate_interval]) \n * on (persistentvolume) group_right() \n (\n label_replace(\n max_over_time(kube_persistentvolumeclaim_info{namespace=\"$namespace\", persistentvolumeclaim=~\"$persistentvolumeclaim\"}[$__rate_interval]),\n \"persistentvolume\", \"$1\", \"volumename\", \"(.*)\")\n )\n))", "format": "time_series", "intervalFactor": 1, "legendFormat": "Provisioned", + "range": true, "refId": "A" }, { - "expr": "max by (persistentvolumeclaim) (\n max_over_time(kubelet_volume_stats_capacity_bytes{node=~\"$node\", namespace=\"$namespace\", persistentvolumeclaim=\"$persistentvolumeclaim\"}[$__rate_interval])\n)", + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, + "editorMode": "code", + "expr": "sum(max by (persistentvolumeclaim) (\n max_over_time(kubelet_volume_stats_capacity_bytes{node=~\"$node\", namespace=\"$namespace\", persistentvolumeclaim=\"$persistentvolumeclaim\"}[$__rate_interval])\n))", "format": "time_series", "intervalFactor": 1, "legendFormat": "Capacity", + "range": true, "refId": "B" }, { - "expr": "max by (persistentvolumeclaim) (\n max_over_time(kubelet_volume_stats_capacity_bytes{node=~\"$node\", namespace=\"$namespace\", persistentvolumeclaim=\"$persistentvolumeclaim\"}[$__rate_interval]) - max_over_time(kubelet_volume_stats_available_bytes{node=~\"$node\", namespace=\"$namespace\", persistentvolumeclaim=\"$persistentvolumeclaim\"}[$__rate_interval])\n)", + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, + "editorMode": "code", + "expr": "sum(max by (persistentvolumeclaim) (\n max_over_time(kubelet_volume_stats_capacity_bytes{node=~\"$node\", namespace=\"$namespace\", persistentvolumeclaim=\"$persistentvolumeclaim\"}[$__rate_interval]) - max_over_time(kubelet_volume_stats_available_bytes{node=~\"$node\", namespace=\"$namespace\", persistentvolumeclaim=\"$persistentvolumeclaim\"}[$__rate_interval])\n))", "format": "time_series", "intervalFactor": 1, "legendFormat": "Used", + "range": true, "refId": "C" } ], - "thresholds": [], - "timeRegions": [], "title": "$persistentvolumeclaim", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": true, - "values": [] - }, - "yaxes": [ - { - "decimals": 2, - "format": "bytes", - "logBase": 1, - "min": "0", - "show": true - }, - { - "format": "short", - "logBase": 1, - "show": false - } - ], - "yaxis": { - "align": false - } + "type": "timeseries" } ], "title": "PVC Detailed", "type": "row" } ], - "refresh": "", - "schemaVersion": 36, - "style": "dark", + "refresh": false, + "schemaVersion": 38, "tags": [ "main" ], @@ -4094,13 +5107,9 @@ { "allValue": ".*", "current": { - "selected": true, - "text": [ - "All" - ], - "value": [ - ".*" - ] + "selected": false, + "text": "All", + "value": "$__all" }, "datasource": { "type": "prometheus", @@ -4226,6 +5235,17 @@ "tagsQuery": "", "type": "query", "useTags": false + }, + { + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, + "filters": [], + "hide": 0, + "name": "Filters", + "skipUrlSync": false, + "type": "adhoc" } ] }, diff --git a/dashboards/main/namespaces.json b/dashboards/main/namespaces.json index 19292d3b..bfbaf781 100644 --- a/dashboards/main/namespaces.json +++ b/dashboards/main/namespaces.json @@ -3,7 +3,10 @@ "list": [ { "builtIn": 1, - "datasource": "-- Grafana --", + "datasource": { + "type": "datasource", + "uid": "grafana" + }, "enable": true, "hide": true, "iconColor": "rgba(0, 211, 255, 1)", @@ -20,22 +23,26 @@ }, "editable": false, "fiscalYearStartMonth": 0, - "gnetId": null, "graphTooltip": 1, - "iteration": 1638543860824, + "id": 61, "links": [], "liveNow": false, "panels": [ { "columns": [], - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "description": "Note that this table shows the average values for the entire period selected in the dashboard. Consequently, it may contain information about Pods or namespaces that were changed or deleted during the selected period.", "fieldConfig": { "defaults": { "custom": { - "align": null, - "displayMode": "auto", + "align": "auto", + "cellOptions": { + "type": "auto" + }, "filterable": false, + "inspect": false, "minWidth": 50 }, "mappings": [], @@ -69,8 +76,7 @@ "value": 2 }, { - "id": "custom.align", - "value": null + "id": "custom.align" }, { "id": "displayName", @@ -114,8 +120,7 @@ "value": 2 }, { - "id": "custom.align", - "value": null + "id": "custom.align" }, { "id": "mappings", @@ -142,8 +147,7 @@ "value": 3 }, { - "id": "custom.align", - "value": null + "id": "custom.align" } ] }, @@ -166,8 +170,7 @@ "value": 2 }, { - "id": "custom.align", - "value": null + "id": "custom.align" } ] }, @@ -190,8 +193,7 @@ "value": 2 }, { - "id": "custom.align", - "value": null + "id": "custom.align" } ] }, @@ -214,8 +216,7 @@ "value": 2 }, { - "id": "custom.align", - "value": null + "id": "custom.align" } ] }, @@ -238,8 +239,7 @@ "value": 2 }, { - "id": "custom.align", - "value": null + "id": "custom.align" } ] }, @@ -262,8 +262,7 @@ "value": 2 }, { - "id": "custom.align", - "value": null + "id": "custom.align" } ] }, @@ -286,8 +285,7 @@ "value": 2 }, { - "id": "custom.align", - "value": null + "id": "custom.align" } ] }, @@ -310,8 +308,7 @@ "value": 2 }, { - "id": "custom.align", - "value": null + "id": "custom.align" } ] }, @@ -334,8 +331,7 @@ "value": 2 }, { - "id": "custom.align", - "value": null + "id": "custom.align" } ] }, @@ -358,8 +354,7 @@ "value": 2 }, { - "id": "custom.align", - "value": null + "id": "custom.align" } ] }, @@ -382,8 +377,7 @@ "value": 2 }, { - "id": "custom.align", - "value": null + "id": "custom.align" } ] }, @@ -406,8 +400,7 @@ "value": 2 }, { - "id": "custom.align", - "value": null + "id": "custom.align" } ] }, @@ -430,8 +423,7 @@ "value": 2 }, { - "id": "custom.align", - "value": null + "id": "custom.align" } ] }, @@ -454,8 +446,7 @@ "value": 2 }, { - "id": "custom.align", - "value": null + "id": "custom.align" } ] }, @@ -478,8 +469,7 @@ "value": 2 }, { - "id": "custom.align", - "value": null + "id": "custom.align" } ] }, @@ -498,8 +488,7 @@ "value": "short" }, { - "id": "custom.align", - "value": null + "id": "custom.align" } ] }, @@ -518,8 +507,7 @@ "value": "short" }, { - "id": "custom.align", - "value": null + "id": "custom.align" } ] }, @@ -538,8 +526,7 @@ "value": "short" }, { - "id": "custom.align", - "value": null + "id": "custom.align" } ] }, @@ -567,10 +554,19 @@ "id": 4, "links": [], "options": { + "cellHeight": "sm", + "footer": { + "countRows": false, + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, "showHeader": true }, "pageSize": 50, - "pluginVersion": "8.2.3", + "pluginVersion": "10.2.2", "scroll": true, "showHeader": true, "sort": { @@ -588,7 +584,6 @@ { "alias": "Namespace", "align": "auto", - "colorMode": null, "colors": [ "rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", @@ -609,7 +604,6 @@ { "alias": "VPA %", "align": "auto", - "colorMode": null, "colors": [ "rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", @@ -626,7 +620,6 @@ { "alias": "CPU", "align": "auto", - "colorMode": null, "colors": [ "rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", @@ -643,7 +636,6 @@ { "alias": "Req CPU", "align": "auto", - "colorMode": null, "colors": [ "rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", @@ -660,7 +652,6 @@ { "alias": "Over-req CPU", "align": "auto", - "colorMode": null, "colors": [ "rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", @@ -677,7 +668,6 @@ { "alias": "Under-req CPU", "align": "auto", - "colorMode": null, "colors": [ "rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", @@ -694,7 +684,6 @@ { "alias": "Throttling cores", "align": "auto", - "colorMode": null, "colors": [ "rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", @@ -711,7 +700,6 @@ { "alias": "Memory", "align": "auto", - "colorMode": null, "colors": [ "rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", @@ -728,7 +716,6 @@ { "alias": "Req Memory", "align": "auto", - "colorMode": null, "colors": [ "rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", @@ -745,7 +732,6 @@ { "alias": "Over-req Memory", "align": "auto", - "colorMode": null, "colors": [ "rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", @@ -762,7 +748,6 @@ { "alias": "Under-req Memory", "align": "auto", - "colorMode": null, "colors": [ "rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", @@ -779,7 +764,6 @@ { "alias": "RX Network", "align": "auto", - "colorMode": null, "colors": [ "rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", @@ -796,7 +780,6 @@ { "alias": "TX Network", "align": "auto", - "colorMode": null, "colors": [ "rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", @@ -813,7 +796,6 @@ { "alias": "Read IOPS", "align": "auto", - "colorMode": null, "colors": [ "rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", @@ -830,7 +812,6 @@ { "alias": "Write IOPS", "align": "auto", - "colorMode": null, "colors": [ "rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", @@ -847,7 +828,6 @@ { "alias": "Pod Restarts", "align": "auto", - "colorMode": null, "colors": [ "rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", @@ -864,7 +844,6 @@ { "alias": "", "align": "auto", - "colorMode": null, "colors": [ "rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", @@ -1062,246 +1041,279 @@ "type": "table" }, { - "aliasColors": {}, - "bars": true, - "dashLength": 10, - "dashes": false, - "datasource": "$ds_prometheus", - "decimals": 0, + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "description": "The number of Pods in each namespace", "fieldConfig": { "defaults": { - "links": [] + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 30, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "normal" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "decimals": 0, + "links": [], + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "short" }, - "overrides": [] + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Total" + }, + "properties": [ + { + "id": "custom.stacking", + "value": { + "group": false, + "mode": "none" + } + }, + { + "id": "custom.lineWidth", + "value": 0 + }, + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "color", + "value": { + "fixedColor": "yellow", + "mode": "fixed" + } + } + ] + } + ] }, - "fill": 1, - "fillGradient": 0, "gridPos": { "h": 4, "w": 12, "x": 0, "y": 8 }, - "hiddenSeries": false, "id": 332, - "legend": { - "alignAsTable": false, - "avg": false, - "current": false, - "hideEmpty": true, - "hideZero": true, - "max": false, - "min": false, - "rightSide": false, - "show": false, - "sort": "current", - "sortDesc": true, - "total": false, - "values": false - }, - "lines": false, - "linewidth": 1, "links": [], - "nullPointMode": "null as zero", "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.2.3", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "Total", - "bars": false, - "stack": false + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": false + }, + "tooltip": { + "mode": "multi", + "sort": "desc" } - ], - "spaceLength": 10, - "stack": true, - "steppedLine": false, + }, + "pluginVersion": "8.5.13", "targets": [ { + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "expr": "count by (namespace) (max_over_time(kube_pod_info{node=~\"$node\", namespace=~\"$namespace\"}[$__rate_interval]))", "format": "time_series", "intervalFactor": 1, "legendFormat": "{{ namespace }}", "refId": "B" - }, - { - "expr": "count(kube_pod_info{node=~\"$node\", namespace=~\"$namespace\"})", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "Total", - "refId": "A" } ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, "title": "Pods count", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ + "transformations": [ { - "decimals": 0, - "format": "short", - "label": "", - "logBase": 1, - "max": null, - "min": "0", - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": false + "id": "calculateField", + "options": {} } ], - "yaxis": { - "align": false, - "alignLevel": null - } + "type": "timeseries" }, { - "aliasColors": {}, - "bars": true, - "dashLength": 10, - "dashes": false, - "datasource": "$ds_prometheus", - "decimals": 0, + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "description": "The number of Pod restarts", "fieldConfig": { "defaults": { - "links": [] + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 30, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "normal" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "decimals": 0, + "links": [], + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "short" }, - "overrides": [] + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Total" + }, + "properties": [ + { + "id": "custom.stacking", + "value": { + "group": false, + "mode": "none" + } + }, + { + "id": "custom.lineWidth", + "value": 0 + }, + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "color", + "value": { + "fixedColor": "yellow", + "mode": "fixed" + } + } + ] + } + ] }, - "fill": 1, - "fillGradient": 0, "gridPos": { "h": 4, "w": 12, "x": 12, "y": 8 }, - "hiddenSeries": false, "id": 564, - "legend": { - "alignAsTable": false, - "avg": false, - "current": false, - "hideEmpty": true, - "hideZero": true, - "max": false, - "min": false, - "rightSide": false, - "show": false, - "sort": "avg", - "sortDesc": true, - "total": false, - "values": false - }, - "lines": false, - "linewidth": 1, "links": [], - "nullPointMode": "null as zero", "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.2.3", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "Total", - "bars": false, - "stack": false + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": false + }, + "tooltip": { + "mode": "multi", + "sort": "desc" } - ], - "spaceLength": 10, - "stack": true, - "steppedLine": false, + }, + "pluginVersion": "8.5.13", "targets": [ { + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "expr": "sum by (namespace) (increase(kube_pod_container_status_restarts_total{node=~\"$node\", namespace=~\"$namespace\"}[$__rate_interval]))", "format": "time_series", "intervalFactor": 1, "legendFormat": "{{ namespace }}", "refId": "B" - }, - { - "expr": "sum (increase(kube_pod_container_status_restarts_total{node=~\"$node\", namespace=~\"$namespace\"}[$__rate_interval]))", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "Total", - "refId": "A" } ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, "title": "Pods restarts", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ + "transformations": [ { - "decimals": 0, - "format": "short", - "label": "", - "logBase": 1, - "max": null, - "min": "0", - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": false + "id": "calculateField", + "options": {} } ], - "yaxis": { - "align": false, - "alignLevel": null - } + "type": "timeseries" }, { "collapsed": false, - "datasource": null, + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "gridPos": { "h": 1, "w": 24, @@ -1314,187 +1326,296 @@ "type": "row" }, { - "aliasColors": {}, - "bars": true, - "dashLength": 10, - "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "fieldConfig": { "defaults": { - "links": [] + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "cores", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 30, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 1, + "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": [] + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Total" + }, + "properties": [ + { + "id": "custom.stacking", + "value": { + "group": false, + "mode": "none" + } + }, + { + "id": "custom.lineWidth", + "value": 0 + }, + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "color", + "value": { + "fixedColor": "yellow", + "mode": "fixed" + } + } + ] + } + ] }, - "fill": 1, - "fillGradient": 0, "gridPos": { "h": 9, "w": 12, "x": 0, "y": 13 }, - "hiddenSeries": false, "id": 6, - "legend": { - "alignAsTable": true, - "avg": true, - "current": false, - "max": false, - "min": false, - "rightSide": true, - "show": true, - "sort": "avg", - "sortDesc": true, - "total": false, - "values": true - }, - "lines": false, - "linewidth": 1, "links": [], - "nullPointMode": "null as zero", "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.2.3", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "Total", - "bars": false, - "stack": false + "legend": { + "calcs": [ + "mean" + ], + "displayMode": "table", + "placement": "right", + "showLegend": true, + "sortBy": "Mean", + "sortDesc": true + }, + "tooltip": { + "mode": "multi", + "sort": "desc" } - ], - "spaceLength": 10, - "stack": true, - "steppedLine": true, + }, + "pluginVersion": "8.5.13", "targets": [ { + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "expr": "sum by (namespace) (rate(container_cpu_usage_seconds_total{node=~\"$node\", namespace=~\"$namespace\", container!=\"POD\"}[$__rate_interval]))", "format": "time_series", "intervalFactor": 1, "legendFormat": "{{ namespace }}", "refId": "A" - }, - { - "expr": "sum (rate(container_cpu_usage_seconds_total{node=~\"$node\", namespace=~\"$namespace\", container!=\"POD\"}[$__rate_interval]))", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "Total", - "refId": "B" } ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, "title": "Usage by namespace", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ + "transformations": [ { - "format": "short", - "label": "cores", - "logBase": 1, - "max": null, - "min": "0", - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + "id": "calculateField", + "options": {} } ], - "yaxis": { - "align": false, - "alignLevel": null - } + "type": "timeseries" }, { - "aliasColors": {}, - "bars": true, - "dashLength": 10, - "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "description": "The total value may not equal the sum of system and user times because of the kernel's cgroup accounting peculiarities. Read more here: https://www.kernel.org/doc/Documentation/cgroup-v1/cpuacct.txt", "fieldConfig": { "defaults": { - "links": [] + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "cores", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 30, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 1, + "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 + } + ] + }, + "unit": "short" }, - "overrides": [] + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Total" + }, + "properties": [ + { + "id": "custom.stacking", + "value": { + "group": false, + "mode": "normal" + } + }, + { + "id": "custom.lineWidth", + "value": 0 + }, + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "color", + "value": { + "fixedColor": "yellow", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "System" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#e24d42", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "User" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#1f78c1", + "mode": "fixed" + } + } + ] + } + ] }, - "fill": 1, - "fillGradient": 0, "gridPos": { "h": 9, "w": 12, "x": 12, "y": 13 }, - "hiddenSeries": false, "id": 10, - "legend": { - "alignAsTable": true, - "avg": true, - "current": false, - "max": false, - "min": false, - "rightSide": true, - "show": true, - "sort": "avg", - "sortDesc": true, - "total": false, - "values": true - }, - "lines": false, - "linewidth": 1, "links": [], - "nullPointMode": "null as zero", "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.2.3", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "Total", - "bars": false, - "stack": false + "legend": { + "calcs": [ + "mean" + ], + "displayMode": "table", + "placement": "right", + "showLegend": true, + "sortBy": "Mean", + "sortDesc": true }, - { - "alias": "System", - "color": "#e24d42" - }, - { - "alias": "User", - "color": "#1f78c1" + "tooltip": { + "mode": "multi", + "sort": "desc" } - ], - "spaceLength": 10, - "stack": true, - "steppedLine": true, + }, + "pluginVersion": "8.5.13", "targets": [ { + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "expr": "sum (rate(container_cpu_system_seconds_total{node=~\"$node\", namespace=~\"$namespace\", container!=\"POD\"}[$__rate_interval]))", "format": "time_series", "intervalFactor": 1, @@ -1502,413 +1623,443 @@ "refId": "A" }, { + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "expr": "sum (rate(container_cpu_user_seconds_total{node=~\"$node\", namespace=~\"$namespace\", container!=\"POD\"}[$__rate_interval]))", "format": "time_series", "intervalFactor": 1, "legendFormat": "User", "refId": "B" - }, - { - "expr": "sum (rate(container_cpu_usage_seconds_total{node=~\"$node\", namespace=~\"$namespace\", container!=\"POD\"}[$__rate_interval]))", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "Total", - "refId": "D" } ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, "title": "Usage by state", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ + "transformations": [ { - "format": "short", - "label": "cores", - "logBase": 1, - "max": null, - "min": "0", - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + "id": "calculateField", + "options": {} } ], - "yaxis": { - "align": false, - "alignLevel": null - } + "type": "timeseries" }, { - "aliasColors": {}, - "bars": true, - "dashLength": 10, - "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "description": "This graph shows the requested CPU resources higher than the actual CPU consumption. In other words, it shows CPU resources that can be \"freed\" without affecting the service.", "fieldConfig": { "defaults": { - "links": [] + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "cores", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 30, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 1, + "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 + } + ] + }, + "unit": "short" }, - "overrides": [] + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Total" + }, + "properties": [ + { + "id": "custom.stacking", + "value": { + "group": false, + "mode": "none" + } + }, + { + "id": "custom.lineWidth", + "value": 0 + }, + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "color", + "value": { + "fixedColor": "yellow", + "mode": "fixed" + } + } + ] + } + ] }, - "fill": 1, - "fillGradient": 0, "gridPos": { "h": 7, "w": 12, "x": 0, "y": 22 }, - "hiddenSeries": false, "id": 333, - "legend": { - "alignAsTable": true, - "avg": true, - "current": false, - "max": false, - "min": false, - "rightSide": true, - "show": true, - "sort": "avg", - "sortDesc": true, - "total": false, - "values": true - }, - "lines": false, - "linewidth": 1, "links": [], - "nullPointMode": "null as zero", "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.2.3", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "Total", - "bars": false, - "stack": false + "legend": { + "calcs": [ + "mean" + ], + "displayMode": "table", + "placement": "right", + "showLegend": true, + "sortBy": "Mean", + "sortDesc": true + }, + "tooltip": { + "mode": "multi", + "sort": "desc" } - ], - "spaceLength": 10, - "stack": true, - "steppedLine": true, + }, + "pluginVersion": "8.5.13", "targets": [ { + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "expr": "sum by (namespace)\n (\n (\n sum by(namespace, pod, container) (avg_over_time(kube_pod_container_resource_requests{resource=\"cpu\",unit=\"core\",node=~\"$node\", namespace=~\"$namespace\"}[$__rate_interval]))\n -\n sum by(namespace, pod, container) (rate(container_cpu_usage_seconds_total{node=~\"$node\", container!=\"POD\", namespace=~\"$namespace\"}[$__rate_interval]))\n ) > 0\n )", "format": "time_series", "intervalFactor": 1, "legendFormat": "{{ namespace }}", "refId": "B" - }, - { - "expr": "sum\n(\n (\n (\n sum by(namespace, pod, container) (avg_over_time(kube_pod_container_resource_requests{resource=\"cpu\",unit=\"core\",node=~\"$node\", namespace=~\"$namespace\"}[$__rate_interval]))\n -\n sum by(namespace, pod, container) (rate(container_cpu_usage_seconds_total{node=~\"$node\", container!=\"POD\", namespace=~\"$namespace\"}[$__rate_interval]))\n ) > 0\n )\n)", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "Total", - "refId": "A" } ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, "title": "Over-requested by namespace", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ + "transformations": [ { - "format": "short", - "label": "cores", - "logBase": 1, - "max": null, - "min": "0", - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + "id": "calculateField", + "options": {} } ], - "yaxis": { - "align": false, - "alignLevel": null - } + "type": "timeseries" }, { - "aliasColors": {}, - "bars": true, - "dashLength": 10, - "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "description": "This graph shows the requested CPU resources lower than the actual CPU consumption. In other words, it shows CPU resources that need to be \"reserved\" for the service to run smoothly.", "fieldConfig": { "defaults": { - "links": [] + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "cores", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 30, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 1, + "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 + } + ] + }, + "unit": "short" }, - "overrides": [] + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Total" + }, + "properties": [ + { + "id": "custom.stacking", + "value": { + "group": false, + "mode": "none" + } + }, + { + "id": "custom.lineWidth", + "value": 0 + }, + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "color", + "value": { + "fixedColor": "yellow", + "mode": "fixed" + } + } + ] + } + ] }, - "fill": 1, - "fillGradient": 0, "gridPos": { "h": 7, "w": 12, "x": 12, "y": 22 }, - "hiddenSeries": false, "id": 386, - "legend": { - "alignAsTable": true, - "avg": true, - "current": false, - "max": false, - "min": false, - "rightSide": true, - "show": true, - "sort": "avg", - "sortDesc": true, - "total": false, - "values": true - }, - "lines": false, - "linewidth": 1, "links": [], - "nullPointMode": "null as zero", "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.2.3", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "Total", - "bars": false, - "stack": false + "legend": { + "calcs": [ + "mean" + ], + "displayMode": "table", + "placement": "right", + "showLegend": true, + "sortBy": "Mean", + "sortDesc": true + }, + "tooltip": { + "mode": "multi", + "sort": "desc" } - ], - "spaceLength": 10, - "stack": true, - "steppedLine": true, + }, + "pluginVersion": "8.5.13", "targets": [ { + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "expr": "sum by (namespace)\n (\n (\n (\n sum by(namespace, pod, container) (rate(container_cpu_usage_seconds_total{node=~\"$node\", container!=\"POD\", namespace=~\"$namespace\"}[$__rate_interval]))\n -\n sum by(namespace, pod, container) (avg_over_time(kube_pod_container_resource_requests{resource=\"cpu\",unit=\"core\",node=~\"$node\", namespace=~\"$namespace\"}[$__rate_interval]))\n ) or sum by(namespace, pod, container) (rate(container_cpu_usage_seconds_total{node=~\"$node\", container!=\"POD\", namespace=~\"$namespace\"}[$__rate_interval]))\n )\n > 0\n )", "format": "time_series", "intervalFactor": 1, "legendFormat": "{{ namespace }}", "refId": "B" - }, - { - "expr": "sum\n (\n (\n (\n sum by(namespace, pod, container) (rate(container_cpu_usage_seconds_total{node=~\"$node\", container!=\"POD\", namespace=~\"$namespace\"}[$__rate_interval]))\n -\n sum by(namespace, pod, container) (avg_over_time(kube_pod_container_resource_requests{resource=\"cpu\",unit=\"core\",node=~\"$node\", namespace=~\"$namespace\"}[$__rate_interval]))\n ) or sum by(namespace, pod, container) (rate(container_cpu_usage_seconds_total{node=~\"$node\", container!=\"POD\", namespace=~\"$namespace\"}[$__rate_interval]))\n )\n > 0\n )", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "Total", - "refId": "A" } ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, "title": "Under-requested by namespace", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ + "transformations": [ { - "format": "short", - "label": "cores", - "logBase": 1, - "max": null, - "min": "0", - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + "id": "calculateField", + "options": {} } ], - "yaxis": { - "align": false, - "alignLevel": null - } + "type": "timeseries" }, { - "aliasColors": {}, - "bars": true, - "dashLength": 10, - "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "description": "The absence of data on the graph means that container resources are not set", "fieldConfig": { "defaults": { - "links": [] + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "cores", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 30, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 1, + "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 + } + ] + }, + "unit": "short" }, - "overrides": [] + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Total" + }, + "properties": [ + { + "id": "custom.stacking", + "value": { + "group": false, + "mode": "none" + } + }, + { + "id": "custom.lineWidth", + "value": 0 + }, + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "color", + "value": { + "fixedColor": "yellow", + "mode": "fixed" + } + } + ] + } + ] }, - "fill": 1, - "fillGradient": 0, "gridPos": { "h": 5, "w": 24, "x": 0, "y": 29 }, - "hiddenSeries": false, "id": 315, - "legend": { - "alignAsTable": true, - "avg": true, - "current": false, - "hideEmpty": true, - "hideZero": true, - "max": true, - "min": false, - "rightSide": true, - "show": true, - "sort": "avg", - "sortDesc": true, - "total": false, - "values": true - }, - "lines": false, - "linewidth": 1, "links": [], - "nullPointMode": "null as zero", "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.2.3", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "Total", - "bars": false, - "stack": false + "legend": { + "calcs": [ + "mean", + "max" + ], + "displayMode": "table", + "placement": "right", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "desc" } - ], - "spaceLength": 10, - "stack": true, - "steppedLine": false, + }, + "pluginVersion": "8.5.13", "targets": [ { + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "expr": "sum by (namespace) ((sum by (namespace, pod) (rate(container_cpu_cfs_throttled_periods_total{node=~\"$node\", namespace=~\"$namespace\"}[$__rate_interval])) / sum by (namespace, pod) (rate(container_cpu_cfs_periods_total{node=~\"$node\", namespace=~\"$namespace\"}[$__rate_interval]))) * sum by (namespace, pod) (kube_pod_container_resource_limits{resource=\"cpu\",unit=\"core\",node=~\"$node\", namespace=~\"$namespace\"}))", "format": "time_series", "interval": "", "intervalFactor": 1, "legendFormat": "{{ namespace }}", "refId": "A" - }, - { - "expr": "sum(sum by (namespace) ((sum by (namespace, pod) (rate(container_cpu_cfs_throttled_periods_total{node=~\"$node\", namespace=~\"$namespace\"}[$__rate_interval])) / sum by (namespace, pod) (rate(container_cpu_cfs_periods_total{node=~\"$node\", namespace=~\"$namespace\"}[$__rate_interval]))) * sum by (namespace, pod) (kube_pod_container_resource_limits{resource=\"cpu\",unit=\"core\",node=~\"$node\", namespace=~\"$namespace\"})))", - "format": "time_series", - "interval": "", - "intervalFactor": 1, - "legendFormat": "Total", - "refId": "B" } ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, "title": "Throttling", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ + "transformations": [ { - "format": "short", - "label": "cores", - "logBase": 1, - "max": null, - "min": "0", - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": false + "id": "calculateField", + "options": {} } ], - "yaxis": { - "align": false, - "alignLevel": null - } + "type": "timeseries" }, { "collapsed": true, - "datasource": null, + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "gridPos": { "h": 1, "w": 24, @@ -1918,62 +2069,145 @@ "id": 343, "panels": [ { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "description": "", - "fill": 0, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisLabel": "cores", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "smooth", + "lineWidth": 2, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "short" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Usage" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#629e51", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Requests" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#f4d598", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Limits" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#c15c17", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "VPA Target" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#447ebc", + "mode": "fixed" + } + } + ] + } + ] + }, "gridPos": { "h": 9, "w": 6, "x": 0, - "y": 40 + "y": 35 }, "id": 352, - "legend": { - "alignAsTable": false, - "avg": false, - "current": false, - "max": false, - "min": false, - "rightSide": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 2, "links": [], - "nullPointMode": "null", - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } + }, + "pluginVersion": "8.5.13", "repeat": "namespace", "repeatDirection": "h", - "seriesOverrides": [ - { - "alias": "Usage", - "color": "#629e51" - }, - { - "alias": "Requests", - "color": "#f4d598" - }, - { - "alias": "Limits", - "color": "#c15c17" - }, - { - "alias": "VPA Target", - "color": "#447ebc" - } - ], - "spaceLength": 10, - "stack": false, - "steppedLine": true, "targets": [ { "expr": "sum by (namespace) (rate(container_cpu_usage_seconds_total{node=~\"$node\", namespace=\"$namespace\", container!=\"POD\"}[$__rate_interval]))", @@ -2005,46 +2239,8 @@ "refId": "D" } ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, "title": "$namespace", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "label": "cores", - "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 - } + "type": "timeseries" } ], "title": "Namespaces CPU", @@ -2052,7 +2248,10 @@ }, { "collapsed": true, - "datasource": null, + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "gridPos": { "h": 1, "w": 24, @@ -2062,61 +2261,152 @@ "id": 12, "panels": [ { - "aliasColors": {}, - "bars": true, - "dashLength": 10, - "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "description": "The total value may not equal the sum of system and user times because of the kernel's cgroup accounting peculiarities. Read more here: https://www.kernel.org/doc/Documentation/cgroup-v1/cpuacct.txt", - "fill": 1, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisLabel": "cores", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 30, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "smooth", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "normal" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "short" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Total" + }, + "properties": [ + { + "id": "custom.stacking", + "value": { + "group": false, + "mode": "none" + } + }, + { + "id": "custom.lineWidth", + "value": 0 + }, + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "color", + "value": { + "fixedColor": "yellow", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "System" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#e24d42", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "User" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#1f78c1", + "mode": "fixed" + } + } + ] + } + ] + }, "gridPos": { "h": 9, "w": 6, "x": 0, - "y": 41 + "y": 36 }, "id": 14, - "legend": { - "alignAsTable": false, - "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", - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "desc" + } + }, + "pluginVersion": "8.5.13", "repeat": "namespace", "repeatDirection": "h", - "seriesOverrides": [ - { - "alias": "Total", - "bars": false, - "stack": false - }, - { - "alias": "System", - "color": "#e24d42" - }, - { - "alias": "User", - "color": "#1f78c1" - } - ], - "spaceLength": 10, - "stack": true, - "steppedLine": true, "targets": [ { + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "expr": "sum by (namespace) (rate(container_cpu_system_seconds_total{node=~\"$node\", namespace=\"$namespace\", container!=\"POD\"}[$__rate_interval]))", "format": "time_series", "interval": "", @@ -2125,69 +2415,36 @@ "refId": "A" }, { + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "expr": "sum by (namespace) (rate(container_cpu_user_seconds_total{node=~\"$node\", namespace=\"$namespace\", container!=\"POD\"}[$__rate_interval]))", "format": "time_series", "intervalFactor": 1, "legendFormat": "User", "refId": "B" - }, - { - "expr": "sum by (namespace) (rate(container_cpu_usage_seconds_total{node=~\"$node\", namespace=\"$namespace\", container!=\"POD\"}[$__rate_interval]))", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "Total", - "refId": "D" } ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, "title": "$namespace", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ + "transformations": [ { - "format": "short", - "label": "cores", - "logBase": 1, - "max": null, - "min": "0", - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + "id": "calculateField", + "options": {} } ], - "yaxis": { - "align": false, - "alignLevel": null - } + "type": "timeseries" } ], - "repeat": null, "title": "Namespaces CPU by state", "type": "row" }, { "collapsed": false, - "datasource": null, + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "gridPos": { "h": 1, "w": 24, @@ -2200,189 +2457,301 @@ "type": "row" }, { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "fieldConfig": { "defaults": { - "links": [] + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 30, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 1, + "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 + } + ] + }, + "unit": "bytes" }, - "overrides": [] + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Total" + }, + "properties": [ + { + "id": "custom.lineWidth", + "value": 0 + }, + { + "id": "custom.stacking", + "value": { + "group": false, + "mode": "none" + } + }, + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "color", + "value": { + "fixedColor": "yellow", + "mode": "fixed" + } + } + ] + } + ] }, - "fill": 1, - "fillGradient": 0, "gridPos": { "h": 9, "w": 12, "x": 0, "y": 37 }, - "hiddenSeries": false, "id": 40, - "legend": { - "alignAsTable": false, - "avg": false, - "current": false, - "max": false, - "min": false, - "rightSide": false, - "show": false, - "sort": "avg", - "sortDesc": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, "links": [], - "nullPointMode": "null as zero", "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.2.3", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "Total", - "lines": false, - "stack": false + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": false + }, + "tooltip": { + "mode": "multi", + "sort": "desc" } - ], - "spaceLength": 10, - "stack": true, - "steppedLine": false, + }, + "pluginVersion": "8.5.13", "targets": [ { + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "expr": "sum by (namespace) (avg_over_time(container_memory_working_set_bytes:without_kmem{node=~\"$node\", namespace=~\"$namespace\", container!=\"POD\"}[$__rate_interval]))", "format": "time_series", "intervalFactor": 1, "legendFormat": "{{ namespace }}", "refId": "A" - }, - { - "expr": "sum (avg_over_time(container_memory_working_set_bytes:without_kmem{node=~\"$node\", namespace=~\"$namespace\", container!=\"POD\"}[$__rate_interval]))", - "format": "time_series", - "interval": "", - "intervalFactor": 1, - "legendFormat": "Total", - "refId": "B" } ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, "title": "Usage by namespace", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ + "transformations": [ { - "format": "bytes", - "label": null, - "logBase": 1, - "max": null, - "min": "0", - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": false + "id": "calculateField", + "options": {} } ], - "yaxis": { - "align": false, - "alignLevel": null - } + "type": "timeseries" }, { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "description": "The Working set bytes metric is the actual memory used by the container, as it includes active file memory. When its value approaches the limit, the container can be killed by the OOMKiller. This value can be higher than the sum RSS and Cache since not all active file memory is Cache.", "fieldConfig": { "defaults": { - "links": [] + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 30, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 1, + "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": "bytes" }, - "overrides": [] + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Working set bytes without kmem" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "rgb(0, 0, 0)", + "mode": "fixed" + } + }, + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "custom.lineWidth", + "value": 2 + }, + { + "id": "custom.stacking", + "value": { + "group": false, + "mode": "normal" + } + }, + { + "id": "custom.lineStyle", + "value": { + "dash": [ + 10, + 10 + ], + "fill": "dash" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Kmem" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "rgb(255, 0, 0)", + "mode": "fixed" + } + }, + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "custom.lineWidth", + "value": 2 + }, + { + "id": "custom.stacking", + "value": { + "group": false, + "mode": "normal" + } + }, + { + "id": "custom.lineStyle", + "value": { + "dash": [ + 10, + 10 + ], + "fill": "dash" + } + } + ] + } + ] }, - "fill": 1, - "fillGradient": 0, "gridPos": { "h": 9, "w": 12, "x": 12, "y": 37 }, - "hiddenSeries": false, "id": 41, - "legend": { - "alignAsTable": false, - "avg": false, - "current": false, - "max": false, - "min": false, - "rightSide": false, - "show": false, - "sort": "avg", - "sortDesc": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, "links": [], - "nullPointMode": "null as zero", "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.2.3", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "Working set bytes without kmem", - "color": "rgb(0, 0, 0)", - "dashes": true, - "fill": 0, - "linewidth": 2, - "stack": false + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": false }, - { - "alias": "Kmem", - "color": "rgb(255, 0, 0)", - "dashes": true, - "fill": 0, - "linewidth": 2, - "stack": false + "tooltip": { + "mode": "multi", + "sort": "desc" } - ], - "spaceLength": 10, - "stack": true, - "steppedLine": false, + }, + "pluginVersion": "8.5.13", "targets": [ { "expr": "sum (avg_over_time(container_memory_rss{node=~\"$node\", namespace=~\"$namespace\", container!=\"POD\"}[$__rate_interval]))", @@ -2422,268 +2791,283 @@ "refId": "E" } ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, "title": "Usage by state", - "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": null, - "show": false - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } + "type": "timeseries" }, { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "description": "This graph shows the requested Memory resources higher than the actual Memory consumption. In other words, it shows Memory resources that can be \"freed\" without affecting the service.", - "fill": 1, - "fillGradient": 0, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 30, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "normal" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "bytes" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Total" + }, + "properties": [ + { + "id": "custom.lineWidth", + "value": 0 + }, + { + "id": "custom.stacking", + "value": { + "group": false, + "mode": "none" + } + }, + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "color", + "value": { + "fixedColor": "yellow", + "mode": "fixed" + } + } + ] + } + ] + }, "gridPos": { "h": 7, "w": 12, "x": 0, "y": 46 }, - "hiddenSeries": false, "id": 361, - "legend": { - "alignAsTable": false, - "avg": false, - "current": false, - "max": false, - "min": false, - "rightSide": false, - "show": false, - "sort": "avg", - "sortDesc": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, "links": [], - "nullPointMode": "null as zero", "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.2.3", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "Total", - "lines": false, - "stack": false + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": false + }, + "tooltip": { + "mode": "multi", + "sort": "desc" } - ], - "spaceLength": 10, - "stack": true, - "steppedLine": false, + }, + "pluginVersion": "8.5.13", "targets": [ { + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "expr": "sum by (namespace)\n (\n (\n sum by(namespace, pod, container) (avg_over_time(kube_pod_container_resource_requests{resource=\"memory\",unit=\"byte\",node=~\"$node\", namespace=~\"$namespace\"}[$__rate_interval]))\n -\n sum by(namespace, pod, container) (avg_over_time(container_memory_working_set_bytes:without_kmem{node=~\"$node\", container!=\"POD\", namespace=~\"$namespace\"}[$__rate_interval]))\n ) > 0\n )", "format": "time_series", "intervalFactor": 1, "legendFormat": "{{ namespace }}", "refId": "A" - }, - { - "expr": "sum\n (\n (\n sum by(namespace, pod, container) (avg_over_time(kube_pod_container_resource_requests{resource=\"memory\",unit=\"byte\",node=~\"$node\", namespace=~\"$namespace\"}[$__rate_interval]))\n -\n sum by(namespace, pod, container) (avg_over_time(container_memory_working_set_bytes:without_kmem{node=~\"$node\", container!=\"POD\", namespace=~\"$namespace\"}[$__rate_interval]))\n ) > 0\n )", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "Total", - "refId": "B" } ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, "title": "Over-requested by namespace", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ + "transformations": [ { - "format": "bytes", - "label": null, - "logBase": 1, - "max": null, - "min": "0", - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": false + "id": "calculateField", + "options": {} } ], - "yaxis": { - "align": false, - "alignLevel": null - } + "type": "timeseries" }, { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "description": "This graph shows the requested Memory resources higher than the actual Memory consumption. In other words, it shows Memory resources that need to be \"reserved\" for the service to run smoothly.", - "fill": 1, - "fillGradient": 0, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 30, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "normal" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "bytes" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Total" + }, + "properties": [ + { + "id": "custom.lineWidth", + "value": 0 + }, + { + "id": "custom.stacking", + "value": { + "group": false, + "mode": "none" + } + }, + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "color", + "value": { + "fixedColor": "yellow", + "mode": "fixed" + } + } + ] + } + ] + }, "gridPos": { "h": 7, "w": 12, "x": 12, "y": 46 }, - "hiddenSeries": false, "id": 387, - "legend": { - "alignAsTable": false, - "avg": false, - "current": false, - "max": false, - "min": false, - "rightSide": false, - "show": false, - "sort": "avg", - "sortDesc": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, "links": [], - "nullPointMode": "null as zero", "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.2.3", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "Total", - "lines": false, - "stack": false + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": false + }, + "tooltip": { + "mode": "multi", + "sort": "desc" } - ], - "spaceLength": 10, - "stack": true, - "steppedLine": false, + }, + "pluginVersion": "8.5.13", "targets": [ { + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "expr": "sum by (namespace)\n (\n (\n (\n sum by(namespace, pod, container) (avg_over_time(container_memory_working_set_bytes:without_kmem{node=~\"$node\", container!=\"POD\", namespace=~\"$namespace\"}[$__rate_interval]))\n -\n sum by(namespace, pod, container) (avg_over_time(kube_pod_container_resource_requests{resource=\"memory\",unit=\"byte\",node=~\"$node\", namespace=~\"$namespace\"}[$__rate_interval]))\n ) or sum by(namespace, pod, container) (avg_over_time(container_memory_working_set_bytes:without_kmem{node=~\"$node\", container!=\"POD\", namespace=~\"$namespace\"}[$__rate_interval]))\n )\n > 0\n )", "format": "time_series", "intervalFactor": 1, "legendFormat": "{{ namespace }}", "refId": "A" - }, - { - "expr": "sum\n (\n (\n (\n sum by(namespace, pod, container) (avg_over_time(container_memory_working_set_bytes:without_kmem{node=~\"$node\", container!=\"POD\", namespace=~\"$namespace\"}[$__rate_interval]))\n -\n sum by(namespace, pod, container) (avg_over_time(kube_pod_container_resource_requests{resource=\"memory\",unit=\"byte\",node=~\"$node\", namespace=~\"$namespace\"}[$__rate_interval]))\n ) or sum by(namespace, pod, container) (avg_over_time(container_memory_working_set_bytes:without_kmem{node=~\"$node\", container!=\"POD\", namespace=~\"$namespace\"}[$__rate_interval]))\n )\n > 0\n )", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "Total", - "refId": "B" } ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, "title": "Under-requested by namespace", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ + "transformations": [ { - "format": "bytes", - "label": null, - "logBase": 1, - "max": null, - "min": "0", - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": false + "id": "calculateField", + "options": {} } ], - "yaxis": { - "align": false, - "alignLevel": null - } + "type": "timeseries" }, { "collapsed": true, - "datasource": null, + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "gridPos": { "h": 1, "w": 24, @@ -2693,89 +3077,297 @@ "id": 43, "panels": [ { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "description": "The Working set bytes metric is the actual memory used by the container, as it includes active file memory. When its value approaches the limit, the container can be killed by the OOMKiller. This value can be higher than the sum RSS and Cache since not all active file memory is Cache.", - "fill": 1, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 30, + "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": "normal" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "bytes" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Working set bytes without kmem" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "rgb(0, 0, 0)", + "mode": "fixed" + } + }, + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "custom.lineWidth", + "value": 2 + }, + { + "id": "custom.stacking", + "value": { + "group": false, + "mode": "none" + } + }, + { + "id": "custom.lineStyle", + "value": { + "dash": [ + 10, + 10 + ], + "fill": "dash" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Kmem" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "rgb(255, 0, 0)", + "mode": "fixed" + } + }, + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "custom.lineWidth", + "value": 2 + }, + { + "id": "custom.stacking", + "value": { + "group": false, + "mode": "normal" + } + }, + { + "id": "custom.lineStyle", + "value": { + "dash": [ + 10, + 10 + ], + "fill": "dash" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "VPA Target" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#447ebc", + "mode": "fixed" + } + }, + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "custom.lineWidth", + "value": 0 + }, + { + "id": "custom.lineWidth", + "value": 2 + }, + { + "id": "custom.stacking", + "value": { + "group": false, + "mode": "none" + } + }, + { + "id": "custom.lineStyle", + "value": { + "dash": [ + 10, + 10 + ], + "fill": "dash" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Requests" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#f4d598", + "mode": "fixed" + } + }, + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "custom.lineWidth", + "value": 0 + }, + { + "id": "custom.lineWidth", + "value": 2 + }, + { + "id": "custom.stacking", + "value": { + "group": false, + "mode": "none" + } + }, + { + "id": "custom.lineStyle", + "value": { + "dash": [ + 10, + 10 + ], + "fill": "dash" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Limits" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#c15c17", + "mode": "fixed" + } + }, + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "custom.lineWidth", + "value": 0 + }, + { + "id": "custom.lineWidth", + "value": 2 + }, + { + "id": "custom.stacking", + "value": { + "group": false, + "mode": "none" + } + }, + { + "id": "custom.lineStyle", + "value": { + "dash": [ + 10, + 10 + ], + "fill": "dash" + } + } + ] + } + ] + }, "gridPos": { "h": 9, "w": 6, "x": 0, - "y": 59 + "y": 54 }, "id": 44, - "legend": { - "alignAsTable": false, - "avg": false, - "current": false, - "max": false, - "min": false, - "rightSide": false, - "show": false, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, "links": [], - "nullPointMode": "null as zero", - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": false + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } + }, + "pluginVersion": "8.5.13", "repeat": "namespace", "repeatDirection": "h", - "seriesOverrides": [ - { - "alias": "Working set bytes without kmem", - "color": "rgb(0, 0, 0)", - "dashes": true, - "fill": 0, - "linewidth": 2, - "stack": false - }, - { - "alias": "Kmem", - "color": "rgb(255, 0, 0)", - "dashes": true, - "fill": 0, - "linewidth": 2, - "stack": false - }, - { - "alias": "VPA Target", - "color": "#447ebc", - "dashes": true, - "fill": 0, - "lines": false, - "linewidth": 2, - "stack": false - }, - { - "alias": "Requests", - "color": "#f4d598", - "dashes": true, - "fill": 0, - "lines": false, - "linewidth": 2, - "stack": false - }, - { - "alias": "Limits", - "color": "#c15c17", - "dashes": true, - "fill": 0, - "lines": false, - "linewidth": 2, - "stack": false - } - ], - "spaceLength": 10, - "stack": true, - "steppedLine": false, "targets": [ { "expr": "sum by (namespace) (avg_over_time(container_memory_rss{node=~\"$node\", namespace=\"$namespace\", container!=\"POD\"}[$__rate_interval]))", @@ -2836,46 +3428,8 @@ "refId": "H" } ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, "title": "$namespace", - "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": null, - "show": false - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } + "type": "timeseries" } ], "title": "Namespaces Memory", @@ -2883,7 +3437,10 @@ }, { "collapsed": false, - "datasource": null, + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "gridPos": { "h": 1, "w": 24, @@ -2896,226 +3453,296 @@ "type": "row" }, { - "aliasColors": {}, - "bars": true, - "dashLength": 10, - "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "description": "This graph shows Network Receive (except for the hostNetwork Pods)", - "fill": 1, - "fillGradient": 0, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 30, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "normal" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "Bps" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Total" + }, + "properties": [ + { + "id": "custom.stacking", + "value": { + "group": false, + "mode": "none" + } + }, + { + "id": "custom.lineWidth", + "value": 0 + }, + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "color", + "value": { + "fixedColor": "yellow", + "mode": "fixed" + } + } + ] + } + ] + }, "gridPos": { "h": 8, "w": 12, "x": 0, "y": 55 }, - "hiddenSeries": false, "id": 79, - "legend": { - "alignAsTable": true, - "avg": true, - "current": false, - "max": false, - "min": false, - "rightSide": true, - "show": true, - "sort": "avg", - "sortDesc": true, - "total": false, - "values": true - }, - "lines": false, - "linewidth": 2, "links": [], - "nullPointMode": "null as zero", "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.2.3", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "Total", - "bars": false, - "stack": false + "legend": { + "calcs": [ + "mean" + ], + "displayMode": "table", + "placement": "right", + "showLegend": true, + "sortBy": "Mean", + "sortDesc": true + }, + "tooltip": { + "mode": "multi", + "sort": "desc" } - ], - "spaceLength": 10, - "stack": true, - "steppedLine": false, + }, + "pluginVersion": "8.5.13", "targets": [ { - "expr": "sum by (namespace) (rate(container_network_receive_bytes_total{node=~\"$node\", namespace=~\"$namespace\"}[$__rate_interval])) \n- \n(\n sum by (namespace) (\n sum by (namespace, pod) (rate(container_network_receive_bytes_total{node=~\"$node\", namespace=~\"$namespace\"}[$__rate_interval]))\n * \n sum by (namespace, pod) (kube_pod_info{host_network=\"true\",namespace=~\"$namespace\"})\n )\n)", + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, + "editorMode": "code", + "expr": "(sum by (namespace) (rate(container_network_receive_bytes_total{node=~\"$node\", namespace=~\"$namespace\"}[$__rate_interval])) \n-\n(\n sum by (namespace) (\n sum by (namespace, pod) (rate(container_network_receive_bytes_total{node=~\"$node\", namespace=~\"$namespace\"}[$__rate_interval]))\n * \n sum by (namespace, pod) (kube_pod_info{host_network=\"true\",namespace=~\"$namespace\"})\n )\n))\nor sum by (namespace) (rate(container_network_receive_bytes_total{node=~\"$node\", namespace=~\"$namespace\"}[$__rate_interval])) ", "format": "time_series", + "hide": false, "intervalFactor": 1, "legendFormat": "{{ namespace }}", + "range": true, "refId": "A" - }, - { - "expr": "sum (\n sum by (namespace) (rate(container_network_receive_bytes_total{node=~\"$node\", namespace=~\"$namespace\"}[$__rate_interval])) \n - \n (\n sum by (namespace) (\n sum by (namespace, pod) (rate(container_network_receive_bytes_total{node=~\"$node\", namespace=~\"$namespace\"}[$__rate_interval]))\n * \n sum by (namespace, pod) (kube_pod_info{host_network=\"true\",namespace=~\"$namespace\"})\n )\n )\n)", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "Total", - "refId": "B" } ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, "title": "Receive", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ + "transformations": [ { - "format": "Bps", - "label": null, - "logBase": 1, - "max": null, - "min": "0", - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + "id": "calculateField", + "options": {} } ], - "yaxis": { - "align": false, - "alignLevel": null - } + "type": "timeseries" }, { - "aliasColors": {}, - "bars": true, - "dashLength": 10, - "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "description": "This graph shows Network Transmit (except for the hostNetwork Pods)", - "fill": 1, - "fillGradient": 0, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 30, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "normal" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "Bps" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Total" + }, + "properties": [ + { + "id": "custom.stacking", + "value": { + "group": false, + "mode": "none" + } + }, + { + "id": "custom.lineWidth", + "value": 0 + }, + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "color", + "value": { + "fixedColor": "yellow", + "mode": "fixed" + } + } + ] + } + ] + }, "gridPos": { "h": 8, "w": 12, "x": 12, "y": 55 }, - "hiddenSeries": false, "id": 276, - "legend": { - "alignAsTable": true, - "avg": true, - "current": false, - "max": false, - "min": false, - "rightSide": true, - "show": true, - "sort": "avg", - "sortDesc": true, - "total": false, - "values": true - }, - "lines": false, - "linewidth": 2, "links": [], - "nullPointMode": "null as zero", "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.2.3", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "Total", - "bars": false, - "stack": false + "legend": { + "calcs": [ + "mean" + ], + "displayMode": "table", + "placement": "right", + "showLegend": true, + "sortBy": "Mean", + "sortDesc": true + }, + "tooltip": { + "mode": "multi", + "sort": "desc" } - ], - "spaceLength": 10, - "stack": true, - "steppedLine": false, + }, + "pluginVersion": "8.5.13", "targets": [ { - "expr": "sum by (namespace) (rate(container_network_transmit_bytes_total{node=~\"$node\", namespace=~\"$namespace\"}[$__rate_interval])) \n- \n(\n sum by (namespace) (\n sum by (namespace, pod) (rate(container_network_transmit_bytes_total{node=~\"$node\", namespace=~\"$namespace\"}[$__rate_interval]))\n * \n sum by (namespace, pod) (kube_pod_info{host_network=\"true\",namespace=~\"$namespace\"})\n )\n)", + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, + "editorMode": "code", + "expr": "(sum by (namespace) (rate(container_network_transmit_bytes_total{node=~\"$node\", namespace=~\"$namespace\"}[$__rate_interval])) \n- \n(\n sum by (namespace) (\n sum by (namespace, pod) (rate(container_network_transmit_bytes_total{node=~\"$node\", namespace=~\"$namespace\"}[$__rate_interval]))\n * \n sum by (namespace, pod) (kube_pod_info{host_network=\"true\",namespace=~\"$namespace\"})\n )\n))\nor\nsum by (namespace) (rate(container_network_transmit_bytes_total{node=~\"$node\", namespace=~\"$namespace\"}[$__rate_interval])) ", "format": "time_series", "intervalFactor": 1, "legendFormat": "{{ namespace }}", + "range": true, "refId": "A" - }, - { - "expr": "sum (\n sum by (namespace) (rate(container_network_transmit_bytes_total{node=~\"$node\", namespace=~\"$namespace\"}[$__rate_interval])) \n - \n (\n sum by (namespace) (\n sum by (namespace, pod) (rate(container_network_transmit_bytes_total{node=~\"$node\", namespace=~\"$namespace\"}[$__rate_interval]))\n * \n sum by (namespace, pod) (kube_pod_info{host_network=\"true\",namespace=~\"$namespace\"})\n )\n )\n)", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "Total", - "refId": "B" } ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, "title": "Transmit", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ + "transformations": [ { - "format": "Bps", - "label": null, - "logBase": 1, - "max": null, - "min": "0", - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + "id": "calculateField", + "options": {} } ], - "yaxis": { - "align": false, - "alignLevel": null - } + "type": "timeseries" }, { "collapsed": false, - "datasource": null, + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "gridPos": { "h": 1, "w": 24, @@ -3128,224 +3755,281 @@ "type": "row" }, { - "aliasColors": {}, - "bars": true, - "dashLength": 10, - "dashes": false, - "datasource": "$ds_prometheus", - "fill": 1, - "fillGradient": 0, + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 30, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "normal" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "iops" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Total" + }, + "properties": [ + { + "id": "custom.stacking", + "value": { + "group": false, + "mode": "none" + } + }, + { + "id": "custom.lineWidth", + "value": 0 + }, + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "color", + "value": { + "fixedColor": "yellow", + "mode": "fixed" + } + } + ] + } + ] + }, "gridPos": { "h": 8, "w": 12, "x": 0, "y": 64 }, - "hiddenSeries": false, "id": 156, - "legend": { - "alignAsTable": true, - "avg": true, - "current": false, - "max": false, - "min": false, - "rightSide": true, - "show": true, - "sort": "avg", - "sortDesc": true, - "total": false, - "values": true - }, - "lines": false, - "linewidth": 1, "links": [], - "nullPointMode": "null as zero", "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.2.3", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "Total", - "bars": false, - "stack": false + "legend": { + "calcs": [ + "mean" + ], + "displayMode": "table", + "placement": "right", + "showLegend": true, + "sortBy": "Mean", + "sortDesc": true + }, + "tooltip": { + "mode": "multi", + "sort": "desc" } - ], - "spaceLength": 10, - "stack": true, - "steppedLine": false, + }, + "pluginVersion": "8.5.13", "targets": [ { + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "expr": "sum by (namespace) (rate(container_fs_reads_total{node=~\"$node\", namespace=~\"$namespace\", container!=\"POD\"}[$__rate_interval]))", "format": "time_series", "intervalFactor": 1, "legendFormat": "{{ namespace }}", "refId": "A" - }, - { - "expr": "sum (rate(container_fs_reads_total{node=~\"$node\", namespace=~\"$namespace\", container!=\"POD\"}[$__rate_interval]))", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "Total", - "refId": "B" } ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, "title": "Read", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ + "transformations": [ { - "format": "iops", - "label": null, - "logBase": 1, - "max": null, - "min": "0", - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": false + "id": "calculateField", + "options": {} } ], - "yaxis": { - "align": false, - "alignLevel": null - } + "type": "timeseries" }, { - "aliasColors": {}, - "bars": true, - "dashLength": 10, - "dashes": false, - "datasource": "$ds_prometheus", - "fill": 1, - "fillGradient": 0, + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 30, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "normal" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "iops" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Total" + }, + "properties": [ + { + "id": "custom.stacking", + "value": { + "group": false, + "mode": "none" + } + }, + { + "id": "custom.lineWidth", + "value": 0 + }, + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "color", + "value": { + "fixedColor": "yellow", + "mode": "fixed" + } + } + ] + } + ] + }, "gridPos": { "h": 8, "w": 12, "x": 12, "y": 64 }, - "hiddenSeries": false, "id": 277, - "legend": { - "alignAsTable": true, - "avg": true, - "current": false, - "max": false, - "min": false, - "rightSide": true, - "show": true, - "sort": "avg", - "sortDesc": true, - "total": false, - "values": true - }, - "lines": false, - "linewidth": 1, "links": [], - "nullPointMode": "null as zero", "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.2.3", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "Total", - "bars": false, - "stack": false + "legend": { + "calcs": [ + "mean" + ], + "displayMode": "table", + "placement": "right", + "showLegend": true, + "sortBy": "Mean", + "sortDesc": true + }, + "tooltip": { + "mode": "multi", + "sort": "desc" } - ], - "spaceLength": 10, - "stack": true, - "steppedLine": false, + }, + "pluginVersion": "8.5.13", "targets": [ { + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "expr": "sum by (namespace) (rate(container_fs_writes_total{node=~\"$node\", namespace=~\"$namespace\", container!=\"POD\"}[$__rate_interval]))", "format": "time_series", "intervalFactor": 1, "legendFormat": "{{ namespace }}", "refId": "A" - }, - { - "expr": "sum (rate(container_fs_writes_total{node=~\"$node\", namespace=~\"$namespace\", container!=\"POD\"}[$__rate_interval]))", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "Total", - "refId": "B" } ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, "title": "Write", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ + "transformations": [ { - "format": "iops", - "label": null, - "logBase": 1, - "max": null, - "min": "0", - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": false + "id": "calculateField", + "options": {} } ], - "yaxis": { - "align": false, - "alignLevel": null - } + "type": "timeseries" }, { "collapsed": false, - "datasource": null, + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "gridPos": { "h": 1, "w": 24, @@ -3358,235 +4042,334 @@ "type": "row" }, { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "description": "This graph does not show any localstorage-related information due to incorrectly calculating the occupied space on localstorage disks", - "fill": 1, - "fillGradient": 0, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 30, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "normal" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "bytes" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Total" + }, + "properties": [ + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "custom.lineWidth", + "value": 0 + }, + { + "id": "custom.stacking", + "value": { + "group": false, + "mode": "none" + } + }, + { + "id": "color", + "value": { + "fixedColor": "yellow", + "mode": "fixed" + } + } + ] + } + ] + }, "gridPos": { "h": 7, "w": 12, "x": 0, "y": 73 }, - "hiddenSeries": false, "id": 519, - "legend": { - "alignAsTable": true, - "avg": true, - "current": false, - "max": false, - "min": false, - "rightSide": true, - "show": true, - "sort": "avg", - "sortDesc": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 1, "links": [], - "nullPointMode": "null as zero", "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.2.3", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "/Total/", - "fill": 0, - "linewidth": 2, - "stack": false + "legend": { + "calcs": [ + "mean" + ], + "displayMode": "table", + "placement": "right", + "showLegend": true, + "sortBy": "Mean", + "sortDesc": true + }, + "tooltip": { + "mode": "multi", + "sort": "desc" } - ], - "spaceLength": 10, - "stack": true, - "steppedLine": false, + }, + "pluginVersion": "8.5.13", "targets": [ { + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "expr": "(sum by (namespace) (\n (\n sum by (namespace, persistentvolumeclaim) (kubelet_volume_stats_capacity_bytes{node=~\"$node\"})\n * on (namespace, persistentvolumeclaim)\n sum by (namespace, persistentvolume, persistentvolumeclaim) (\n label_replace(\n max_over_time(kube_persistentvolumeclaim_info{namespace=~\"$namespace\"}[$__rate_interval]),\n \"persistentvolume\", \"$1\", \"volumename\", \"(.*)\")\n + on (persistentvolume) group_left() max by (persistentvolume) (kube_persistentvolume_is_local == 0)\n )\n )\n or on(namespace, persistentvolumeclaim) (\n sum by (persistentvolume) (\n max_over_time(kube_persistentvolume_capacity_bytes[$__rate_interval])\n )\n * on(persistentvolume) group_left(namespace, persistentvolumeclaim)\n sum by (namespace, persistentvolume, persistentvolumeclaim) (\n label_replace(\n max_over_time(kube_persistentvolumeclaim_info{namespace=~\"$namespace\"}[$__rate_interval]),\n \"persistentvolume\", \"$1\", \"volumename\", \"(.*)\")\n + on (persistentvolume) group_left() max by (persistentvolume) (kube_persistentvolume_is_local == 0)\n )\n )\n) and on (namespace) (kube_namespace_created * scalar(count (kube_node_info) == bool count (kube_node_info{node=~\"$node\"})) > 0))\nor sum by (namespace) (\n sum by (namespace, persistentvolumeclaim) (kubelet_volume_stats_capacity_bytes{node=~\"$node\"})\n * on (namespace, persistentvolumeclaim)\n sum by (namespace, persistentvolume, persistentvolumeclaim) (\n label_replace(\n max_over_time(kube_persistentvolumeclaim_info{namespace=~\"$namespace\"}[$__rate_interval]),\n \"persistentvolume\", \"$1\", \"volumename\", \"(.*)\")\n + on (persistentvolume) group_left() max by (persistentvolume) (kube_persistentvolume_is_local == 0)\n )\n)", "format": "time_series", "intervalFactor": 1, "legendFormat": "Provisioned {{ namespace }}", "refId": "A" - }, - { - "expr": "sum(\n(sum by (namespace) (\n (\n sum by (namespace, persistentvolumeclaim) (kubelet_volume_stats_capacity_bytes{node=~\"$node\"})\n * on (namespace, persistentvolumeclaim)\n sum by (namespace, persistentvolume, persistentvolumeclaim) (\n label_replace(\n max_over_time(kube_persistentvolumeclaim_info{namespace=~\"$namespace\"}[$__rate_interval]),\n \"persistentvolume\", \"$1\", \"volumename\", \"(.*)\")\n + on (persistentvolume) group_left() max by (persistentvolume) (kube_persistentvolume_is_local == 0)\n )\n )\n or on(namespace, persistentvolumeclaim) (\n sum by (persistentvolume) (\n max_over_time(kube_persistentvolume_capacity_bytes[$__rate_interval])\n )\n * on(persistentvolume) group_left(namespace, persistentvolumeclaim)\n sum by (namespace, persistentvolume, persistentvolumeclaim) (\n label_replace(\n max_over_time(kube_persistentvolumeclaim_info{namespace=~\"$namespace\"}[$__rate_interval]),\n \"persistentvolume\", \"$1\", \"volumename\", \"(.*)\")\n + on (persistentvolume) group_left() max by (persistentvolume) (kube_persistentvolume_is_local == 0)\n )\n )\n) and on (namespace) (kube_namespace_created * scalar(count (kube_node_info) == bool count (kube_node_info{node=~\"$node\"})) > 0))\nor sum by (namespace) (\n sum by (namespace, persistentvolumeclaim) (kubelet_volume_stats_capacity_bytes{node=~\"$node\"})\n * on (namespace, persistentvolumeclaim)\n sum by (namespace, persistentvolume, persistentvolumeclaim) (\n label_replace(\n max_over_time(kube_persistentvolumeclaim_info{namespace=~\"$namespace\"}[$__rate_interval]),\n \"persistentvolume\", \"$1\", \"volumename\", \"(.*)\")\n + on (persistentvolume) group_left() max by (persistentvolume) (kube_persistentvolume_is_local == 0)\n )\n))", - "format": "time_series", - "hide": false, - "intervalFactor": 1, - "legendFormat": "Total", - "refId": "B" } ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, "title": "PVC Provisioned (except local storage classes)", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ + "transformations": [ { - "format": "bytes", - "label": null, - "logBase": 1, - "max": null, - "min": "0", - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": false + "id": "calculateField", + "options": {} } ], - "yaxis": { - "align": false, - "alignLevel": null - } + "type": "timeseries" }, { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "description": "This graph does not show any localstorage-related information due to incorrectly calculating the occupied space on localstorage disks", - "fill": 1, - "fillGradient": 0, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 30, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "normal" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "bytes" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Total" + }, + "properties": [ + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "custom.lineWidth", + "value": 0 + }, + { + "id": "custom.stacking", + "value": { + "group": false, + "mode": "none" + } + }, + { + "id": "color", + "value": { + "fixedColor": "yellow", + "mode": "fixed" + } + } + ] + } + ] + }, "gridPos": { "h": 7, "w": 12, "x": 12, "y": 73 }, - "hiddenSeries": false, "id": 520, - "legend": { - "alignAsTable": true, - "avg": true, - "current": false, - "max": false, - "min": false, - "rightSide": true, - "show": true, - "sort": "avg", - "sortDesc": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 1, "links": [], - "nullPointMode": "null as zero", "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.2.3", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "/Total/", - "fill": 0, - "linewidth": 2, - "stack": false + "legend": { + "calcs": [ + "mean" + ], + "displayMode": "table", + "placement": "right", + "showLegend": true, + "sortBy": "Mean", + "sortDesc": true + }, + "tooltip": { + "mode": "multi", + "sort": "desc" } - ], - "spaceLength": 10, - "stack": true, - "steppedLine": false, + }, + "pluginVersion": "8.5.13", "targets": [ { + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "expr": "sum by (namespace) (\n sum by (namespace, persistentvolumeclaim) (\n max_over_time(kubelet_volume_stats_capacity_bytes{node=~\"$node\", namespace=~\"$namespace\"}[$__rate_interval]) - max_over_time(kubelet_volume_stats_available_bytes{node=~\"$node\", namespace=~\"$namespace\"}[$__rate_interval])\n )\n * on (namespace, persistentvolumeclaim) group_left(persistentvolume)\n\tsum by (namespace, persistentvolume, persistentvolumeclaim) (\n\t\tlabel_replace(\n\t\t\tmax_over_time(kube_persistentvolumeclaim_info{namespace=~\"$namespace\"}[$__rate_interval]),\n\t\t\t\"persistentvolume\", \"$1\", \"volumename\", \"(.*)\")\n\t\t\t+ on (persistentvolume) group_left() max by (persistentvolume) (kube_persistentvolume_is_local == 0)\n\t)\n)", "format": "time_series", "intervalFactor": 1, "legendFormat": "Usage {{ namespace }}", "refId": "A" - }, - { - "expr": "sum(\n sum by (namespace) (\n sum by (namespace, persistentvolumeclaim) (\n max_over_time(kubelet_volume_stats_capacity_bytes{node=~\"$node\", namespace=~\"$namespace\"}[$__rate_interval]) - max_over_time(kubelet_volume_stats_available_bytes{node=~\"$node\", namespace=~\"$namespace\"}[$__rate_interval])\n )\n \t* on (namespace, persistentvolumeclaim) group_left(persistentvolume)\n\t\tsum by (namespace, persistentvolume, persistentvolumeclaim) (\n\t\t\tlabel_replace(\n\t\t\t\tmax_over_time(kube_persistentvolumeclaim_info{namespace=~\"$namespace\"}[$__rate_interval]), \n\t\t\t\t\"persistentvolume\", \"$1\", \"volumename\", \"(.*)\")\n\t\t\t\t+ on (persistentvolume) group_left() max by (persistentvolume) (kube_persistentvolume_is_local == 0)\n\t\t)\n )\n)", - "format": "time_series", - "hide": false, - "intervalFactor": 1, - "legendFormat": "Total", - "refId": "B" } ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, "title": "PVC Used (except local storage classes)", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ + "transformations": [ { - "format": "bytes", - "label": null, - "logBase": 1, - "max": null, - "min": "0", - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": false + "id": "calculateField", + "options": {} } ], - "yaxis": { - "align": false, - "alignLevel": null - } + "type": "timeseries" }, { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "description": "This graph does not show any localstorage-related information due to incorrectly calculating the occupied space on localstorage disks", - "fill": 1, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 30, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "percentunit" + }, + "overrides": [] + }, "gridPos": { "h": 8, "w": 24, @@ -3594,39 +4377,24 @@ "y": 80 }, "id": 521, - "legend": { - "alignAsTable": true, - "avg": true, - "current": false, - "max": false, - "min": false, - "rightSide": true, - "show": true, - "sort": "avg", - "sortDesc": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 1, "links": [], - "nullPointMode": "null", - "percentage": false, - "pluginVersion": "8.2.3", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "/Total/", - "fill": 0, - "linewidth": 2, - "stack": false + "options": { + "legend": { + "calcs": [ + "mean" + ], + "displayMode": "table", + "placement": "right", + "showLegend": true, + "sortBy": "Mean", + "sortDesc": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" } - ], - "spaceLength": 10, - "stack": false, - "steppedLine": false, + }, + "pluginVersion": "8.5.13", "targets": [ { "expr": "sum by (namespace) (\n sum by (namespace, persistentvolumeclaim) (\n max_over_time(kubelet_volume_stats_capacity_bytes{node=~\"$node\", namespace=~\"$namespace\"}[$__rate_interval]) - max_over_time(kubelet_volume_stats_available_bytes{node=~\"$node\", namespace=~\"$namespace\"}[$__rate_interval])\n )\n * on (namespace, persistentvolumeclaim)\n\tsum by (namespace, persistentvolumeclaim) (\n\t\tlabel_replace(\n\t\t\tmax_over_time(\n\t\t\t\tkube_persistentvolumeclaim_info{namespace=~\"$namespace\"}[$__rate_interval]),\n\t\t\t\t\"persistentvolume\", \"$1\", \"volumename\", \"(.*)\")\n\t\t\t\t+ on (persistentvolume) group_left() max by (persistentvolume) (kube_persistentvolume_is_local == 0)\n\t)\n)\n/\nsum by (namespace) (\n sum by (namespace, persistentvolumeclaim) (\n max_over_time(kubelet_volume_stats_capacity_bytes{node=~\"$node\", namespace=~\"$namespace\"}[$__rate_interval])\n )\n * on (namespace, persistentvolumeclaim)\n\tsum by (namespace, persistentvolumeclaim) (\n\t\tlabel_replace(\n\t\t\tmax_over_time(\n\t\t\t\tkube_persistentvolumeclaim_info{namespace=~\"$namespace\"}[$__rate_interval]),\n\t\t\t\t\"persistentvolume\", \"$1\", \"volumename\", \"(.*)\")\n\t\t\t\t+ on (persistentvolume) group_left() max by (persistentvolume) (kube_persistentvolume_is_local == 0)\n\t)\n)", @@ -3636,51 +4404,12 @@ "refId": "A" } ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, "title": "PVC Used in % (except local storage classes)", - "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": null, - "min": "0", - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": false - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } + "type": "timeseries" } ], "refresh": "30s", - "schemaVersion": 32, - "style": "dark", + "schemaVersion": 38, "tags": [ "main" ], @@ -3688,12 +4417,10 @@ "list": [ { "current": { - "selected": false, + "selected": true, "text": "default", "value": "default" }, - "description": null, - "error": null, "hide": 0, "includeAll": false, "label": "Prometheus", @@ -3701,6 +4428,7 @@ "name": "ds_prometheus", "options": [], "query": "prometheus", + "queryValue": "", "refresh": 1, "regex": "", "skipUrlSync": false, @@ -3717,10 +4445,11 @@ "$__all" ] }, - "datasource": "$ds_prometheus", + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "definition": "label_values(kubernetes_build_info, node)", - "description": null, - "error": null, "hide": 0, "includeAll": true, "label": "Node", @@ -3751,10 +4480,11 @@ "$__all" ] }, - "datasource": "$ds_prometheus", + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "definition": "label_values(kube_pod_info{node=~\"$node\"}, namespace)", - "description": null, - "error": null, "hide": 0, "includeAll": true, "label": "Namespace", @@ -3808,5 +4538,6 @@ "timezone": "", "title": "Namespaces", "uid": "V_WjJ-Pmk", - "version": 2 + "version": 1, + "weekStart": "" } diff --git a/dashboards/main/node.json b/dashboards/main/node.json index 747e961f..53b3f67a 100644 --- a/dashboards/main/node.json +++ b/dashboards/main/node.json @@ -4,23 +4,38 @@ { "$$hashKey": "object:1058", "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" } ] }, "editable": false, + "fiscalYearStartMonth": 0, "gnetId": 1860, "graphTooltip": 0, - "iteration": 1630508489644, + "id": 45, + "iteration": 1712832386957, + "links": [], + "liveNow": false, "panels": [ { "collapsed": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "gridPos": { "h": 1, "w": 24, @@ -29,27 +44,28 @@ }, "id": 261, "panels": [], - "repeat": null, "title": "Quick CPU / Mem / Disk", "type": "row" }, { - "cacheTimeout": null, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "description": "Busy state of all CPU cores together", "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, - "custom": {}, "mappings": [ { - "id": 0, - "op": "=", - "text": "N/A", - "type": 1, - "value": "null" + "options": { + "match": "null", + "result": { + "text": "N/A" + } + }, + "type": "special" } ], "max": 100, @@ -96,7 +112,7 @@ "showThresholdMarkers": true, "text": {} }, - "pluginVersion": "7.4.2", + "pluginVersion": "8.5.13", "targets": [ { "expr": "(((count(count(node_cpu_seconds_total{node=~\"$node\",job=\"node-exporter\"}) by (cpu))) - avg(sum by (mode)(rate(node_cpu_seconds_total{mode='idle',node=~\"$node\",job=\"node-exporter\"}[$__rate_interval])))) * 100) / count(count(node_cpu_seconds_total{node=~\"$node\",job=\"node-exporter\"}) by (cpu))", @@ -111,22 +127,24 @@ "type": "gauge" }, { - "cacheTimeout": null, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "description": "Busy state of all CPU cores together (5 min average)", "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, - "custom": {}, "mappings": [ { - "id": 0, - "op": "=", - "text": "N/A", - "type": 1, - "value": "null" + "options": { + "match": "null", + "result": { + "text": "N/A" + } + }, + "type": "special" } ], "max": 100, @@ -173,7 +191,7 @@ "showThresholdMarkers": true, "text": {} }, - "pluginVersion": "7.4.2", + "pluginVersion": "8.5.13", "targets": [ { "expr": "avg(node_load5{node=~\"$node\",job=\"node-exporter\"}) / count(count(node_cpu_seconds_total{node=~\"$node\",job=\"node-exporter\"}) by (cpu)) * 100", @@ -188,22 +206,24 @@ "type": "gauge" }, { - "cacheTimeout": null, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "description": "Busy state of all CPU cores together (15 min average)", "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, - "custom": {}, "mappings": [ { - "id": 0, - "op": "=", - "text": "N/A", - "type": 1, - "value": "null" + "options": { + "match": "null", + "result": { + "text": "N/A" + } + }, + "type": "special" } ], "max": 100, @@ -250,7 +270,7 @@ "showThresholdMarkers": true, "text": {} }, - "pluginVersion": "7.4.2", + "pluginVersion": "8.5.13", "targets": [ { "expr": "avg(node_load15{node=~\"$node\",job=\"node-exporter\"}) / count(count(node_cpu_seconds_total{node=~\"$node\",job=\"node-exporter\"}) by (cpu)) * 100", @@ -264,15 +284,15 @@ "type": "gauge" }, { - "cacheTimeout": null, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "description": "Non available RAM memory", "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, - "custom": {}, "decimals": 0, "mappings": [], "max": 100, @@ -320,7 +340,7 @@ "showThresholdMarkers": true, "text": {} }, - "pluginVersion": "7.4.2", + "pluginVersion": "8.5.13", "targets": [ { "expr": "((node_memory_MemTotal_bytes{node=~\"$node\",job=\"node-exporter\"} - node_memory_MemFree_bytes{node=~\"$node\",job=\"node-exporter\"}) / (node_memory_MemTotal_bytes{node=~\"$node\",job=\"node-exporter\"} )) * 100", @@ -343,22 +363,24 @@ "type": "gauge" }, { - "cacheTimeout": null, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "description": "Used Swap", "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, - "custom": {}, "mappings": [ { - "id": 0, - "op": "=", - "text": "N/A", - "type": 1, - "value": "null" + "options": { + "match": "null", + "result": { + "text": "N/A" + } + }, + "type": "special" } ], "max": 100, @@ -405,7 +427,7 @@ "showThresholdMarkers": true, "text": {} }, - "pluginVersion": "7.4.2", + "pluginVersion": "8.5.13", "targets": [ { "expr": "((node_memory_SwapTotal_bytes{node=~\"$node\",job=\"node-exporter\"} - node_memory_SwapFree_bytes{node=~\"$node\",job=\"node-exporter\"}) / (node_memory_SwapTotal_bytes{node=~\"$node\",job=\"node-exporter\"} )) * 100", @@ -418,22 +440,24 @@ "type": "gauge" }, { - "cacheTimeout": null, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "description": "Used Root FS", "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, - "custom": {}, "mappings": [ { - "id": 0, - "op": "=", - "text": "N/A", - "type": 1, - "value": "null" + "options": { + "match": "null", + "result": { + "text": "N/A" + } + }, + "type": "special" } ], "max": 100, @@ -480,7 +504,7 @@ "showThresholdMarkers": true, "text": {} }, - "pluginVersion": "7.4.2", + "pluginVersion": "8.5.13", "targets": [ { "expr": "100 - ((node_filesystem_avail_bytes{node=~\"$node\",job=\"node-exporter\",mountpoint=\"/\",fstype!=\"rootfs\"} * 100) / node_filesystem_size_bytes{node=~\"$node\",job=\"node-exporter\",mountpoint=\"/\",fstype!=\"rootfs\"})", @@ -494,30 +518,43 @@ "type": "gauge" }, { - "cacheTimeout": null, - "colorBackground": false, - "colorValue": false, - "colors": [ - "rgba(245, 54, 54, 0.9)", - "rgba(237, 129, 40, 0.89)", - "rgba(50, 172, 45, 0.97)" - ], - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "description": "Total number of CPU cores", "fieldConfig": { "defaults": { - "custom": {} + "color": { + "mode": "thresholds" + }, + "mappings": [ + { + "options": { + "match": "null", + "result": { + "text": "N/A" + } + }, + "type": "special" + } + ], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "short" }, "overrides": [] }, - "format": "short", - "gauge": { - "maxValue": 100, - "minValue": 0, - "show": false, - "thresholdLabels": false, - "thresholdMarkers": true - }, "gridPos": { "h": 2, "w": 2, @@ -525,41 +562,23 @@ "y": 1 }, "id": 14, - "interval": null, "links": [], - "mappingType": 1, - "mappingTypes": [ - { - "name": "value to text", - "value": 1 - }, - { - "name": "range to text", - "value": 2 - } - ], "maxDataPoints": 100, - "maxPerRow": 6, - "nullPointMode": "null", - "nullText": null, - "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 + "options": { + "colorMode": "none", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "textMode": "auto" }, - "tableColumn": "", + "pluginVersion": "8.5.13", "targets": [ { "expr": "count(count(node_cpu_seconds_total{node=~\"$node\",job=\"node-exporter\"}) by (cpu))", @@ -569,45 +588,48 @@ "step": 240 } ], - "thresholds": "", "title": "CPU Cores", - "type": "singlestat", - "valueFontSize": "50%", - "valueMaps": [ - { - "op": "=", - "text": "N/A", - "value": "null" - } - ], - "valueName": "current" + "type": "stat" }, { - "cacheTimeout": null, - "colorBackground": false, - "colorValue": false, - "colors": [ - "rgba(245, 54, 54, 0.9)", - "rgba(237, 129, 40, 0.89)", - "rgba(50, 172, 45, 0.97)" - ], - "datasource": "$ds_prometheus", - "decimals": 1, + "datasource": { + "uid": "$ds_prometheus" + }, "description": "System uptime", "fieldConfig": { "defaults": { - "custom": {} + "color": { + "mode": "thresholds" + }, + "decimals": 1, + "mappings": [ + { + "options": { + "match": "null", + "result": { + "text": "N/A" + } + }, + "type": "special" + } + ], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "s" }, "overrides": [] }, - "format": "s", - "gauge": { - "maxValue": 100, - "minValue": 0, - "show": false, - "thresholdLabels": false, - "thresholdMarkers": true - }, "gridPos": { "h": 2, "w": 4, @@ -616,42 +638,23 @@ }, "hideTimeOverride": true, "id": 15, - "interval": null, "links": [], - "mappingType": 1, - "mappingTypes": [ - { - "$$hashKey": "object:1094", - "name": "value to text", - "value": 1 - }, - { - "$$hashKey": "object:1095", - "name": "range to text", - "value": 2 - } - ], "maxDataPoints": 100, - "nullPointMode": "null", - "nullText": null, - "postfix": "s", - "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 + "options": { + "colorMode": "none", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "textMode": "auto" }, - "tableColumn": "", + "pluginVersion": "8.5.13", "targets": [ { "expr": "node_time_seconds{node=~\"$node\",job=\"node-exporter\"} - node_boot_time_seconds{node=~\"$node\",job=\"node-exporter\"}", @@ -660,46 +663,52 @@ "step": 240 } ], - "thresholds": "", "title": "Uptime", - "type": "singlestat", - "valueFontSize": "50%", - "valueMaps": [ - { - "$$hashKey": "object:1097", - "op": "=", - "text": "N/A", - "value": "null" - } - ], - "valueName": "current" + "type": "stat" }, { - "cacheTimeout": null, - "colorBackground": false, - "colorValue": false, - "colors": [ - "rgba(50, 172, 45, 0.97)", - "rgba(237, 129, 40, 0.89)", - "rgba(245, 54, 54, 0.9)" - ], - "datasource": "$ds_prometheus", - "decimals": 0, + "datasource": { + "uid": "$ds_prometheus" + }, "description": "Total RootFS", "fieldConfig": { "defaults": { - "custom": {} + "color": { + "mode": "thresholds" + }, + "decimals": 0, + "mappings": [ + { + "options": { + "match": "null", + "result": { + "text": "N/A" + } + }, + "type": "special" + } + ], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "rgba(50, 172, 45, 0.97)", + "value": null + }, + { + "color": "rgba(237, 129, 40, 0.89)", + "value": 70 + }, + { + "color": "rgba(245, 54, 54, 0.9)", + "value": 90 + } + ] + }, + "unit": "bytes" }, "overrides": [] }, - "format": "bytes", - "gauge": { - "maxValue": 100, - "minValue": 0, - "show": false, - "thresholdLabels": false, - "thresholdMarkers": true - }, "gridPos": { "h": 2, "w": 2, @@ -707,41 +716,23 @@ "y": 3 }, "id": 23, - "interval": null, "links": [], - "mappingType": 1, - "mappingTypes": [ - { - "name": "value to text", - "value": 1 - }, - { - "name": "range to text", - "value": 2 - } - ], "maxDataPoints": 100, - "maxPerRow": 6, - "nullPointMode": "null", - "nullText": null, - "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 + "options": { + "colorMode": "none", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "textMode": "auto" }, - "tableColumn": "", + "pluginVersion": "8.5.13", "targets": [ { "expr": "node_filesystem_size_bytes{node=~\"$node\",job=\"node-exporter\",mountpoint=\"/\",fstype!=\"rootfs\"}", @@ -752,45 +743,48 @@ "step": 240 } ], - "thresholds": "70,90", "title": "RootFS Total", - "type": "singlestat", - "valueFontSize": "50%", - "valueMaps": [ - { - "op": "=", - "text": "N/A", - "value": "null" - } - ], - "valueName": "current" + "type": "stat" }, { - "cacheTimeout": null, - "colorBackground": false, - "colorValue": false, - "colors": [ - "rgba(245, 54, 54, 0.9)", - "rgba(237, 129, 40, 0.89)", - "rgba(50, 172, 45, 0.97)" - ], - "datasource": "$ds_prometheus", - "decimals": 0, + "datasource": { + "uid": "$ds_prometheus" + }, "description": "Total RAM", "fieldConfig": { "defaults": { - "custom": {} + "color": { + "mode": "thresholds" + }, + "decimals": 0, + "mappings": [ + { + "options": { + "match": "null", + "result": { + "text": "N/A" + } + }, + "type": "special" + } + ], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "bytes" }, "overrides": [] }, - "format": "bytes", - "gauge": { - "maxValue": 100, - "minValue": 0, - "show": false, - "thresholdLabels": false, - "thresholdMarkers": true - }, "gridPos": { "h": 2, "w": 2, @@ -798,41 +792,23 @@ "y": 3 }, "id": 75, - "interval": null, "links": [], - "mappingType": 1, - "mappingTypes": [ - { - "name": "value to text", - "value": 1 - }, - { - "name": "range to text", - "value": 2 - } - ], "maxDataPoints": 100, - "maxPerRow": 6, - "nullPointMode": "null", - "nullText": null, - "postfix": "", - "postfixFontSize": "70%", - "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 + "options": { + "colorMode": "none", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "textMode": "auto" }, - "tableColumn": "", + "pluginVersion": "8.5.13", "targets": [ { "expr": "node_memory_MemTotal_bytes{node=~\"$node\",job=\"node-exporter\"}", @@ -841,45 +817,48 @@ "step": 240 } ], - "thresholds": "", "title": "RAM Total", - "type": "singlestat", - "valueFontSize": "50%", - "valueMaps": [ - { - "op": "=", - "text": "N/A", - "value": "null" - } - ], - "valueName": "current" + "type": "stat" }, { - "cacheTimeout": null, - "colorBackground": false, - "colorValue": false, - "colors": [ - "rgba(245, 54, 54, 0.9)", - "rgba(237, 129, 40, 0.89)", - "rgba(50, 172, 45, 0.97)" - ], - "datasource": "$ds_prometheus", - "decimals": 0, + "datasource": { + "uid": "$ds_prometheus" + }, "description": "Total SWAP", "fieldConfig": { "defaults": { - "custom": {} + "color": { + "mode": "thresholds" + }, + "decimals": 0, + "mappings": [ + { + "options": { + "match": "null", + "result": { + "text": "N/A" + } + }, + "type": "special" + } + ], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "bytes" }, "overrides": [] }, - "format": "bytes", - "gauge": { - "maxValue": 100, - "minValue": 0, - "show": false, - "thresholdLabels": false, - "thresholdMarkers": true - }, "gridPos": { "h": 2, "w": 2, @@ -887,41 +866,23 @@ "y": 3 }, "id": 18, - "interval": null, "links": [], - "mappingType": 1, - "mappingTypes": [ - { - "name": "value to text", - "value": 1 - }, - { - "name": "range to text", - "value": 2 - } - ], "maxDataPoints": 100, - "maxPerRow": 6, - "nullPointMode": "null", - "nullText": null, - "postfix": "", - "postfixFontSize": "70%", - "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 + "options": { + "colorMode": "none", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "textMode": "auto" }, - "tableColumn": "", + "pluginVersion": "8.5.13", "targets": [ { "expr": "node_memory_SwapTotal_bytes{node=~\"$node\",job=\"node-exporter\"}", @@ -930,22 +891,14 @@ "step": 240 } ], - "thresholds": "", "title": "SWAP Total", - "type": "singlestat", - "valueFontSize": "50%", - "valueMaps": [ - { - "op": "=", - "text": "N/A", - "value": "null" - } - ], - "valueName": "current" + "type": "stat" }, { "collapsed": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "gridPos": { "h": 1, "w": 24, @@ -954,7 +907,6 @@ }, "id": 263, "panels": [], - "repeat": null, "title": "Basic CPU / Mem / Net / Disk", "type": "row" }, @@ -978,12 +930,13 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "decimals": 2, "description": "Basic CPU info", "fieldConfig": { "defaults": { - "custom": {}, "links": [] }, "overrides": [] @@ -1007,8 +960,6 @@ "rightSide": false, "show": true, "sideWidth": 250, - "sort": null, - "sortDesc": null, "total": false, "values": false }, @@ -1021,7 +972,7 @@ "alertThreshold": true }, "percentage": true, - "pluginVersion": "7.4.2", + "pluginVersion": "8.5.13", "pointradius": 5, "points": false, "renderer": "flot", @@ -1103,9 +1054,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "CPU Basic", "tooltip": { "shared": true, @@ -1114,9 +1063,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -1133,16 +1080,12 @@ { "$$hashKey": "object:124", "format": "short", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": false } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } }, { @@ -1170,12 +1113,13 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "decimals": 2, "description": "Basic memory usage", "fieldConfig": { "defaults": { - "custom": {}, "links": [] }, "overrides": [] @@ -1211,7 +1155,7 @@ "alertThreshold": true }, "percentage": false, - "pluginVersion": "7.4.2", + "pluginVersion": "8.5.13", "pointradius": 5, "points": false, "renderer": "flot", @@ -1285,9 +1229,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Memory Basic", "tooltip": { "shared": true, @@ -1296,9 +1238,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -1307,22 +1247,17 @@ "format": "bytes", "label": "", "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 } }, { @@ -1354,11 +1289,12 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "description": "Basic network info per interface", "fieldConfig": { "defaults": { - "custom": {}, "links": [] }, "overrides": [] @@ -1396,7 +1332,7 @@ "alertThreshold": true }, "percentage": false, - "pluginVersion": "7.4.2", + "pluginVersion": "8.5.13", "pointradius": 5, "points": false, "renderer": "flot", @@ -1428,9 +1364,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Network Traffic Basic", "tooltip": { "shared": true, @@ -1439,33 +1373,25 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, "yaxes": [ { "format": "Bps", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": true }, { "format": "pps", "label": "", "logBase": 1, - "max": null, - "min": null, "show": false } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } }, { @@ -1473,12 +1399,13 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "decimals": 3, "description": "Disk space used of all filesystems mounted", "fieldConfig": { "defaults": { - "custom": {}, "links": [] }, "overrides": [] @@ -1516,7 +1443,7 @@ "alertThreshold": true }, "percentage": false, - "pluginVersion": "7.4.2", + "pluginVersion": "8.5.13", "pointradius": 5, "points": false, "renderer": "flot", @@ -1535,9 +1462,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Disk Space Used Basic", "tooltip": { "shared": true, @@ -1546,16 +1471,13 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, "yaxes": [ { "format": "percent", - "label": null, "logBase": 1, "max": "100", "min": "0", @@ -1563,21 +1485,19 @@ }, { "format": "short", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": true } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } }, { "collapsed": true, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "gridPos": { "h": 1, "w": 24, @@ -1602,7 +1522,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "decimals": 2, "description": "", "fieldConfig": { @@ -1631,8 +1553,6 @@ "rightSide": false, "show": true, "sideWidth": 250, - "sort": null, - "sortDesc": null, "total": false, "values": true }, @@ -1649,7 +1569,6 @@ "pointradius": 5, "points": false, "renderer": "flot", - "repeat": null, "seriesOverrides": [], "spaceLength": 10, "stack": true, @@ -1729,9 +1648,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "CPU", "tooltip": { "shared": true, @@ -1740,9 +1657,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -1757,16 +1672,12 @@ }, { "format": "short", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": false } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } }, { @@ -1794,7 +1705,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "decimals": 2, "description": "", "fieldConfig": { @@ -1823,8 +1736,6 @@ "rightSide": false, "show": true, "sideWidth": 350, - "sort": null, - "sortDesc": null, "total": false, "values": true }, @@ -1933,9 +1844,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Memory Stack", "tooltip": { "shared": true, @@ -1944,9 +1853,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -1955,22 +1862,17 @@ "format": "bytes", "label": "bytes", "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 } }, { @@ -1983,7 +1885,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "fieldConfig": { "defaults": { "custom": {}, @@ -2053,9 +1957,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Network Traffic", "tooltip": { "shared": true, @@ -2064,9 +1966,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -2076,23 +1976,17 @@ "format": "bps", "label": "bits out (-) / in (+)", "logBase": 1, - "max": null, - "min": null, "show": true }, { "$$hashKey": "object:5885", "format": "short", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": false } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } }, { @@ -2100,7 +1994,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "decimals": 3, "description": "", "fieldConfig": { @@ -2162,9 +2058,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Disk Space Used", "tooltip": { "shared": true, @@ -2173,9 +2067,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -2184,22 +2076,17 @@ "format": "bytes", "label": "bytes", "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 } }, { @@ -2207,7 +2094,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "description": "", "fieldConfig": { "defaults": { @@ -2361,9 +2250,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Disk IOps", "tooltip": { "shared": false, @@ -2372,9 +2259,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -2383,22 +2268,16 @@ "format": "iops", "label": "IO read (-) / write (+)", "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 + "align": false } }, { @@ -2408,7 +2287,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "decimals": 3, "description": "", "fieldConfig": { @@ -2436,8 +2317,6 @@ "min": true, "rightSide": false, "show": true, - "sort": null, - "sortDesc": null, "total": false, "values": true }, @@ -2504,9 +2383,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "I/O Usage Read / Write", "tooltip": { "shared": true, @@ -2515,9 +2392,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": false, "values": [] }, @@ -2527,8 +2402,6 @@ "format": "Bps", "label": "bytes read (-) / write (+)", "logBase": 1, - "max": null, - "min": null, "show": true }, { @@ -2536,14 +2409,11 @@ "format": "ms", "label": "", "logBase": 1, - "max": null, - "min": null, "show": true } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } }, { @@ -2553,7 +2423,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "decimals": 3, "description": "", "fieldConfig": { @@ -2581,8 +2453,6 @@ "min": true, "rightSide": false, "show": true, - "sort": null, - "sortDesc": null, "total": false, "values": true }, @@ -2615,9 +2485,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "I/O Utilization", "tooltip": { "shared": true, @@ -2626,9 +2494,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": false, "values": [] }, @@ -2638,7 +2504,6 @@ "format": "percentunit", "label": "%util", "logBase": 1, - "max": null, "min": "0", "show": true }, @@ -2647,24 +2512,22 @@ "format": "s", "label": "", "logBase": 1, - "max": null, - "min": null, "show": false } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } } ], - "repeat": null, "title": "CPU / Memory / Net / Disk", "type": "row" }, { "collapsed": true, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "gridPos": { "h": 1, "w": 24, @@ -2696,7 +2559,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "decimals": 2, "fieldConfig": { "defaults": { @@ -2763,9 +2628,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Memory Active / Inactive", "tooltip": { "shared": true, @@ -2774,9 +2637,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -2785,22 +2646,17 @@ "format": "bytes", "label": "bytes", "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 } }, { @@ -2826,7 +2682,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "decimals": 2, "fieldConfig": { "defaults": { @@ -2902,9 +2760,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Memory Commited", "tooltip": { "shared": true, @@ -2913,9 +2769,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -2924,22 +2778,17 @@ "format": "bytes", "label": "bytes", "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 } }, { @@ -2965,7 +2814,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "decimals": 2, "fieldConfig": { "defaults": { @@ -3052,9 +2903,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Memory Active / Inactive Detail", "tooltip": { "shared": true, @@ -3063,9 +2912,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -3074,22 +2921,17 @@ "format": "bytes", "label": "bytes", "logBase": 1, - "max": null, "min": "0", "show": true }, { "format": "bytes", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": true } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } }, { @@ -3117,7 +2959,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "decimals": 2, "fieldConfig": { "defaults": { @@ -3144,7 +2988,6 @@ "min": true, "rightSide": false, "show": true, - "sideWidth": null, "total": false, "values": true }, @@ -3192,9 +3035,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Memory Writeback and Dirty", "tooltip": { "shared": true, @@ -3203,9 +3044,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -3214,22 +3053,17 @@ "format": "bytes", "label": "bytes", "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 } }, { @@ -3255,7 +3089,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "decimals": 2, "fieldConfig": { "defaults": { @@ -3349,9 +3185,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Memory Shared and Mapped", "tooltip": { "shared": true, @@ -3360,9 +3194,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -3372,23 +3204,18 @@ "format": "bytes", "label": "bytes", "logBase": 1, - "max": null, "min": "0", "show": true }, { "$$hashKey": "object:4107", "format": "short", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": false } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } }, { @@ -3416,7 +3243,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "decimals": 2, "fieldConfig": { "defaults": { @@ -3443,7 +3272,6 @@ "min": true, "rightSide": false, "show": true, - "sideWidth": null, "total": false, "values": true }, @@ -3483,9 +3311,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Memory Slab", "tooltip": { "shared": true, @@ -3494,9 +3320,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -3505,22 +3329,17 @@ "format": "bytes", "label": "bytes", "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 } }, { @@ -3547,7 +3366,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "decimals": 2, "fieldConfig": { "defaults": { @@ -3574,7 +3395,6 @@ "min": true, "rightSide": false, "show": true, - "sideWidth": null, "total": false, "values": true }, @@ -3625,9 +3445,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Memory Vmalloc", "tooltip": { "shared": true, @@ -3636,9 +3454,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -3647,22 +3463,17 @@ "format": "bytes", "label": "bytes", "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 } }, { @@ -3688,7 +3499,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "decimals": 2, "fieldConfig": { "defaults": { @@ -3747,9 +3560,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Memory Bounce", "tooltip": { "shared": true, @@ -3758,9 +3569,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -3769,22 +3578,17 @@ "format": "bytes", "label": "bytes", "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 } }, { @@ -3811,7 +3615,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "decimals": 2, "fieldConfig": { "defaults": { @@ -3838,7 +3644,6 @@ "min": true, "rightSide": false, "show": true, - "sideWidth": null, "total": false, "values": true }, @@ -3883,9 +3688,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Memory Anonymous", "tooltip": { "shared": true, @@ -3894,9 +3697,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -3905,22 +3706,17 @@ "format": "bytes", "label": "bytes", "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 } }, { @@ -3946,7 +3742,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "decimals": 2, "fieldConfig": { "defaults": { @@ -4013,9 +3811,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Memory Kernel / CPU", "tooltip": { "shared": true, @@ -4024,9 +3820,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -4035,22 +3829,17 @@ "format": "bytes", "label": "bytes", "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 } }, { @@ -4077,7 +3866,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "decimals": 2, "fieldConfig": { "defaults": { @@ -4104,7 +3895,6 @@ "min": true, "rightSide": false, "show": true, - "sideWidth": null, "total": false, "values": true }, @@ -4152,9 +3942,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Memory HugePages Counter", "tooltip": { "shared": true, @@ -4163,9 +3951,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -4174,7 +3960,6 @@ "format": "short", "label": "pages", "logBase": 1, - "max": null, "min": "0", "show": true }, @@ -4182,14 +3967,11 @@ "format": "short", "label": "", "logBase": 1, - "max": null, - "min": null, "show": false } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } }, { @@ -4216,7 +3998,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "decimals": 2, "fieldConfig": { "defaults": { @@ -4243,7 +4027,6 @@ "min": true, "rightSide": false, "show": true, - "sideWidth": null, "total": false, "values": true }, @@ -4283,9 +4066,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Memory HugePages Size", "tooltip": { "shared": true, @@ -4294,9 +4075,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -4305,7 +4084,6 @@ "format": "bytes", "label": "bytes", "logBase": 1, - "max": null, "min": "0", "show": true }, @@ -4313,14 +4091,11 @@ "format": "short", "label": "", "logBase": 1, - "max": null, - "min": null, "show": false } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } }, { @@ -4347,7 +4122,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "decimals": 2, "fieldConfig": { "defaults": { @@ -4376,7 +4153,6 @@ "min": true, "rightSide": false, "show": true, - "sideWidth": null, "total": false, "values": true }, @@ -4424,9 +4200,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Memory DirectMap", "tooltip": { "shared": true, @@ -4435,9 +4209,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -4446,22 +4218,17 @@ "format": "bytes", "label": "bytes", "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 } }, { @@ -4487,7 +4254,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "decimals": 2, "fieldConfig": { "defaults": { @@ -4554,9 +4323,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Memory Unevictable and MLocked", "tooltip": { "shared": true, @@ -4565,9 +4332,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -4576,22 +4341,17 @@ "format": "bytes", "label": "bytes", "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 } }, { @@ -4619,7 +4379,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "decimals": 2, "fieldConfig": { "defaults": { @@ -4646,7 +4408,6 @@ "min": true, "rightSide": false, "show": true, - "sideWidth": null, "total": false, "values": true }, @@ -4678,9 +4439,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Memory NFS", "tooltip": { "shared": true, @@ -4689,9 +4448,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -4700,32 +4457,28 @@ "format": "bytes", "label": "bytes", "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 } } ], - "repeat": null, "title": "Memory Meminfo", "type": "row" }, { "collapsed": true, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "gridPos": { "h": 1, "w": 24, @@ -4739,7 +4492,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "fieldConfig": { "defaults": { "custom": {}, @@ -4809,9 +4564,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Memory Pages In / Out", "tooltip": { "shared": true, @@ -4820,9 +4573,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -4831,22 +4582,16 @@ "format": "short", "label": "pages out (-) / in (+)", "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 + "align": false } }, { @@ -4854,7 +4599,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "fieldConfig": { "defaults": { "custom": {}, @@ -4924,9 +4671,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Memory Pages Swap In / Out", "tooltip": { "shared": true, @@ -4935,9 +4680,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -4946,22 +4689,16 @@ "format": "short", "label": "pages out (-) / in (+)", "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 + "align": false } }, { @@ -4987,7 +4724,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "decimals": 2, "fieldConfig": { "defaults": { @@ -5069,9 +4808,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Memory Page Faults", "tooltip": { "shared": true, @@ -5080,9 +4817,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -5092,23 +4827,18 @@ "format": "short", "label": "faults", "logBase": 1, - "max": null, "min": "0", "show": true }, { "$$hashKey": "object:6134", "format": "short", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": false } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } }, { @@ -5136,7 +4866,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "decimals": 2, "fieldConfig": { "defaults": { @@ -5163,7 +4895,6 @@ "min": true, "rightSide": false, "show": true, - "sideWidth": null, "total": false, "values": true }, @@ -5195,9 +4926,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "OOM Killer", "tooltip": { "shared": true, @@ -5206,9 +4935,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -5218,33 +4945,29 @@ "format": "short", "label": "counter", "logBase": 1, - "max": null, "min": "0", "show": true }, { "$$hashKey": "object:5374", "format": "short", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": false } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } } ], - "repeat": null, "title": "Memory Vmstat", "type": "row" }, { "collapsed": true, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "gridPos": { "h": 1, "w": 24, @@ -5258,7 +4981,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "description": "", "fieldConfig": { "defaults": { @@ -5338,9 +5063,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Time Syncronized Drift", "tooltip": { "shared": true, @@ -5349,9 +5072,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -5360,22 +5081,17 @@ "format": "s", "label": "seconds", "logBase": 1, - "max": null, - "min": null, "show": true }, { "format": "short", "label": "counter", "logBase": 1, - "max": null, - "min": null, "show": false } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } }, { @@ -5383,7 +5099,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "description": "", "fieldConfig": { "defaults": { @@ -5439,9 +5157,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Time PLL Adjust", "tooltip": { "shared": true, @@ -5450,9 +5166,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -5461,22 +5175,16 @@ "format": "short", "label": "counter", "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 + "align": false } }, { @@ -5484,7 +5192,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "description": "", "fieldConfig": { "defaults": { @@ -5553,9 +5263,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Time Syncronized Status", "tooltip": { "shared": true, @@ -5564,9 +5272,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -5575,22 +5281,16 @@ "format": "short", "label": "counter", "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 + "align": false } }, { @@ -5598,7 +5298,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "description": "", "fieldConfig": { "defaults": { @@ -5662,9 +5364,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Time Misc", "tooltip": { "shared": true, @@ -5673,9 +5373,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -5684,22 +5382,16 @@ "format": "s", "label": "seconds", "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 + "align": false } } ], @@ -5708,7 +5400,9 @@ }, { "collapsed": true, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "gridPos": { "h": 1, "w": 24, @@ -5722,7 +5416,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "fieldConfig": { "defaults": { "custom": {}, @@ -5786,9 +5482,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Processes Status", "tooltip": { "shared": true, @@ -5797,9 +5491,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -5809,23 +5501,18 @@ "format": "short", "label": "counter", "logBase": 1, - "max": null, "min": "0", "show": true }, { "$$hashKey": "object:6501", "format": "short", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": false } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } }, { @@ -5833,7 +5520,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "fieldConfig": { "defaults": { "custom": {}, @@ -5889,9 +5578,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Processes State", "tooltip": { "shared": true, @@ -5900,9 +5587,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -5912,23 +5597,18 @@ "format": "short", "label": "counter", "logBase": 1, - "max": null, "min": "0", "show": true }, { "$$hashKey": "object:6501", "format": "short", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": false } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } }, { @@ -5936,7 +5616,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "fieldConfig": { "defaults": { "custom": {}, @@ -5993,9 +5675,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Processes Forks", "tooltip": { "shared": true, @@ -6004,9 +5684,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -6016,23 +5694,18 @@ "format": "short", "label": "forks / sec", "logBase": 1, - "max": null, "min": "0", "show": true }, { "$$hashKey": "object:6641", "format": "short", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": false } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } }, { @@ -6040,7 +5713,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "fieldConfig": { "defaults": { "custom": {}, @@ -6124,9 +5799,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Processes Memory", "tooltip": { "shared": true, @@ -6135,9 +5808,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -6146,22 +5817,17 @@ "format": "decbytes", "label": "bytes", "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 } }, { @@ -6169,7 +5835,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "fieldConfig": { "defaults": { "custom": {}, @@ -6240,9 +5908,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "PIDs Number and Limit", "tooltip": { "shared": true, @@ -6251,9 +5917,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -6263,23 +5927,18 @@ "format": "short", "label": "counter", "logBase": 1, - "max": null, "min": "0", "show": true }, { "$$hashKey": "object:6501", "format": "short", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": false } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } }, { @@ -6287,7 +5946,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "fieldConfig": { "defaults": { "custom": {}, @@ -6358,9 +6019,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Threads Number and Limit", "tooltip": { "shared": true, @@ -6369,9 +6028,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -6381,23 +6038,18 @@ "format": "short", "label": "counter", "logBase": 1, - "max": null, "min": "0", "show": true }, { "$$hashKey": "object:6501", "format": "short", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": false } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } } ], @@ -6406,7 +6058,9 @@ }, { "collapsed": true, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "gridPos": { "h": 1, "w": 24, @@ -6420,7 +6074,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "fieldConfig": { "defaults": { "custom": {}, @@ -6461,7 +6117,6 @@ "pointradius": 5, "points": false, "renderer": "flot", - "repeat": null, "seriesOverrides": [], "spaceLength": 10, "stack": false, @@ -6486,9 +6141,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Context Switches / Interrupts", "tooltip": { "shared": true, @@ -6497,9 +6150,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -6508,22 +6159,17 @@ "format": "short", "label": "counter", "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 } }, { @@ -6531,7 +6177,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "fieldConfig": { "defaults": { "custom": {}, @@ -6572,7 +6220,6 @@ "pointradius": 5, "points": false, "renderer": "flot", - "repeat": null, "seriesOverrides": [], "spaceLength": 10, "stack": false, @@ -6604,9 +6251,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "System Load", "tooltip": { "shared": true, @@ -6615,9 +6260,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -6627,23 +6270,18 @@ "format": "short", "label": "counter", "logBase": 1, - "max": null, "min": "0", "show": true }, { "$$hashKey": "object:6262", "format": "short", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": false } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } }, { @@ -6651,7 +6289,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "fieldConfig": { "defaults": { "custom": {}, @@ -6707,9 +6347,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "CPU time spent in user and system contexts", "tooltip": { "shared": true, @@ -6718,9 +6356,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -6730,23 +6366,17 @@ "format": "s", "label": "seconds", "logBase": 1, - "max": null, - "min": null, "show": true }, { "$$hashKey": "object:4861", "format": "short", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": false } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } }, { @@ -6754,7 +6384,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "fieldConfig": { "defaults": { "custom": {}, @@ -6810,9 +6442,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Entropy", "tooltip": { "shared": true, @@ -6821,9 +6451,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -6833,23 +6461,18 @@ "format": "short", "label": "counter", "logBase": 1, - "max": null, "min": "0", "show": true }, { "$$hashKey": "object:6569", "format": "short", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": false } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } }, { @@ -6857,7 +6480,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "fieldConfig": { "defaults": { "custom": {}, @@ -6925,9 +6550,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "File Descriptors", "tooltip": { "shared": true, @@ -6936,9 +6559,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -6948,33 +6569,29 @@ "format": "short", "label": "counter", "logBase": 1, - "max": null, "min": "0", "show": true }, { "$$hashKey": "object:6339", "format": "short", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": false } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } } ], - "repeat": null, "title": "System Misc", "type": "row" }, { "collapsed": true, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "gridPos": { "h": 1, "w": 24, @@ -6988,7 +6605,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "description": "The number (after merges) of I/O requests completed per second for the device", "fieldConfig": { "defaults": { @@ -7032,7 +6651,6 @@ "pointradius": 5, "points": false, "renderer": "flot", - "repeat": null, "seriesOverrides": [ { "$$hashKey": "object:2033", @@ -7160,9 +6778,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Disk IOps Completed", "tooltip": { "shared": false, @@ -7171,9 +6787,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -7183,23 +6797,17 @@ "format": "iops", "label": "IO read (-) / write (+)", "logBase": 1, - "max": null, - "min": null, "show": true }, { "$$hashKey": "object:2187", "format": "short", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": false } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } }, { @@ -7207,7 +6815,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "description": "The number of bytes read from or written to the device per second", "fieldConfig": { "defaults": { @@ -7359,9 +6969,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Disk R/W Data", "tooltip": { "shared": false, @@ -7370,9 +6978,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -7382,23 +6988,17 @@ "format": "Bps", "label": "bytes read (-) / write (+)", "logBase": 1, - "max": null, - "min": null, "show": true }, { "$$hashKey": "object:370", "format": "short", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": false } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } }, { @@ -7406,7 +7006,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "description": "The average time for requests issued to the device to be served. This includes the time spent by the requests in queue and the time spent servicing them.", "fieldConfig": { "defaults": { @@ -7560,9 +7162,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Disk Average Wait Time", "tooltip": { "shared": false, @@ -7571,9 +7171,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -7583,23 +7181,17 @@ "format": "s", "label": "time. read (-) / write (+)", "logBase": 1, - "max": null, - "min": null, "show": true }, { "$$hashKey": "object:442", "format": "short", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": false } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } }, { @@ -7607,7 +7199,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "description": "The average queue length of the requests that were issued to the device", "fieldConfig": { "defaults": { @@ -7748,9 +7342,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Average Queue Size", "tooltip": { "shared": false, @@ -7759,9 +7351,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -7771,23 +7361,18 @@ "format": "none", "label": "aqu-sz", "logBase": 1, - "max": null, "min": "0", "show": true }, { "$$hashKey": "object:514", "format": "short", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": false } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } }, { @@ -7795,7 +7380,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "description": "The number of read and write requests merged per second that were queued to the device", "fieldConfig": { "defaults": { @@ -7947,9 +7534,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Disk R/W Merged", "tooltip": { "shared": false, @@ -7958,9 +7543,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -7970,23 +7553,17 @@ "format": "iops", "label": "I/Os", "logBase": 1, - "max": null, - "min": null, "show": true }, { "$$hashKey": "object:586", "format": "short", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": false } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } }, { @@ -7994,7 +7571,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "description": "Percentage of elapsed time during which I/O requests were issued to the device (bandwidth utilization for the device). Device saturation occurs when this value is close to 100% for devices serving requests serially. But for devices serving requests in parallel, such as RAID arrays and modern SSDs, this number does not reflect their performance limits.", "fieldConfig": { "defaults": { @@ -8142,9 +7721,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Time Spent Doing I/Os", "tooltip": { "shared": false, @@ -8153,9 +7730,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -8165,23 +7740,18 @@ "format": "percentunit", "label": "%util", "logBase": 1, - "max": null, "min": "0", "show": true }, { "$$hashKey": "object:658", "format": "short", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": false } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } }, { @@ -8189,7 +7759,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "description": "The number of outstanding requests at the instant the sample was taken. Incremented as requests are given to appropriate struct request_queue and decremented as they finish.", "fieldConfig": { "defaults": { @@ -8330,9 +7902,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Instantaneous Queue Size", "tooltip": { "shared": false, @@ -8341,9 +7911,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -8353,23 +7921,18 @@ "format": "iops", "label": "I/Os", "logBase": 1, - "max": null, "min": "0", "show": true }, { "$$hashKey": "object:730", "format": "short", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": false } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } }, { @@ -8377,7 +7940,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "description": "", "fieldConfig": { "defaults": { @@ -8543,9 +8108,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Disk IOps Discards completed / merged", "tooltip": { "shared": false, @@ -8554,9 +8117,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -8566,33 +8127,28 @@ "format": "iops", "label": "IOs", "logBase": 1, - "max": null, - "min": null, "show": true }, { "$$hashKey": "object:2187", "format": "short", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": false } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } } ], - "repeat": null, "title": "Storage Disk", "type": "row" }, { "collapsed": true, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "gridPos": { "h": 1, "w": 24, @@ -8606,12 +8162,13 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "decimals": 3, "description": "", "fieldConfig": { "defaults": { - "custom": {}, "links": [] }, "overrides": [] @@ -8622,7 +8179,7 @@ "h": 10, "w": 12, "x": 0, - "y": 14 + "y": 28 }, "hiddenSeries": false, "id": 43, @@ -8646,7 +8203,7 @@ "alertThreshold": true }, "percentage": false, - "pluginVersion": "7.4.2", + "pluginVersion": "8.5.13", "pointradius": 5, "points": false, "renderer": "flot", @@ -8685,9 +8242,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Filesystem space available", "tooltip": { "shared": true, @@ -8696,9 +8251,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -8708,141 +8261,132 @@ "format": "bytes", "label": "bytes", "logBase": 1, - "max": null, "min": "0", "show": true }, { "$$hashKey": "object:3827", "format": "short", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": false } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } }, { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "type": "prometheus", + "uid": "${ds_prometheus}" + }, "description": "", "fieldConfig": { "defaults": { - "custom": {}, - "links": [] + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisLabel": "bytes", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 20, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "stepAfter", + "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" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "bytes" }, "overrides": [] }, - "fill": 2, - "fillGradient": 0, "gridPos": { "h": 10, "w": 12, "x": 12, - "y": 14 + "y": 28 }, - "hiddenSeries": false, - "id": 41, - "legend": { - "alignAsTable": true, - "avg": true, - "current": true, - "hideZero": true, - "max": true, - "min": true, - "rightSide": false, - "show": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 1, + "id": 316, "links": [], - "nullPointMode": "null", "options": { - "alertThreshold": true + "legend": { + "calcs": [ + "mean", + "lastNotNull", + "max", + "min" + ], + "displayMode": "table", + "placement": "bottom" + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } }, - "percentage": false, - "pluginVersion": "7.4.2", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": true, + "pluginVersion": "8.5.13", "targets": [ { - "expr": "node_filesystem_files_free{node=~\"$node\",job=\"node-exporter\",device!~'rootfs'}", + "datasource": { + "type": "prometheus", + "uid": "${ds_prometheus}" + }, + "expr": "node_filesystem_size_bytes{node=~\"$node\",job=\"node-exporter\",device!~'rootfs'}", "format": "time_series", "hide": false, "intervalFactor": 1, - "legendFormat": "{{mountpoint}} - Free file nodes", + "legendFormat": "{{mountpoint}} - Size", "refId": "A", "step": 240 } ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "File Nodes Free", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "$$hashKey": "object:3894", - "format": "short", - "label": "file nodes", - "logBase": 1, - "max": null, - "min": "0", - "show": true - }, - { - "$$hashKey": "object:3895", - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": false - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } + "title": "Filesystem size", + "type": "timeseries" }, { "aliasColors": {}, "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "description": "", "fieldConfig": { "defaults": { - "custom": {}, "links": [] }, "overrides": [] @@ -8853,7 +8397,7 @@ "h": 10, "w": 12, "x": 0, - "y": 24 + "y": 38 }, "hiddenSeries": false, "id": 28, @@ -8876,7 +8420,7 @@ "alertThreshold": true }, "percentage": false, - "pluginVersion": "7.4.2", + "pluginVersion": "8.5.13", "pointradius": 5, "points": false, "renderer": "flot", @@ -8903,9 +8447,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "File Descriptor", "tooltip": { "shared": false, @@ -8914,9 +8456,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -8925,22 +8465,17 @@ "format": "short", "label": "files", "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 } }, { @@ -8948,11 +8483,12 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "description": "", "fieldConfig": { "defaults": { - "custom": {}, "links": [] }, "overrides": [] @@ -8963,10 +8499,10 @@ "h": 10, "w": 12, "x": 12, - "y": 24 + "y": 38 }, "hiddenSeries": false, - "id": 219, + "id": 41, "legend": { "alignAsTable": true, "avg": true, @@ -8987,7 +8523,7 @@ "alertThreshold": true }, "percentage": false, - "pluginVersion": "7.4.2", + "pluginVersion": "8.5.13", "pointradius": 5, "points": false, "renderer": "flot", @@ -8997,20 +8533,18 @@ "steppedLine": true, "targets": [ { - "expr": "node_filesystem_files{node=~\"$node\",job=\"node-exporter\",device!~'rootfs'}", + "expr": "node_filesystem_files_free{node=~\"$node\",job=\"node-exporter\",device!~'rootfs'}", "format": "time_series", "hide": false, "intervalFactor": 1, - "legendFormat": "{{mountpoint}} - File nodes total", + "legendFormat": "{{mountpoint}} - Free file nodes", "refId": "A", "step": 240 } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, - "title": "File Nodes Size", + "title": "File Nodes Free", "tooltip": { "shared": true, "sort": 0, @@ -9018,33 +8552,28 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, "yaxes": [ { + "$$hashKey": "object:3894", "format": "short", - "label": "file Nodes", + "label": "file nodes", "logBase": 1, - "max": null, "min": "0", "show": true }, { + "$$hashKey": "object:3895", "format": "short", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": false } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } }, { @@ -9054,12 +8583,12 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", - "decimals": null, + "datasource": { + "uid": "$ds_prometheus" + }, "description": "", "fieldConfig": { "defaults": { - "custom": {}, "links": [] }, "overrides": [] @@ -9070,7 +8599,7 @@ "h": 10, "w": 12, "x": 0, - "y": 34 + "y": 48 }, "hiddenSeries": false, "id": 44, @@ -9096,7 +8625,7 @@ "alertThreshold": true }, "percentage": false, - "pluginVersion": "7.4.2", + "pluginVersion": "8.5.13", "pointradius": 5, "points": false, "renderer": "flot", @@ -9123,9 +8652,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Filesystem in ReadOnly / Error", "tooltip": { "shared": true, @@ -9134,9 +8661,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -9153,26 +8678,119 @@ { "$$hashKey": "object:3671", "format": "short", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": false } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": { + "uid": "$ds_prometheus" + }, + "description": "", + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, + "fill": 2, + "fillGradient": 0, + "gridPos": { + "h": 10, + "w": 12, + "x": 12, + "y": 48 + }, + "hiddenSeries": false, + "id": 219, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "hideZero": true, + "max": true, + "min": true, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.5.13", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": true, + "targets": [ + { + "expr": "node_filesystem_files{node=~\"$node\",job=\"node-exporter\",device!~'rootfs'}", + "format": "time_series", + "hide": false, + "intervalFactor": 1, + "legendFormat": "{{mountpoint}} - File nodes total", + "refId": "A", + "step": 240 + } + ], + "thresholds": [], + "timeRegions": [], + "title": "File Nodes Size", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "mode": "time", + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": "file Nodes", + "logBase": 1, + "min": "0", + "show": true + }, + { + "format": "short", + "logBase": 1, + "show": false + } + ], + "yaxis": { + "align": false } } ], - "repeat": null, "title": "Storage Filesystem", "type": "row" }, { "collapsed": true, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "gridPos": { "h": 1, "w": 24, @@ -9191,7 +8809,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "fieldConfig": { "defaults": { "custom": {}, @@ -9261,9 +8881,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Network Traffic by Packets", "tooltip": { "shared": true, @@ -9272,9 +8890,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -9283,22 +8899,16 @@ "format": "pps", "label": "packets out (-) / in (+)", "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 + "align": false } }, { @@ -9306,7 +8916,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "fieldConfig": { "defaults": { "custom": {}, @@ -9380,9 +8992,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Network Traffic Errors", "tooltip": { "shared": true, @@ -9391,9 +9001,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -9402,22 +9010,16 @@ "format": "pps", "label": "packets out (-) / in (+)", "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 + "align": false } }, { @@ -9425,7 +9027,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "fieldConfig": { "defaults": { "custom": {}, @@ -9499,9 +9103,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Network Traffic Drop", "tooltip": { "shared": true, @@ -9510,9 +9112,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -9521,22 +9121,16 @@ "format": "pps", "label": "packets out (-) / in (+)", "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 + "align": false } }, { @@ -9544,7 +9138,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "fieldConfig": { "defaults": { "custom": {}, @@ -9618,9 +9214,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Network Traffic Compressed", "tooltip": { "shared": true, @@ -9629,9 +9223,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -9640,22 +9232,16 @@ "format": "pps", "label": "packets out (-) / in (+)", "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 + "align": false } }, { @@ -9663,7 +9249,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "fieldConfig": { "defaults": { "custom": {}, @@ -9729,9 +9317,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Network Traffic Multicast", "tooltip": { "shared": true, @@ -9740,9 +9326,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -9751,22 +9335,16 @@ "format": "pps", "label": "packets out (-) / in (+)", "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 + "align": false } }, { @@ -9774,7 +9352,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "fieldConfig": { "defaults": { "custom": {}, @@ -9848,9 +9428,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Network Traffic Fifo", "tooltip": { "shared": true, @@ -9859,9 +9437,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -9870,22 +9446,16 @@ "format": "pps", "label": "packets out (-) / in (+)", "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 + "align": false } }, { @@ -9893,7 +9463,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "fieldConfig": { "defaults": { "custom": {}, @@ -9961,9 +9533,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Network Traffic Frame", "tooltip": { "shared": true, @@ -9972,9 +9542,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -9984,23 +9552,17 @@ "format": "pps", "label": "packets out (-) / in (+)", "logBase": 1, - "max": null, - "min": null, "show": true }, { "$$hashKey": "object:590", "format": "short", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": false } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } }, { @@ -10008,7 +9570,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "fieldConfig": { "defaults": { "custom": {}, @@ -10069,9 +9633,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Network Traffic Carrier", "tooltip": { "shared": true, @@ -10080,9 +9642,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -10091,22 +9651,16 @@ "format": "short", "label": "counter", "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 + "align": false } }, { @@ -10114,7 +9668,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "fieldConfig": { "defaults": { "custom": {}, @@ -10180,9 +9736,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Network Traffic Colls", "tooltip": { "shared": true, @@ -10191,9 +9745,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -10202,22 +9754,16 @@ "format": "short", "label": "counter", "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 + "align": false } }, { @@ -10225,7 +9771,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "fieldConfig": { "defaults": { "custom": {}, @@ -10296,9 +9844,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "NF Contrack", "tooltip": { "shared": true, @@ -10307,9 +9853,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -10319,23 +9863,18 @@ "format": "short", "label": "entries", "logBase": 1, - "max": null, "min": "0", "show": true }, { "$$hashKey": "object:679", "format": "short", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": false } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } }, { @@ -10343,7 +9882,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "fieldConfig": { "defaults": { "custom": {}, @@ -10399,9 +9940,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "ARP Entries", "tooltip": { "shared": true, @@ -10410,9 +9949,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -10421,22 +9958,17 @@ "format": "short", "label": "Entries", "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 } }, { @@ -10444,7 +9976,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "fieldConfig": { "defaults": { "custom": {}, @@ -10500,9 +10034,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "MTU", "tooltip": { "shared": true, @@ -10511,9 +10043,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -10523,22 +10053,17 @@ "format": "bytes", "label": "bytes", "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 } }, { @@ -10546,7 +10071,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "fieldConfig": { "defaults": { "custom": {}, @@ -10602,9 +10129,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Speed", "tooltip": { "shared": true, @@ -10613,9 +10138,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -10625,22 +10148,17 @@ "format": "bytes", "label": "bytes", "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 } }, { @@ -10648,7 +10166,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "fieldConfig": { "defaults": { "custom": {}, @@ -10704,9 +10224,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Queue Length", "tooltip": { "shared": true, @@ -10715,9 +10233,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -10727,22 +10243,17 @@ "format": "none", "label": "packets", "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 } }, { @@ -10750,7 +10261,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "fieldConfig": { "defaults": { "custom": {}, @@ -10818,9 +10331,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Network Operational Status", "tooltip": { "shared": true, @@ -10829,9 +10340,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -10840,32 +10349,27 @@ "format": "short", "label": "counter", "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 + "align": false } } ], - "repeat": null, "title": "Network Traffic", "type": "row" }, { "collapsed": true, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "gridPos": { "h": 1, "w": 24, @@ -10879,7 +10383,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "fieldConfig": { "defaults": { "custom": {}, @@ -10971,9 +10477,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Sockstat TCP", "tooltip": { "shared": true, @@ -10982,9 +10486,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -10993,22 +10495,17 @@ "format": "short", "label": "counter", "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 } }, { @@ -11016,7 +10513,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "fieldConfig": { "defaults": { "custom": {}, @@ -11091,9 +10590,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Sockstat UDP", "tooltip": { "shared": true, @@ -11102,9 +10599,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -11113,22 +10608,17 @@ "format": "short", "label": "counter", "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 } }, { @@ -11136,7 +10626,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "fieldConfig": { "defaults": { "custom": {}, @@ -11195,9 +10687,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Sockstat Used", "tooltip": { "shared": true, @@ -11206,9 +10696,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -11217,22 +10705,17 @@ "format": "short", "label": "sockets", "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 } }, { @@ -11240,7 +10723,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "fieldConfig": { "defaults": { "custom": {}, @@ -11307,9 +10792,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Sockstat Memory Size", "tooltip": { "shared": true, @@ -11318,9 +10801,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -11329,22 +10810,17 @@ "format": "bytes", "label": "bytes", "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 } }, { @@ -11352,7 +10828,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "fieldConfig": { "defaults": { "custom": {}, @@ -11427,9 +10905,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Sockstat FRAG / RAW", "tooltip": { "shared": true, @@ -11438,9 +10914,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -11450,33 +10924,29 @@ "format": "short", "label": "counter", "logBase": 1, - "max": null, "min": "0", "show": true }, { "$$hashKey": "object:1573", "format": "short", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": false } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } } ], - "repeat": null, "title": "Network Sockstat", "type": "row" }, { "collapsed": true, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "gridPos": { "h": 1, "w": 24, @@ -11490,7 +10960,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "fieldConfig": { "defaults": { "custom": {}, @@ -11567,9 +11039,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Netstat IP In / Out Octets", "tooltip": { "shared": true, @@ -11578,9 +11048,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -11590,23 +11058,17 @@ "format": "short", "label": "octects out (-) / in (+)", "logBase": 1, - "max": null, - "min": null, "show": true }, { "$$hashKey": "object:1890", "format": "short", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": false } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } }, { @@ -11614,7 +11076,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "fieldConfig": { "defaults": { "custom": {}, @@ -11676,9 +11140,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Netstat IP Forwarding", "tooltip": { "shared": true, @@ -11687,9 +11149,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -11699,23 +11159,18 @@ "format": "short", "label": "counter", "logBase": 1, - "max": null, "min": "0", "show": true }, { "$$hashKey": "object:1958", "format": "short", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": false } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } }, { @@ -11723,8 +11178,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", - "decimals": null, + "datasource": { + "uid": "$ds_prometheus" + }, "fieldConfig": { "defaults": { "custom": {}, @@ -11798,9 +11254,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "ICMP In / Out", "tooltip": { "shared": true, @@ -11809,9 +11263,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -11820,22 +11272,16 @@ "format": "short", "label": "messages out (-) / in (+)", "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 + "align": false } }, { @@ -11843,8 +11289,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", - "decimals": null, + "datasource": { + "uid": "$ds_prometheus" + }, "fieldConfig": { "defaults": { "custom": {}, @@ -11910,9 +11357,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "ICMP Errors", "tooltip": { "shared": true, @@ -11921,9 +11366,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -11932,22 +11375,16 @@ "format": "short", "label": "messages out (-) / in (+)", "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 + "align": false } }, { @@ -11955,8 +11392,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", - "decimals": null, + "datasource": { + "uid": "$ds_prometheus" + }, "fieldConfig": { "defaults": { "custom": {}, @@ -12034,9 +11472,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "UDP In / Out", "tooltip": { "shared": true, @@ -12045,9 +11481,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -12056,22 +11490,16 @@ "format": "short", "label": "datagrams out (-) / in (+)", "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 + "align": false } }, { @@ -12079,7 +11507,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "fieldConfig": { "defaults": { "custom": {}, @@ -12169,9 +11599,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "UDP Errors", "tooltip": { "shared": true, @@ -12180,9 +11608,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -12192,23 +11618,17 @@ "format": "short", "label": "datagrams", "logBase": 1, - "max": null, - "min": null, "show": true }, { "$$hashKey": "object:4233", "format": "short", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": false } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } }, { @@ -12216,8 +11636,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", - "decimals": null, + "datasource": { + "uid": "$ds_prometheus" + }, "fieldConfig": { "defaults": { "custom": {}, @@ -12296,9 +11717,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "TCP In / Out", "tooltip": { "shared": true, @@ -12307,9 +11726,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -12318,22 +11735,16 @@ "format": "short", "label": "datagrams out (-) / in (+)", "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 + "align": false } }, { @@ -12341,7 +11752,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "description": "", "fieldConfig": { "defaults": { @@ -12432,9 +11845,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "TCP Errors", "tooltip": { "shared": true, @@ -12443,9 +11854,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -12454,22 +11863,17 @@ "format": "short", "label": "counter", "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 } }, { @@ -12477,7 +11881,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "fieldConfig": { "defaults": { "custom": {}, @@ -12554,9 +11960,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "TCP Connections", "tooltip": { "shared": true, @@ -12565,9 +11969,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -12577,23 +11979,18 @@ "format": "short", "label": "connections", "logBase": 1, - "max": null, "min": "0", "show": true }, { "$$hashKey": "object:470", "format": "short", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": false } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } }, { @@ -12601,7 +11998,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "description": "", "fieldConfig": { "defaults": { @@ -12688,9 +12087,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "TCP SynCookie", "tooltip": { "shared": true, @@ -12699,9 +12096,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -12710,22 +12105,16 @@ "format": "short", "label": "counter out (-) / in (+)", "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 + "align": false } }, { @@ -12733,7 +12122,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "fieldConfig": { "defaults": { "custom": {}, @@ -12801,9 +12192,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "TCP Direct Transition", "tooltip": { "shared": true, @@ -12812,9 +12201,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -12823,22 +12210,17 @@ "format": "short", "label": "connections", "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 } }, { @@ -12846,7 +12228,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "fieldConfig": { "defaults": { "custom": {} @@ -12933,9 +12317,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "TCP TimeWait", "tooltip": { "shared": true, @@ -12944,9 +12326,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -12955,32 +12335,28 @@ "format": "short", "label": "Counter", "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 } } ], - "repeat": null, "title": "Network Netstat", "type": "row" }, { "collapsed": true, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "gridPos": { "h": 1, "w": 24, @@ -12994,7 +12370,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "description": "", "fieldConfig": { "defaults": { @@ -13053,9 +12431,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Node Exporter Scrape Time", "tooltip": { "shared": true, @@ -13064,9 +12440,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -13075,22 +12449,16 @@ "format": "s", "label": "seconds", "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 + "align": false } }, { @@ -13098,7 +12466,9 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "description": "", "fieldConfig": { "defaults": { @@ -13171,9 +12541,7 @@ } ], "thresholds": [], - "timeFrom": null, "timeRegions": [], - "timeShift": null, "title": "Node Exporter Scrape", "tooltip": { "shared": true, @@ -13182,9 +12550,7 @@ }, "type": "graph", "xaxis": { - "buckets": null, "mode": "time", - "name": null, "show": true, "values": [] }, @@ -13194,33 +12560,26 @@ "format": "short", "label": "counter", "logBase": 1, - "max": null, - "min": null, "show": true }, { "$$hashKey": "object:1485", "format": "short", - "label": null, "logBase": 1, - "max": null, - "min": null, "show": false } ], "yaxis": { - "align": false, - "alignLevel": null + "align": false } } ], - "repeat": null, "title": "Node Exporter", "type": "row" } ], "refresh": "30s", - "schemaVersion": 27, + "schemaVersion": 36, "style": "dark", "tags": [ "nodes" @@ -13233,8 +12592,6 @@ "text": "default", "value": "default" }, - "description": null, - "error": null, "hide": 0, "includeAll": false, "label": "datasource", @@ -13248,16 +12605,16 @@ "type": "datasource" }, { - "allValue": null, "current": { "selected": false, "text": "dev-master-0", "value": "dev-master-0" }, - "datasource": "$ds_prometheus", + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "definition": "", - "description": null, - "error": null, "hide": 0, "includeAll": false, "label": "Node:", @@ -13273,23 +12630,18 @@ "skipUrlSync": false, "sort": 1, "tagValuesQuery": "", - "tags": [], "tagsQuery": "", "type": "query", "useTags": false }, { - "allValue": null, "current": { "selected": false, "text": "[a-z]+|nvme[0-9]+n[0-9]+", "value": "[a-z]+|nvme[0-9]+n[0-9]+" }, - "description": null, - "error": null, "hide": 2, "includeAll": false, - "label": null, "multi": false, "name": "diskdevices", "options": [ @@ -13337,5 +12689,6 @@ "timezone": "browser", "title": "Node", "uid": "rYdddlPWk", - "version": 4 + "version": 4, + "weekStart": "" } diff --git a/dashboards/main/pod.json b/dashboards/main/pod.json index 36c172b8..fdca7f65 100644 --- a/dashboards/main/pod.json +++ b/dashboards/main/pod.json @@ -3,7 +3,10 @@ "list": [ { "builtIn": 1, - "datasource": "-- Grafana --", + "datasource": { + "type": "datasource", + "uid": "grafana" + }, "enable": true, "hide": true, "iconColor": "rgba(0, 211, 255, 1)", @@ -20,14 +23,16 @@ }, "editable": false, "fiscalYearStartMonth": 0, - "gnetId": null, "graphTooltip": 1, - "iteration": 1640791001978, + "id": 117, "links": [], "liveNow": false, "panels": [ { - "datasource": null, + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "description": "Note that this table shows the average values for the entire period selected in the dashboard. Consequently, it may contain information about Pods or namespaces that were changed or deleted during the selected period.", "fieldConfig": { "defaults": { @@ -35,9 +40,12 @@ "mode": "thresholds" }, "custom": { - "align": null, - "displayMode": "auto", + "align": "auto", + "cellOptions": { + "type": "auto" + }, "filterable": false, + "inspect": false, "minWidth": 75 }, "decimals": 2, @@ -47,8 +55,7 @@ "mode": "absolute", "steps": [ { - "color": "green", - "value": null + "color": "green" }, { "color": "red", @@ -70,8 +77,7 @@ "value": "Time" }, { - "id": "custom.align", - "value": null + "id": "custom.align" }, { "id": "custom.minWidth", @@ -98,8 +104,7 @@ "value": 2 }, { - "id": "custom.align", - "value": null + "id": "custom.align" }, { "id": "custom.minWidth", @@ -122,8 +127,7 @@ "value": 2 }, { - "id": "custom.align", - "value": null + "id": "custom.align" } ] }, @@ -146,8 +150,7 @@ "value": 2 }, { - "id": "custom.align", - "value": null + "id": "custom.align" }, { "id": "mappings", @@ -195,8 +198,7 @@ "value": 2 }, { - "id": "custom.align", - "value": null + "id": "custom.align" } ] }, @@ -219,8 +221,7 @@ "value": 2 }, { - "id": "custom.align", - "value": null + "id": "custom.align" } ] }, @@ -243,8 +244,7 @@ "value": 2 }, { - "id": "custom.align", - "value": null + "id": "custom.align" } ] }, @@ -267,8 +267,7 @@ "value": 2 }, { - "id": "custom.align", - "value": null + "id": "custom.align" } ] }, @@ -291,8 +290,7 @@ "value": 2 }, { - "id": "custom.align", - "value": null + "id": "custom.align" } ] }, @@ -315,8 +313,7 @@ "value": 2 }, { - "id": "custom.align", - "value": null + "id": "custom.align" } ] }, @@ -339,8 +336,7 @@ "value": 2 }, { - "id": "custom.align", - "value": null + "id": "custom.align" } ] }, @@ -363,8 +359,7 @@ "value": 2 }, { - "id": "custom.align", - "value": null + "id": "custom.align" } ] }, @@ -387,8 +382,7 @@ "value": 2 }, { - "id": "custom.align", - "value": null + "id": "custom.align" } ] }, @@ -411,8 +405,7 @@ "value": 2 }, { - "id": "custom.align", - "value": null + "id": "custom.align" } ] }, @@ -435,8 +428,7 @@ "value": 2 }, { - "id": "custom.align", - "value": null + "id": "custom.align" } ] }, @@ -459,20 +451,19 @@ "value": 2 }, { - "id": "custom.align", - "value": null + "id": "custom.align" }, { "id": "mappings", "value": [ { - "type": "value", "options": { "-1": { - "text": "hostNet", - "index": 0 + "index": 0, + "text": "hostNet" } - } + }, + "type": "value" } ] } @@ -497,20 +488,19 @@ "value": 2 }, { - "id": "custom.align", - "value": null + "id": "custom.align" }, { "id": "mappings", "value": [ { - "type": "value", "options": { "-1": { - "text": "hostNet", - "index": 0 + "index": 0, + "text": "hostNet" } - } + }, + "type": "value" } ] } @@ -535,8 +525,7 @@ "value": 2 }, { - "id": "custom.align", - "value": null + "id": "custom.align" } ] }, @@ -559,8 +548,7 @@ "value": 2 }, { - "id": "custom.align", - "value": null + "id": "custom.align" } ] }, @@ -579,8 +567,7 @@ "value": "short" }, { - "id": "custom.align", - "value": null + "id": "custom.align" } ] }, @@ -603,8 +590,7 @@ "value": 2 }, { - "id": "custom.align", - "value": null + "id": "custom.align" }, { "id": "custom.minWidth", @@ -627,8 +613,7 @@ "value": "short" }, { - "id": "custom.align", - "value": null + "id": "custom.align" } ] } @@ -643,11 +628,25 @@ "id": 141, "links": [], "options": { + "cellHeight": "sm", + "footer": { + "countRows": false, + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, "showHeader": true }, - "pluginVersion": "8.2.6", + "pluginVersion": "10.2.2", "targets": [ { + "datasource": { + "type": "prometheus", + "uid": "${ds_prometheus}" + }, + "editorMode": "code", "expr": "kube_pod_container_info{namespace=\"$namespace\", pod=\"$pod\", container=~\"$container\"}", "format": "table", "hide": false, @@ -658,6 +657,10 @@ "refId": "A" }, { + "datasource": { + "type": "prometheus", + "uid": "${ds_prometheus}" + }, "expr": "max by (pod, node) (avg_over_time(kube_pod_info{namespace=\"$namespace\", pod=\"$pod\"}[$__range]))", "format": "table", "instant": true, @@ -666,6 +669,10 @@ "refId": "S" }, { + "datasource": { + "type": "prometheus", + "uid": "${ds_prometheus}" + }, "expr": "sum by (pod) (avg_over_time(kube_controller_pod{namespace=\"$namespace\", pod=\"$pod\"}[$__range]) * on (controller_type, controller_name) group_left() sum by (controller_type, controller_name) (avg_over_time(vpa_target_recommendation{namespace=\"$namespace\", update_mode=\"Off\"}[$__range]))) * 0\nor\nsum by (pod) (avg_over_time(kube_controller_pod{namespace=\"$namespace\", pod=\"$pod\"}[$__range]) * on (controller_type, controller_name) group_left() sum by (controller_type, controller_name) (avg_over_time(vpa_target_recommendation{namespace=\"$namespace\", update_mode=\"Initial\"}[$__range]))) * 0 + 1\nor\nsum by (pod) (avg_over_time(kube_controller_pod{namespace=\"$namespace\", pod=\"$pod\"}[$__range]) * on (controller_type, controller_name) group_left() sum by (controller_type, controller_name) (avg_over_time(vpa_target_recommendation{namespace=\"$namespace\", update_mode=\"Auto\"}[$__range]))) * 0 + 2\nor\nsum by (pod) (avg_over_time(kube_controller_pod{namespace=\"$namespace\", pod=\"$pod\"}[$__range]) * on (controller_type, controller_name) group_left() sum by (controller_type, controller_name) (avg_over_time(vpa_target_recommendation{namespace=\"$namespace\", update_mode=\"Recreate\"}[$__range]))) * 0 + 3\nor\nsum by (pod) (avg_over_time(kube_controller_pod{namespace=\"$namespace\", pod=\"$pod\"}[$__range])) * 0 + 5", "format": "table", "hide": false, @@ -675,6 +682,10 @@ "refId": "B" }, { + "datasource": { + "type": "prometheus", + "uid": "${ds_prometheus}" + }, "expr": "sum by (container) (rate(container_cpu_usage_seconds_total{namespace=\"$namespace\", pod=\"$pod\", container!=\"POD\", container=~\"$container\"}[$__range]))\nor\nsum by (container) (avg_over_time(kube_pod_container_info{namespace=\"$namespace\", pod=\"$pod\", container=~\"$container\"}[$__range]) * 0)", "format": "table", "hide": false, @@ -684,6 +695,10 @@ "refId": "C" }, { + "datasource": { + "type": "prometheus", + "uid": "${ds_prometheus}" + }, "expr": "sum by (container) (avg_over_time(kube_pod_container_resource_requests{resource=\"cpu\",unit=\"core\",namespace=\"$namespace\", pod=\"$pod\", container=~\"$container\"}[$__range]))\nor\nsum by (container) (avg_over_time(kube_pod_container_info{namespace=\"$namespace\", pod=\"$pod\", container=~\"$container\"}[$__range]) * 0)", "format": "table", "instant": true, @@ -692,6 +707,10 @@ "refId": "D" }, { + "datasource": { + "type": "prometheus", + "uid": "${ds_prometheus}" + }, "expr": "sum by (container) (\n sum by (controller_type, controller_name, pod) (avg_over_time(kube_controller_pod{namespace=\"$namespace\", pod=\"$pod\"}[$__range]))\n * on (controller_type, controller_name) group_right() \n sum by (controller_type, controller_name, container) (\n avg_over_time(vpa_target_recommendation{namespace=\"$namespace\", container=~\"$container\", resource=\"cpu\"}[$__range])))\nor\nsum by (container) (avg_over_time(kube_pod_container_info{namespace=\"$namespace\", pod=\"$pod\", container=~\"$container\"}[$__range]) * 0)", "format": "table", "instant": true, @@ -700,6 +719,10 @@ "refId": "E" }, { + "datasource": { + "type": "prometheus", + "uid": "${ds_prometheus}" + }, "expr": "(\n sum by (container) (avg_over_time(kube_pod_container_resource_requests{resource=\"cpu\",unit=\"core\",namespace=\"$namespace\", pod=\"$pod\", container=~\"$container\"}[$__range]))\n -\n sum by (container) (rate(container_cpu_usage_seconds_total{namespace=\"$namespace\", pod=\"$pod\", container=~\"$container\"}[$__range]))\n) > 0\nor\nsum by (container) (avg_over_time(kube_pod_container_info{namespace=\"$namespace\", pod=\"$pod\", container=~\"$container\"}[$__range]) * 0)", "format": "table", "instant": true, @@ -708,6 +731,10 @@ "refId": "F" }, { + "datasource": { + "type": "prometheus", + "uid": "${ds_prometheus}" + }, "expr": "(\n (\n sum by (container) (rate(container_cpu_usage_seconds_total{namespace=\"$namespace\", pod=\"$pod\", container=~\"$container\"}[$__range]))\n -\n sum by (container) (avg_over_time(kube_pod_container_resource_requests{resource=\"cpu\",unit=\"core\",namespace=\"$namespace\", pod=\"$pod\", container=~\"$container\"}[$__range]))\n ) or sum by (container) (rate(container_cpu_usage_seconds_total{namespace=\"$namespace\", pod=\"$pod\", container=~\"$container\"}[$__range]))\n) > 0\nor\nsum by (container) (avg_over_time(kube_pod_container_info{namespace=\"$namespace\", pod=\"$pod\", container=~\"$container\"}[$__range]) * 0)", "format": "table", "instant": true, @@ -716,6 +743,10 @@ "refId": "G" }, { + "datasource": { + "type": "prometheus", + "uid": "${ds_prometheus}" + }, "expr": "(\n (\n sum by (container) (rate(container_cpu_cfs_throttled_periods_total{namespace=\"$namespace\", pod=\"$pod\", container=~\"$container\"}[$__range])) \n / \n sum by (container) (rate(container_cpu_cfs_periods_total{namespace=\"$namespace\", pod=\"$pod\", container=~\"$container\"}[$__range]))\n )\n * sum by (container) (avg_over_time(kube_pod_container_resource_limits{resource=\"cpu\",unit=\"core\",namespace=\"$namespace\", pod=\"$pod\", container=~\"$container\"}[$__range]))\n)\nor\nsum by (container) (avg_over_time(kube_pod_container_info{namespace=\"$namespace\", pod=\"$pod\", container=~\"$container\"}[$__range]) * 0)", "format": "table", "instant": true, @@ -724,6 +755,10 @@ "refId": "H" }, { + "datasource": { + "type": "prometheus", + "uid": "${ds_prometheus}" + }, "expr": "sum by (container) (avg_over_time(container_memory_working_set_bytes:without_kmem{namespace=\"$namespace\", pod=\"$pod\", container!=\"POD\", container=~\"$container\"}[$__range]))\nor\nsum by (container) (avg_over_time(kube_pod_container_info{namespace=\"$namespace\", pod=\"$pod\", container=~\"$container\"}[$__range]) * 0)", "format": "table", "instant": true, @@ -732,6 +767,10 @@ "refId": "I" }, { + "datasource": { + "type": "prometheus", + "uid": "${ds_prometheus}" + }, "expr": "sum by (container) (avg_over_time(kube_pod_container_resource_requests{resource=\"memory\",unit=\"byte\",namespace=\"$namespace\", pod=\"$pod\", container=~\"$container\"}[$__range]))\nor\nsum by (container) (avg_over_time(kube_pod_container_info{namespace=\"$namespace\", pod=\"$pod\", container=~\"$container\"}[$__range]) * 0)", "format": "table", "instant": true, @@ -740,6 +779,10 @@ "refId": "J" }, { + "datasource": { + "type": "prometheus", + "uid": "${ds_prometheus}" + }, "expr": "sum by (container) (\n sum by (controller_type, controller_name, pod) (avg_over_time(kube_controller_pod{namespace=\"$namespace\", pod=\"$pod\"}[$__range]))\n * on (controller_type, controller_name) group_right() \n sum by (controller_type, controller_name, container) (\n avg_over_time(vpa_target_recommendation{namespace=\"$namespace\", container=~\"$container\", resource=\"memory\"}[$__range])))\nor\nsum by (container) (avg_over_time(kube_pod_container_info{namespace=\"$namespace\", pod=\"$pod\", container=~\"$container\"}[$__range]) * 0)", "format": "table", "instant": true, @@ -748,6 +791,10 @@ "refId": "K" }, { + "datasource": { + "type": "prometheus", + "uid": "${ds_prometheus}" + }, "expr": "(\n sum by (container) (avg_over_time(kube_pod_container_resource_requests{resource=\"memory\",unit=\"byte\",namespace=\"$namespace\", pod=\"$pod\", container=~\"$container\"}[$__range]))\n -\n sum by (container) (avg_over_time(container_memory_working_set_bytes:without_kmem{namespace=\"$namespace\", pod=\"$pod\", container=~\"$container\"}[$__range]))\n) > 0\nor\nsum by (container) (avg_over_time(kube_pod_container_info{namespace=\"$namespace\", pod=\"$pod\", container=~\"$container\"}[$__range]) * 0)", "format": "table", "instant": true, @@ -756,6 +803,10 @@ "refId": "L" }, { + "datasource": { + "type": "prometheus", + "uid": "${ds_prometheus}" + }, "expr": "(\n (\n sum by (container) (avg_over_time(container_memory_working_set_bytes:without_kmem{namespace=\"$namespace\", pod=\"$pod\", container=~\"$container\"}[$__range]))\n -\n sum by (container) (avg_over_time(kube_pod_container_resource_requests{resource=\"memory\",unit=\"byte\",namespace=\"$namespace\", pod=\"$pod\", container=~\"$container\"}[$__range]))\n ) or sum by (container) (avg_over_time(container_memory_working_set_bytes:without_kmem{namespace=\"$namespace\", pod=\"$pod\", container=~\"$container\"}[$__range]))\n) > 0\nor\nsum by (container) (avg_over_time(kube_pod_container_info{namespace=\"$namespace\", pod=\"$pod\", container=~\"$container\"}[$__range]) * 0)", "format": "table", "instant": true, @@ -764,7 +815,12 @@ "refId": "M" }, { - "expr": "(\n # Show data rate for the Pod if it had hostNetwork: false during the selected period.\n max_over_time(kube_pod_info{host_network=\"false\", namespace=\"$namespace\", pod=\"$pod\"}[$__range])\n * on(pod)\n sum by (pod) (rate(container_network_receive_bytes_total{namespace=\"$namespace\", pod=\"$pod\"}[$__range]))\n) or (\n # Else return -1 if the Pod had hostNetwork: true during the selecte period.\n max_over_time(kube_pod_info{host_network=\"true\", namespace=\"$namespace\", pod=\"$pod\"}[$__range]) * -1\n)", + "datasource": { + "type": "prometheus", + "uid": "${ds_prometheus}" + }, + "editorMode": "code", + "expr": "(\n # Show data rate for the Pod if it had hostNetwork: false during the selected period.\n sum by (pod) (rate(container_network_receive_bytes_total{namespace=\"$namespace\", pod=\"$pod\"}[$__range]))\n * on(pod)\n max(max_over_time(kube_pod_info{host_network=\"false\", namespace=\"$namespace\", pod=\"$pod\"}[$__range])) by(pod)\n) or (\n # Else return -1 if the Pod had hostNetwork: true during the selecte period.\n max_over_time(kube_pod_info{host_network=\"true\", namespace=\"$namespace\", pod=\"$pod\"}[$__range]) * -1\n)", "format": "table", "hide": false, "instant": true, @@ -773,7 +829,12 @@ "refId": "N" }, { - "expr": "(\n # Show data rate for the Pod if it had hostNetwork: false during the selected period.\n max_over_time(kube_pod_info{host_network=\"false\", namespace=\"$namespace\", pod=\"$pod\"}[$__range])\n * on(pod)\n sum by (pod) (rate(container_network_transmit_bytes_total{namespace=\"$namespace\", pod=\"$pod\"}[$__range]))\n) or (\n # Else return -1 if the Pod had hostNetwork: true during the selecte period.\n max_over_time(kube_pod_info{host_network=\"true\", namespace=\"$namespace\", pod=\"$pod\"}[$__range]) * -1\n)", + "datasource": { + "type": "prometheus", + "uid": "${ds_prometheus}" + }, + "editorMode": "code", + "expr": "(\n # Show data rate for the Pod if it had hostNetwork: false during the selected period.\n max(max_over_time(kube_pod_info{host_network=\"false\", namespace=\"$namespace\", pod=\"$pod\"}[$__range])) by(pod)\n * on(pod)\n sum by (pod) (rate(container_network_transmit_bytes_total{namespace=\"$namespace\", pod=\"$pod\"}[$__range]))\n) or (\n # Else return -1 if the Pod had hostNetwork: true during the selecte period.\n max_over_time(kube_pod_info{host_network=\"true\", namespace=\"$namespace\", pod=\"$pod\"}[$__range]) * -1\n)", "format": "table", "hide": false, "instant": true, @@ -782,6 +843,10 @@ "refId": "O" }, { + "datasource": { + "type": "prometheus", + "uid": "${ds_prometheus}" + }, "expr": "sum by(container) (rate(container_fs_reads_total{namespace=\"$namespace\", pod=\"$pod\", container!=\"POD\"}[$__range]))", "format": "table", "hide": false, @@ -791,6 +856,10 @@ "refId": "P" }, { + "datasource": { + "type": "prometheus", + "uid": "${ds_prometheus}" + }, "expr": "sum by(container) (rate(container_fs_writes_total{namespace=\"$namespace\", pod=\"$pod\", container!=\"POD\"}[$__range]))", "format": "table", "hide": false, @@ -800,6 +869,10 @@ "refId": "Q" }, { + "datasource": { + "type": "prometheus", + "uid": "${ds_prometheus}" + }, "expr": "sum by (container) (increase(kube_pod_container_status_restarts_total{namespace=\"$namespace\", pod=\"$pod\"}[$__range]))", "format": "table", "hide": false, @@ -809,6 +882,10 @@ "refId": "R" }, { + "datasource": { + "type": "prometheus", + "uid": "${ds_prometheus}" + }, "expr": "sum by (container) (label_replace(increase(klog_pod_oomkill{namespace=\"$namespace\", pod_name=\"$pod\"}[$__range]), \"container\", \"$1\", \"container_name\", \"(.+)\"))", "format": "table", "hide": false, @@ -818,6 +895,10 @@ "refId": "T" }, { + "datasource": { + "type": "prometheus", + "uid": "${ds_prometheus}" + }, "expr": "sum by (container) (avg_over_time(container_memory:kmem{namespace=\"$namespace\", pod=\"$pod\", container!=\"POD\", container=~\"$container\"}[$__range]))\nor\nsum by (container) (avg_over_time(kube_pod_container_info{namespace=\"$namespace\", pod=\"$pod\", container=~\"$container\"}[$__range]) * 0)", "format": "table", "instant": true, @@ -877,431 +958,417 @@ "type": "table" }, { - "cards": { - "cardHSpacing": 2, - "cardMinWidth": 5, - "cardRound": null, - "cardVSpacing": 2 + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" }, - "color": { - "cardColor": "#b4ff00", - "colorScale": "sqrt", - "colorScheme": "interpolateGnYlRd", - "defaultColor": "#757575", - "exponent": 0.5, - "mode": "discrete", - "thresholds": [ - { - "color": "#9ac48a", - "tooltip": "ready", - "value": "0" + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" }, - { - "color": "#f4d598", - "tooltip": "running", - "value": "1" + "custom": { + "fillOpacity": 70, + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineWidth": 0, + "spanNulls": false }, - { - "color": "#890f02", - "tooltip": "terminated/Error", - "value": "2" - }, - { - "color": "#e24d42", - "tooltip": "terminated/Completed", - "value": "3" - }, - { - "color": "#f29191", - "tooltip": "terminated/ContainerCannotRun", - "value": "4" - }, - { - "color": "#fce2de", - "tooltip": "terminated/OOMKilled", - "value": "5" - }, - { - "color": "#1f78c1", - "tooltip": "waiting/ContainerCreating", - "value": "6" - }, - { - "color": "#64b0c8", - "tooltip": "waiting/CrashLoopBackOff", - "value": "7" - }, - { - "color": "#65c5db", - "tooltip": "waiting/CreateContainerConfigError", - "value": "8" - }, - { - "color": "#badff4", - "tooltip": "waiting/ErrImagePull", - "value": "9" - }, - { - "color": "#cffaff", - "tooltip": "waiting/ImagePullBackOff", - "value": "10" + "mappings": [ + { + "options": { + "0": { + "color": "#9ac48a", + "index": 0, + "text": "ready" + }, + "1": { + "color": "#f4d598", + "index": 1, + "text": "running" + }, + "2": { + "color": "#890f02", + "index": 2, + "text": "terminated/Error" + }, + "3": { + "color": "#e24d42", + "index": 3, + "text": "terminated/Completed" + }, + "4": { + "color": "#f29191", + "index": 4, + "text": "terminated/ContainerCannotRun" + }, + "5": { + "color": "#fce2de", + "index": 5, + "text": "terminated/OOMKilled" + }, + "6": { + "color": "#1f78c1", + "index": 6, + "text": "waiting/ContainerCreating" + }, + "7": { + "color": "#64b0c8", + "index": 7, + "text": "waiting/CrashLoopBackoff" + }, + "8": { + "color": "#65c5db", + "index": 8, + "text": "waiting/CreateContainerConfigError" + }, + "9": { + "color": "#badff4", + "index": 9, + "text": "waiting/ErrImagePull" + }, + "10": { + "color": "#cffaff", + "index": 10, + "text": "waiting/ImagePullBackOff" + } + }, + "type": "value" + } + ], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + } + ] } - ] + }, + "overrides": [] }, - "datasource": "$ds_prometheus", "gridPos": { "h": 8, "w": 24, "x": 0, "y": 9 }, - "highlightCards": true, "id": 47, - "legend": { - "show": true - }, "links": [], - "nullPointMode": "as empty", - "pageSize": 15, - "seriesFilterIndex": -1, - "statusmap": { - "ConfigVersion": "v1" + "options": { + "alignValue": "left", + "legend": { + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "mergeValues": false, + "rowHeight": 0.9, + "showValue": "never", + "tooltip": { + "mode": "single", + "sort": "none" + } }, "targets": [ { - "expr": "(min_over_time(kube_pod_container_status_ready{namespace=\"$namespace\", pod=\"$pod\"}[$__rate_interval]) == 1) * 0", + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, + "expr": "min by (container) (\n ((min_over_time(kube_pod_container_status_ready{namespace=\"$namespace\", pod=\"$pod\"}[$__rate_interval]) == 1) * 0) or\n ((min_over_time(kube_pod_container_status_running{namespace=\"$namespace\", pod=\"$pod\"}[$__rate_interval]) == 1) * 1) or\n (\n (max_over_time(kube_pod_container_status_terminated_reason{namespace=\"$namespace\", pod=\"$pod\"}[$__rate_interval]) == 1)\n * on(reason) group_left()\n (\n label_replace(vector(2), \"reason\", \"Error\", \"\", \"\") or\n label_replace(vector(3), \"reason\", \"Completed\", \"\", \"\") or\n label_replace(vector(4), \"reason\", \"ContainerCannotRun\", \"\", \"\") or\n label_replace(vector(5), \"reason\", \"OOMKilled\", \"\", \"\")\n )\n ) or\n (\n (max_over_time(kube_pod_container_status_waiting_reason{namespace=\"$namespace\", pod=\"$pod\"}[$__rate_interval]) == 1)\n * on(reason) group_left()\n (\n label_replace(vector(6), \"reason\", \"ContainerCreating\", \"\", \"\") or\n label_replace(vector(7), \"reason\", \"CrashLoopBackOff\", \"\", \"\") or\n label_replace(vector(8), \"reason\", \"CreateContainerConfigError\", \"\", \"\") or\n label_replace(vector(9), \"reason\", \"ErrImagePull\", \"\", \"\") or\n label_replace(vector(10), \"reason\", \"ImagePullBackOff\", \"\", \"\")\n )\n )\n)", "format": "time_series", "interval": "", "intervalFactor": 1, "legendFormat": "{{ container }}", "refId": "A" - }, - { - "expr": "(min_over_time(kube_pod_container_status_running{namespace=\"$namespace\", pod=\"$pod\"}[$__rate_interval]) == 1) * 1", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "{{ container }}", - "refId": "B" - }, - { - "expr": "(max_over_time(kube_pod_container_status_terminated_reason{namespace=\"$namespace\", pod=\"$pod\", reason=\"Error\"}[$__rate_interval]) == 1) * 2", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "{{ container }}", - "refId": "C" - }, - { - "expr": "(max_over_time(kube_pod_container_status_terminated_reason{namespace=\"$namespace\", pod=\"$pod\", reason=\"Completed\"}[$__rate_interval]) == 1) * 3", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "{{ container }}", - "refId": "D" - }, - { - "expr": "(max_over_time(kube_pod_container_status_terminated_reason{namespace=\"$namespace\", pod=\"$pod\", reason=\"ContainerCannotRun\"}[$__rate_interval]) == 1) * 4", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "{{ container }}", - "refId": "E" - }, - { - "expr": "(max_over_time(kube_pod_container_status_terminated_reason{namespace=\"$namespace\", pod=\"$pod\", reason=\"OOMKilled\"}[$__rate_interval]) == 1) * 5", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "{{ container }}", - "refId": "F" - }, - { - "expr": "(max_over_time(kube_pod_container_status_waiting_reason{namespace=\"$namespace\", pod=\"$pod\", reason=\"ContainerCreating\"}[$__rate_interval]) == 1) * 6", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "{{ container }}", - "refId": "G" - }, - { - "expr": "(max_over_time(kube_pod_container_status_waiting_reason{namespace=\"$namespace\", pod=\"$pod\", reason=\"CrashLoopBackOff\"}[$__rate_interval]) == 1) * 7", - "format": "time_series", - "instant": false, - "intervalFactor": 1, - "legendFormat": "{{ container }}", - "refId": "H" - }, - { - "expr": "(max_over_time(kube_pod_container_status_waiting_reason{namespace=\"$namespace\", pod=\"$pod\", reason=\"CreateContainerConfigError\"}[$__rate_interval]) == 1) * 8", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "{{ container }}", - "refId": "I" - }, - { - "expr": "(max_over_time(kube_pod_container_status_waiting_reason{namespace=\"$namespace\", pod=\"$pod\", reason=\"ErrImagePull\"}[$__rate_interval]) == 1) * 9", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "{{ container }}", - "refId": "J" - }, - { - "expr": "(max_over_time(kube_pod_container_status_waiting_reason{namespace=\"$namespace\", pod=\"$pod\", reason=\"ImagePullBackOff\"}[$__rate_interval]) == 1) * 10", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "{{ container }}", - "refId": "K" } ], "title": "Status", - "tooltip": { - "extraInfo": "", - "freezeOnClick": true, - "items": [], - "show": true, - "showExtraInfo": false, - "showItems": false - }, - "type": "flant-statusmap-panel", - "useMax": true, - "usingPagination": false, - "xAxis": { - "show": true - }, - "yAxis": { - "maxWidth": -1, - "minWidth": -1, - "show": true - }, - "yAxisSort": "metrics", - "yLabel": { - "delimiter": "", - "labelTemplate": "", - "usingSplitLabel": false - } + "type": "state-timeline" }, { - "aliasColors": {}, - "bars": true, - "dashLength": 10, - "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "description": "The number of container restarts", - "fill": 1, - "fillGradient": 0, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 30, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "normal" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "decimals": 0, + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "short" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Total" + }, + "properties": [ + { + "id": "custom.stacking", + "value": { + "group": false, + "mode": "none" + } + }, + { + "id": "custom.lineWidth", + "value": 0 + }, + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "color", + "value": { + "fixedColor": "yellow", + "mode": "fixed" + } + } + ] + } + ] + }, "gridPos": { "h": 4, "w": 12, "x": 0, "y": 17 }, - "hiddenSeries": false, "id": 166, - "legend": { - "alignAsTable": false, - "avg": false, - "current": false, - "hideEmpty": true, - "hideZero": true, - "max": false, - "min": false, - "rightSide": false, - "show": false, - "sort": "avg", - "sortDesc": true, - "total": false, - "values": false - }, - "lines": false, - "linewidth": 1, "links": [], - "nullPointMode": "null as zero", "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.2.6", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "Total", - "bars": false, - "stack": false + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": false + }, + "tooltip": { + "mode": "multi", + "sort": "desc" } - ], - "spaceLength": 10, - "stack": true, - "steppedLine": false, + }, + "pluginVersion": "8.5.13", "targets": [ { + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "expr": "sum by (container) (increase(kube_pod_container_status_restarts_total{namespace=\"$namespace\", pod=\"$pod\"}[$__rate_interval]))", "format": "time_series", "intervalFactor": 1, "legendFormat": "{{ container }}", "refId": "A" - }, - { - "expr": "sum (increase(kube_pod_container_status_restarts_total{namespace=\"$namespace\", pod=\"$pod\"}[$__rate_interval]))", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "Total", - "refId": "B" } ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, "title": "Containers restarts", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ + "transformations": [ { - "decimals": 0, - "format": "short", - "label": "", - "logBase": 1, - "max": null, - "min": "0", - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": false + "id": "calculateField", + "options": {} } ], - "yaxis": { - "align": false, - "alignLevel": null - } + "type": "timeseries" }, { - "aliasColors": {}, - "bars": true, - "dashLength": 10, - "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "description": "The number of container OOM kills", - "fill": 1, - "fillGradient": 0, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 30, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "normal" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "decimals": 0, + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "short" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Total" + }, + "properties": [ + { + "id": "custom.stacking", + "value": { + "group": false, + "mode": "none" + } + }, + { + "id": "custom.lineWidth", + "value": 0 + }, + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "color", + "value": { + "fixedColor": "yellow", + "mode": "fixed" + } + } + ] + } + ] + }, "gridPos": { "h": 4, "w": 12, "x": 12, "y": 17 }, - "hiddenSeries": false, "id": 167, - "legend": { - "alignAsTable": false, - "avg": false, - "current": false, - "hideEmpty": true, - "hideZero": true, - "max": false, - "min": false, - "rightSide": false, - "show": false, - "sort": "avg", - "sortDesc": true, - "total": false, - "values": false - }, - "lines": false, - "linewidth": 1, "links": [], - "nullPointMode": "null as zero", "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.2.6", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "Total", - "bars": false, - "stack": false + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": false + }, + "tooltip": { + "mode": "multi", + "sort": "desc" } - ], - "spaceLength": 10, - "stack": true, - "steppedLine": false, + }, + "pluginVersion": "8.5.13", "targets": [ { + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "expr": "sum by (container) (increase(oom_kills:normalized{namespace=\"$namespace\", pod=\"$pod\"}[$__rate_interval]))", "format": "time_series", "intervalFactor": 1, "legendFormat": "{{ container }}", "refId": "A" - }, - { - "expr": "sum (increase(oom_kills:normalized{namespace=\"$namespace\", pod=\"$pod\"}[$__rate_interval]))", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "Total", - "refId": "B" } ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, "title": "OOM Killed Processes", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ + "transformations": [ { - "decimals": 0, - "format": "short", - "label": "", - "logBase": 1, - "max": null, - "min": "0", - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": false + "id": "calculateField", + "options": {} } ], - "yaxis": { - "align": false, - "alignLevel": null - } + "type": "timeseries" }, { "collapsed": false, - "datasource": null, + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "gridPos": { "h": 1, "w": 24, @@ -1314,176 +1381,294 @@ "type": "row" }, { - "aliasColors": {}, - "bars": true, - "dashLength": 10, - "dashes": false, - "datasource": "$ds_prometheus", - "fill": 1, - "fillGradient": 0, + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "cores", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 30, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "normal" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "short" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Total" + }, + "properties": [ + { + "id": "custom.stacking", + "value": { + "group": false, + "mode": "none" + } + }, + { + "id": "custom.lineWidth", + "value": 0 + }, + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "color", + "value": { + "fixedColor": "yellow", + "mode": "fixed" + } + } + ] + } + ] + }, "gridPos": { "h": 9, "w": 12, "x": 0, "y": 22 }, - "hiddenSeries": false, "id": 2, - "legend": { - "alignAsTable": true, - "avg": true, - "current": true, - "max": false, - "min": false, - "rightSide": true, - "show": true, - "sort": "avg", - "sortDesc": true, - "total": false, - "values": true - }, - "lines": false, - "linewidth": 1, "links": [], - "nullPointMode": "null as zero", "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.2.6", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "Total", - "bars": false, - "stack": false + "legend": { + "calcs": [ + "mean", + "lastNotNull" + ], + "displayMode": "table", + "placement": "right", + "showLegend": true, + "sortBy": "Mean", + "sortDesc": true + }, + "tooltip": { + "mode": "multi", + "sort": "desc" } - ], - "spaceLength": 10, - "stack": true, - "steppedLine": true, + }, + "pluginVersion": "8.5.13", "targets": [ { + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "expr": "sum by(container) (rate(container_cpu_usage_seconds_total{container!=\"POD\", pod=\"$pod\", namespace=\"$namespace\"}[$__rate_interval]))", "format": "time_series", "instant": false, "intervalFactor": 1, "legendFormat": "{{ container }}", "refId": "A" - }, - { - "expr": "sum (rate(container_cpu_usage_seconds_total{container!=\"POD\", pod=\"$pod\", namespace=\"$namespace\"}[$__rate_interval]))", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "Total", - "refId": "B" } ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, "title": "Usage by container", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ + "transformations": [ { - "format": "short", - "label": "cores", - "logBase": 1, - "max": null, - "min": "0", - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + "id": "calculateField", + "options": {} } ], - "yaxis": { - "align": false, - "alignLevel": null - } + "type": "timeseries" }, { - "aliasColors": {}, - "bars": true, - "dashLength": 10, - "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "description": "The total value may not equal the sum of system and user times because of the kernel's cgroup accounting peculiarities. Read more here: https://www.kernel.org/doc/Documentation/cgroup-v1/cpuacct.txt", - "fill": 1, - "fillGradient": 0, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "cores", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 30, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "normal" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + } + ] + }, + "unit": "short" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "System" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#e24d42", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "User" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#1f78c1", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Total" + }, + "properties": [ + { + "id": "custom.stacking", + "value": { + "group": "A", + "mode": "none" + } + }, + { + "id": "custom.lineWidth", + "value": 0 + }, + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "color", + "value": { + "fixedColor": "yellow", + "mode": "fixed" + } + } + ] + } + ] + }, "gridPos": { "h": 9, "w": 12, "x": 12, "y": 22 }, - "hiddenSeries": false, "id": 3, - "legend": { - "alignAsTable": true, - "avg": true, - "current": false, - "max": false, - "min": false, - "rightSide": true, - "show": true, - "sort": "avg", - "sortDesc": true, - "total": false, - "values": true - }, - "lines": false, - "linewidth": 1, "links": [], - "nullPointMode": "null as zero", "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.2.6", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "/Total.*/", - "bars": false, - "stack": false + "legend": { + "calcs": [ + "mean" + ], + "displayMode": "table", + "placement": "right", + "showLegend": true, + "sortBy": "Mean", + "sortDesc": true }, - { - "alias": "System", - "color": "#e24d42" - }, - { - "alias": "User", - "color": "#1f78c1" + "tooltip": { + "mode": "multi", + "sort": "desc" } - ], - "spaceLength": 10, - "stack": true, - "steppedLine": true, + }, + "pluginVersion": "8.5.13", "targets": [ { + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "expr": "sum by(pod) (rate(container_cpu_system_seconds_total{container!=\"POD\", pod=\"$pod\", namespace=\"$namespace\"}[$__rate_interval]))", "format": "time_series", "instant": false, @@ -1492,398 +1677,448 @@ "refId": "A" }, { + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "expr": "sum by(pod) (rate(container_cpu_user_seconds_total{container!=\"POD\", pod=\"$pod\", namespace=\"$namespace\"}[$__rate_interval]))", "format": "time_series", "intervalFactor": 1, "legendFormat": "User", "refId": "B" - }, - { - "expr": "sum by(pod) (rate(container_cpu_usage_seconds_total{container!=\"POD\", pod=\"$pod\", namespace=\"$namespace\"}[$__rate_interval]))", - "format": "time_series", - "interval": "", - "intervalFactor": 1, - "legendFormat": "Total", - "refId": "D" } ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, "title": "Usage by state", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ + "transformations": [ { - "format": "short", - "label": "cores", - "logBase": 1, - "max": null, - "min": "0", - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + "id": "calculateField", + "options": {} } ], - "yaxis": { - "align": false, - "alignLevel": null - } + "type": "timeseries" }, { - "aliasColors": {}, - "bars": true, - "dashLength": 10, - "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "description": "This graph shows the requested CPU resources higher than the actual CPU consumption. In other words, it shows CPU resources that can be \"freed\" without affecting the service.", - "fill": 1, - "fillGradient": 0, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "cores", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 30, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "normal" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "short" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Total" + }, + "properties": [ + { + "id": "custom.stacking", + "value": { + "group": false, + "mode": "none" + } + }, + { + "id": "custom.lineWidth", + "value": 0 + }, + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "color", + "value": { + "fixedColor": "yellow", + "mode": "fixed" + } + } + ] + } + ] + }, "gridPos": { "h": 8, "w": 12, "x": 0, "y": 31 }, - "hiddenSeries": false, "id": 76, - "legend": { - "alignAsTable": true, - "avg": true, - "current": false, - "max": false, - "min": false, - "rightSide": true, - "show": true, - "sort": "avg", - "sortDesc": true, - "total": false, - "values": true - }, - "lines": false, - "linewidth": 1, "links": [], - "nullPointMode": "null as zero", "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.2.6", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "Total", - "bars": false, - "stack": false + "legend": { + "calcs": [ + "mean" + ], + "displayMode": "table", + "placement": "right", + "showLegend": true, + "sortBy": "Mean", + "sortDesc": true + }, + "tooltip": { + "mode": "multi", + "sort": "desc" } - ], - "spaceLength": 10, - "stack": true, - "steppedLine": true, + }, + "pluginVersion": "8.5.13", "targets": [ { + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "expr": "sum by (namespace, pod, container)\n (\n (\n sum by(namespace, pod, container) (avg_over_time(kube_pod_container_resource_requests{resource=\"cpu\",unit=\"core\",namespace=\"$namespace\", pod=\"$pod\", container=~\"$container\"}[$__rate_interval]))\n -\n sum by(namespace, pod, container) (rate(container_cpu_usage_seconds_total{container!=\"POD\", namespace=\"$namespace\", pod=\"$pod\", container=~\"$container\"}[$__rate_interval]))\n ) > 0\n )", "format": "time_series", "hide": false, "intervalFactor": 1, "legendFormat": "{{ container }}", "refId": "C" - }, - { - "expr": "sum\n (\n (\n sum by(namespace, pod, container) (avg_over_time(kube_pod_container_resource_requests{resource=\"cpu\",unit=\"core\",namespace=\"$namespace\", pod=\"$pod\", container=~\"$container\"}[$__rate_interval]))\n -\n sum by(namespace, pod, container) (rate(container_cpu_usage_seconds_total{container!=\"POD\", namespace=\"$namespace\", pod=\"$pod\", container=~\"$container\"}[$__rate_interval]))\n ) > 0\n )", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "Total", - "refId": "A" } ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, "title": "Over-requested by container", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ + "transformations": [ { - "format": "short", - "label": "cores", - "logBase": 1, - "max": null, - "min": "0", - "show": true - }, - { - "decimals": null, - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + "id": "calculateField", + "options": {} } ], - "yaxis": { - "align": false, - "alignLevel": null - } + "type": "timeseries" }, { - "aliasColors": {}, - "bars": true, - "dashLength": 10, - "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "description": "This graph shows the requested CPU resources lower than the actual CPU consumption. In other words, it shows CPU resources that need to be \"reserved\" for the service to run smoothly.", - "fill": 1, - "fillGradient": 0, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "cores", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 30, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "normal" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "short" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Total" + }, + "properties": [ + { + "id": "custom.stacking", + "value": { + "group": false, + "mode": "none" + } + }, + { + "id": "custom.lineWidth", + "value": 0 + }, + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "color", + "value": { + "fixedColor": "yellow", + "mode": "fixed" + } + } + ] + } + ] + }, "gridPos": { "h": 8, "w": 12, "x": 12, "y": 31 }, - "hiddenSeries": false, "id": 123, - "legend": { - "alignAsTable": true, - "avg": true, - "current": false, - "max": false, - "min": false, - "rightSide": true, - "show": true, - "sort": "avg", - "sortDesc": true, - "total": false, - "values": true - }, - "lines": false, - "linewidth": 1, "links": [], - "nullPointMode": "null as zero", "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.2.6", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "Total", - "bars": false, - "stack": false + "legend": { + "calcs": [ + "mean" + ], + "displayMode": "table", + "placement": "right", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "desc" } - ], - "spaceLength": 10, - "stack": true, - "steppedLine": true, + }, + "pluginVersion": "8.5.13", "targets": [ { + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "expr": "sum by (namespace, pod, container)\n (\n (\n (\n sum by(namespace, pod, container) (rate(container_cpu_usage_seconds_total{namespace=\"$namespace\", pod=\"$pod\", container=~\"$container\"}[$__rate_interval]))\n -\n sum by(namespace, pod, container) (avg_over_time(kube_pod_container_resource_requests{resource=\"cpu\",unit=\"core\",namespace=\"$namespace\", pod=\"$pod\", container=~\"$container\"}[$__rate_interval]))\n ) or sum by(namespace, pod, container) (rate(container_cpu_usage_seconds_total{namespace=\"$namespace\", pod=\"$pod\", container=~\"$container\"}[$__rate_interval]))\n ) > 0\n )", "format": "time_series", "hide": false, "intervalFactor": 1, "legendFormat": "{{ container }}", "refId": "C" - }, - { - "expr": "sum\n (\n (\n (\n sum by(namespace, pod, container) (rate(container_cpu_usage_seconds_total{namespace=\"$namespace\", pod=\"$pod\", container=~\"$container\"}[$__rate_interval]))\n -\n sum by(namespace, pod, container) (avg_over_time(kube_pod_container_resource_requests{resource=\"cpu\",unit=\"core\",namespace=\"$namespace\", pod=\"$pod\", container=~\"$container\"}[$__rate_interval]))\n ) or sum by(namespace, pod, container) (rate(container_cpu_usage_seconds_total{namespace=\"$namespace\", pod=\"$pod\", container=~\"$container\"}[$__rate_interval]))\n ) > 0\n )", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "Total", - "refId": "A" } ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, "title": "Under-requested by container", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ + "transformations": [ { - "format": "short", - "label": "cores", - "logBase": 1, - "max": null, - "min": "0", - "show": true - }, - { - "decimals": null, - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + "id": "calculateField", + "options": {} } ], - "yaxis": { - "align": false, - "alignLevel": null - } + "type": "timeseries" }, { - "aliasColors": {}, - "bars": true, - "dashLength": 10, - "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "description": "The absence of data on the graph means that container resources are not set", - "fill": 1, - "fillGradient": 0, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "cores", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 30, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "normal" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "short" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Total" + }, + "properties": [ + { + "id": "custom.stacking", + "value": { + "group": false, + "mode": "none" + } + }, + { + "id": "custom.lineWidth", + "value": 0 + }, + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "color", + "value": { + "fixedColor": "yellow", + "mode": "fixed" + } + } + ] + } + ] + }, "gridPos": { "h": 6, "w": 24, "x": 0, "y": 39 }, - "hiddenSeries": false, "id": 36, - "legend": { - "alignAsTable": true, - "avg": true, - "current": false, - "hideEmpty": true, - "hideZero": true, - "max": true, - "min": false, - "rightSide": true, - "show": true, - "sort": "avg", - "sortDesc": true, - "total": false, - "values": true - }, - "lines": false, - "linewidth": 1, "links": [], - "nullPointMode": "null as zero", "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.2.6", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "Total", - "bars": false, - "stack": false + "legend": { + "calcs": [ + "mean", + "max" + ], + "displayMode": "table", + "placement": "right", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "desc" } - ], - "spaceLength": 10, - "stack": true, - "steppedLine": false, + }, + "pluginVersion": "8.5.13", "targets": [ { + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "expr": "(sum by (pod, container) (rate(container_cpu_cfs_throttled_periods_total{namespace=\"$namespace\", container=~\"$container\", pod=\"$pod\"}[$__rate_interval])) / sum by (container, pod) (rate(container_cpu_cfs_periods_total{namespace=\"$namespace\", container=~\"$container\", pod=\"$pod\"}[$__rate_interval]))) * sum by (pod, container) (kube_pod_container_resource_limits{resource=\"cpu\",unit=\"core\",namespace=\"$namespace\", pod=\"$pod\", container=~\"$container\"})", "format": "time_series", "intervalFactor": 1, "legendFormat": "{{ container }}", "refId": "A" - }, - { - "expr": "sum by (pod) ((sum by (pod, container) (rate(container_cpu_cfs_throttled_periods_total{namespace=\"$namespace\", container=~\"$container\", pod=\"$pod\"}[$__rate_interval])) / sum by (container, pod) (rate(container_cpu_cfs_periods_total{namespace=\"$namespace\", container=~\"$container\", pod=\"$pod\"}[$__rate_interval]))) * sum by (pod, container) (kube_pod_container_resource_limits{resource=\"cpu\",unit=\"core\",namespace=\"$namespace\", pod=\"$pod\", container=~\"$container\"}))", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "Total", - "refId": "B" } ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, "title": "Throttling", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ + "transformations": [ { - "format": "short", - "label": "cores", - "logBase": 1, - "max": null, - "min": "0", - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": false + "id": "calculateField", + "options": {} } ], - "yaxis": { - "align": false, - "alignLevel": null - } + "type": "timeseries" }, { "collapsed": true, - "datasource": null, + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "gridPos": { "h": 1, "w": 24, @@ -1893,62 +2128,145 @@ "id": 95, "panels": [ { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "description": "The total value may not equal the sum of system and user times because of the kernel's cgroup accounting peculiarities. Read more here: https://www.kernel.org/doc/Documentation/cgroup-v1/cpuacct.txt", - "fill": 0, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisLabel": "cores", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "smooth", + "lineWidth": 2, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "short" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Usage" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#629e51", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Requests" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#f4d598", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Limits" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#c15c17", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "VPA Target" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#447ebc", + "mode": "fixed" + } + } + ] + } + ] + }, "gridPos": { "h": 9, - "w": 8, + "w": 12, "x": 0, "y": 46 }, "id": 102, - "legend": { - "alignAsTable": false, - "avg": false, - "current": false, - "max": false, - "min": false, - "rightSide": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 2, "links": [], - "nullPointMode": "null", - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "desc" + } + }, + "pluginVersion": "8.5.13", "repeat": "container", "repeatDirection": "h", - "seriesOverrides": [ - { - "alias": "Usage", - "color": "#629e51" - }, - { - "alias": "Requests", - "color": "#f4d598" - }, - { - "alias": "Limits", - "color": "#c15c17" - }, - { - "alias": "VPA Target", - "color": "#447ebc" - } - ], - "spaceLength": 10, - "stack": false, - "steppedLine": true, "targets": [ { "expr": "sum by(container) (rate(container_cpu_usage_seconds_total{namespace=\"$namespace\", pod=\"$pod\", container!=\"POD\", container=\"$container\"}[$__rate_interval]))", @@ -1979,54 +2297,19 @@ "refId": "F" } ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, "title": "$container", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "label": "cores", - "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 - } + "type": "timeseries" } ], "title": "Containers CPU", "type": "row" }, { - "collapsed": true, - "datasource": null, + "collapsed": false, + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "gridPos": { "h": 1, "w": 24, @@ -2034,139 +2317,204 @@ "y": 46 }, "id": 5, - "panels": [ - { - "aliasColors": {}, - "bars": true, - "dashLength": 10, - "dashes": false, - "datasource": "$ds_prometheus", - "description": "The total value may not equal the sum of system and user times because of the kernel's cgroup accounting peculiarities. Read more here: https://www.kernel.org/doc/Documentation/cgroup-v1/cpuacct.txt", - "fill": 1, - "gridPos": { - "h": 9, - "w": 8, - "x": 0, - "y": 47 - }, - "id": 7, - "legend": { - "alignAsTable": true, - "avg": true, - "current": false, - "max": false, - "min": false, - "rightSide": true, - "show": true, - "total": false, - "values": true - }, - "lines": false, - "linewidth": 1, - "links": [], - "nullPointMode": "null as zero", - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "repeat": "container", - "repeatDirection": "h", - "seriesOverrides": [ - { - "alias": "Total", - "bars": false, - "stack": false - }, - { - "alias": "System", - "color": "#e24d42" - }, - { - "alias": "User", - "color": "#1f78c1" - } - ], - "spaceLength": 10, - "stack": true, - "steppedLine": false, - "targets": [ - { - "expr": "sum by(container) (rate(container_cpu_system_seconds_total{container!=\"POD\", pod=\"$pod\", namespace=\"$namespace\", container=\"$container\"}[$__rate_interval]))", - "format": "time_series", - "instant": false, - "intervalFactor": 1, - "legendFormat": "System", - "refId": "A" - }, - { - "expr": "sum by(container) (rate(container_cpu_user_seconds_total{container!=\"POD\", pod=\"$pod\", namespace=\"$namespace\", container=\"$container\"}[$__rate_interval]))", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "User", - "refId": "B" - }, - { - "expr": "sum by(container) (rate(container_cpu_usage_seconds_total{container!=\"POD\", pod=\"$pod\", namespace=\"$namespace\", container=\"$container\"}[$__rate_interval]))", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "Total", - "refId": "D" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "$container", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "label": "cores", - "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 - } - } - ], - "repeat": null, + "panels": [], "title": "Containers CPU by state", "type": "row" }, + { + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, + "description": "The total value may not equal the sum of system and user times because of the kernel's cgroup accounting peculiarities. Read more here: https://www.kernel.org/doc/Documentation/cgroup-v1/cpuacct.txt", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "cores", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 30, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "normal" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "short" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Total" + }, + "properties": [ + { + "id": "custom.stacking", + "value": { + "group": false, + "mode": "none" + } + }, + { + "id": "custom.lineWidth", + "value": 0 + }, + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "color", + "value": { + "fixedColor": "yellow", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "System" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#e24d42", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "User" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#1f78c1", + "mode": "fixed" + } + } + ] + } + ] + }, + "gridPos": { + "h": 9, + "w": 8, + "x": 0, + "y": 47 + }, + "id": 7, + "links": [], + "options": { + "legend": { + "calcs": [ + "mean" + ], + "displayMode": "table", + "placement": "right", + "showLegend": true, + "sortBy": "Mean", + "sortDesc": true + }, + "tooltip": { + "mode": "multi", + "sort": "desc" + } + }, + "pluginVersion": "8.5.13", + "repeat": "container", + "repeatDirection": "h", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, + "expr": "sum by(container) (rate(container_cpu_system_seconds_total{container!=\"POD\", pod=\"$pod\", namespace=\"$namespace\", container=\"$container\"}[$__rate_interval]))", + "format": "time_series", + "instant": false, + "intervalFactor": 1, + "legendFormat": "System", + "refId": "A" + }, + { + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, + "expr": "sum by(container) (rate(container_cpu_user_seconds_total{container!=\"POD\", pod=\"$pod\", namespace=\"$namespace\", container=\"$container\"}[$__rate_interval]))", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "User", + "refId": "B" + } + ], + "title": "$container", + "transformations": [ + { + "id": "calculateField", + "options": {} + } + ], + "type": "timeseries" + }, { "collapsed": false, - "datasource": null, + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "gridPos": { "h": 1, "w": 24, "x": 0, - "y": 47 + "y": 65 }, "id": 12, "panels": [], @@ -2174,177 +2522,298 @@ "type": "row" }, { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "$ds_prometheus", - "fill": 1, - "fillGradient": 0, + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 30, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "normal" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "bytes" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Total" + }, + "properties": [ + { + "id": "custom.lineWidth", + "value": 0 + }, + { + "id": "custom.stacking", + "value": { + "group": false, + "mode": "none" + } + }, + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "color", + "value": { + "fixedColor": "yellow", + "mode": "fixed" + } + } + ] + } + ] + }, "gridPos": { "h": 9, "w": 12, "x": 0, - "y": 48 + "y": 66 }, - "hiddenSeries": false, "id": 6, - "legend": { - "alignAsTable": false, - "avg": false, - "current": false, - "max": false, - "min": false, - "rightSide": false, - "show": false, - "sort": "avg", - "sortDesc": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, "links": [], - "nullPointMode": "null as zero", "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.2.6", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "Total", - "lines": false, - "stack": false + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": false + }, + "tooltip": { + "mode": "multi", + "sort": "desc" } - ], - "spaceLength": 10, - "stack": true, - "steppedLine": false, + }, + "pluginVersion": "8.5.13", "targets": [ { + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "expr": "sum by(container) (avg_over_time(container_memory_working_set_bytes:without_kmem{container!=\"POD\", pod=\"$pod\", namespace=\"$namespace\"}[$__rate_interval]))", "format": "time_series", "instant": false, "intervalFactor": 1, "legendFormat": "{{ container }}", "refId": "A" - }, - { - "expr": "sum (avg_over_time(container_memory_working_set_bytes:without_kmem{container!=\"POD\", pod=\"$pod\", namespace=\"$namespace\"}[$__rate_interval]))", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "Total", - "refId": "B" } ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, "title": "Usage by container", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ + "transformations": [ { - "format": "bytes", - "label": "", - "logBase": 1, - "max": null, - "min": "0", - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": false + "id": "calculateField", + "options": {} } ], - "yaxis": { - "align": false, - "alignLevel": null - } + "type": "timeseries" }, { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "description": "The Working set bytes metric is the actual memory used by the container, as it includes active file memory. When its value approaches the limit, the container can be killed by the OOMKiller. This value can be higher than the sum RSS and Cache since not all active file memory is Cache.", - "fill": 1, - "fillGradient": 0, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "normal" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + } + ] + }, + "unit": "bytes" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Working set bytes without kmem" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "rgb(0, 0, 0)", + "mode": "fixed" + } + }, + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "custom.lineWidth", + "value": 2 + }, + { + "id": "custom.stacking", + "value": { + "group": false, + "mode": "none" + } + }, + { + "id": "custom.lineStyle", + "value": { + "dash": [ + 10, + 10 + ], + "fill": "dash" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Kmem" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "rgb(255, 0, 0)", + "mode": "fixed" + } + }, + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "custom.lineWidth", + "value": 2 + }, + { + "id": "custom.stacking", + "value": { + "group": false, + "mode": "none" + } + }, + { + "id": "custom.lineStyle", + "value": { + "dash": [ + 10, + 10 + ], + "fill": "dash" + } + } + ] + } + ] + }, "gridPos": { "h": 9, "w": 12, "x": 12, - "y": 48 + "y": 66 }, - "hiddenSeries": false, "id": 8, - "legend": { - "alignAsTable": false, - "avg": false, - "current": false, - "max": false, - "min": false, - "rightSide": false, - "show": false, - "sort": "avg", - "sortDesc": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, "links": [], - "nullPointMode": "null as zero", "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.2.6", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "Working set bytes without kmem", - "color": "rgb(0, 0, 0)", - "dashes": true, - "fill": 0, - "linewidth": 2, - "stack": false + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": false }, - { - "alias": "Kmem", - "color": "rgb(255, 0, 0)", - "dashes": true, - "fill": 0, - "linewidth": 2, - "stack": false + "tooltip": { + "mode": "multi", + "sort": "none" } - ], - "spaceLength": 10, - "stack": true, - "steppedLine": false, + }, + "pluginVersion": "8.5.13", "targets": [ { "expr": "sum by(pod) (avg_over_time(container_memory_rss{namespace=\"$namespace\", pod=\"$pod\", container!=\"POD\"}[$__rate_interval]))", @@ -2383,368 +2852,583 @@ "refId": "E" } ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, "title": "Usage by state", - "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": null, - "show": false - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } + "type": "timeseries" }, { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "description": "This graph shows the requested Memory resources higher than the actual Memory consumption. In other words, it shows Memory resources that can be \"freed\" without affecting the service.", - "fill": 1, - "fillGradient": 0, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 30, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "normal" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "bytes" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Total" + }, + "properties": [ + { + "id": "custom.lineWidth", + "value": 0 + }, + { + "id": "custom.stacking", + "value": { + "group": false, + "mode": "none" + } + }, + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "color", + "value": { + "fixedColor": "yellow", + "mode": "fixed" + } + } + ] + } + ] + }, "gridPos": { "h": 8, "w": 12, "x": 0, - "y": 57 + "y": 75 }, - "hiddenSeries": false, "id": 106, - "legend": { - "alignAsTable": false, - "avg": false, - "current": false, - "max": false, - "min": false, - "rightSide": false, - "show": false, - "sort": "avg", - "sortDesc": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, "links": [], - "nullPointMode": "null as zero", "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.2.6", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "Total", - "lines": false, - "stack": false + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": false + }, + "tooltip": { + "mode": "multi", + "sort": "desc" } - ], - "spaceLength": 10, - "stack": true, - "steppedLine": false, + }, + "pluginVersion": "8.5.13", "targets": [ { + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "expr": "sum by (container)\n (\n (\n sum by (namespace, pod, container) (avg_over_time(kube_pod_container_resource_requests{resource=\"memory\",unit=\"byte\",namespace=\"$namespace\", pod=\"$pod\", container=~\"$container\"}[$__rate_interval]))\n -\n sum by (namespace, pod, container) (avg_over_time(container_memory_working_set_bytes:without_kmem{namespace=\"$namespace\", pod=\"$pod\", container=~\"$container\", container!=\"POD\"}[$__rate_interval]))\n ) > 0\n )", "format": "time_series", "hide": false, "intervalFactor": 1, "legendFormat": "{{ container }}", "refId": "C" - }, - { - "expr": "sum\n (\n (\n sum by (namespace, pod, container) (avg_over_time(kube_pod_container_resource_requests{resource=\"memory\",unit=\"byte\",namespace=\"$namespace\", pod=\"$pod\", container=~\"$container\"}[$__rate_interval]))\n -\n sum by (namespace, pod, container) (avg_over_time(container_memory_working_set_bytes:without_kmem{namespace=\"$namespace\", pod=\"$pod\", container=~\"$container\", container!=\"POD\"}[$__rate_interval]))\n ) > 0\n )", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "Total", - "refId": "A" } ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, "title": "Over-requested by container", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ + "transformations": [ { - "decimals": null, - "format": "bytes", - "label": "", - "logBase": 1, - "max": null, - "min": "0", - "show": true - }, - { - "decimals": null, - "format": "bytes", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": false + "id": "calculateField", + "options": {} } ], - "yaxis": { - "align": false, - "alignLevel": null - } + "type": "timeseries" }, { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "description": "This graph shows the requested Memory resources higher than the actual Memory consumption. In other words, it shows Memory resources that need to be \"reserved\" for the service to run smoothly.", - "fill": 1, - "fillGradient": 0, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 30, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "normal" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "bytes" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Total" + }, + "properties": [ + { + "id": "custom.lineWidth", + "value": 0 + }, + { + "id": "custom.stacking", + "value": { + "group": false, + "mode": "none" + } + }, + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "color", + "value": { + "fixedColor": "yellow", + "mode": "fixed" + } + } + ] + } + ] + }, "gridPos": { "h": 8, "w": 12, "x": 12, - "y": 57 + "y": 75 }, - "hiddenSeries": false, "id": 136, - "legend": { - "alignAsTable": false, - "avg": false, - "current": false, - "max": false, - "min": false, - "rightSide": false, - "show": false, - "sort": "avg", - "sortDesc": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, "links": [], - "nullPointMode": "null as zero", "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.2.6", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "Total", - "lines": false, - "stack": false + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": false + }, + "tooltip": { + "mode": "multi", + "sort": "desc" } - ], - "spaceLength": 10, - "stack": true, - "steppedLine": false, + }, + "pluginVersion": "8.5.13", "targets": [ { + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "expr": "sum by (container)\n (\n (\n (\n sum by (namespace, pod, container) (avg_over_time(container_memory_working_set_bytes:without_kmem{namespace=\"$namespace\", pod=\"$pod\", container=~\"$container\"}[$__rate_interval]))\n -\n sum by (namespace, pod, container) (avg_over_time(kube_pod_container_resource_requests{resource=\"memory\",unit=\"byte\",namespace=\"$namespace\", pod=\"$pod\", container=~\"$container\", container!=\"POD\"}[$__rate_interval]))\n ) or sum by (namespace, pod, container) (avg_over_time(container_memory_working_set_bytes:without_kmem{namespace=\"$namespace\", pod=\"$pod\", container=~\"$container\", container!=\"POD\"}[$__rate_interval]))\n ) > 0\n )", "format": "time_series", "hide": false, "intervalFactor": 1, "legendFormat": "{{ container }}", "refId": "C" - }, - { - "expr": "sum\n (\n (\n (\n sum by (namespace, pod, container) (avg_over_time(container_memory_working_set_bytes:without_kmem{namespace=\"$namespace\", pod=\"$pod\", container=~\"$container\"}[$__rate_interval]))\n -\n sum by (namespace, pod, container) (avg_over_time(kube_pod_container_resource_requests{resource=\"memory\",unit=\"byte\",namespace=\"$namespace\", pod=\"$pod\", container=~\"$container\", container!=\"POD\"}[$__rate_interval]))\n ) or sum by (namespace, pod, container) (avg_over_time(container_memory_working_set_bytes:without_kmem{namespace=\"$namespace\", pod=\"$pod\", container=~\"$container\", container!=\"POD\"}[$__rate_interval]))\n ) > 0\n )", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "Total", - "refId": "A" } ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, "title": "Under-requested by container", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ + "transformations": [ { - "decimals": null, - "format": "bytes", - "label": "", - "logBase": 1, - "max": null, - "min": "0", - "show": true - }, - { - "decimals": null, - "format": "bytes", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": false + "id": "calculateField", + "options": {} } ], - "yaxis": { - "align": false, - "alignLevel": null - } + "type": "timeseries" }, { "collapsed": true, - "datasource": null, + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "gridPos": { "h": 1, "w": 24, "x": 0, - "y": 65 + "y": 83 }, "id": 16, "panels": [ { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "description": "The Working set bytes metric is the actual memory used by the container, as it includes active file memory. When its value approaches the limit, the container can be killed by the OOMKiller. This value can be higher than the sum RSS and Cache since not all active file memory is Cache.", - "fill": 1, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 30, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "smooth", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "normal" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + } + ] + }, + "unit": "bytes" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Working set bytes without kmem" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "rgb(0, 0, 0)", + "mode": "fixed" + } + }, + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "custom.lineWidth", + "value": 2 + }, + { + "id": "custom.stacking", + "value": { + "group": false, + "mode": "none" + } + }, + { + "id": "custom.lineStyle", + "value": { + "dash": [ + 10, + 10 + ], + "fill": "dash" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Kmem" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "rgb(255, 0, 0)", + "mode": "fixed" + } + }, + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "custom.lineWidth", + "value": 2 + }, + { + "id": "custom.stacking", + "value": { + "group": false, + "mode": "normal" + } + }, + { + "id": "custom.lineStyle", + "value": { + "dash": [ + 10, + 10 + ], + "fill": "dash" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Limits" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#c15c17", + "mode": "fixed" + } + }, + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "custom.lineWidth", + "value": 0 + }, + { + "id": "custom.lineWidth", + "value": 2 + }, + { + "id": "custom.stacking", + "value": { + "group": false, + "mode": "none" + } + }, + { + "id": "custom.lineStyle", + "value": { + "dash": [ + 10, + 10 + ], + "fill": "dash" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Requests" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#f4d598", + "mode": "fixed" + } + }, + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "custom.lineWidth", + "value": 0 + }, + { + "id": "custom.lineWidth", + "value": 2 + }, + { + "id": "custom.stacking", + "value": { + "group": false, + "mode": "none" + } + }, + { + "id": "custom.lineStyle", + "value": { + "dash": [ + 10, + 10 + ], + "fill": "dash" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "VPA Target" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#447ebc", + "mode": "fixed" + } + }, + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "custom.lineWidth", + "value": 0 + }, + { + "id": "custom.lineWidth", + "value": 2 + }, + { + "id": "custom.stacking", + "value": { + "group": false, + "mode": "none" + } + }, + { + "id": "custom.lineStyle", + "value": { + "dash": [ + 10, + 10 + ], + "fill": "dash" + } + } + ] + } + ] + }, "gridPos": { "h": 9, - "w": 8, + "w": 12, "x": 0, - "y": 66 + "y": 75 }, "id": 19, - "legend": { - "alignAsTable": false, - "avg": false, - "current": false, - "max": false, - "min": false, - "rightSide": false, - "show": false, - "sort": "avg", - "sortDesc": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, "links": [], - "nullPointMode": "null as zero", - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": false + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } + }, + "pluginVersion": "8.5.13", "repeat": "container", "repeatDirection": "h", - "seriesOverrides": [ - { - "alias": "Working set bytes without kmem", - "color": "rgb(0, 0, 0)", - "dashes": true, - "fill": 0, - "linewidth": 2, - "stack": false - }, - { - "alias": "Kmem", - "color": "rgb(255, 0, 0)", - "dashes": true, - "fill": 0, - "linewidth": 2, - "stack": false - }, - { - "alias": "Limits", - "color": "#c15c17", - "dashes": true, - "fill": 0, - "lines": false, - "linewidth": 2, - "stack": false - }, - { - "alias": "Requests", - "color": "#f4d598", - "dashes": true, - "fill": 0, - "lines": false, - "linewidth": 2, - "stack": false - }, - { - "alias": "VPA Target", - "color": "#447ebc", - "dashes": true, - "fill": 0, - "lines": false, - "linewidth": 2, - "stack": false - } - ], - "spaceLength": 10, - "stack": true, - "steppedLine": false, "targets": [ { "expr": "sum by(container) (avg_over_time(container_memory_rss{namespace=\"$namespace\", pod=\"$pod\", container!=\"POD\", container=\"$container\"}[$__rate_interval]))", @@ -2805,46 +3489,8 @@ "refId": "H" } ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, "title": "$container", - "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": null, - "show": false - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } + "type": "timeseries" } ], "title": "Containers Memory", @@ -2852,12 +3498,15 @@ }, { "collapsed": false, - "datasource": null, + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "gridPos": { "h": 1, "w": 24, "x": 0, - "y": 66 + "y": 84 }, "id": 25, "panels": [], @@ -2865,25 +3514,34 @@ "type": "row" }, { + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, + "description": "This graph shows Network Receive (except for the hostNetwork Pods)", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { - "axisPlacement": "auto", + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", "axisLabel": "", + "axisPlacement": "auto", "barAlignment": 0, - "drawStyle": "bars", - "fillOpacity": 100, + "drawStyle": "line", + "fillOpacity": 30, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, - "lineInterpolation": "linear", - "lineWidth": 0, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" @@ -2914,8 +3572,7 @@ "mode": "absolute", "steps": [ { - "color": "green", - "value": null + "color": "green" } ] }, @@ -2943,24 +3600,19 @@ { "id": "color", "value": { - "mode": "fixed", - "fixedColor": "transparent" + "fixedColor": "transparent", + "mode": "fixed" } } ] } ] }, - "datasource": { - "uid": "${ds_prometheus}", - "type": "prometheus" - }, - "description": "This graph shows Network Receive (except for the hostNetwork Pods)", "gridPos": { "h": 7, "w": 12, "x": 0, - "y": 67 + "y": 85 }, "id": 27, "links": [], @@ -2970,7 +3622,8 @@ "mean" ], "displayMode": "table", - "placement": "right" + "placement": "right", + "showLegend": true }, "tooltip": { "mode": "multi", @@ -2994,32 +3647,39 @@ "refId": "B" } ], - "timeFrom": null, - "timeShift": null, "title": "Receive", "transformations": [], "type": "timeseries" }, { + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, + "description": "This graph shows Network Transmit (except for the hostNetwork Pods)", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { - "axisPlacement": "auto", + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", "axisLabel": "", + "axisPlacement": "auto", "barAlignment": 0, - "drawStyle": "bars", - "fillOpacity": 100, + "drawStyle": "line", + "fillOpacity": 30, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, - "lineInterpolation": "linear", - "lineWidth": 0, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" @@ -3050,8 +3710,7 @@ "mode": "absolute", "steps": [ { - "color": "green", - "value": null + "color": "green" } ] }, @@ -3079,24 +3738,19 @@ { "id": "color", "value": { - "mode": "fixed", - "fixedColor": "transparent" + "fixedColor": "transparent", + "mode": "fixed" } } ] } ] }, - "datasource": { - "uid": "${ds_prometheus}", - "type": "prometheus" - }, - "description": "This graph shows Network Transmit (except for the hostNetwork Pods)", "gridPos": { "h": 7, "w": 12, "x": 12, - "y": 67 + "y": 85 }, "id": 62, "links": [], @@ -3106,7 +3760,10 @@ "mean" ], "displayMode": "table", - "placement": "right" + "placement": "right", + "showLegend": true, + "sortBy": "Mean", + "sortDesc": true }, "tooltip": { "mode": "multi", @@ -3130,20 +3787,21 @@ "refId": "B" } ], - "timeFrom": null, - "timeShift": null, "title": "Transmit", "transformations": [], "type": "timeseries" }, { "collapsed": false, - "datasource": null, + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "gridPos": { "h": 1, "w": 24, "x": 0, - "y": 74 + "y": 92 }, "id": 30, "panels": [], @@ -3151,229 +3809,292 @@ "type": "row" }, { - "aliasColors": {}, - "bars": true, - "dashLength": 10, - "dashes": false, - "datasource": "$ds_prometheus", - "fill": 1, - "fillGradient": 0, + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 30, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "normal" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "iops" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Total" + }, + "properties": [ + { + "id": "custom.stacking", + "value": { + "group": false, + "mode": "none" + } + }, + { + "id": "custom.lineWidth", + "value": 0 + }, + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "color", + "value": { + "fixedColor": "yellow", + "mode": "fixed" + } + } + ] + } + ] + }, "gridPos": { "h": 8, "w": 12, "x": 0, - "y": 75 + "y": 93 }, - "hiddenSeries": false, "id": 32, - "legend": { - "alignAsTable": true, - "avg": true, - "current": false, - "max": false, - "min": false, - "rightSide": true, - "show": true, - "sort": "avg", - "sortDesc": true, - "total": false, - "values": true - }, - "lines": false, - "linewidth": 1, "links": [], - "nullPointMode": "null as zero", "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.2.6", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "Total", - "bars": false, - "stack": false + "legend": { + "calcs": [ + "mean" + ], + "displayMode": "table", + "placement": "right", + "showLegend": true, + "sortBy": "Mean", + "sortDesc": true + }, + "tooltip": { + "mode": "multi", + "sort": "desc" } - ], - "spaceLength": 10, - "stack": true, - "steppedLine": false, + }, + "pluginVersion": "8.5.13", "targets": [ { + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "expr": "sum by(container) (rate(container_fs_reads_total{container!=\"POD\", pod=\"$pod\", namespace=\"$namespace\"}[$__rate_interval]))", "format": "time_series", "intervalFactor": 1, "legendFormat": "{{ container }}", "refId": "A" - }, - { - "expr": "sum (rate(container_fs_reads_total{container!=\"POD\", pod=\"$pod\", namespace=\"$namespace\"}[$__rate_interval]))", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "Total", - "refId": "B" } ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, "title": "Read", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ + "transformations": [ { - "format": "iops", - "label": "", - "logBase": 1, - "max": null, - "min": "0", - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": false + "id": "calculateField", + "options": {} } ], - "yaxis": { - "align": false, - "alignLevel": null - } + "type": "timeseries" }, { - "aliasColors": {}, - "bars": true, - "dashLength": 10, - "dashes": false, - "datasource": "$ds_prometheus", - "fill": 1, - "fillGradient": 0, + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 30, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "normal" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "iops" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Total" + }, + "properties": [ + { + "id": "custom.stacking", + "value": { + "group": false, + "mode": "none" + } + }, + { + "id": "custom.lineWidth", + "value": 0 + }, + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "color", + "value": { + "fixedColor": "yellow", + "mode": "fixed" + } + } + ] + } + ] + }, "gridPos": { "h": 8, "w": 12, "x": 12, - "y": 75 + "y": 93 }, - "hiddenSeries": false, "id": 63, - "legend": { - "alignAsTable": true, - "avg": true, - "current": false, - "max": false, - "min": false, - "rightSide": true, - "show": true, - "sort": "avg", - "sortDesc": true, - "total": false, - "values": true - }, - "lines": false, - "linewidth": 1, "links": [], - "nullPointMode": "null as zero", "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.2.6", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "Total", - "bars": false, - "stack": false + "legend": { + "calcs": [ + "mean" + ], + "displayMode": "table", + "placement": "right", + "showLegend": true, + "sortBy": "Mean", + "sortDesc": true + }, + "tooltip": { + "mode": "multi", + "sort": "desc" } - ], - "spaceLength": 10, - "stack": true, - "steppedLine": false, + }, + "pluginVersion": "8.5.13", "targets": [ { + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "expr": "sum by(container) (rate(container_fs_writes_total{container!=\"POD\", pod=\"$pod\", namespace=\"$namespace\"}[$__rate_interval]))", "format": "time_series", "intervalFactor": 1, "legendFormat": "{{ container }}", "refId": "A" - }, - { - "expr": "sum (rate(container_fs_writes_total{container!=\"POD\", pod=\"$pod\", namespace=\"$namespace\"}[$__rate_interval]))", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "Total", - "refId": "B" } ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, "title": "Write", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ + "transformations": [ { - "format": "iops", - "label": "", - "logBase": 1, - "max": null, - "min": "0", - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": false + "id": "calculateField", + "options": {} } ], - "yaxis": { - "align": false, - "alignLevel": null - } + "type": "timeseries" }, { "collapsed": false, - "datasource": null, + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "gridPos": { "h": 1, "w": 24, "x": 0, - "y": 83 + "y": 101 }, "id": 150, "panels": [], @@ -3381,271 +4102,356 @@ "type": "row" }, { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "description": "This graph does not show any localstorage-related information due to incorrectly calculating the occupied space on localstorage disks", - "fill": 1, - "fillGradient": 0, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 30, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "normal" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "bytes" + }, + "overrides": [ + { + "matcher": { + "id": "byRegexp", + "options": "/Total/" + }, + "properties": [ + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "custom.lineWidth", + "value": 0 + }, + { + "id": "custom.stacking", + "value": { + "group": false, + "mode": "none" + } + }, + { + "id": "color", + "value": { + "fixedColor": "yellow", + "mode": "fixed" + } + } + ] + } + ] + }, "gridPos": { "h": 8, "w": 12, "x": 0, - "y": 84 + "y": 102 }, - "hiddenSeries": false, "id": 148, - "legend": { - "alignAsTable": true, - "avg": true, - "current": false, - "max": false, - "min": false, - "rightSide": true, - "show": true, - "sort": "avg", - "sortDesc": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 1, "links": [], - "nullPointMode": "null as zero", "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.2.6", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "/Total/", - "fill": 0, - "linewidth": 2, - "stack": false + "legend": { + "calcs": [ + "mean" + ], + "displayMode": "table", + "placement": "right", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "desc" } - ], - "spaceLength": 10, - "stack": true, - "steppedLine": false, + }, + "pluginVersion": "8.5.13", "targets": [ { + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "expr": "avg_over_time(kubelet_volume_stats_capacity_bytes{namespace=\"$namespace\"}[$__rate_interval])\n* \non (namespace, persistentvolumeclaim) group_left (pod) \n(\n avg_over_time(kube_pod_spec_volumes_persistentvolumeclaims_info{namespace=\"$namespace\", pod=\"$pod\"}[$__rate_interval])\n * on (namespace, persistentvolumeclaim) group_right(pod) \n max by (namespace, persistentvolumeclaim) (\n label_replace(\n max_over_time(kube_persistentvolumeclaim_info{namespace=\"$namespace\"}[$__rate_interval]),\n \"persistentvolume\", \"$1\", \"volumename\", \"(.*)\")\n + on (persistentvolume) group_left() max by (persistentvolume) (kube_persistentvolume_is_local == 0))\n * on (namespace, persistentvolumeclaim) group_right (pod)\n avg_over_time(kube_persistentvolumeclaim_status_phase{namespace=\"$namespace\", phase=\"Bound\"}[$__rate_interval])\n)\n", "format": "time_series", "intervalFactor": 1, "legendFormat": "Provisioned {{ persistentvolumeclaim }}", "refId": "A" - }, - { - "expr": "sum (\n avg_over_time(kubelet_volume_stats_capacity_bytes{namespace=\"$namespace\"}[$__rate_interval])\n * \n on (namespace, persistentvolumeclaim) group_left (pod) \n (\n avg_over_time(kube_pod_spec_volumes_persistentvolumeclaims_info{namespace=\"$namespace\", pod=\"$pod\"}[$__rate_interval])\n * on (namespace, persistentvolumeclaim) group_right(pod) \n max by (namespace, persistentvolumeclaim) (\n label_replace(\n max_over_time(kube_persistentvolumeclaim_info{namespace=\"$namespace\"}[$__rate_interval]),\n \"persistentvolume\", \"$1\", \"volumename\", \"(.*)\")\n + on (persistentvolume) group_left() max by (persistentvolume) (kube_persistentvolume_is_local == 0))\n * on (namespace, persistentvolumeclaim) group_right (pod)\n avg_over_time(kube_persistentvolumeclaim_status_phase{namespace=\"$namespace\", phase=\"Bound\"}[$__rate_interval])\n )\n)", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "Total", - "refId": "B" } ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, "title": "PVC Provisioned (except local storage classes)", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ + "transformations": [ { - "format": "bytes", - "label": "", - "logBase": 1, - "max": null, - "min": "0", - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": false + "id": "calculateField", + "options": {} } ], - "yaxis": { - "align": false, - "alignLevel": null - } + "type": "timeseries" }, { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "description": "This graph does not show any localstorage-related information due to incorrectly calculating the occupied space on localstorage disks", - "fill": 1, - "fillGradient": 0, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 30, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "normal" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "bytes" + }, + "overrides": [ + { + "matcher": { + "id": "byRegexp", + "options": "/Total/" + }, + "properties": [ + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "custom.lineWidth", + "value": 0 + }, + { + "id": "custom.stacking", + "value": { + "group": false, + "mode": "none" + } + }, + { + "id": "color", + "value": { + "fixedColor": "yellow", + "mode": "fixed" + } + } + ] + } + ] + }, "gridPos": { "h": 8, "w": 12, "x": 12, - "y": 84 + "y": 102 }, - "hiddenSeries": false, "id": 151, - "legend": { - "alignAsTable": true, - "avg": true, - "current": false, - "max": false, - "min": false, - "rightSide": true, - "show": true, - "sort": "avg", - "sortDesc": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 1, "links": [], - "nullPointMode": "null as zero", "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.2.6", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "/Total/", - "fill": 0, - "linewidth": 2, - "stack": false + "legend": { + "calcs": [ + "mean" + ], + "displayMode": "table", + "placement": "right", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" } - ], - "spaceLength": 10, - "stack": true, - "steppedLine": false, + }, + "pluginVersion": "8.5.13", "targets": [ { + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "expr": "(avg_over_time(kubelet_volume_stats_capacity_bytes{namespace=\"$namespace\"}[$__rate_interval]) - avg_over_time(kubelet_volume_stats_available_bytes{namespace=\"$namespace\"}[$__rate_interval]))\n* \non (namespace, persistentvolumeclaim) group_left (pod) \n(\n avg_over_time(kube_pod_spec_volumes_persistentvolumeclaims_info{namespace=\"$namespace\", pod=\"$pod\"}[$__rate_interval])\n * on (namespace, persistentvolumeclaim) group_right(pod) \n max by (namespace, persistentvolumeclaim) (\n label_replace(\n max_over_time(kube_persistentvolumeclaim_info{namespace=\"$namespace\"}[$__rate_interval]),\n \"persistentvolume\", \"$1\", \"volumename\", \"(.*)\")\n + on (persistentvolume) group_left() max by (persistentvolume) (kube_persistentvolume_is_local == 0))\n * on (namespace, persistentvolumeclaim) group_right (pod)\n avg_over_time(kube_persistentvolumeclaim_status_phase{namespace=\"$namespace\", phase=\"Bound\"}[$__rate_interval])\n)", "format": "time_series", "intervalFactor": 1, "legendFormat": "Usage {{ persistentvolumeclaim }}", "refId": "A" - }, - { - "expr": "sum (\n (avg_over_time(kubelet_volume_stats_capacity_bytes{namespace=\"$namespace\"}[$__rate_interval]) - avg_over_time(kubelet_volume_stats_available_bytes{namespace=\"$namespace\"}[$__rate_interval]))\n * \n on (namespace, persistentvolumeclaim) group_left (pod) \n (\n avg_over_time(kube_pod_spec_volumes_persistentvolumeclaims_info{namespace=\"$namespace\", pod=\"$pod\"}[$__rate_interval])\n * on (namespace, persistentvolumeclaim) group_right(pod) \n max by (namespace, persistentvolumeclaim) (\n label_replace(\n max_over_time(kube_persistentvolumeclaim_info{namespace=\"$namespace\"}[$__rate_interval]),\n \"persistentvolume\", \"$1\", \"volumename\", \"(.*)\")\n + on (persistentvolume) group_left() max by (persistentvolume) (kube_persistentvolume_is_local == 0))\n * on (namespace, persistentvolumeclaim) group_right (pod)\n avg_over_time(kube_persistentvolumeclaim_status_phase{namespace=\"$namespace\", phase=\"Bound\"}[$__rate_interval])\n )\n)", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "Total", - "refId": "B" } ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, "title": "PVC Usage (except local storage classes)", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "bytes", - "label": "", - "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": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "description": "This graph does not show any localstorage-related information due to incorrectly calculating the occupied space on localstorage disks", - "fill": 1, - "fillGradient": 0, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 30, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "normal" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "percentunit" + }, + "overrides": [] + }, "gridPos": { "h": 8, "w": 24, "x": 0, - "y": 92 + "y": 110 }, - "hiddenSeries": false, "id": 152, - "legend": { - "alignAsTable": true, - "avg": true, - "current": false, - "max": false, - "min": false, - "rightSide": true, - "show": true, - "sort": "avg", - "sortDesc": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 1, "links": [], - "nullPointMode": "null as zero", "options": { - "alertThreshold": true + "legend": { + "calcs": [ + "mean" + ], + "displayMode": "table", + "placement": "right", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } }, - "percentage": false, - "pluginVersion": "8.2.6", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": true, - "steppedLine": false, + "pluginVersion": "8.5.13", "targets": [ { "expr": "(avg_over_time(kubelet_volume_stats_capacity_bytes{namespace=\"$namespace\"}[$__rate_interval]) - avg_over_time(kubelet_volume_stats_available_bytes{namespace=\"$namespace\"}[$__rate_interval]))\n* \non (namespace, persistentvolumeclaim) group_left (pod) \n(\n avg_over_time(kube_pod_spec_volumes_persistentvolumeclaims_info{namespace=\"$namespace\", pod=\"$pod\"}[$__rate_interval])\n * on (namespace, persistentvolumeclaim) group_right(pod) \n max by (namespace, persistentvolumeclaim) (\n label_replace(\n max_over_time(kube_persistentvolumeclaim_info{namespace=\"$namespace\"}[$__rate_interval]),\n \"persistentvolume\", \"$1\", \"volumename\", \"(.*)\")\n + on (persistentvolume) group_left() max by (persistentvolume) (kube_persistentvolume_is_local == 0))\n * on (namespace, persistentvolumeclaim) group_right (pod)\n avg_over_time(kube_persistentvolumeclaim_status_phase{namespace=\"$namespace\", phase=\"Bound\"}[$__rate_interval])\n)\n/\n(\n avg_over_time(kubelet_volume_stats_capacity_bytes{namespace=\"$namespace\"}[$__rate_interval])\n * \n on (namespace, persistentvolumeclaim) group_left (pod) \n (\n avg_over_time(kube_pod_spec_volumes_persistentvolumeclaims_info{namespace=\"$namespace\", pod=\"$pod\"}[$__rate_interval])\n * on (namespace, persistentvolumeclaim) group_right(pod) \n max by (namespace, persistentvolumeclaim) (\n label_replace(\n max_over_time(kube_persistentvolumeclaim_info{namespace=\"$namespace\"}[$__rate_interval]),\n \"persistentvolume\", \"$1\", \"volumename\", \"(.*)\")\n + on (persistentvolume) group_left() max by (persistentvolume) (kube_persistentvolume_is_local == 0))\n * on (namespace, persistentvolumeclaim) group_right (pod)\n avg_over_time(kube_persistentvolumeclaim_status_phase{namespace=\"$namespace\", phase=\"Bound\"}[$__rate_interval])\n )\n)", @@ -3655,68 +4461,38 @@ "refId": "B" } ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, "title": "PVC Usage in % (except local storage classes)", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "percentunit", - "label": "", - "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" }, { "collapsed": true, - "datasource": null, + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "gridPos": { "h": 1, "w": 24, "x": 0, - "y": 100 + "y": 118 }, "id": 156, "panels": [ { - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "custom": { - "align": null, - "displayMode": "auto" + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false }, "decimals": 2, "displayName": "", @@ -3725,8 +4501,7 @@ "mode": "absolute", "steps": [ { - "color": "green", - "value": null + "color": "green" }, { "color": "red", @@ -3748,8 +4523,7 @@ "value": "Time" }, { - "id": "custom.align", - "value": null + "id": "custom.align" } ] }, @@ -3772,8 +4546,7 @@ "value": 2 }, { - "id": "custom.align", - "value": null + "id": "custom.align" } ] }, @@ -3796,8 +4569,7 @@ "value": 2 }, { - "id": "custom.align", - "value": null + "id": "custom.align" } ] }, @@ -3820,8 +4592,7 @@ "value": 2 }, { - "id": "custom.align", - "value": null + "id": "custom.align" } ] }, @@ -3844,8 +4615,7 @@ "value": 2 }, { - "id": "custom.align", - "value": null + "id": "custom.align" } ] }, @@ -3868,8 +4638,7 @@ "value": 2 }, { - "id": "custom.align", - "value": null + "id": "custom.align" } ] }, @@ -3892,8 +4661,7 @@ "value": 2 }, { - "id": "custom.align", - "value": null + "id": "custom.align" } ] }, @@ -3912,8 +4680,7 @@ "value": "short" }, { - "id": "custom.align", - "value": null + "id": "custom.align" } ] }, @@ -3936,8 +4703,7 @@ "value": 2 }, { - "id": "custom.align", - "value": null + "id": "custom.align" } ] }, @@ -3960,8 +4726,7 @@ "value": 2 }, { - "id": "custom.align", - "value": null + "id": "custom.align" } ] } @@ -3971,14 +4736,23 @@ "h": 9, "w": 24, "x": 0, - "y": 101 + "y": 110 }, "id": 154, "links": [], "options": { + "cellHeight": "sm", + "footer": { + "countRows": false, + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, "showHeader": true }, - "pluginVersion": "8.2.6", + "pluginVersion": "10.2.2", "targets": [ { "expr": "max by (namespace, persistentvolumeclaim, storageclass) (\n kube_persistentvolumeclaim_info{namespace=\"$namespace\"}\n) \nand on (namespace, persistentvolumeclaim) \nmax by (namespace, persistentvolumeclaim) (\n kube_pod_spec_volumes_persistentvolumeclaims_info{namespace=\"$namespace\", pod=~\"$pod\"}\n)", @@ -4084,60 +4858,90 @@ "type": "table" }, { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "$ds_prometheus", + "datasource": { + "uid": "$ds_prometheus" + }, "description": "This graph does not show any localstorage-related information due to incorrectly calculating the occupied space on localstorage disks", - "fill": 1, - "fillGradient": 0, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 30, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "bytes" + }, + "overrides": [] + }, "gridPos": { "h": 8, "w": 24, "x": 0, - "y": 110 + "y": 119 }, - "hiddenSeries": false, "id": 157, - "legend": { - "alignAsTable": true, - "avg": true, - "current": false, - "max": false, - "min": false, - "rightSide": true, - "show": true, - "sort": "avg", - "sortDesc": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 1, "links": [], - "nullPointMode": "null", "options": { - "alertThreshold": true + "legend": { + "calcs": [ + "mean" + ], + "displayMode": "table", + "placement": "right", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "desc" + } }, - "percentage": false, - "pluginVersion": "8.2.6", - "pointradius": 5, - "points": false, - "renderer": "flot", + "pluginVersion": "8.5.13", "repeat": "persistentvolumeclaim", "repeatDirection": "h", - "seriesOverrides": [ - { - "alias": "/Total/", - "fill": 0, - "linewidth": 2, - "stack": false - } - ], - "spaceLength": 10, - "stack": false, - "steppedLine": false, "targets": [ { "expr": "max by (namespace, persistentvolumeclaim, storageclass) (\n label_replace(\n kube_persistentvolumeclaim_info{namespace=\"$namespace\"},\n \"persistentvolume\", \"$1\", \"volumename\", \"(.*)\") \n * on (persistentvolume) group_left() \n avg_over_time(kube_persistentvolume_capacity_bytes[$__rate_interval])\n) \nand on (namespace, persistentvolumeclaim) \nmax by (namespace, persistentvolumeclaim) (\n kube_pod_spec_volumes_persistentvolumeclaims_info{namespace=\"$namespace\", persistentvolumeclaim=\"$persistentvolumeclaim\", pod=~\"$pod\"}\n)", @@ -4161,46 +4965,8 @@ "refId": "C" } ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, "title": "$persistentvolumeclaim", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "bytes", - "label": "", - "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" } ], "title": "PVC Detailed", @@ -4208,8 +4974,7 @@ } ], "refresh": "30s", - "schemaVersion": 32, - "style": "dark", + "schemaVersion": 38, "tags": [ "main" ], @@ -4221,8 +4986,6 @@ "text": "default", "value": "default" }, - "description": null, - "error": null, "hide": 0, "includeAll": false, "label": "Prometheus", @@ -4237,16 +5000,16 @@ "type": "datasource" }, { - "allValue": null, "current": { "selected": false, - "text": "candi-dashboard-stage", - "value": "candi-dashboard-stage" + "text": "d8-monitoring", + "value": "d8-monitoring" + }, + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" }, - "datasource": "$ds_prometheus", "definition": "", - "description": null, - "error": null, "hide": 0, "includeAll": false, "label": "Namespace", @@ -4267,16 +5030,16 @@ "useTags": false }, { - "allValue": null, "current": { "selected": false, - "text": "postgres-0", - "value": "postgres-0" + "text": "prometheus-main-0", + "value": "prometheus-main-0" + }, + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" }, - "datasource": "$ds_prometheus", "definition": "", - "description": null, - "error": null, "hide": 0, "includeAll": false, "label": "Pod", @@ -4299,7 +5062,7 @@ { "allValue": "", "current": { - "selected": true, + "selected": false, "text": [ "All" ], @@ -4307,10 +5070,11 @@ "$__all" ] }, - "datasource": "$ds_prometheus", + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "definition": "", - "description": null, - "error": null, "hide": 2, "includeAll": true, "label": "Container", @@ -4333,7 +5097,7 @@ { "allValue": ".*", "current": { - "selected": true, + "selected": false, "text": [ "All" ], @@ -4341,10 +5105,11 @@ "$__all" ] }, - "datasource": "$ds_prometheus", + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "definition": "label_values(kube_pod_spec_volumes_persistentvolumeclaims_info{namespace=\"$namespace\", pod=\"$pod\"}, persistentvolumeclaim)", - "description": null, - "error": null, "hide": 2, "includeAll": true, "label": "PersistentVolumeClaim", @@ -4365,16 +5130,16 @@ "useTags": false }, { - "allValue": null, "current": { "selected": false, - "text": "No controller", - "value": "No controller" + "text": "Deployment", + "value": "Deployment" + }, + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" }, - "datasource": "$ds_prometheus", "definition": "label_values(kube_controller_pod{namespace=~\"$namespace\"}, controller_type)", - "description": null, - "error": null, "hide": 2, "includeAll": false, "label": "Controller Type", @@ -4395,16 +5160,16 @@ "useTags": false }, { - "allValue": null, "current": { "selected": false, - "text": "", - "value": "" + "text": "aggregating-proxy", + "value": "aggregating-proxy" + }, + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" }, - "datasource": "$ds_prometheus", "definition": "label_values(kube_controller_pod{namespace=~\"$namespace\"}, controller_name)", - "description": null, - "error": null, "hide": 2, "includeAll": false, "label": "Controller Name", @@ -4425,12 +5190,12 @@ "useTags": false }, { - "datasource": "$ds_prometheus", - "description": null, - "error": null, + "datasource": { + "type": "prometheus", + "uid": "$ds_prometheus" + }, "filters": [], "hide": 0, - "label": null, "name": "Filters", "skipUrlSync": false, "type": "adhoc" @@ -4469,5 +5234,6 @@ "timezone": "", "title": "Namespace / Controller / Pod", "uid": "m41rB4yiz1", - "version": 2 + "version": 2, + "weekStart": "" } diff --git a/dashboards/victoria-metrics/backupmanager.json b/dashboards/victoria-metrics/backupmanager.json index 71e44416..74c3c9d2 100644 --- a/dashboards/victoria-metrics/backupmanager.json +++ b/dashboards/victoria-metrics/backupmanager.json @@ -12,7 +12,7 @@ "type": "grafana", "id": "grafana", "name": "Grafana", - "version": "9.0.4" + "version": "10.4.0" }, { "type": "datasource", @@ -124,9 +124,11 @@ "fields": "", "values": false }, - "textMode": "auto" + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true }, - "pluginVersion": "9.0.4", + "pluginVersion": "10.4.0", "targets": [ { "datasource": { @@ -198,9 +200,11 @@ "fields": "", "values": false }, - "textMode": "auto" + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true }, - "pluginVersion": "9.0.4", + "pluginVersion": "10.4.0", "targets": [ { "datasource": { @@ -260,9 +264,11 @@ "fields": "", "values": false }, - "textMode": "auto" + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true }, - "pluginVersion": "9.0.4", + "pluginVersion": "10.4.0", "targets": [ { "datasource": { @@ -323,9 +329,11 @@ "fields": "", "values": false }, - "textMode": "auto" + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true }, - "pluginVersion": "9.0.4", + "pluginVersion": "10.4.0", "targets": [ { "datasource": { @@ -399,9 +407,11 @@ "fields": "", "values": false }, - "textMode": "auto" + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true }, - "pluginVersion": "9.0.4", + "pluginVersion": "10.4.0", "targets": [ { "datasource": { @@ -471,9 +481,11 @@ "fields": "", "values": false }, - "textMode": "auto" + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true }, - "pluginVersion": "9.0.4", + "pluginVersion": "10.4.0", "targets": [ { "datasource": { @@ -546,9 +558,11 @@ "fields": "", "values": false }, - "textMode": "auto" + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true }, - "pluginVersion": "9.0.4", + "pluginVersion": "10.4.0", "targets": [ { "datasource": { @@ -577,7 +591,9 @@ }, "custom": { "align": "auto", - "displayMode": "auto", + "cellOptions": { + "type": "auto" + }, "inspect": false }, "mappings": [], @@ -630,7 +646,9 @@ }, "id": 22, "options": { + "cellHeight": "sm", "footer": { + "countRows": false, "fields": "", "reducer": [ "sum" @@ -645,7 +663,7 @@ } ] }, - "pluginVersion": "9.0.4", + "pluginVersion": "10.4.0", "targets": [ { "datasource": { @@ -700,7 +718,9 @@ }, "custom": { "align": "auto", - "displayMode": "auto", + "cellOptions": { + "type": "auto" + }, "inspect": false }, "mappings": [], @@ -753,7 +773,9 @@ }, "id": 21, "options": { + "cellHeight": "sm", "footer": { + "countRows": false, "fields": "", "reducer": [ "sum" @@ -768,7 +790,7 @@ } ] }, - "pluginVersion": "9.0.4", + "pluginVersion": "10.4.0", "targets": [ { "datasource": { @@ -885,7 +907,7 @@ "min", "mean" ], - "displayMode": "table", + "displayMode": "list", "placement": "bottom", "showLegend": false }, @@ -1106,7 +1128,9 @@ }, "custom": { "align": "auto", - "displayMode": "auto", + "cellOptions": { + "type": "auto" + }, "inspect": false }, "mappings": [], @@ -1251,7 +1275,8 @@ "legend": { "calcs": [], "displayMode": "list", - "placement": "bottom" + "placement": "bottom", + "showLegend": true }, "orientation": "auto", "showValue": "auto", @@ -1343,7 +1368,7 @@ "max", "mean" ], - "displayMode": "table", + "displayMode": "list", "placement": "right", "showLegend": false }, @@ -1436,7 +1461,8 @@ "legend": { "calcs": [], "displayMode": "list", - "placement": "bottom" + "placement": "bottom", + "showLegend": true }, "orientation": "auto", "showValue": "auto", @@ -1657,8 +1683,7 @@ } ], "refresh": "1m", - "schemaVersion": 36, - "style": "dark", + "schemaVersion": 39, "tags": [], "templating": { "list": [ diff --git a/dashboards/victoria-metrics/operator.json b/dashboards/victoria-metrics/operator.json index 4f9cc6c7..6f171613 100644 --- a/dashboards/victoria-metrics/operator.json +++ b/dashboards/victoria-metrics/operator.json @@ -6,13 +6,7 @@ "type": "grafana", "id": "grafana", "name": "Grafana", - "version": "9.2.2" - }, - { - "type": "panel", - "id": "graph", - "name": "Graph (old)", - "version": "" + "version": "10.4.0" }, { "type": "datasource", @@ -31,6 +25,12 @@ "id": "text", "name": "Text", "version": "" + }, + { + "type": "panel", + "id": "timeseries", + "name": "Time series", + "version": "" } ], "annotations": { @@ -67,7 +67,7 @@ "collapsed": false, "datasource": { "type": "prometheus", - "uid": "$ds" + "uid": "PB894574A363DF0AF" }, "gridPos": { "h": 1, @@ -81,7 +81,7 @@ { "datasource": { "type": "prometheus", - "uid": "$ds" + "uid": "PB894574A363DF0AF" }, "refId": "A" } @@ -110,7 +110,7 @@ "content": "
$version
", "mode": "markdown" }, - "pluginVersion": "9.2.2", + "pluginVersion": "10.4.0", "targets": [ { "datasource": { @@ -170,10 +170,12 @@ "fields": "", "values": false }, + "showPercentChange": false, "text": {}, - "textMode": "auto" + "textMode": "auto", + "wideLayout": true }, - "pluginVersion": "9.2.2", + "pluginVersion": "10.4.0", "targets": [ { "datasource": { @@ -205,12 +207,12 @@ "mode": "absolute", "steps": [ { - "color": "green", + "color": "red", "value": null }, { - "color": "red", - "value": 80 + "color": "green", + "value": 1800 } ] }, @@ -237,9 +239,11 @@ "fields": "", "values": false }, - "textMode": "auto" + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true }, - "pluginVersion": "9.2.2", + "pluginVersion": "10.4.0", "targets": [ { "datasource": { @@ -261,49 +265,88 @@ "type": "stat" }, { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, "datasource": { "type": "prometheus", "uid": "$ds" }, - "fill": 1, - "fillGradient": 0, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "short" + }, + "overrides": [] + }, "gridPos": { "h": 13, "w": 12, "x": 0, "y": 8 }, - "hiddenSeries": false, "id": 12, - "legend": { - "alignAsTable": true, - "avg": true, - "current": false, - "max": true, - "min": false, - "show": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 1, - "nullPointMode": "null", "options": { - "alertThreshold": true + "legend": { + "calcs": [ + "mean", + "max" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "desc" + } }, - "percentage": false, - "pluginVersion": "9.2.2", - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, + "pluginVersion": "10.4.0", "targets": [ { "datasource": { @@ -311,87 +354,99 @@ "uid": "$ds" }, "editorMode": "code", - "expr": "sum(rate(controller_runtime_reconcile_total{job=~\"$job\",instance=~\"$instance\",result=~\"requeue_after|requeue|success\"}[$__rate_interval])) by(controller)", + "expr": "sum(rate(controller_runtime_reconcile_total{job=~\"$job\",instance=~\"$instance\",result=~\"requeue_after|requeue|success\"}[$__rate_interval])) by(controller) > 0", "legendFormat": "{{controller}}", "range": true, "refId": "A" } ], - "thresholds": [], - "timeRegions": [], "title": "Reconciliation rate by controller", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "logBase": 1, - "show": true - }, - { - "format": "short", - "logBase": 1, - "show": true - } - ], - "yaxis": { - "align": false - } + "type": "timeseries" }, { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, "datasource": { "type": "prometheus", "uid": "$ds" }, "description": "", - "fill": 1, - "fillGradient": 0, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "short" + }, + "overrides": [] + }, "gridPos": { "h": 13, "w": 12, "x": 12, "y": 8 }, - "hiddenSeries": false, "id": 16, - "legend": { - "alignAsTable": true, - "avg": true, - "current": false, - "max": true, - "min": false, - "show": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 1, - "nullPointMode": "null", "options": { - "alertThreshold": true + "legend": { + "calcs": [ + "mean", + "max" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "desc" + } }, - "percentage": false, - "pluginVersion": "9.2.2", - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, + "pluginVersion": "10.4.0", "targets": [ { "datasource": { @@ -405,41 +460,14 @@ "refId": "A" } ], - "thresholds": [], - "timeRegions": [], "title": "Log message rate", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "logBase": 1, - "show": true - }, - { - "format": "short", - "logBase": 1, - "show": true - } - ], - "yaxis": { - "align": false - } + "type": "timeseries" }, { - "collapsed": false, + "collapsed": true, "datasource": { "type": "prometheus", - "uid": "$ds" + "uid": "PB894574A363DF0AF" }, "gridPos": { "h": 1, @@ -448,402 +476,442 @@ "y": 21 }, "id": 6, - "panels": [], - "targets": [ + "panels": [ { "datasource": { "type": "prometheus", "uid": "$ds" }, + "description": "Non zero metrics indicates about error with CR object definition (typos or incorrect values) or errors with kubernetes API connection.", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "short" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 2 + }, + "id": 10, + "options": { + "legend": { + "calcs": [ + "lastNotNull", + "max" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } + }, + "pluginVersion": "10.4.0", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "$ds" + }, + "editorMode": "code", + "exemplar": false, + "expr": "sum(rate(controller_runtime_reconcile_errors_total{job=~\"$job\",instance=~\"$instance\"}[$__rate_interval])) by(controller) > 0 ", + "instant": false, + "legendFormat": "{{controller}}", + "range": true, + "refId": "A" + }, + { + "datasource": { + "type": "prometheus", + "uid": "$ds" + }, + "editorMode": "code", + "expr": "sum(rate(controller_runtime_reconcile_total{job=~\"$job\",instance=~\"$instance\",result=\"error\"}[$__rate_interval])) by(controller) > 0", + "hide": false, + "legendFormat": "{{label_name}}", + "range": true, + "refId": "B" + } + ], + "title": "reconcile errors by controller", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "$ds" + }, + "description": "Operator limits number of reconcilation events to 5 events per 2 seconds.\n For now, this limit is applied only for vmalert and vmagent controllers.\n It should reduce load at kubernetes cluster and increase operator performance.", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "short" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 2 + }, + "id": 18, + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } + }, + "pluginVersion": "10.4.0", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "$ds" + }, + "editorMode": "code", + "expr": "sum(rate(operator_reconcile_throttled_events_total[$__rate_interval])) by(controller)", + "legendFormat": "{{controller}}", + "range": true, + "refId": "A" + } + ], + "title": "throttled reconcilation events", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "$ds" + }, + "description": "Number of objects waiting in the queue for reconciliation. Non-zero values indicate that operator cannot process CR objects changes with the given resources.", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "short" + }, + "overrides": [] + }, + "gridPos": { + "h": 11, + "w": 12, + "x": 0, + "y": 10 + }, + "id": 20, + "options": { + "legend": { + "calcs": [ + "lastNotNull", + "max" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "desc" + } + }, + "pluginVersion": "10.4.0", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "$ds" + }, + "editorMode": "code", + "expr": "max(workqueue_depth{job=~\"$job\",instance=~\"$instance\"}) by (name)", + "legendFormat": "{{label_name}}", + "range": true, + "refId": "A" + } + ], + "title": "Working queue depth", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "$ds" + }, + "description": " For controllers with StatefulSet it's ok to see latency greater then 3 seconds. It could be vmalertmanager,vmcluster or vmagent in statefulMode.\n\n For other controllers, latency greater then 1 second may indicate issues with kubernetes cluster or operator's performance.\n ", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "s" + }, + "overrides": [] + }, + "gridPos": { + "h": 11, + "w": 12, + "x": 12, + "y": 10 + }, + "id": 26, + "options": { + "legend": { + "calcs": [ + "mean", + "max" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "desc" + } + }, + "pluginVersion": "10.4.0", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "$ds" + }, + "editorMode": "code", + "expr": "histogram_quantile(0.99, sum(rate(controller_runtime_reconcile_time_seconds_bucket[$__rate_interval])) by(le,controller))", + "legendFormat": "q.99 {{controller}}", + "range": true, + "refId": "A" + } + ], + "title": "Reconcilation latency by controller", + "type": "timeseries" + } + ], + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "PB894574A363DF0AF" + }, "refId": "A" } ], "title": "Troubleshooting", "type": "row" }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": { - "type": "prometheus", - "uid": "$ds" - }, - "description": "Non zero metrics indicates about error with CR object definition (typos or incorrect values) or errors with kubernetes API connection.", - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 22 - }, - "hiddenSeries": false, - "id": 10, - "legend": { - "alignAsTable": true, - "avg": false, - "current": true, - "max": true, - "min": false, - "show": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 1, - "nullPointMode": "null", - "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.3.2", - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "$ds" - }, - "editorMode": "code", - "exemplar": false, - "expr": "sum(rate(controller_runtime_reconcile_errors_total{job=~\"$job\",instance=~\"$instance\"}[$__rate_interval])) by(controller) > 0 ", - "instant": false, - "legendFormat": "{{controller}}", - "range": true, - "refId": "A" - }, - { - "datasource": { - "type": "prometheus", - "uid": "$ds" - }, - "editorMode": "code", - "expr": "sum(rate(controller_runtime_reconcile_total{job=~\"$job\",instance=~\"$instance\",result=\"error\"}[$__rate_interval])) by(controller) > 0", - "hide": false, - "legendFormat": "{{label_name}}", - "range": true, - "refId": "B" - } - ], - "thresholds": [], - "timeRegions": [], - "title": "reconcile errors by controller", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "logBase": 1, - "show": true - }, - { - "format": "short", - "logBase": 1, - "show": true - } - ], - "yaxis": { - "align": false - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": { - "type": "prometheus", - "uid": "$ds" - }, - "description": "Operator limits number of reconcilation events to 5 events per 2 seconds.\n For now, this limit is applied only for vmalert and vmagent controllers.\n It should reduce load at kubernetes cluster and increase operator performance.", - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 22 - }, - "hiddenSeries": false, - "id": 18, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "nullPointMode": "null", - "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.3.2", - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "$ds" - }, - "editorMode": "code", - "expr": "sum(rate(operator_reconcile_throttled_events_total[$__rate_interval])) by(controller)", - "legendFormat": "{{controller}}", - "range": true, - "refId": "A" - } - ], - "thresholds": [], - "timeRegions": [], - "title": "throttled reconcilation events", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "logBase": 1, - "show": true - }, - { - "format": "short", - "logBase": 1, - "show": true - } - ], - "yaxis": { - "align": false - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": { - "type": "prometheus", - "uid": "$ds" - }, - "description": "Number of objects waiting in the queue for reconciliation. Non-zero values indicate that operator cannot process CR objects changes with the given resources.", - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 11, - "w": 12, - "x": 0, - "y": 30 - }, - "hiddenSeries": false, - "id": 20, - "legend": { - "alignAsTable": true, - "avg": false, - "current": true, - "max": true, - "min": false, - "show": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 1, - "nullPointMode": "null", - "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.3.2", - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "$ds" - }, - "editorMode": "code", - "expr": "max(workqueue_depth{job=~\"$job\",instance=~\"$instance\"}) by (name)", - "legendFormat": "{{label_name}}", - "range": true, - "refId": "A" - } - ], - "thresholds": [], - "timeRegions": [], - "title": "Wokring queue depth", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "logBase": 1, - "show": true - }, - { - "format": "short", - "logBase": 1, - "show": true - } - ], - "yaxis": { - "align": false - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": { - "type": "prometheus", - "uid": "$ds" - }, - "description": " For controllers with StatefulSet it's ok to see latency greater then 3 seconds. It could be vmalertmanager,vmcluster or vmagent in statefulMode.\n\n For other controllers, latency greater then 1 second may indicate issues with kubernetes cluster or operator's performance.\n ", - "fieldConfig": { - "defaults": { - "unit": "s" - }, - "overrides": [] - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 11, - "w": 12, - "x": 12, - "y": 30 - }, - "hiddenSeries": false, - "id": 26, - "legend": { - "alignAsTable": true, - "avg": true, - "current": false, - "max": true, - "min": false, - "rightSide": false, - "show": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 1, - "nullPointMode": "null", - "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.3.2", - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "$ds" - }, - "editorMode": "code", - "expr": "histogram_quantile(0.99,sum(rate(controller_runtime_reconcile_time_seconds_bucket[$__rate_interval])) by(le,controller) )", - "legendFormat": "q.99 {{controller}}", - "range": true, - "refId": "A" - } - ], - "thresholds": [], - "timeRegions": [], - "title": "Reconcilation latency by controller", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "s", - "logBase": 1, - "show": true - }, - { - "format": "short", - "logBase": 1, - "show": true - } - ], - "yaxis": { - "align": false - } - }, { "collapsed": false, "datasource": { "type": "prometheus", - "uid": "$ds" + "uid": "PB894574A363DF0AF" }, "gridPos": { "h": 1, "w": 24, "x": 0, - "y": 41 + "y": 22 }, "id": 4, "panels": [], @@ -851,7 +919,7 @@ { "datasource": { "type": "prometheus", - "uid": "$ds" + "uid": "PB894574A363DF0AF" }, "refId": "A" } @@ -860,55 +928,89 @@ "type": "row" }, { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, "datasource": { "type": "prometheus", "uid": "$ds" }, "fieldConfig": { "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, "unit": "bytes" }, "overrides": [] }, - "fill": 1, - "fillGradient": 0, "gridPos": { "h": 8, "w": 12, "x": 0, - "y": 42 + "y": 23 }, - "hiddenSeries": false, "id": 28, - "legend": { - "alignAsTable": true, - "avg": true, - "current": true, - "max": true, - "min": false, - "show": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 1, - "nullPointMode": "null", "options": { - "alertThreshold": true + "legend": { + "calcs": [ + "mean", + "lastNotNull", + "max" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "desc" + } }, - "percentage": false, - "pluginVersion": "8.3.2", - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, + "pluginVersion": "10.4.0", "targets": [ { "datasource": { @@ -958,79 +1060,90 @@ "refId": "D" } ], - "thresholds": [], - "timeRegions": [], "title": "Memory usage ($instance)", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "bytes", - "logBase": 1, - "show": true - }, - { - "format": "short", - "logBase": 1, - "show": true - } - ], - "yaxis": { - "align": false - } + "type": "timeseries" }, { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, "datasource": { "type": "prometheus", "uid": "$ds" }, - "fill": 1, - "fillGradient": 0, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "axisSoftMin": 0, + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "short" + }, + "overrides": [] + }, "gridPos": { "h": 8, "w": 12, "x": 12, - "y": 42 + "y": 23 }, - "hiddenSeries": false, "id": 30, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "nullPointMode": "null", "options": { - "alertThreshold": true + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } }, - "percentage": false, - "pluginVersion": "8.3.2", - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, + "pluginVersion": "10.4.0", "targets": [ { "datasource": { @@ -1044,79 +1157,89 @@ "refId": "A" } ], - "thresholds": [], - "timeRegions": [], "title": "CPU ($instance)", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "logBase": 1, - "show": true - }, - { - "format": "short", - "logBase": 1, - "show": true - } - ], - "yaxis": { - "align": false - } + "type": "timeseries" }, { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, "datasource": { "type": "prometheus", "uid": "$ds" }, - "fill": 1, - "fillGradient": 0, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "short" + }, + "overrides": [] + }, "gridPos": { "h": 8, "w": 12, "x": 0, - "y": 50 + "y": 31 }, - "hiddenSeries": false, "id": 32, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "nullPointMode": "null", "options": { - "alertThreshold": true + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } }, - "percentage": false, - "pluginVersion": "8.3.2", - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, + "pluginVersion": "10.4.0", "targets": [ { "datasource": { @@ -1130,86 +1253,92 @@ "refId": "A" } ], - "thresholds": [], - "timeRegions": [], "title": "Goroutines ($instance)", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "logBase": 1, - "show": true - }, - { - "format": "short", - "logBase": 1, - "show": true - } - ], - "yaxis": { - "align": false - } + "type": "timeseries" }, { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, "datasource": { "type": "prometheus", "uid": "$ds" }, "fieldConfig": { "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, "unit": "s" }, "overrides": [] }, - "fill": 1, - "fillGradient": 0, "gridPos": { "h": 8, "w": 12, "x": 12, - "y": 50 + "y": 31 }, - "hiddenSeries": false, "id": 34, - "legend": { - "alignAsTable": true, - "avg": true, - "current": false, - "max": true, - "min": false, - "show": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 1, - "nullPointMode": "null", "options": { - "alertThreshold": true + "legend": { + "calcs": [ + "mean", + "max" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } }, - "percentage": false, - "pluginVersion": "8.3.2", - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, + "pluginVersion": "10.4.0", "targets": [ { "datasource": { @@ -1223,40 +1352,12 @@ "refId": "A" } ], - "thresholds": [], - "timeRegions": [], "title": "GC duration ($instance)", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "s", - "logBase": 1, - "show": true - }, - { - "format": "short", - "logBase": 1, - "show": true - } - ], - "yaxis": { - "align": false - } + "type": "timeseries" } ], "refresh": "", - "schemaVersion": 37, - "style": "dark", + "schemaVersion": 39, "tags": [ "operator", "VictoriaMetrics" @@ -1265,9 +1366,9 @@ "list": [ { "current": { - "selected": false, - "text": "cloud-c15", - "value": "cloud-c15" + "selected": true, + "text": "VictoriaMetrics", + "value": "PF64AB64142051B50" }, "hide": 0, "includeAll": false, @@ -1331,15 +1432,16 @@ "type": "prometheus", "uid": "$ds" }, - "definition": "label_values(vm_app_version{job=\"$job\", instance=\"$instance\"}, version)", + "definition": "label_values(vm_app_version{job=\"$job\", instance=~\"$instance\"},version)", "hide": 2, "includeAll": false, "multi": false, "name": "version", "options": [], "query": { - "query": "label_values(vm_app_version{job=\"$job\", instance=\"$instance\"}, version)", - "refId": "StandardVariableQuery" + "qryType": 1, + "query": "label_values(vm_app_version{job=\"$job\", instance=~\"$instance\"},version)", + "refId": "PrometheusVariableQueryEditor-VariableQuery" }, "refresh": 1, "regex": "", diff --git a/dashboards/victoria-metrics/victoriametrics-cluster.json b/dashboards/victoria-metrics/victoriametrics-cluster.json index 6abd17a6..1c57d7d5 100644 --- a/dashboards/victoria-metrics/victoriametrics-cluster.json +++ b/dashboards/victoria-metrics/victoriametrics-cluster.json @@ -6,7 +6,7 @@ "type": "grafana", "id": "grafana", "name": "Grafana", - "version": "9.2.7" + "version": "10.4.2" }, { "type": "datasource", @@ -76,7 +76,7 @@ "uid": "$ds" }, "enable": true, - "expr": "sum(vm_app_version{job=~\"$job\", instance=~\"$instance\"}) by(version) unless (sum(vm_app_version{job=~\"$job\", instance=~\"$instance\"} offset 20m) by(version))", + "expr": "sum(vm_app_version{job=~\"$job\", instance=~\"$instance\"}) by(version) unless (sum(vm_app_version{job=~\"$job\", instance=~\"$instance\"} offset $__interval) by(version))", "hide": true, "iconColor": "dark-blue", "name": "version change", @@ -89,8 +89,7 @@ "uid": "$ds" }, "enable": true, - "expr": "sum(changes(vm_app_start_timestamp{job=~\"$job\", instance=~\"$instance\"})) by(job)", - "hide": true, + "expr": "sum(changes(vm_app_start_timestamp{job=~\"$job\", instance=~\"$instance\"}[$__interval])) by(job)", "iconColor": "dark-yellow", "name": "restarts", "textFormat": "{{job}} restarted" @@ -109,7 +108,7 @@ "targetBlank": true, "title": "Cluster Wiki", "type": "link", - "url": "https://github.com/VictoriaMetrics/VictoriaMetrics/wiki/Cluster-VictoriaMetrics" + "url": "https://docs.victoriametrics.com/cluster-victoriametrics" }, { "icon": "external link", @@ -152,7 +151,7 @@ "type": "prometheus", "uid": "$ds" }, - "description": "How many datapoints are in storage", + "description": "How many [data samples](https://docs.victoriametrics.com/keyconcepts/#raw-samples) are in storage", "fieldConfig": { "defaults": { "color": { @@ -179,7 +178,6 @@ "y": 1 }, "id": 131, - "links": [], "maxDataPoints": 100, "options": { "colorMode": "value", @@ -193,10 +191,12 @@ "fields": "", "values": false }, + "showPercentChange": false, "text": {}, - "textMode": "auto" + "textMode": "auto", + "wideLayout": true }, - "pluginVersion": "9.2.7", + "pluginVersion": "10.4.2", "targets": [ { "datasource": { @@ -248,7 +248,6 @@ "y": 1 }, "id": 124, - "links": [], "maxDataPoints": 100, "options": { "colorMode": "value", @@ -262,10 +261,12 @@ "fields": "", "values": false }, + "showPercentChange": false, "text": {}, - "textMode": "auto" + "textMode": "auto", + "wideLayout": true }, - "pluginVersion": "9.2.7", + "pluginVersion": "10.4.2", "targets": [ { "datasource": { @@ -319,7 +320,6 @@ "y": 1 }, "id": 130, - "links": [], "maxDataPoints": 100, "options": { "colorMode": "value", @@ -333,10 +333,12 @@ "fields": "", "values": false }, + "showPercentChange": false, "text": {}, - "textMode": "auto" + "textMode": "auto", + "wideLayout": true }, - "pluginVersion": "9.2.7", + "pluginVersion": "10.4.2", "targets": [ { "datasource": { @@ -389,7 +391,6 @@ "y": 1 }, "id": 126, - "links": [], "maxDataPoints": 100, "options": { "colorMode": "value", @@ -403,10 +404,12 @@ "fields": "", "values": false }, + "showPercentChange": false, "text": {}, - "textMode": "auto" + "textMode": "auto", + "wideLayout": true }, - "pluginVersion": "9.2.7", + "pluginVersion": "10.4.2", "targets": [ { "datasource": { @@ -432,7 +435,7 @@ "type": "prometheus", "uid": "$ds" }, - "description": "Shows the number of active time series with new data points inserted during the last hour. High value may result in ingestion slowdown. \n\nSee more details here https://docs.victoriametrics.com/FAQ.html#what-is-an-active-time-series", + "description": "Shows the number of [active time series](https://docs.victoriametrics.com/faq/#what-is-an-active-time-series) with new data points inserted during the last hour. High value may result in ingestion slowdown.", "fieldConfig": { "defaults": { "color": { @@ -459,7 +462,6 @@ "y": 4 }, "id": 34, - "links": [], "maxDataPoints": 100, "options": { "colorMode": "value", @@ -473,10 +475,12 @@ "fields": "", "values": false }, + "showPercentChange": false, "text": {}, - "textMode": "auto" + "textMode": "auto", + "wideLayout": true }, - "pluginVersion": "9.2.7", + "pluginVersion": "10.4.2", "targets": [ { "datasource": { @@ -529,7 +533,6 @@ "y": 4 }, "id": 35, - "links": [], "maxDataPoints": 100, "options": { "colorMode": "value", @@ -543,10 +546,12 @@ "fields": "", "values": false }, + "showPercentChange": false, "text": {}, - "textMode": "auto" + "textMode": "auto", + "wideLayout": true }, - "pluginVersion": "9.2.7", + "pluginVersion": "10.4.2", "targets": [ { "datasource": { @@ -599,7 +604,6 @@ "y": 4 }, "id": 112, - "links": [], "maxDataPoints": 100, "options": { "colorMode": "value", @@ -613,10 +617,12 @@ "fields": "", "values": false }, + "showPercentChange": false, "text": {}, - "textMode": "auto" + "textMode": "auto", + "wideLayout": true }, - "pluginVersion": "9.2.7", + "pluginVersion": "10.4.2", "targets": [ { "datasource": { @@ -668,7 +674,6 @@ "y": 4 }, "id": 128, - "links": [], "maxDataPoints": 100, "options": { "colorMode": "value", @@ -682,10 +687,12 @@ "fields": "", "values": false }, + "showPercentChange": false, "text": {}, - "textMode": "auto" + "textMode": "auto", + "wideLayout": true }, - "pluginVersion": "9.2.7", + "pluginVersion": "10.4.2", "targets": [ { "datasource": { @@ -718,7 +725,9 @@ }, "custom": { "align": "auto", - "displayMode": "auto", + "cellOptions": { + "type": "auto" + }, "inspect": false, "minWidth": 50 }, @@ -772,7 +781,9 @@ }, "id": 149, "options": { + "cellHeight": "sm", "footer": { + "countRows": false, "fields": "", "reducer": [ "sum" @@ -787,7 +798,7 @@ } ] }, - "pluginVersion": "9.2.7", + "pluginVersion": "10.4.2", "targets": [ { "datasource": { @@ -816,6 +827,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -830,6 +842,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "stepAfter", "lineWidth": 1, "pointSize": 5, @@ -929,13 +942,14 @@ "type": "prometheus", "uid": "$ds" }, - "description": "How many datapoints are inserted into cluster per second by protocol before the replication.", + "description": "How many [data samples](https://docs.victoriametrics.com/keyconcepts/#raw-samples) are inserted into cluster per second by protocol before the replication. Check vminsert metrics if there are any issues with ingestion.", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -949,6 +963,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineStyle": { "fill": "solid" @@ -1044,6 +1059,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -1057,6 +1073,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -1100,7 +1117,6 @@ "y": 13 }, "id": 6, - "links": [], "options": { "legend": { "calcs": [ @@ -1143,13 +1159,14 @@ "type": "prometheus", "uid": "$ds" }, - "description": "Shows the number of active time series with new data points inserted during the last hour across all storage nodes. High value may result in ingestion slowdown. \n\nSee following link for details:", + "description": "Shows the number of [active time series](https://docs.victoriametrics.com/faq/#what-is-an-active-time-series) with new data points inserted during the last hour across all storage nodes. High value may result in ingestion slowdown and high memory usage.", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -1163,6 +1180,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -1206,13 +1224,6 @@ "y": 21 }, "id": 12, - "links": [ - { - "targetBlank": true, - "title": "troubleshooting", - "url": "https://github.com/VictoriaMetrics/VictoriaMetrics/blob/master/README.md#troubleshooting" - } - ], "options": { "legend": { "calcs": [ @@ -1260,6 +1271,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -1273,6 +1285,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -1316,7 +1329,6 @@ "y": 21 }, "id": 8, - "links": [], "options": { "legend": { "calcs": [ @@ -1366,6 +1378,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -1379,6 +1392,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -1422,7 +1436,6 @@ "y": 29 }, "id": 52, - "links": [], "options": { "legend": { "calcs": [ @@ -1472,6 +1485,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -1485,6 +1499,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -1534,7 +1549,6 @@ "y": 29 }, "id": 104, - "links": [], "options": { "legend": { "calcs": [ @@ -1601,6 +1615,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -1614,6 +1629,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -1643,8 +1659,7 @@ "mode": "absolute", "steps": [ { - "color": "green", - "value": null + "color": "green" }, { "color": "red", @@ -1652,7 +1667,8 @@ } ] }, - "unit": "percentunit" + "unit": "percentunit", + "unitScale": true }, "overrides": [] }, @@ -1660,7 +1676,7 @@ "h": 8, "w": 12, "x": 0, - "y": 38 + "y": 3 }, "id": 66, "links": [], @@ -1713,6 +1729,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -1726,6 +1743,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -1755,8 +1773,7 @@ "mode": "absolute", "steps": [ { - "color": "green", - "value": null + "color": "green" }, { "color": "red", @@ -1764,7 +1781,8 @@ } ] }, - "unit": "percentunit" + "unit": "percentunit", + "unitScale": true }, "overrides": [] }, @@ -1772,7 +1790,7 @@ "h": 8, "w": 12, "x": 12, - "y": 38 + "y": 3 }, "id": 138, "links": [], @@ -1824,6 +1842,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -1837,6 +1856,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -1866,8 +1886,7 @@ "mode": "absolute", "steps": [ { - "color": "green", - "value": null + "color": "green" }, { "color": "red", @@ -1875,7 +1894,8 @@ } ] }, - "unit": "percentunit" + "unit": "percentunit", + "unitScale": true }, "overrides": [] }, @@ -1883,7 +1903,7 @@ "h": 8, "w": 12, "x": 0, - "y": 46 + "y": 11 }, "id": 64, "links": [], @@ -1938,6 +1958,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -1951,6 +1972,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -1973,8 +1995,7 @@ "mode": "absolute", "steps": [ { - "color": "green", - "value": null + "color": "green" }, { "color": "red", @@ -1982,7 +2003,8 @@ } ] }, - "unit": "Bps" + "unit": "Bps", + "unitScale": true }, "overrides": [ { @@ -2003,7 +2025,7 @@ "h": 8, "w": 12, "x": 12, - "y": 46 + "y": 11 }, "id": 122, "links": [], @@ -2074,6 +2096,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -2087,6 +2110,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -2111,8 +2135,7 @@ "mode": "absolute", "steps": [ { - "color": "green", - "value": null + "color": "green" }, { "color": "red", @@ -2120,7 +2143,8 @@ } ] }, - "unit": "percentunit" + "unit": "percentunit", + "unitScale": true }, "overrides": [ { @@ -2144,7 +2168,7 @@ "h": 8, "w": 12, "x": 0, - "y": 54 + "y": 19 }, "id": 117, "links": [], @@ -2199,6 +2223,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -2212,6 +2237,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -2234,8 +2260,7 @@ "mode": "absolute", "steps": [ { - "color": "green", - "value": null + "color": "green" }, { "color": "red", @@ -2243,7 +2268,8 @@ } ] }, - "unit": "short" + "unit": "short", + "unitScale": true }, "overrides": [ { @@ -2264,7 +2290,7 @@ "h": 8, "w": 12, "x": 12, - "y": 54 + "y": 19 }, "id": 204, "links": [], @@ -2334,6 +2360,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -2347,6 +2374,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -2371,8 +2399,7 @@ "mode": "absolute", "steps": [ { - "color": "green", - "value": null + "color": "green" }, { "color": "red", @@ -2380,7 +2407,8 @@ } ] }, - "unit": "short" + "unit": "short", + "unitScale": true }, "overrides": [] }, @@ -2388,7 +2416,7 @@ "h": 8, "w": 12, "x": 0, - "y": 62 + "y": 27 }, "id": 68, "links": [], @@ -2442,6 +2470,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -2455,6 +2484,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -2476,8 +2506,7 @@ "mode": "absolute", "steps": [ { - "color": "green", - "value": null + "color": "green" }, { "color": "red", @@ -2485,7 +2514,8 @@ } ] }, - "unit": "short" + "unit": "short", + "unitScale": true }, "overrides": [] }, @@ -2493,7 +2523,7 @@ "h": 8, "w": 12, "x": 12, - "y": 62 + "y": 27 }, "id": 119, "options": { @@ -2544,6 +2574,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -2557,6 +2588,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -2581,8 +2613,7 @@ "mode": "absolute", "steps": [ { - "color": "green", - "value": null + "color": "green" }, { "color": "red", @@ -2590,7 +2621,8 @@ } ] }, - "unit": "short" + "unit": "short", + "unitScale": true }, "overrides": [] }, @@ -2598,7 +2630,7 @@ "h": 8, "w": 12, "x": 0, - "y": 70 + "y": 35 }, "id": 70, "links": [], @@ -2652,6 +2684,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -2665,6 +2698,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -2686,8 +2720,7 @@ "mode": "absolute", "steps": [ { - "color": "green", - "value": null + "color": "green" }, { "color": "red", @@ -2695,7 +2728,8 @@ } ] }, - "unit": "short" + "unit": "short", + "unitScale": true }, "overrides": [] }, @@ -2703,7 +2737,7 @@ "h": 8, "w": 12, "x": 12, - "y": 70 + "y": 35 }, "id": 120, "options": { @@ -2742,6 +2776,114 @@ ], "title": "TCP connections rate ($instance)", "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "$ds" + }, + "description": "Shows the percent of CPU spent on garbage collection.\n\nIf % is high, then CPU usage can be decreased by changing GOGC to higher values. Increasing GOGC value will increase memory usage, and decrease CPU usage.\n\nTry searching for keyword `GOGC` at https://docs.victoriametrics.com/troubleshooting/ ", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "decimals": 0, + "links": [], + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "percentunit", + "unitScale": true + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 43 + }, + "id": 210, + "links": [], + "options": { + "legend": { + "calcs": [ + "mean", + "lastNotNull", + "max" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "desc" + } + }, + "pluginVersion": "9.2.6", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "$ds" + }, + "editorMode": "code", + "expr": "max(\n rate(go_gc_cpu_seconds_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]) \n / rate(process_cpu_seconds_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])\n ) by(job)", + "format": "time_series", + "interval": "", + "intervalFactor": 2, + "legendFormat": "__auto", + "range": true, + "refId": "A" + } + ], + "title": "CPU spent on GC ($instance)", + "type": "timeseries" } ], "title": "Resource usage ($job)", @@ -2766,7 +2908,34 @@ "type": "prometheus", "uid": "$ds" }, - "description": "Shows the rate and total number of new series created over last 24h.\n\nHigh churn rate tightly connected with database performance and may result in unexpected OOM's or slow queries. It is recommended to always keep an eye on this metric to avoid unexpected cardinality \"explosions\".\n\nThe higher churn rate is, the more resources required to handle it. Consider to keep the churn rate as low as possible.\n\nTo investigate stats about most expensive series use `api/v1/status/tsdb` handler. More details here https://docs.victoriametrics.com/Cluster-VictoriaMetrics.html#url-format\n\nGood references to read:\n* https://www.robustperception.io/cardinality-is-key\n* https://valyala.medium.com/high-cardinality-tsdb-benchmarks-victoriametrics-vs-timescaledb-vs-influxdb-13e6ee64dd6b", + "description": "", + "gridPos": { + "h": 2, + "w": 24, + "x": 0, + "y": 4 + }, + "id": 211, + "links": [], + "options": { + "code": { + "language": "plaintext", + "showLineNumbers": false, + "showMiniMap": false + }, + "content": "See [Troubleshooting](https://docs.victoriametrics.com/troubleshooting/) docs.", + "mode": "markdown" + }, + "pluginVersion": "10.3.1", + "transparent": true, + "type": "text" + }, + { + "datasource": { + "type": "prometheus", + "uid": "$ds" + }, + "description": "Shows the rate and total number of new series created over last 24h.\n\nHigh [churn rate](https://docs.victoriametrics.com/faq/#what-is-high-churn-rate) tightly connected with database performance and may result in unexpected OOM's or slow queries. It is recommended to always keep an eye on this metric to avoid unexpected [cardinality](https://docs.victoriametrics.com/keyconcepts/#cardinality) \"explosions\".\n\nThe higher churn rate is, the more resources required to handle it. Consider to keep the churn rate as low as possible.\n\nTo investigate stats about most expensive series use `api/v1/status/tsdb` handler. More details here https://docs.victoriametrics.com/cluster-victoriametrics/#url-format\n\nGood references to read:\n* https://www.robustperception.io/cardinality-is-key\n* https://valyala.medium.com/high-cardinality-tsdb-benchmarks-victoriametrics-vs-timescaledb-vs-influxdb-13e6ee64dd6b", "fieldConfig": { "defaults": { "color": { @@ -2842,7 +3011,7 @@ "h": 8, "w": 12, "x": 0, - "y": 31 + "y": 23 }, "id": 102, "options": { @@ -2897,7 +3066,7 @@ "type": "prometheus", "uid": "$ds" }, - "description": "The percentage of slow inserts comparing to total insertion rate during the last 5 minutes. \n\nThe less value is better. If percentage remains high (>10%) during extended periods of time, then it is likely more RAM is needed for optimal handling of the current number of active time series. \n\nIn general, VictoriaMetrics requires ~1KB or RAM per active time series, so it should be easy calculating the required amounts of RAM for the current workload according to capacity planning docs. But the resulting number may be far from the real number because the required amounts of memory depends on many other factors such as the number of labels per time series and the length of label values. See also https://github.com/VictoriaMetrics/VictoriaMetrics/issues/3976#issuecomment-1476883183", + "description": "The percentage of slow inserts comparing to total insertion rate during the last 5 minutes. \n\nThe less value is better. If percentage remains high (>10%) during extended periods of time, then it is likely more RAM is needed for optimal handling of the current number of [active time series](https://docs.victoriametrics.com/faq/#what-is-an-active-time-series). \n\nIn general, VictoriaMetrics requires ~1KB or RAM per active time series, so it should be easy calculating the required amounts of RAM for the current workload according to capacity planning docs. But the resulting number may be far from the real number because the required amounts of memory depends on many other factors such as the number of labels per time series and the length of label values. See also [this issue](https://github.com/VictoriaMetrics/VictoriaMetrics/issues/3976#issuecomment-1476883183) for details.", "fieldConfig": { "defaults": { "color": { @@ -2956,7 +3125,7 @@ "h": 8, "w": 12, "x": 12, - "y": 31 + "y": 23 }, "id": 108, "options": { @@ -3057,14 +3226,14 @@ "h": 8, "w": 12, "x": 0, - "y": 39 + "y": 31 }, "id": 142, "links": [ { "targetBlank": true, "title": "Readonly mode", - "url": "https://docs.victoriametrics.com/Cluster-VictoriaMetrics.html#readonly-mode" + "url": "https://docs.victoriametrics.com/cluster-victoriametrics/#readonly-mode" } ], "options": { @@ -3109,7 +3278,7 @@ "type": "prometheus", "uid": "$ds" }, - "description": "Slow queries according to `search.logSlowQueryDuration` flag, which is `5s` by default.", + "description": "Shows % of slow queries according to `search.logSlowQueryDuration` flag, which is `5s` by default.\n\nThe less value is better.", "fieldConfig": { "defaults": { "color": { @@ -3120,6 +3289,7 @@ "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", + "axisSoftMin": 0, "barAlignment": 0, "drawStyle": "line", "fillOpacity": 10, @@ -3160,7 +3330,7 @@ } ] }, - "unit": "short" + "unit": "percentunit" }, "overrides": [] }, @@ -3168,7 +3338,7 @@ "h": 8, "w": 12, "x": 12, - "y": 39 + "y": 31 }, "id": 107, "options": { @@ -3194,13 +3364,15 @@ "type": "prometheus", "uid": "$ds" }, - "expr": "sum(rate(vm_slow_queries_total{job=~\"$job_select\", instance=~\"$instance\"}[$__rate_interval]))", + "editorMode": "code", + "expr": "sum(rate(vm_slow_queries_total{job=~\"$job_select\", instance=~\"$instance\"}[$__rate_interval]))\n/\nsum(rate(vm_http_requests_total{job=~\"$job_select\", instance=~\"$instance\", path=~\"/select/.*\"}[$__rate_interval]))", "interval": "", - "legendFormat": "slow queries rate", + "legendFormat": "slow queries %", + "range": true, "refId": "A" } ], - "title": "Slow queries rate ($instance)", + "title": "Slow queries % ($instance)", "type": "timeseries" }, { @@ -3267,7 +3439,7 @@ "h": 8, "w": 12, "x": 0, - "y": 47 + "y": 39 }, "id": 170, "links": [], @@ -3313,7 +3485,7 @@ "type": "prometheus", "uid": "$ds" }, - "description": "VictoriaMetrics limits the number of labels per each metric with `-maxLabelsPerTimeseries` command-line flag.\n\nThis prevents from ingesting metrics with too many labels. The value of `maxLabelsPerTimeseries` must be adjusted for your workload.\n\nWhen limit is exceeded (graph is > 0) - extra labels are dropped, which could result in unexpected identical time series.", + "description": "VictoriaMetrics limits the number of labels per each metric with `-maxLabelsPerTimeseries` command-line flag.\n\nThis prevents from ingesting metrics with too many labels. The value of `maxLabelsPerTimeseries` must be adjusted for your workload.\n\nWhen limit is exceeded (graph is > 0) - extra labels are dropped, which could result in unexpected identical time series. See more details about dropped labels in vminsert logs.", "fieldConfig": { "defaults": { "color": { @@ -3373,7 +3545,7 @@ "h": 8, "w": 12, "x": 12, - "y": 47 + "y": 39 }, "id": 116, "links": [], @@ -3475,7 +3647,7 @@ "h": 9, "w": 12, "x": 0, - "y": 55 + "y": 47 }, "id": 144, "options": { @@ -3578,7 +3750,7 @@ "h": 9, "w": 12, "x": 12, - "y": 55 + "y": 47 }, "id": 58, "links": [], @@ -3634,7 +3806,9 @@ }, "custom": { "align": "auto", - "displayMode": "auto", + "cellOptions": { + "type": "auto" + }, "inspect": false }, "mappings": [], @@ -3679,10 +3853,10 @@ ] }, "gridPos": { - "h": 7, + "h": 6, "w": 24, "x": 0, - "y": 64 + "y": 56 }, "id": 183, "options": { @@ -3701,7 +3875,7 @@ } ] }, - "pluginVersion": "9.1.0", + "pluginVersion": "9.2.7", "targets": [ { "datasource": { @@ -3747,6 +3921,108 @@ } ], "type": "table" + }, + { + "datasource": { + "type": "prometheus", + "uid": "$ds" + }, + "description": "Shows how many rows were ignored on insertion due to corrupted or out of retention timestamps.", + "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": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "short" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 62 + }, + "id": 135, + "options": { + "legend": { + "calcs": [ + "mean", + "lastNotNull", + "max" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true, + "sortBy": "Last *", + "sortDesc": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } + }, + "pluginVersion": "9.1.0", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "$ds" + }, + "editorMode": "code", + "exemplar": true, + "expr": "sum(increase(vm_rows_ignored_total{job=~\"$job_storage\", instance=~\"$instance\"}[1h])) by (reason)", + "interval": "", + "legendFormat": "__auto", + "range": true, + "refId": "A" + } + ], + "title": "Rows ignored for last 1h ($instance)", + "type": "timeseries" } ], "title": "Troubleshooting", @@ -3830,7 +4106,7 @@ "h": 9, "w": 12, "x": 0, - "y": 21 + "y": 37 }, "id": 76, "links": [], @@ -3946,7 +4222,7 @@ "h": 9, "w": 12, "x": 12, - "y": 21 + "y": 37 }, "id": 86, "links": [], @@ -4071,7 +4347,7 @@ "h": 8, "w": 12, "x": 0, - "y": 30 + "y": 46 }, "id": 80, "links": [], @@ -4176,7 +4452,7 @@ "h": 8, "w": 12, "x": 12, - "y": 30 + "y": 46 }, "id": 78, "links": [], @@ -4220,7 +4496,7 @@ "type": "prometheus", "uid": "$ds" }, - "description": "The number of rows or bytes that vminesrt internal buffer contains at the moment.", + "description": "The number of rows or bytes that vminsert internal buffer contains at the moment.", "fieldConfig": { "defaults": { "color": { @@ -4292,7 +4568,7 @@ "h": 8, "w": 12, "x": 0, - "y": 38 + "y": 54 }, "id": 82, "options": { @@ -4399,7 +4675,7 @@ "h": 8, "w": 12, "x": 12, - "y": 38 + "y": 54 }, "id": 74, "options": { @@ -4465,6 +4741,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -4478,6 +4755,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -4501,7 +4779,8 @@ "mode": "absolute", "steps": [ { - "color": "green" + "color": "green", + "value": null }, { "color": "red", @@ -4520,7 +4799,6 @@ "y": 6 }, "id": 100, - "links": [], "options": { "legend": { "calcs": [ @@ -4563,13 +4841,14 @@ "type": "prometheus", "uid": "$ds" }, - "description": "Shows the approx time needed to reach 100% of disk capacity for at least one vmstorage node based on the following params:\n* free disk space;\n* row ingestion rate;\n* dedup rate;\n* compression.\n\nUse this panel for capacity planning in order to estimate the time remaining for running out of the disk space.", + "description": "Shows the approx time needed to reach 100% of disk capacity for at least one vmstorage node based on the following params:\n* free disk space;\n* row ingestion rate;\n* compression.\n\nNote: this panel doesn't account for deduplication process.", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -4583,6 +4862,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -4612,7 +4892,8 @@ "mode": "absolute", "steps": [ { - "color": "green" + "color": "green", + "value": null }, { "color": "red", @@ -4631,7 +4912,6 @@ "y": 6 }, "id": 113, - "links": [], "options": { "legend": { "calcs": [ @@ -4658,7 +4938,7 @@ "uid": "$ds" }, "editorMode": "code", - "expr": "min(vm_free_disk_space_bytes{job=~\"$job_storage\", instance=~\"$instance\"} \n/ \nignoring(path) (\n (\n rate(vm_rows_added_to_storage_total{job=~\"$job_storage\", instance=~\"$instance\"}[1d])\n - \n ignoring(type) rate(vm_deduplicated_samples_total{job=~\"$job_storage\", instance=~\"$instance\", type=\"merge\"}[1d])\n ) * scalar(\n sum(vm_data_size_bytes{job=~\"$job_storage\", instance=~\"$instance\", type!~\"indexdb.*\"})\n / \n sum(vm_rows{job=~\"$job_storage\", instance=~\"$instance\", type!~\"indexdb.*\"})\n )\n))", + "expr": "min(vm_free_disk_space_bytes{job=~\"$job_storage\", instance=~\"$instance\"} \n/ \nignoring(path) (\n rate(vm_rows_added_to_storage_total{job=~\"$job_storage\", instance=~\"$instance\"}[1d])\n * scalar(\n sum(vm_data_size_bytes{job=~\"$job_storage\", instance=~\"$instance\", type!~\"indexdb.*\"})\n / \n sum(vm_rows{job=~\"$job_storage\", instance=~\"$instance\", type!~\"indexdb.*\"})\n )\n))", "format": "time_series", "interval": "", "intervalFactor": 1, @@ -4682,6 +4962,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -4695,6 +4976,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -4724,7 +5006,8 @@ "mode": "absolute", "steps": [ { - "color": "green" + "color": "green", + "value": null }, { "color": "red", @@ -4743,7 +5026,6 @@ "y": 14 }, "id": 151, - "links": [], "options": { "legend": { "calcs": [ @@ -4827,6 +5109,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -4840,6 +5123,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -4869,7 +5153,8 @@ "mode": "absolute", "steps": [ { - "color": "green" + "color": "green", + "value": null }, { "color": "red", @@ -4888,7 +5173,6 @@ "y": 14 }, "id": 167, - "links": [], "options": { "legend": { "calcs": [ @@ -4965,13 +5249,14 @@ "type": "prometheus", "uid": "$ds" }, - "description": "Value > 0 means vmstorage is in readonly mode.", + "description": "Shows how many ongoing insertions (not API /write calls) on disk are taking place, where:\n* `max` - equal to number of CPUs;\n* `current` - current number of goroutines busy with inserting rows into underlying storage.\n\nEvery successful API /write call results into flush on disk. The `max` is an internal limit and can't be changed. It is always equal to the number of CPUs. \n\nWhen `current` hits `max` constantly, it means storage is overloaded and requires more CPU (see CPU usage) or disks with more IOPS (see disk writes and reads panels in Resource Usage row).", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -4985,6 +5270,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -5006,110 +5292,8 @@ "mode": "absolute", "steps": [ { - "color": "green" - }, - { - "color": "red", - "value": 80 - } - ] - }, - "unit": "short" - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 21 - }, - "id": 141, - "links": [ - { - "targetBlank": true, - "title": "Readonly mode", - "url": "https://docs.victoriametrics.com/Cluster-VictoriaMetrics.html#readonly-mode" - } - ], - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": false - }, - "tooltip": { - "mode": "multi", - "sort": "desc" - } - }, - "pluginVersion": "9.1.0", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "$ds" - }, - "editorMode": "code", - "exemplar": true, - "expr": "vm_storage_is_read_only{job=~\"$job_storage\", instance=~\"$instance\"} > 0", - "interval": "", - "legendFormat": "{{ instance }}", - "range": true, - "refId": "A" - } - ], - "title": "Readonly mode", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "$ds" - }, - "description": "Shows how many ongoing insertions (not API /write calls) on disk are taking place, where:\n* `max` - equal to number of CPUs;\n* `current` - current number of goroutines busy with inserting rows into underlying storage.\n\nEvery successful API /write call results into flush on disk. The `max` is an internal limit and can't be changed. It is always equal to the number of CPUs. \n\nWhen `current` hits `max` constantly, it means storage is overloaded and requires more CPU or faster disk.", - "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": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green" + "color": "green", + "value": null }, { "color": "red", @@ -5140,10 +5324,10 @@ "gridPos": { "h": 8, "w": 12, - "x": 12, + "x": 0, "y": 21 }, - "id": 133, + "id": 212, "links": [ { "targetBlank": true, @@ -5207,13 +5391,14 @@ "type": "prometheus", "uid": "$ds" }, - "description": "The number of on-going merges in storage nodes. It is expected to have high numbers for `storage/small` metric.", + "description": "Shows the number of concurrently executed read requests, where:\n* `max` - equal to `-search.maxConcurrentRequest` cmd-line flag;\n* `current` - current number of concurrent select requests executed by storage.\n\nEach concurrent select request requires RAM, CPU and disk IO resources during processing. Too many concurrent requests could result into OOM exceptions.\n\nWhen `current` hits `max` constantly, it means storage is overloaded and requires more CPU (see CPU usage) or disks with more IOPS (see disk writes and reads panels in Resource Usage row).\n\nSee more at https://docs.victoriametrics.com/cluster-victoriametrics/#resource-usage-limits", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -5227,6 +5412,142 @@ "tooltip": false, "viz": false }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "short" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "max" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#C4162A", + "mode": "fixed" + } + } + ] + } + ] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 21 + }, + "id": 133, + "options": { + "legend": { + "calcs": [ + "mean", + "lastNotNull", + "max" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true, + "sortBy": "Last *", + "sortDesc": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } + }, + "pluginVersion": "9.1.0", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "$ds" + }, + "editorMode": "code", + "exemplar": true, + "expr": "max(\n max_over_time(vm_vmselect_concurrent_requests_current{job=~\"$job_storage\", \n instance=~\"$instance\"}[$__rate_interval])\n)", + "interval": "", + "legendFormat": "current", + "range": true, + "refId": "A" + }, + { + "datasource": { + "type": "prometheus", + "uid": "$ds" + }, + "editorMode": "code", + "exemplar": true, + "expr": "min(vm_vmselect_concurrent_requests_capacity{job=~\"$job_storage\", instance=~\"$instance\"})", + "hide": false, + "interval": "", + "legendFormat": "max", + "range": true, + "refId": "B" + } + ], + "title": "Concurrent selects ($instance)", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "$ds" + }, + "description": "The max number of on-going merges across storage nodes.\n The drastic change in number of merges could be a sign of on-going deduplication/downsampling activity.\n It is expected to have high numbers for `storage/small` metric.", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -5251,7 +5572,8 @@ "mode": "absolute", "steps": [ { - "color": "green" + "color": "green", + "value": null }, { "color": "red", @@ -5296,7 +5618,7 @@ "uid": "$ds" }, "editorMode": "code", - "expr": "sum(max_over_time(vm_active_merges{job=~\"$job_storage\", instance=~\"$instance\"}[$__rate_interval])) by(type)", + "expr": "max(max_over_time(vm_active_merges{job=~\"$job_storage\", instance=~\"$instance\"}[$__rate_interval])) by(type)", "legendFormat": "__auto", "range": true, "refId": "A" @@ -5310,13 +5632,14 @@ "type": "prometheus", "uid": "$ds" }, - "description": "The number of rows merged per second by storage nodes.", + "description": "The number of rows merged per second by storage nodes. Merge speed depends on available CPU and disk IO bandwidth.", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -5330,6 +5653,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -5354,7 +5678,8 @@ "mode": "absolute", "steps": [ { - "color": "green" + "color": "green", + "value": null }, { "color": "red", @@ -5420,6 +5745,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -5433,6 +5759,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -5462,7 +5789,8 @@ "mode": "absolute", "steps": [ { - "color": "green" + "color": "green", + "value": null }, { "color": "red", @@ -5481,7 +5809,6 @@ "y": 37 }, "id": 20, - "links": [], "options": { "legend": { "calcs": [ @@ -5559,6 +5886,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -5572,6 +5900,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -5595,7 +5924,8 @@ "mode": "absolute", "steps": [ { - "color": "green" + "color": "green", + "value": null }, { "color": "red", @@ -5614,7 +5944,6 @@ "y": 37 }, "id": 22, - "links": [], "options": { "legend": { "calcs": [ @@ -5658,13 +5987,14 @@ "type": "prometheus", "uid": "$ds" }, - "description": "Shows the percentage of used disk space by type: datapoints or indexdb. Normally, indexdb takes much less space comparing to datapoints. But with high churn rate the size of the indexdb could grow significantly.\n\nThe sum of the % can be > 100% since panel shows max % per-job and per-instance. It means different instance can have different ratio between datapoints and indexdb size.", + "description": "Shows the percentage of used disk space by type: datapoints or indexdb. Normally, indexdb takes much less space comparing to datapoints. But with high [churn rate](https://docs.victoriametrics.com/faq/#what-is-high-churn-rate) the size of the indexdb could grow significantly.\n\nThe sum of the % can be > 100% since panel shows max % per-job and per-instance. It means different instance can have different ratio between datapoints and indexdb size.", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -5678,6 +6008,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -5707,7 +6038,8 @@ "mode": "absolute", "steps": [ { - "color": "green" + "color": "green", + "value": null } ] }, @@ -5722,7 +6054,6 @@ "y": 45 }, "id": 202, - "links": [], "options": { "legend": { "calcs": [ @@ -5786,6 +6117,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -5799,6 +6131,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -5822,7 +6155,8 @@ "mode": "absolute", "steps": [ { - "color": "green" + "color": "green", + "value": null }, { "color": "red", @@ -5858,7 +6192,6 @@ "y": 45 }, "id": 14, - "links": [], "options": { "legend": { "calcs": [ @@ -5916,13 +6249,14 @@ "type": "prometheus", "uid": "$ds" }, - "description": "Shows how many rows were ignored on insertion due to corrupted or out of retention timestamps.", + "description": "Shows network usage by vmstorage services.\n* Writes show traffic sent to clients.\n* Reads show traffic received from clients.", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -5936,6 +6270,139 @@ "tooltip": false, "viz": false }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "links": [], + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "bps" + }, + "overrides": [ + { + "matcher": { + "id": "byRegexp", + "options": "/read.*/" + }, + "properties": [ + { + "id": "custom.transform", + "value": "negative-Y" + } + ] + } + ] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 53 + }, + "id": 206, + "options": { + "legend": { + "calcs": [ + "mean", + "lastNotNull" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true, + "sortBy": "Last *", + "sortDesc": true + }, + "tooltip": { + "mode": "multi", + "sort": "desc" + } + }, + "pluginVersion": "9.1.0", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "$ds" + }, + "editorMode": "code", + "expr": "sum(rate(vm_tcplistener_read_bytes_total{job=~\"$job_storage\", instance=~\"$instance\"}[$__rate_interval])) by(name) * 8 > 0", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "read from {{name}}", + "range": true, + "refId": "A" + }, + { + "datasource": { + "type": "prometheus", + "uid": "$ds" + }, + "editorMode": "code", + "expr": "sum(rate(vm_tcplistener_written_bytes_total{job=~\"$job_storage\", instance=~\"$instance\"}[$__rate_interval])) by(name) * 8 > 0", + "format": "time_series", + "hide": false, + "intervalFactor": 1, + "legendFormat": "write to {{name}}", + "range": true, + "refId": "B" + } + ], + "title": "Network usage ($instance)", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "$ds" + }, + "description": "Value > 0 means vmstorage is in readonly mode.", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -5957,7 +6424,8 @@ "mode": "absolute", "steps": [ { - "color": "green" + "color": "green", + "value": null }, { "color": "red", @@ -5972,26 +6440,27 @@ "gridPos": { "h": 8, "w": 12, - "x": 0, + "x": 12, "y": 53 }, - "id": 135, + "id": 141, + "links": [ + { + "targetBlank": true, + "title": "Readonly mode", + "url": "https://docs.victoriametrics.com/cluster-victoriametrics/#readonly-mode" + } + ], "options": { "legend": { - "calcs": [ - "mean", - "lastNotNull", - "max" - ], - "displayMode": "table", + "calcs": [], + "displayMode": "list", "placement": "bottom", - "showLegend": true, - "sortBy": "Last *", - "sortDesc": true + "showLegend": false }, "tooltip": { "mode": "multi", - "sort": "none" + "sort": "desc" } }, "pluginVersion": "9.1.0", @@ -6003,14 +6472,14 @@ }, "editorMode": "code", "exemplar": true, - "expr": "sum(increase(vm_rows_ignored_total{job=~\"$job_storage\", instance=~\"$instance\"}[1h])) by (reason)", + "expr": "vm_storage_is_read_only{job=~\"$job_storage\", instance=~\"$instance\"} > 0", "interval": "", - "legendFormat": "__auto", + "legendFormat": "{{ instance }}", "range": true, "refId": "A" } ], - "title": "Rows ignored for last 1h ($instance)", + "title": "Readonly mode", "type": "timeseries" } ], @@ -6095,7 +6564,7 @@ "h": 8, "w": 12, "x": 0, - "y": 98 + "y": 50 }, "id": 92, "links": [], @@ -6221,7 +6690,7 @@ "h": 8, "w": 12, "x": 12, - "y": 98 + "y": 50 }, "id": 95, "links": [], @@ -6343,7 +6812,7 @@ "h": 8, "w": 12, "x": 0, - "y": 106 + "y": 58 }, "id": 163, "links": [], @@ -6487,7 +6956,7 @@ "h": 8, "w": 12, "x": 12, - "y": 106 + "y": 58 }, "id": 165, "links": [], @@ -6627,7 +7096,7 @@ "h": 8, "w": 12, "x": 0, - "y": 114 + "y": 66 }, "id": 178, "links": [], @@ -6674,7 +7143,7 @@ "type": "prometheus", "uid": "$ds" }, - "description": "99th percentile of number of raw datapoints read per queried time series.", + "description": "99th percentile of number of [data samples](https://docs.victoriametrics.com/keyconcepts/#raw-samples) read per queried time series.", "fieldConfig": { "defaults": { "color": { @@ -6734,7 +7203,7 @@ "h": 8, "w": 12, "x": 12, - "y": 114 + "y": 66 }, "id": 180, "links": [], @@ -6781,7 +7250,7 @@ "type": "prometheus", "uid": "$ds" }, - "description": "99th percentile of number of raw datapoints read per query.", + "description": "99th percentile of number of [data samples](https://docs.victoriametrics.com/keyconcepts/#raw-samples) read per query.", "fieldConfig": { "defaults": { "color": { @@ -6841,7 +7310,7 @@ "h": 8, "w": 12, "x": 0, - "y": 122 + "y": 74 }, "id": 179, "links": [], @@ -6888,7 +7357,7 @@ "type": "prometheus", "uid": "$ds" }, - "description": "99th percentile of number of raw datapoints scanner per query.\n\nThis number can exceed number of DatapointsReadPerQuery if `step` query arg passed to [/api/v1/query_range](https://prometheus.io/docs/prometheus/latest/querying/api/#range-queries) is smaller than the lookbehind window set in square brackets of [rollup function](https://docs.victoriametrics.com/MetricsQL.html#rollup-functions). For example, if `increase(some_metric[1h])` is executed with the `step=5m`, then the same raw samples on a hour time range are scanned `1h/5m=12` times. See [this article](https://valyala.medium.com/how-to-optimize-promql-and-metricsql-queries-85a1b75bf986) for details.", + "description": "99th percentile of number of [data samples](https://docs.victoriametrics.com/keyconcepts/#raw-samples) scanner per query.\n\nThis number can exceed number of DatapointsReadPerQuery if `step` query arg passed to [/api/v1/query_range](https://prometheus.io/docs/prometheus/latest/querying/api/#range-queries) is smaller than the lookbehind window set in square brackets of [rollup function](https://docs.victoriametrics.com/metricsql/#rollup-functions). For example, if `increase(some_metric[1h])` is executed with the `step=5m`, then the same [data samples](https://docs.victoriametrics.com/keyconcepts/#raw-samples) on a hour time range are scanned `1h/5m=12` times. See [this article](https://valyala.medium.com/how-to-optimize-promql-and-metricsql-queries-85a1b75bf986) for details.", "fieldConfig": { "defaults": { "color": { @@ -6948,7 +7417,7 @@ "h": 8, "w": 12, "x": 12, - "y": 122 + "y": 74 }, "id": 181, "links": [], @@ -6995,7 +7464,7 @@ "type": "prometheus", "uid": "$ds" }, - "description": "", + "description": "Shows network usage between vmselects and clients, such as vmalert, Grafana, vmui, etc.", "fieldConfig": { "defaults": { "color": { @@ -7064,9 +7533,9 @@ }, "gridPos": { "h": 8, - "w": 24, + "w": 12, "x": 0, - "y": 130 + "y": 82 }, "id": 93, "links": [], @@ -7098,7 +7567,7 @@ "expr": "sum(rate(vm_tcplistener_read_bytes_total{job=~\"$job_select\", instance=~\"$instance\"}[$__rate_interval])) * 8 > 0", "format": "time_series", "intervalFactor": 1, - "legendFormat": "read", + "legendFormat": "read from client", "range": true, "refId": "A" }, @@ -7112,12 +7581,142 @@ "format": "time_series", "hide": false, "intervalFactor": 1, - "legendFormat": "write ", + "legendFormat": "write to client", "range": true, "refId": "B" } ], - "title": "Network usage ($instance)", + "title": "Network usage: clients ($instance)", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "$ds" + }, + "description": "Shows network usage between vmselects and vmstorages.", + "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": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "links": [], + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "bps" + }, + "overrides": [ + { + "matcher": { + "id": "byRegexp", + "options": "/read.*/" + }, + "properties": [ + { + "id": "custom.transform", + "value": "negative-Y" + } + ] + } + ] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 82 + }, + "id": 207, + "links": [], + "options": { + "legend": { + "calcs": [ + "mean", + "lastNotNull" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true, + "sortBy": "Last *", + "sortDesc": true + }, + "tooltip": { + "mode": "multi", + "sort": "desc" + } + }, + "pluginVersion": "9.1.0", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "$ds" + }, + "editorMode": "code", + "expr": "sum(rate(vm_tcpdialer_read_bytes_total{job=~\"$job_select\", instance=~\"$instance\"}[$__rate_interval])) * 8 > 0", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "read from vmstorage", + "range": true, + "refId": "A" + }, + { + "datasource": { + "type": "prometheus", + "uid": "$ds" + }, + "editorMode": "code", + "expr": "sum(rate(vm_tcpdialer_written_bytes_total{job=~\"$job_select\", instance=~\"$instance\"}[$__rate_interval])) * 8 > 0", + "format": "time_series", + "hide": false, + "intervalFactor": 1, + "legendFormat": "write to vmstorage", + "range": true, + "refId": "B" + } + ], + "title": "Network usage: vmstorage ($instance)", "type": "timeseries" } ], @@ -7202,7 +7801,7 @@ "h": 8, "w": 12, "x": 0, - "y": 24 + "y": 51 }, "id": 97, "links": [], @@ -7328,7 +7927,7 @@ "h": 8, "w": 12, "x": 12, - "y": 24 + "y": 51 }, "id": 99, "links": [], @@ -7452,7 +8051,7 @@ "h": 8, "w": 12, "x": 0, - "y": 32 + "y": 59 }, "id": 185, "links": [], @@ -7596,7 +8195,7 @@ "h": 8, "w": 12, "x": 12, - "y": 32 + "y": 59 }, "id": 187, "links": [], @@ -7676,220 +8275,7 @@ "type": "prometheus", "uid": "$ds" }, - "description": "", - "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": false, - "stacking": { - "group": "A", - "mode": "normal" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "links": [], - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green" - }, - { - "color": "red", - "value": 80 - } - ] - }, - "unit": "bps" - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 40 - }, - "id": 90, - "links": [], - "options": { - "legend": { - "calcs": [ - "mean", - "lastNotNull", - "max" - ], - "displayMode": "table", - "placement": "bottom", - "showLegend": true, - "sortBy": "Last *", - "sortDesc": true - }, - "tooltip": { - "mode": "multi", - "sort": "desc" - } - }, - "pluginVersion": "9.1.0", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "$ds" - }, - "editorMode": "code", - "exemplar": true, - "expr": "sum(rate(vm_tcplistener_read_bytes_total{job=~\"$job_insert\", instance=~\"$instance\"}[$__rate_interval])) * 8 > 0", - "format": "time_series", - "interval": "", - "intervalFactor": 1, - "legendFormat": "read", - "range": true, - "refId": "A" - } - ], - "title": "Network usage ($instance)", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "$ds" - }, - "description": "", - "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": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "decimals": 2, - "links": [], - "mappings": [], - "min": 0, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green" - }, - { - "color": "red", - "value": 80 - } - ] - }, - "unit": "short" - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 40 - }, - "id": 88, - "links": [], - "options": { - "legend": { - "calcs": [ - "mean", - "lastNotNull", - "max" - ], - "displayMode": "table", - "placement": "bottom", - "showLegend": true, - "sortBy": "Last *", - "sortDesc": true - }, - "tooltip": { - "mode": "multi", - "sort": "desc" - } - }, - "pluginVersion": "9.1.0", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "$ds" - }, - "editorMode": "code", - "expr": "max(histogram_quantile(0.99, sum(increase(vm_rows_per_insert_bucket{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])) by (instance, vmrange)))", - "format": "time_series", - "interval": "", - "intervalFactor": 1, - "legendFormat": "max", - "range": true, - "refId": "A" - } - ], - "title": "Rows per insert ($instance)", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "$ds" - }, - "description": "Shows the saturation level of connection between vminsert and vmstorage components. If the threshold of 0.9sec is reached, then the connection is saturated by more than 90% and vminsert won't be able to keep up. This usually means that more vminsert or vmstorage nodes must be added to the cluster in order to increase the total number of vminsert -> vmstorage links.\n", + "description": "Shows the saturation level of connection between vminsert and vmstorage components. \n\nIf the threshold of 0.9sec is reached, then the connection is saturated by more than 90% and vminsert won't be able to keep up. This usually means that either vminsert or vmstorage nodes are struggling with the load. Verify CPU/mem saturation of both components and network saturation between them.\nIf vminsert resources are saturated - consider adding more resources or scale vminserts horizontally.\n\nIf vminsert resources and network are fine, check vmstorage metrics for anomalies.", "fieldConfig": { "defaults": { "color": { @@ -7949,7 +8335,7 @@ "h": 8, "w": 12, "x": 0, - "y": 48 + "y": 67 }, "id": 139, "links": [], @@ -8056,7 +8442,7 @@ "h": 8, "w": 12, "x": 12, - "y": 48 + "y": 67 }, "id": 114, "links": [], @@ -8094,6 +8480,373 @@ ], "title": "Storage reachability ($instance)", "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "$ds" + }, + "description": "Shows network usage between vminserts and clients, such as vmagent, Prometheus, or any other client pushing metrics to vminsert.", + "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": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "links": [], + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "bps" + }, + "overrides": [ + { + "matcher": { + "id": "byRegexp", + "options": "/read.*/" + }, + "properties": [ + { + "id": "custom.transform", + "value": "negative-Y" + } + ] + } + ] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 75 + }, + "id": 208, + "links": [], + "options": { + "legend": { + "calcs": [ + "mean", + "lastNotNull" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true, + "sortBy": "Last *", + "sortDesc": true + }, + "tooltip": { + "mode": "multi", + "sort": "desc" + } + }, + "pluginVersion": "9.1.0", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "$ds" + }, + "editorMode": "code", + "expr": "sum(rate(vm_tcplistener_read_bytes_total{job=~\"$job_insert\", instance=~\"$instance\"}[$__rate_interval])) * 8 > 0", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "read from client", + "range": true, + "refId": "A" + }, + { + "datasource": { + "type": "prometheus", + "uid": "$ds" + }, + "editorMode": "code", + "expr": "sum(rate(vm_tcplistener_written_bytes_total{job=~\"$job_insert\", instance=~\"$instance\"}[$__rate_interval])) * 8 > 0", + "format": "time_series", + "hide": false, + "intervalFactor": 1, + "legendFormat": "write to client", + "range": true, + "refId": "B" + } + ], + "title": "Network usage: clients ($instance)", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "$ds" + }, + "description": "Shows network usage between vminserts and vmstorages.", + "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": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "links": [], + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "bps" + }, + "overrides": [ + { + "matcher": { + "id": "byRegexp", + "options": "/read.*/" + }, + "properties": [ + { + "id": "custom.transform", + "value": "negative-Y" + } + ] + } + ] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 75 + }, + "id": 209, + "links": [], + "options": { + "legend": { + "calcs": [ + "mean", + "lastNotNull" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true, + "sortBy": "Last *", + "sortDesc": true + }, + "tooltip": { + "mode": "multi", + "sort": "desc" + } + }, + "pluginVersion": "9.1.0", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "$ds" + }, + "editorMode": "code", + "expr": "sum(rate(vm_tcpdialer_read_bytes_total{job=~\"$job_insert\", instance=~\"$instance\"}[$__rate_interval])) * 8 > 0", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "read from vmstorage", + "range": true, + "refId": "A" + }, + { + "datasource": { + "type": "prometheus", + "uid": "$ds" + }, + "editorMode": "code", + "expr": "sum(rate(vm_tcpdialer_written_bytes_total{job=~\"$job_insert\", instance=~\"$instance\"}[$__rate_interval])) * 8 > 0", + "format": "time_series", + "hide": false, + "intervalFactor": 1, + "legendFormat": "write to vmstorage", + "range": true, + "refId": "B" + } + ], + "title": "Network usage: vmstorage ($instance)", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "$ds" + }, + "description": "", + "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": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "decimals": 2, + "links": [], + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "short" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 83 + }, + "id": 88, + "links": [], + "options": { + "legend": { + "calcs": [ + "mean", + "lastNotNull", + "max" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true, + "sortBy": "Last *", + "sortDesc": true + }, + "tooltip": { + "mode": "multi", + "sort": "desc" + } + }, + "pluginVersion": "9.1.0", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "$ds" + }, + "editorMode": "code", + "expr": "max(histogram_quantile(0.99, sum(increase(vm_rows_per_insert_bucket{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])) by (instance, vmrange)))", + "format": "time_series", + "interval": "", + "intervalFactor": 1, + "legendFormat": "max", + "range": true, + "refId": "A" + } + ], + "title": "Rows per insert ($instance)", + "type": "timeseries" } ], "title": "vminsert ($instance)", @@ -8118,7 +8871,7 @@ "h": 2, "w": 24, "x": 0, - "y": 84 + "y": 100 }, "id": 198, "options": { @@ -8182,8 +8935,7 @@ "mode": "absolute", "steps": [ { - "color": "green", - "value": null + "color": "green" } ] }, @@ -8195,7 +8947,7 @@ "h": 8, "w": 12, "x": 0, - "y": 86 + "y": 102 }, "id": 189, "links": [], @@ -8284,8 +9036,7 @@ "mode": "absolute", "steps": [ { - "color": "green", - "value": null + "color": "green" } ] }, @@ -8297,7 +9048,7 @@ "h": 8, "w": 12, "x": 12, - "y": 86 + "y": 102 }, "id": 190, "links": [], @@ -8386,8 +9137,7 @@ "mode": "absolute", "steps": [ { - "color": "green", - "value": null + "color": "green" } ] }, @@ -8399,7 +9149,7 @@ "h": 7, "w": 12, "x": 0, - "y": 94 + "y": 110 }, "id": 192, "links": [], @@ -8447,7 +9197,7 @@ "type": "prometheus", "uid": "$ds" }, - "description": "Shows the approx time needed to reach 100% of disk capacity based on the following params:\n* free disk space;\n* row ingestion rate;\n* dedup rate;\n* compression.\n\nUse this panel for capacity planning in order to estimate the time remaining for running out of the disk space.", + "description": "Shows the approx time needed to reach 100% of disk capacity based on the following params:\n* free disk space;\n* row ingestion rate;\n* compression.\n\nNote: this panel doesn't account for deduplication process.", "fieldConfig": { "defaults": { "color": { @@ -8490,8 +9240,7 @@ "mode": "absolute", "steps": [ { - "color": "green", - "value": null + "color": "green" }, { "color": "red", @@ -8507,7 +9256,7 @@ "h": 7, "w": 12, "x": 12, - "y": 94 + "y": 110 }, "id": 196, "links": [], @@ -8537,7 +9286,7 @@ "uid": "$ds" }, "editorMode": "code", - "expr": "vm_free_disk_space_bytes{job=~\"$job_storage\", instance=~\"$instance\"} \n/ \nignoring(path) (\n (\n rate(vm_rows_added_to_storage_total{job=~\"$job_storage\", instance=~\"$instance\"}[1d])\n - \n ignoring(type) rate(vm_deduplicated_samples_total{job=~\"$job_storage\", instance=~\"$instance\", type=\"merge\"}[1d])\n ) * scalar(\n sum(vm_data_size_bytes{job=~\"$job_storage\", instance=~\"$instance\", type!~\"indexdb.*\"})\n / \n sum(vm_rows{job=~\"$job_storage\", instance=~\"$instance\", type!~\"indexdb.*\"})\n )\n)", + "expr": "vm_free_disk_space_bytes{job=~\"$job_storage\", instance=~\"$instance\"} \n/ \nignoring(path) (\n rate(vm_rows_added_to_storage_total{job=~\"$job_storage\", instance=~\"$instance\"}[1d])\n * scalar(\n sum(vm_data_size_bytes{job=~\"$job_storage\", instance=~\"$instance\", type!~\"indexdb.*\"})\n / \n sum(vm_rows{job=~\"$job_storage\", instance=~\"$instance\", type!~\"indexdb.*\"})\n )\n)", "format": "time_series", "interval": "", "intervalFactor": 1, @@ -8597,8 +9346,7 @@ "mode": "absolute", "steps": [ { - "color": "green", - "value": null + "color": "green" } ] }, @@ -8610,7 +9358,7 @@ "h": 8, "w": 12, "x": 0, - "y": 101 + "y": 117 }, "id": 200, "links": [], @@ -8699,8 +9447,7 @@ "mode": "absolute", "steps": [ { - "color": "green", - "value": null + "color": "green" } ] }, @@ -8712,7 +9459,7 @@ "h": 8, "w": 12, "x": 12, - "y": 101 + "y": 117 }, "id": 201, "links": [], @@ -8815,8 +9562,7 @@ "mode": "absolute", "steps": [ { - "color": "green", - "value": null + "color": "green" }, { "color": "red", @@ -8832,7 +9578,7 @@ "h": 8, "w": 12, "x": 0, - "y": 109 + "y": 125 }, "id": 203, "links": [], @@ -8881,17 +9627,16 @@ "type": "row" } ], - "refresh": false, - "schemaVersion": 37, - "style": "dark", + "refresh": "", + "schemaVersion": 39, "tags": [], "templating": { "list": [ { "current": { - "selected": true, - "text": "VictoriaMetrics", - "value": "VictoriaMetrics" + "selected": false, + "text": "VictoriaMetrics - cluster", + "value": "PAF93674D0B4E9963" }, "hide": 0, "includeAll": false, @@ -9063,4 +9808,4 @@ "uid": "oS7Bi_0Wz", "version": 1, "weekStart": "" -} +} \ No newline at end of file diff --git a/dashboards/victoria-metrics/victoriametrics.json b/dashboards/victoria-metrics/victoriametrics.json index 65cbd553..3703a555 100644 --- a/dashboards/victoria-metrics/victoriametrics.json +++ b/dashboards/victoria-metrics/victoriametrics.json @@ -6,7 +6,7 @@ "type": "grafana", "id": "grafana", "name": "Grafana", - "version": "9.2.7" + "version": "10.4.2" }, { "type": "datasource", @@ -76,7 +76,7 @@ "uid": "$ds" }, "enable": true, - "expr": "sum(vm_app_version{job=~\"$job\", instance=~\"$instance\"}) by(version) unless (sum(vm_app_version{job=~\"$job\", instance=~\"$instance\"} offset 20m) by(short_versionversion))", + "expr": "sum(vm_app_version{job=~\"$job\", instance=~\"$instance\"}) by(version) unless (sum(vm_app_version{job=~\"$job\", instance=~\"$instance\"} offset $__interval) by(version))", "hide": true, "iconColor": "dark-blue", "name": "version", @@ -85,7 +85,7 @@ } ] }, - "description": "Overview for single node VictoriaMetrics v1.83.0 or higher", + "description": "Overview for single-node VictoriaMetrics v1.83.0 or higher", "editable": true, "fiscalYearStartMonth": 0, "gnetId": 10229, @@ -168,7 +168,7 @@ "content": "
$version
", "mode": "markdown" }, - "pluginVersion": "9.2.7", + "pluginVersion": "10.4.2", "targets": [ { "datasource": { @@ -213,7 +213,6 @@ "y": 1 }, "id": 26, - "links": [], "maxDataPoints": 100, "options": { "colorMode": "value", @@ -227,16 +226,19 @@ "fields": "", "values": false }, + "showPercentChange": false, "text": {}, - "textMode": "auto" + "textMode": "auto", + "wideLayout": true }, - "pluginVersion": "9.2.7", + "pluginVersion": "10.4.2", "targets": [ { "datasource": { "type": "prometheus", "uid": "$ds" }, + "editorMode": "code", "exemplar": false, "expr": "sum(vm_rows{job=~\"$job\", instance=~\"$instance\", type!~\"indexdb.*\"})", "format": "time_series", @@ -282,7 +284,6 @@ "y": 1 }, "id": 107, - "links": [], "maxDataPoints": 100, "options": { "colorMode": "value", @@ -296,10 +297,12 @@ "fields": "", "values": false }, + "showPercentChange": false, "text": {}, - "textMode": "auto" + "textMode": "auto", + "wideLayout": true }, - "pluginVersion": "9.2.7", + "pluginVersion": "10.4.2", "targets": [ { "datasource": { @@ -352,7 +355,6 @@ "y": 1 }, "id": 108, - "links": [], "maxDataPoints": 100, "options": { "colorMode": "value", @@ -366,10 +368,12 @@ "fields": "", "values": false }, + "showPercentChange": false, "text": {}, - "textMode": "auto" + "textMode": "auto", + "wideLayout": true }, - "pluginVersion": "9.2.7", + "pluginVersion": "10.4.2", "targets": [ { "datasource": { @@ -426,7 +430,6 @@ "y": 1 }, "id": 77, - "links": [], "maxDataPoints": 100, "options": { "colorMode": "value", @@ -440,10 +443,12 @@ "fields": "", "values": false }, + "showPercentChange": false, "text": {}, - "textMode": "auto" + "textMode": "auto", + "wideLayout": true }, - "pluginVersion": "9.2.7", + "pluginVersion": "10.4.2", "targets": [ { "datasource": { @@ -510,10 +515,12 @@ "fields": "", "values": false }, + "showPercentChange": false, "text": {}, - "textMode": "auto" + "textMode": "auto", + "wideLayout": true }, - "pluginVersion": "9.2.7", + "pluginVersion": "10.4.2", "targets": [ { "datasource": { @@ -522,7 +529,7 @@ }, "editorMode": "code", "exemplar": false, - "expr": "vm_app_uptime_seconds{job=~\"$job\", instance=~\"$instance\"}", + "expr": "min(vm_app_uptime_seconds{job=~\"$job\", instance=~\"$instance\"})", "instant": true, "interval": "", "legendFormat": "", @@ -537,7 +544,7 @@ "type": "prometheus", "uid": "$ds" }, - "description": "Shows the number of active time series with new data points inserted during the last hour. High value may result in ingestion slowdown. \n\nSee more details here https://docs.victoriametrics.com/FAQ.html#what-is-an-active-time-series", + "description": "Shows the number of [active time series](https://docs.victoriametrics.com/faq/#what-is-an-active-time-series) with new data points inserted during the last hour. High value may result in ingestion slowdown.", "fieldConfig": { "defaults": { "color": { @@ -564,7 +571,6 @@ "y": 3 }, "id": 38, - "links": [], "maxDataPoints": 100, "options": { "colorMode": "value", @@ -578,18 +584,21 @@ "fields": "", "values": false }, + "showPercentChange": false, "text": {}, - "textMode": "auto" + "textMode": "auto", + "wideLayout": true }, - "pluginVersion": "9.2.7", + "pluginVersion": "10.4.2", "targets": [ { "datasource": { "type": "prometheus", "uid": "$ds" }, + "editorMode": "code", "exemplar": false, - "expr": "vm_cache_entries{job=~\"$job\", instance=~\"$instance\", type=\"storage/hour_metric_ids\"}", + "expr": "sum(vm_cache_entries{job=~\"$job\", instance=~\"$instance\", type=\"storage/hour_metric_ids\"})", "format": "time_series", "instant": true, "interval": "", @@ -633,7 +642,6 @@ "y": 3 }, "id": 81, - "links": [], "maxDataPoints": 100, "options": { "colorMode": "value", @@ -647,10 +655,12 @@ "fields": "", "values": false }, + "showPercentChange": false, "text": {}, - "textMode": "auto" + "textMode": "auto", + "wideLayout": true }, - "pluginVersion": "9.2.7", + "pluginVersion": "10.4.2", "targets": [ { "datasource": { @@ -703,7 +713,6 @@ "y": 3 }, "id": 82, - "links": [], "maxDataPoints": 100, "options": { "colorMode": "value", @@ -717,10 +726,12 @@ "fields": "", "values": false }, + "showPercentChange": false, "text": {}, - "textMode": "auto" + "textMode": "auto", + "wideLayout": true }, - "pluginVersion": "9.2.7", + "pluginVersion": "10.4.2", "targets": [ { "datasource": { @@ -729,7 +740,7 @@ }, "editorMode": "code", "exemplar": false, - "expr": "sum(vm_data_size_bytes{job=~\"$job\", instance=~\"$instance\"}) / sum(vm_rows{job=~\"$job\", instance=~\"$instance\"})", + "expr": "max(sum(vm_data_size_bytes{job=~\"$job\", instance=~\"$instance\"}) / sum(vm_rows{job=~\"$job\", instance=~\"$instance\"}))", "format": "time_series", "instant": true, "interval": "", @@ -773,7 +784,6 @@ "y": 3 }, "id": 78, - "links": [], "maxDataPoints": 100, "options": { "colorMode": "value", @@ -787,10 +797,12 @@ "fields": "", "values": false }, + "showPercentChange": false, "text": {}, - "textMode": "auto" + "textMode": "auto", + "wideLayout": true }, - "pluginVersion": "9.2.7", + "pluginVersion": "10.4.2", "targets": [ { "datasource": { @@ -847,6 +859,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -860,6 +873,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -903,7 +917,6 @@ "y": 6 }, "id": 106, - "links": [], "options": { "legend": { "calcs": [ @@ -928,16 +941,16 @@ "uid": "$ds" }, "editorMode": "code", - "expr": "sum(rate(vm_rows_inserted_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])) by (type) > 0", + "expr": "sum(rate(vm_rows_inserted_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])) by (type, instance) > 0", "format": "time_series", "hide": false, "intervalFactor": 1, - "legendFormat": "__auto", + "legendFormat": "{{instance}} - {{type}}", "range": true, "refId": "A" } ], - "title": "Datapoints ingestion rate ($instance)", + "title": "Datapoints ingestion rate", "type": "timeseries" }, { @@ -952,6 +965,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -965,6 +979,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -1008,7 +1023,6 @@ "y": 6 }, "id": 12, - "links": [], "options": { "legend": { "calcs": [ @@ -1035,16 +1049,16 @@ "uid": "$ds" }, "editorMode": "code", - "expr": "sum(rate(vm_http_requests_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])) by (path) > 0", + "expr": "sum(rate(vm_http_requests_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])) by (path, instance) > 0", "format": "time_series", "interval": "", "intervalFactor": 1, - "legendFormat": "{{path}}", + "legendFormat": "{{instance}} - {{path}}", "range": true, "refId": "A" } ], - "title": "Requests rate ($instance)", + "title": "Requests rate", "type": "timeseries" }, { @@ -1052,13 +1066,14 @@ "type": "prometheus", "uid": "$ds" }, - "description": "Shows the number of active time series with new data points inserted during the last hour. High value may result in ingestion slowdown. \n\nSee following link for details:", + "description": "Shows the number of [active time series](https://docs.victoriametrics.com/faq/#what-is-an-active-time-series) with new data points inserted during the last hour. High value may result in ingestion slowdown. \n\nSee following link for details:", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -1072,6 +1087,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -1119,7 +1135,7 @@ { "targetBlank": true, "title": "troubleshooting", - "url": "https://github.com/VictoriaMetrics/VictoriaMetrics/blob/master/README.md#troubleshooting" + "url": "https://docs.victoriametrics.com/troubleshooting" } ], "options": { @@ -1145,14 +1161,16 @@ "type": "prometheus", "uid": "$ds" }, + "editorMode": "code", "expr": "vm_cache_entries{job=~\"$job\", instance=~\"$instance\", type=\"storage/hour_metric_ids\"}", "format": "time_series", "intervalFactor": 1, - "legendFormat": "Active time series", + "legendFormat": "{{instance}}", + "range": true, "refId": "A" } ], - "title": "Active time series ($instance)", + "title": "Active time series", "type": "timeseries" }, { @@ -1167,6 +1185,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -1180,6 +1199,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -1223,7 +1243,6 @@ "y": 14 }, "id": 22, - "links": [], "options": { "legend": { "calcs": [ @@ -1250,15 +1269,15 @@ "uid": "$ds" }, "editorMode": "code", - "expr": "max(vm_request_duration_seconds{job=~\"$job\", instance=~\"$instance\", quantile=\"0.99\"}) by (path) > 0", + "expr": "max(vm_request_duration_seconds{job=~\"$job\", instance=~\"$instance\", quantile=\"0.99\"}) by (instance, path) > 0", "format": "time_series", "intervalFactor": 1, - "legendFormat": "__auto", + "legendFormat": "{{instance}} - {{path}}", "range": true, "refId": "A" } ], - "title": "Query duration 0.99 quantile ($instance)", + "title": "Query duration 0.99 quantile", "type": "timeseries" }, { @@ -1273,6 +1292,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -1286,6 +1306,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -1329,7 +1350,6 @@ "y": 22 }, "id": 35, - "links": [], "options": { "legend": { "calcs": [ @@ -1354,16 +1374,16 @@ }, "editorMode": "code", "exemplar": false, - "expr": "sum(rate(vm_http_request_errors_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])) by (path) > 0", + "expr": "sum(rate(vm_http_request_errors_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])) by (instance, path) > 0", "format": "time_series", "interval": "", "intervalFactor": 1, - "legendFormat": "__auto", + "legendFormat": "{{instance}} - {{path}}", "range": true, "refId": "A" } ], - "title": "Requests error rate ($instance)", + "title": "Requests error rate", "type": "timeseries" }, { @@ -1378,6 +1398,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -1391,6 +1412,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -1456,9 +1478,9 @@ "uid": "$ds" }, "editorMode": "code", - "expr": "sum(rate(vm_log_messages_total{job=~\"$job\", instance=~\"$instance\", level!=\"info\"}[$__rate_interval])) by (level, location) > 0", + "expr": "sum(rate(vm_log_messages_total{job=~\"$job\", instance=~\"$instance\", level!=\"info\"}[$__rate_interval])) by (instance, level, location) > 0", "interval": "5m", - "legendFormat": "{{level}}: {{location}}", + "legendFormat": "{{instance}} - {{level}}: {{location}}", "range": true, "refId": "A" } @@ -1492,6 +1514,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -1505,6 +1528,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -1528,8 +1552,7 @@ "mode": "absolute", "steps": [ { - "color": "green", - "value": null + "color": "green" }, { "color": "red", @@ -1537,7 +1560,8 @@ } ] }, - "unit": "percentunit" + "unit": "percentunit", + "unitScale": true }, "overrides": [] }, @@ -1583,7 +1607,7 @@ "refId": "A" } ], - "title": "RSS memory % usage ($instance)", + "title": "RSS memory % usage", "type": "timeseries" }, { @@ -1598,6 +1622,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -1611,6 +1636,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -1634,8 +1660,7 @@ "mode": "absolute", "steps": [ { - "color": "green", - "value": null + "color": "green" }, { "color": "red", @@ -1643,7 +1668,8 @@ } ] }, - "unit": "bytes" + "unit": "bytes", + "unitScale": true }, "overrides": [] }, @@ -1680,11 +1706,13 @@ "type": "prometheus", "uid": "$ds" }, - "expr": "sum(go_memstats_sys_bytes{job=~\"$job\", instance=~\"$instance\"}) + sum(vm_cache_size_bytes{job=~\"$job\", instance=~\"$instance\"})", + "editorMode": "code", + "expr": "sum(go_memstats_sys_bytes{job=~\"$job\", instance=~\"$instance\"}) by (instance) + sum(vm_cache_size_bytes{job=~\"$job\", instance=~\"$instance\"}) by (instance)", "format": "time_series", "hide": false, "intervalFactor": 1, - "legendFormat": "requested from system", + "legendFormat": "{{instance}} - requested from system", + "range": true, "refId": "A" }, { @@ -1692,11 +1720,13 @@ "type": "prometheus", "uid": "$ds" }, - "expr": "sum(go_memstats_heap_inuse_bytes{job=~\"$job\", instance=~\"$instance\"}) + sum(vm_cache_size_bytes{job=~\"$job\", instance=~\"$instance\"})", + "editorMode": "code", + "expr": "sum(go_memstats_heap_inuse_bytes{job=~\"$job\", instance=~\"$instance\"}) by (instance) + sum(vm_cache_size_bytes{job=~\"$job\", instance=~\"$instance\"}) by (instance)", "format": "time_series", "hide": false, "intervalFactor": 1, - "legendFormat": "heap inuse", + "legendFormat": "{{instance}} - heap inuse", + "range": true, "refId": "B" }, { @@ -1704,11 +1734,13 @@ "type": "prometheus", "uid": "$ds" }, - "expr": "sum(go_memstats_stack_inuse_bytes{job=~\"$job\", instance=~\"$instance\"})", + "editorMode": "code", + "expr": "sum(go_memstats_stack_inuse_bytes{job=~\"$job\", instance=~\"$instance\"}) by (instance)", "format": "time_series", "hide": false, "intervalFactor": 1, - "legendFormat": "stack inuse", + "legendFormat": "{{instance}} - stack inuse", + "range": true, "refId": "C" }, { @@ -1716,12 +1748,14 @@ "type": "prometheus", "uid": "$ds" }, - "expr": "sum(process_resident_memory_bytes{job=~\"$job\", instance=~\"$instance\"})", + "editorMode": "code", + "expr": "sum(process_resident_memory_bytes{job=~\"$job\", instance=~\"$instance\"}) by (instance)", "format": "time_series", "hide": false, "interval": "", "intervalFactor": 1, - "legendFormat": "resident", + "legendFormat": "{{instance}} - resident", + "range": true, "refId": "D" }, { @@ -1729,17 +1763,19 @@ "type": "prometheus", "uid": "$ds" }, + "editorMode": "code", "exemplar": false, - "expr": "sum(process_resident_memory_anon_bytes{job=~\"$job\", instance=~\"$instance\"})", + "expr": "sum(process_resident_memory_anon_bytes{job=~\"$job\", instance=~\"$instance\"}) by (instance)", "format": "time_series", "hide": false, "interval": "", "intervalFactor": 1, - "legendFormat": "resident anonymous", + "legendFormat": "{{instance}} - resident anonymous", + "range": true, "refId": "E" } ], - "title": "Memory usage ($instance)", + "title": "Memory usage", "type": "timeseries" }, { @@ -1754,6 +1790,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -1767,6 +1804,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -1790,8 +1828,7 @@ "mode": "absolute", "steps": [ { - "color": "green", - "value": null + "color": "green" }, { "color": "red", @@ -1799,7 +1836,8 @@ } ] }, - "unit": "percentunit" + "unit": "percentunit", + "unitScale": true }, "overrides": [] }, @@ -1845,7 +1883,7 @@ "refId": "A" } ], - "title": "RSS anonymous memory % usage ($instance)", + "title": "RSS anonymous memory % usage", "type": "timeseries" }, { @@ -1859,6 +1897,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -1872,6 +1911,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -1895,8 +1935,7 @@ "mode": "absolute", "steps": [ { - "color": "green", - "value": null + "color": "green" }, { "color": "red", @@ -1904,7 +1943,8 @@ } ] }, - "unit": "percentunit" + "unit": "percentunit", + "unitScale": true }, "overrides": [] }, @@ -1952,7 +1992,7 @@ "refId": "A" } ], - "title": "CPU % usage ($instance)", + "title": "CPU % usage", "type": "timeseries" }, { @@ -1967,6 +2007,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -1980,6 +2021,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -2004,8 +2046,7 @@ "mode": "absolute", "steps": [ { - "color": "green", - "value": null + "color": "green" }, { "color": "red", @@ -2013,7 +2054,8 @@ } ] }, - "unit": "percentunit" + "unit": "percentunit", + "unitScale": true }, "overrides": [ { @@ -2077,7 +2119,7 @@ "refId": "A" } ], - "title": "Open FDs ($instance)", + "title": "Open FDs", "type": "timeseries" }, { @@ -2085,13 +2127,14 @@ "type": "prometheus", "uid": "$ds" }, - "description": "", + "description": "CPU cores used by instance", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -2105,6 +2148,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -2128,8 +2172,7 @@ "mode": "absolute", "steps": [ { - "color": "green", - "value": null + "color": "green" }, { "color": "red", @@ -2137,7 +2180,8 @@ } ] }, - "unit": "short" + "unit": "short", + "unitScale": true }, "overrides": [ { @@ -2190,11 +2234,13 @@ "type": "prometheus", "uid": "$ds" }, + "editorMode": "code", "expr": "rate(process_cpu_seconds_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])", "format": "time_series", "interval": "", "intervalFactor": 1, - "legendFormat": "CPU cores used", + "legendFormat": "{{instance}}", + "range": true, "refId": "A" }, { @@ -2202,17 +2248,19 @@ "type": "prometheus", "uid": "$ds" }, + "editorMode": "code", "exemplar": false, - "expr": "process_cpu_cores_available{job=~\"$job\", instance=~\"$instance\"}", + "expr": "min(process_cpu_cores_available{job=~\"$job\", instance=~\"$instance\"})", "format": "time_series", "hide": false, "interval": "", "intervalFactor": 1, "legendFormat": "Limit", + "range": true, "refId": "B" } ], - "title": "CPU ($instance)", + "title": "CPU", "type": "timeseries" }, { @@ -2226,6 +2274,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -2239,6 +2288,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -2263,8 +2313,7 @@ "mode": "absolute", "steps": [ { - "color": "green", - "value": null + "color": "green" }, { "color": "red", @@ -2272,7 +2321,8 @@ } ] }, - "unit": "short" + "unit": "short", + "unitScale": true }, "overrides": [] }, @@ -2318,7 +2368,7 @@ "refId": "A" } ], - "title": "Goroutines ($instance)", + "title": "Goroutines", "type": "timeseries" }, { @@ -2333,6 +2383,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -2346,6 +2397,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -2368,8 +2420,7 @@ "mode": "absolute", "steps": [ { - "color": "green", - "value": null + "color": "green" }, { "color": "red", @@ -2377,13 +2428,14 @@ } ] }, - "unit": "bytes" + "unit": "bytes", + "unitScale": true }, "overrides": [ { "matcher": { - "id": "byName", - "options": "read" + "id": "byRegexp", + "options": "/.*read/" }, "properties": [ { @@ -2427,12 +2479,14 @@ "type": "prometheus", "uid": "$ds" }, - "expr": "sum(rate(process_io_storage_read_bytes_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]))", + "editorMode": "code", + "expr": "sum(rate(process_io_storage_read_bytes_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])) by (instance)", "format": "time_series", "hide": false, "interval": "", "intervalFactor": 1, - "legendFormat": "read", + "legendFormat": "{{instance}} - read", + "range": true, "refId": "A" }, { @@ -2440,16 +2494,18 @@ "type": "prometheus", "uid": "$ds" }, - "expr": "sum(rate(process_io_storage_written_bytes_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]))", + "editorMode": "code", + "expr": "sum(rate(process_io_storage_written_bytes_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])) by (instance)", "format": "time_series", "hide": false, "interval": "", "intervalFactor": 1, - "legendFormat": "write", + "legendFormat": "{{instance}} - write", + "range": true, "refId": "B" } ], - "title": "Disk writes/reads ($instance)", + "title": "Disk writes/reads", "type": "timeseries" }, { @@ -2463,6 +2519,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -2476,6 +2533,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -2500,8 +2558,7 @@ "mode": "absolute", "steps": [ { - "color": "green", - "value": null + "color": "green" }, { "color": "red", @@ -2509,7 +2566,8 @@ } ] }, - "unit": "short" + "unit": "short", + "unitScale": true }, "overrides": [] }, @@ -2555,7 +2613,7 @@ "refId": "A" } ], - "title": "Threads ($instance)", + "title": "Threads", "type": "timeseries" }, { @@ -2570,6 +2628,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -2583,6 +2642,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -2605,8 +2665,7 @@ "mode": "absolute", "steps": [ { - "color": "green", - "value": null + "color": "green" }, { "color": "red", @@ -2614,13 +2673,14 @@ } ] }, - "unit": "short" + "unit": "short", + "unitScale": true }, "overrides": [ { "matcher": { - "id": "byName", - "options": "read calls" + "id": "byRegexp", + "options": "/.*read.*/" }, "properties": [ { @@ -2665,12 +2725,12 @@ "uid": "$ds" }, "editorMode": "code", - "expr": "sum(rate(process_io_read_syscalls_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]))", + "expr": "sum(rate(process_io_read_syscalls_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])) by (instance)", "format": "time_series", "hide": false, "interval": "", "intervalFactor": 1, - "legendFormat": "read calls", + "legendFormat": "{{instance}} - read calls", "range": true, "refId": "A" }, @@ -2680,17 +2740,17 @@ "uid": "$ds" }, "editorMode": "code", - "expr": "sum(rate(process_io_write_syscalls_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]))", + "expr": "sum(rate(process_io_write_syscalls_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])) by (instance)", "format": "time_series", "hide": false, "interval": "", "intervalFactor": 1, - "legendFormat": "write calls", + "legendFormat": "{{instance}} - write calls", "range": true, "refId": "B" } ], - "title": "Disk write/read calls ($instance)", + "title": "Disk write/read calls", "type": "timeseries" }, { @@ -2705,6 +2765,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -2718,6 +2779,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -2741,8 +2803,7 @@ "mode": "absolute", "steps": [ { - "color": "green", - "value": null + "color": "green" }, { "color": "red", @@ -2750,7 +2811,8 @@ } ] }, - "unit": "short" + "unit": "short", + "unitScale": true }, "overrides": [] }, @@ -2797,7 +2859,7 @@ "refId": "A" } ], - "title": "TCP connections rate ($instance)", + "title": "TCP connections rate", "type": "timeseries" }, { @@ -2812,6 +2874,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -2825,6 +2888,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -2848,8 +2912,7 @@ "mode": "absolute", "steps": [ { - "color": "green", - "value": null + "color": "green" }, { "color": "red", @@ -2857,7 +2920,8 @@ } ] }, - "unit": "short" + "unit": "short", + "unitScale": true }, "overrides": [] }, @@ -2904,7 +2968,250 @@ "refId": "A" } ], - "title": "TCP connections ($instance)", + "title": "TCP connections", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "$ds" + }, + "description": "Shows network usage by VM:\n* Writes show traffic sent to clients\n* Reads show traffic received from clients", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "links": [], + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "decbits", + "unitScale": true + }, + "overrides": [ + { + "matcher": { + "id": "byRegexp", + "options": "/read.*/" + }, + "properties": [ + { + "id": "custom.transform", + "value": "negative-Y" + } + ] + } + ] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 79 + }, + "id": 127, + "links": [], + "options": { + "legend": { + "calcs": [ + "mean", + "lastNotNull", + "max" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true, + "sortBy": "Last *", + "sortDesc": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } + }, + "pluginVersion": "9.1.0", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "$ds" + }, + "editorMode": "code", + "expr": "sum(rate(vm_tcplistener_read_bytes_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])) by(name) * 8 > 0", + "format": "time_series", + "hide": false, + "intervalFactor": 1, + "legendFormat": "read via {{name}}", + "range": true, + "refId": "A" + }, + { + "datasource": { + "type": "prometheus", + "uid": "$ds" + }, + "editorMode": "code", + "expr": "sum(rate(vm_tcplistener_written_bytes_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])) by(name) * 8 > 0", + "format": "time_series", + "hide": false, + "intervalFactor": 1, + "legendFormat": "write via {{name}}", + "range": true, + "refId": "B" + } + ], + "title": "Network usage", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "$ds" + }, + "description": "Shows the percent of CPU spent on garbage collection.\n\nIf % is high, then CPU usage can be decreased by changing GOGC to higher values. Increasing GOGC value will increase memory usage, and decrease CPU usage.\n\nTry searching for keyword `GOGC` at https://docs.victoriametrics.com/troubleshooting/ ", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "decimals": 0, + "links": [], + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "percentunit", + "unitScale": true + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 79 + }, + "id": 125, + "links": [], + "options": { + "legend": { + "calcs": [ + "mean", + "lastNotNull", + "max" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "desc" + } + }, + "pluginVersion": "9.2.6", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "$ds" + }, + "editorMode": "code", + "expr": "max(\n rate(go_gc_cpu_seconds_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]) \n / rate(process_cpu_seconds_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])\n ) by(instance)", + "format": "time_series", + "interval": "", + "intervalFactor": 2, + "legendFormat": "__auto", + "range": true, + "refId": "A" + } + ], + "title": "CPU spent on GC", "type": "timeseries" } ], @@ -2939,13 +3246,14 @@ "type": "prometheus", "uid": "$ds" }, - "description": "Shows the rate and total number of new series created over last 24h.\n\nHigh churn rate tightly connected with database performance and may result in unexpected OOM's or slow queries. It is recommended to always keep an eye on this metric to avoid unexpected cardinality \"explosions\".\n\nThe higher churn rate is, the more resources required to handle it. Consider to keep the churn rate as low as possible.\n\nGood references to read:\n* https://www.robustperception.io/cardinality-is-key\n* https://www.robustperception.io/using-tsdb-analyze-to-investigate-churn-and-cardinality", + "description": "Shows the rate and total number of new series created over last 24h.\n\nHigh [churn rate](https://docs.victoriametrics.com/faq/#what-is-high-churn-rate) tightly connected with database performance and may result in unexpected OOM's or slow queries. It is recommended to always keep an eye on this metric to avoid unexpected [cardinality](https://docs.victoriametrics.com/keyconcepts/#cardinality) \"explosions\".\n\nThe higher churn rate is, the more resources required to handle it. Consider to keep the churn rate as low as possible.\n\nGood references to read:\n* https://www.robustperception.io/cardinality-is-key\n* https://www.robustperception.io/using-tsdb-analyze-to-investigate-churn-and-cardinality", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -2959,6 +3267,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -2990,7 +3299,8 @@ } ] }, - "unit": "short" + "unit": "short", + "unitScale": true }, "overrides": [] }, @@ -2998,7 +3308,7 @@ "h": 8, "w": 12, "x": 0, - "y": 8 + "y": 4 }, "id": 66, "options": { @@ -3026,9 +3336,11 @@ "type": "prometheus", "uid": "$ds" }, - "expr": "sum(rate(vm_new_timeseries_created_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]))", + "editorMode": "code", + "expr": "sum(rate(vm_new_timeseries_created_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])) by (instance)", "interval": "", - "legendFormat": "churn rate", + "legendFormat": "{{instance}} - churn rate", + "range": true, "refId": "A" }, { @@ -3036,13 +3348,15 @@ "type": "prometheus", "uid": "$ds" }, - "expr": "sum(increase(vm_new_timeseries_created_total{job=~\"$job\", instance=~\"$instance\"}[24h]))", + "editorMode": "code", + "expr": "sum(increase(vm_new_timeseries_created_total{job=~\"$job\", instance=~\"$instance\"}[24h])) by (instance)", "interval": "", - "legendFormat": "new series over 24h", + "legendFormat": "{{instance}} - new series over 24h", + "range": true, "refId": "B" } ], - "title": "Churn rate ($instance)", + "title": "Churn rate", "type": "timeseries" }, { @@ -3050,13 +3364,14 @@ "type": "prometheus", "uid": "$ds" }, - "description": "The percentage of slow inserts comparing to total insertion rate during the last 5 minutes. \n\nThe less value is better. If percentage remains high (>10%) during extended periods of time, then it is likely more RAM is needed for optimal handling of the current number of active time series. \n\nIn general, VictoriaMetrics requires ~1KB or RAM per active time series, so it should be easy calculating the required amounts of RAM for the current workload according to capacity planning docs. But the resulting number may be far from the real number because the required amounts of memory depends on many other factors such as the number of labels per time series and the length of label values. See also https://github.com/VictoriaMetrics/VictoriaMetrics/issues/3976#issuecomment-1476883183", + "description": "The percentage of slow inserts comparing to total insertion rate during the last 5 minutes. \n\nThe less value is better. If percentage remains high (>10%) during extended periods of time, then it is likely more RAM is needed for optimal handling of the current number of [active time series](https://docs.victoriametrics.com/faq/#what-is-an-active-time-series). \n\nIn general, VictoriaMetrics requires ~1KB or RAM per active time series, so it should be easy calculating the required amounts of RAM for the current workload according to capacity planning docs. But the resulting number may be far from the real number because the required amounts of memory depends on many other factors such as the number of labels per time series and the length of label values. See also [this issue](https://github.com/VictoriaMetrics/VictoriaMetrics/issues/3976#issuecomment-1476883183) for details.", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -3070,6 +3385,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -3102,7 +3418,8 @@ } ] }, - "unit": "percentunit" + "unit": "percentunit", + "unitScale": true }, "overrides": [] }, @@ -3110,7 +3427,7 @@ "h": 8, "w": 12, "x": 12, - "y": 8 + "y": 4 }, "id": 68, "links": [], @@ -3140,17 +3457,17 @@ "uid": "$ds" }, "editorMode": "code", - "expr": "max(\n rate(vm_slow_row_inserts_total{job=~\"$job\"}[$__rate_interval]) \n / rate(vm_rows_added_to_storage_total{job=~\"$job\"}[$__rate_interval])\n)", + "expr": "max(\n rate(vm_slow_row_inserts_total{job=~\"$job\"}[$__rate_interval]) \n / rate(vm_rows_added_to_storage_total{job=~\"$job\"}[$__rate_interval])\n) by (instance)", "format": "time_series", "hide": false, "interval": "", "intervalFactor": 1, - "legendFormat": "slow inserts percentage", + "legendFormat": "{{instance}}", "range": true, "refId": "A" } ], - "title": "Slow inserts ($instance)", + "title": "Slow inserts %", "type": "timeseries" }, { @@ -3165,6 +3482,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -3178,6 +3496,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -3209,7 +3528,8 @@ } ] }, - "unit": "short" + "unit": "short", + "unitScale": true }, "overrides": [] }, @@ -3217,7 +3537,7 @@ "h": 8, "w": 12, "x": 0, - "y": 16 + "y": 12 }, "id": 116, "links": [], @@ -3246,16 +3566,16 @@ }, "editorMode": "code", "exemplar": false, - "expr": "sum(increase(vm_assisted_merges_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])) by(type) > 0", + "expr": "sum(increase(vm_assisted_merges_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])) by(instance, type) > 0", "format": "time_series", "interval": "5m", "intervalFactor": 1, - "legendFormat": "__auto", + "legendFormat": "{{instance}} - {{type}}", "range": true, "refId": "A" } ], - "title": "Assisted merges ($instance)", + "title": "Assisted merges", "type": "timeseries" }, { @@ -3270,6 +3590,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -3283,6 +3604,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -3314,7 +3636,8 @@ } ] }, - "unit": "short" + "unit": "short", + "unitScale": true }, "overrides": [] }, @@ -3322,7 +3645,7 @@ "h": 8, "w": 12, "x": 12, - "y": 16 + "y": 12 }, "id": 60, "links": [], @@ -3351,15 +3674,17 @@ "type": "prometheus", "uid": "$ds" }, - "expr": "sum(rate(vm_slow_queries_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]))", + "editorMode": "code", + "expr": "sum(rate(vm_slow_queries_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])) by (instance)", "format": "time_series", "hide": false, "intervalFactor": 1, - "legendFormat": "slow queries rate", + "legendFormat": "{{instance}}", + "range": true, "refId": "A" } ], - "title": "Slow queries rate ($instance)", + "title": "Slow queries rate", "type": "timeseries" }, { @@ -3374,6 +3699,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -3387,6 +3713,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -3416,7 +3743,8 @@ } ] }, - "unit": "percentunit" + "unit": "percentunit", + "unitScale": true }, "overrides": [] }, @@ -3424,7 +3752,7 @@ "h": 9, "w": 12, "x": 0, - "y": 24 + "y": 20 }, "id": 90, "options": { @@ -3456,12 +3784,12 @@ "exemplar": false, "expr": "vm_cache_size_bytes{job=~\"$job\", instance=~\"$instance\"} / vm_cache_size_max_bytes{job=~\"$job\", instance=~\"$instance\"}", "interval": "", - "legendFormat": "{{type}}", + "legendFormat": "{{instance}} - {{type}}", "range": true, "refId": "A" } ], - "title": "Cache usage % by type ($instance)", + "title": "Cache usage % by type", "type": "timeseries" }, { @@ -3476,6 +3804,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -3489,6 +3818,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -3521,7 +3851,8 @@ } ] }, - "unit": "percentunit" + "unit": "percentunit", + "unitScale": true }, "overrides": [] }, @@ -3529,7 +3860,7 @@ "h": 9, "w": 12, "x": 12, - "y": 24 + "y": 20 }, "id": 118, "links": [], @@ -3565,12 +3896,12 @@ "hide": false, "interval": "", "intervalFactor": 1, - "legendFormat": "{{type}}", + "legendFormat": "{{instance}} - {{type}}", "range": true, "refId": "A" } ], - "title": "Cache miss ratio ($instance)", + "title": "Cache miss ratio", "type": "timeseries" }, { @@ -3578,6 +3909,7 @@ "type": "prometheus", "uid": "$ds" }, + "description": "Flags explicitly set to non-default values", "fieldConfig": { "defaults": { "color": { @@ -3585,7 +3917,9 @@ }, "custom": { "align": "auto", - "displayMode": "auto", + "cellOptions": { + "type": "auto" + }, "inspect": false }, "mappings": [], @@ -3600,9 +3934,22 @@ "value": 80 } ] - } + }, + "unitScale": true }, "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Time" + }, + "properties": [ + { + "id": "custom.hidden", + "value": true + } + ] + }, { "matcher": { "id": "byName", @@ -3618,7 +3965,7 @@ { "matcher": { "id": "byName", - "options": "Time" + "options": "job" }, "properties": [ { @@ -3633,26 +3980,22 @@ "h": 8, "w": 12, "x": 0, - "y": 33 + "y": 29 }, - "id": 120, + "id": 126, "options": { + "cellHeight": "sm", "footer": { + "countRows": false, "fields": "", "reducer": [ "sum" ], "show": false }, - "showHeader": true, - "sortBy": [ - { - "desc": true, - "displayName": "job" - } - ] + "showHeader": true }, - "pluginVersion": "9.1.0", + "pluginVersion": "10.3.1", "targets": [ { "datasource": { @@ -3670,29 +4013,6 @@ } ], "title": "Non-default flags", - "transformations": [ - { - "id": "groupBy", - "options": { - "fields": { - "instance": { - "aggregations": [] - }, - "job": { - "aggregations": [] - }, - "name": { - "aggregations": [], - "operation": "groupby" - }, - "value": { - "aggregations": [], - "operation": "groupby" - } - } - } - } - ], "type": "table" }, { @@ -3700,13 +4020,14 @@ "type": "prometheus", "uid": "$ds" }, - "description": "VictoriaMetrics limits the number of labels per each metric with `-maxLabelsPerTimeseries` command-line flag.\n\nThis prevents from ingesting metrics with too many labels. The value of `maxLabelsPerTimeseries` must be adjusted for your workload.\n\nWhen limit is exceeded (graph is > 0) - extra labels are dropped, which could result in unexpected identical time series.", + "description": "VictoriaMetrics limits the number of labels per each metric with `-maxLabelsPerTimeseries` command-line flag.\n\nThis prevents from ingesting metrics with too many labels. The value of `maxLabelsPerTimeseries` must be adjusted for your workload.\n\nWhen limit is exceeded (graph is > 0) - extra labels are dropped, which could result in unexpected identical time series. See more details about dropped labels in logs.", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -3720,6 +4041,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -3752,7 +4074,8 @@ } ] }, - "unit": "short" + "unit": "short", + "unitScale": true }, "overrides": [] }, @@ -3760,7 +4083,7 @@ "h": 8, "w": 12, "x": 12, - "y": 33 + "y": 29 }, "id": 74, "links": [], @@ -3788,16 +4111,17 @@ "uid": "$ds" }, "exemplar": false, - "expr": "sum(increase(vm_metrics_with_dropped_labels_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]))", + "expr": "sum(increase(vm_metrics_with_dropped_labels_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])) by (instance)", "format": "time_series", "hide": false, "interval": "", "intervalFactor": 1, - "legendFormat": "limit exceeded", + "legendFormat": "{{instance}} - limit exceeded", + "range": true, "refId": "A" } ], - "title": "Labels limit exceeded ($instance)", + "title": "Labels limit exceeded", "type": "timeseries" } ], @@ -3839,6 +4163,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -3852,6 +4177,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -3875,8 +4201,7 @@ "mode": "absolute", "steps": [ { - "color": "green", - "value": null + "color": "green" }, { "color": "red", @@ -3884,7 +4209,8 @@ } ] }, - "unit": "short" + "unit": "short", + "unitScale": true }, "overrides": [] }, @@ -3892,7 +4218,7 @@ "h": 8, "w": 12, "x": 0, - "y": 33 + "y": 5 }, "id": 10, "links": [], @@ -3922,16 +4248,16 @@ "uid": "$ds" }, "editorMode": "code", - "expr": "sum(rate(vm_rows_inserted_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])) by (type) > 0", + "expr": "sum(rate(vm_rows_inserted_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])) by (instance, type) > 0", "format": "time_series", "hide": false, "intervalFactor": 1, - "legendFormat": "{{type}}", + "legendFormat": "{{instance}} - {{type}}", "range": true, "refId": "A" } ], - "title": "Datapoints ingestion rate ($instance)", + "title": "Datapoints ingestion rate", "type": "timeseries" }, { @@ -3939,13 +4265,14 @@ "type": "prometheus", "uid": "$ds" }, - "description": "Shows the time needed to reach the 100% of disk capacity based on the following params:\n* free disk space;\n* row ingestion rate;\n* dedup rate;\n* compression.\n\nUse this panel for capacity planning in order to estimate the time remaining for running out of the disk space.\n\n", + "description": "Shows the approx time needed to reach 100% of disk capacity based on the following params:\n* free disk space;\n* row ingestion rate;\n* compression.\n\nNote: this panel doesn't account for deduplication process.", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -3959,6 +4286,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -3982,8 +4310,7 @@ "mode": "absolute", "steps": [ { - "color": "green", - "value": null + "color": "green" }, { "color": "red", @@ -3991,7 +4318,8 @@ } ] }, - "unit": "s" + "unit": "s", + "unitScale": true }, "overrides": [] }, @@ -3999,7 +4327,7 @@ "h": 8, "w": 12, "x": 12, - "y": 33 + "y": 5 }, "id": 73, "links": [], @@ -4029,7 +4357,7 @@ "uid": "$ds" }, "editorMode": "code", - "expr": "vm_free_disk_space_bytes{job=~\"$job\", instance=~\"$instance\"} \n/ ignoring(path) (\n (\n rate(vm_rows_added_to_storage_total{job=~\"$job\", instance=~\"$instance\"}[1d]) \n - ignoring(type) rate(vm_deduplicated_samples_total{job=~\"$job\", instance=~\"$instance\", type=\"merge\"}[1d])\n ) * scalar(\n sum(vm_data_size_bytes{job=~\"$job\", instance=~\"$instance\", type!~\"indexdb.*\"}) \n / sum(vm_rows{job=~\"$job\", instance=~\"$instance\", type!~\"indexdb.*\"})\n )\n )", + "expr": "vm_free_disk_space_bytes{job=~\"$job\", instance=~\"$instance\"} \n/ ignoring(path) (\n rate(vm_rows_added_to_storage_total{job=~\"$job\", instance=~\"$instance\"}[1d]) \n * scalar(\n sum(vm_data_size_bytes{job=~\"$job\", instance=~\"$instance\", type!~\"indexdb.*\"}) \n / sum(vm_rows{job=~\"$job\", instance=~\"$instance\", type!~\"indexdb.*\"})\n )\n )", "format": "time_series", "hide": false, "interval": "", @@ -4039,7 +4367,7 @@ "refId": "A" } ], - "title": "Storage full ETA ($instance)", + "title": "Storage full ETA", "type": "timeseries" }, { @@ -4054,6 +4382,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -4067,6 +4396,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -4090,8 +4420,7 @@ "mode": "absolute", "steps": [ { - "color": "green", - "value": null + "color": "green" }, { "color": "red", @@ -4099,7 +4428,8 @@ } ] }, - "unit": "bytes" + "unit": "bytes", + "unitScale": true }, "overrides": [] }, @@ -4107,7 +4437,7 @@ "h": 8, "w": 12, "x": 0, - "y": 41 + "y": 13 }, "id": 53, "links": [], @@ -4137,11 +4467,11 @@ "uid": "$ds" }, "editorMode": "code", - "expr": "sum(vm_data_size_bytes{job=~\"$job\", instance=~\"$instance\", type!~\"indexdb.*\"})", + "expr": "sum(vm_data_size_bytes{job=~\"$job\", instance=~\"$instance\", type!~\"indexdb.*\"}) by (instance)", "format": "time_series", "interval": "", "intervalFactor": 1, - "legendFormat": "Used (datapoints)", + "legendFormat": "{{instance}} - Used (datapoints)", "range": true, "refId": "A" }, @@ -4154,7 +4484,8 @@ "format": "time_series", "interval": "", "intervalFactor": 1, - "legendFormat": "Free", + "legendFormat": "{{instance}} - Free", + "range": true, "refId": "B" }, { @@ -4163,17 +4494,17 @@ "uid": "$ds" }, "editorMode": "code", - "expr": "sum(vm_data_size_bytes{job=~\"$job\", instance=~\"$instance\", type=~\"indexdb.*\"})", + "expr": "sum(vm_data_size_bytes{job=~\"$job\", instance=~\"$instance\", type=~\"indexdb.*\"}) by (instance)", "format": "time_series", "hide": false, "interval": "", "intervalFactor": 1, - "legendFormat": "Used (index)", + "legendFormat": "{{instance}} - Used (index)", "range": true, "refId": "C" } ], - "title": "Disk space usage - datapoints ($instance)", + "title": "Disk space usage - datapoints", "type": "timeseries" }, { @@ -4188,6 +4519,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -4201,6 +4533,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -4224,8 +4557,7 @@ "mode": "absolute", "steps": [ { - "color": "green", - "value": null + "color": "green" }, { "color": "red", @@ -4233,7 +4565,8 @@ } ] }, - "unit": "short" + "unit": "short", + "unitScale": true }, "overrides": [ { @@ -4258,7 +4591,7 @@ "h": 8, "w": 12, "x": 12, - "y": 41 + "y": 13 }, "id": 34, "links": [], @@ -4291,7 +4624,8 @@ "format": "time_series", "hide": false, "intervalFactor": 1, - "legendFormat": "pending datapoints", + "legendFormat": "{{instance}} - pending datapoints", + "range": true, "refId": "A" }, { @@ -4303,11 +4637,12 @@ "format": "time_series", "hide": false, "intervalFactor": 1, - "legendFormat": "pending index entries", + "legendFormat": "{{instance}} - pending index entries", + "range": true, "refId": "B" } ], - "title": "Pending datapoints ($instance)", + "title": "Pending datapoints", "type": "timeseries" }, { @@ -4322,6 +4657,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -4335,6 +4671,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -4358,8 +4695,7 @@ "mode": "absolute", "steps": [ { - "color": "green", - "value": null + "color": "green" }, { "color": "red", @@ -4367,7 +4703,8 @@ } ] }, - "unit": "short" + "unit": "short", + "unitScale": true }, "overrides": [ { @@ -4392,7 +4729,7 @@ "h": 8, "w": 12, "x": 0, - "y": 49 + "y": 21 }, "id": 30, "links": [], @@ -4421,11 +4758,13 @@ "type": "prometheus", "uid": "$ds" }, - "expr": "sum(vm_rows{job=~\"$job\", instance=~\"$instance\", type!~\"indexdb.*\"})", + "editorMode": "code", + "expr": "sum(vm_rows{job=~\"$job\", instance=~\"$instance\", type!~\"indexdb.*\"}) by (instance)", "format": "time_series", "interval": "", "intervalFactor": 1, - "legendFormat": "total datapoints", + "legendFormat": "{{instance}} - total datapoints", + "range": true, "refId": "A" }, { @@ -4434,16 +4773,16 @@ "uid": "$ds" }, "editorMode": "code", - "expr": "sum(vm_data_size_bytes{job=~\"$job\", instance=~\"$instance\"}) \n/ sum(vm_rows{job=~\"$job\", instance=~\"$instance\", type!~\"indexdb.*\"})", + "expr": "sum(vm_data_size_bytes{job=~\"$job\", instance=~\"$instance\"}) by (instance)\n/ sum(vm_rows{job=~\"$job\", instance=~\"$instance\", type!~\"indexdb.*\"}) by (instance)", "format": "time_series", "interval": "", "intervalFactor": 1, - "legendFormat": "bytes-per-datapoint", + "legendFormat": "{{instance}} - bytes-per-datapoint", "range": true, "refId": "B" } ], - "title": "Datapoints ($instance)", + "title": "Datapoints", "type": "timeseries" }, { @@ -4457,6 +4796,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -4470,6 +4810,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -4493,8 +4834,7 @@ "mode": "absolute", "steps": [ { - "color": "green", - "value": null + "color": "green" }, { "color": "red", @@ -4502,7 +4842,8 @@ } ] }, - "unit": "short" + "unit": "short", + "unitScale": true }, "overrides": [] }, @@ -4510,7 +4851,7 @@ "h": 8, "w": 12, "x": 12, - "y": 49 + "y": 21 }, "id": 36, "links": [], @@ -4539,14 +4880,16 @@ "type": "prometheus", "uid": "$ds" }, - "expr": "sum(vm_parts{job=~\"$job\", instance=~\"$instance\"}) by (type)", + "editorMode": "code", + "expr": "sum(vm_parts{job=~\"$job\", instance=~\"$instance\"}) by (instance, type)", "format": "time_series", "intervalFactor": 1, - "legendFormat": "{{type}}", + "legendFormat": "{{instance}} - {{type}}", + "range": true, "refId": "A" } ], - "title": "LSM parts ($instance)", + "title": "LSM parts", "type": "timeseries" }, { @@ -4561,6 +4904,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -4574,6 +4918,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -4597,8 +4942,7 @@ "mode": "absolute", "steps": [ { - "color": "green", - "value": null + "color": "green" }, { "color": "red", @@ -4606,7 +4950,8 @@ } ] }, - "unit": "short" + "unit": "short", + "unitScale": true }, "overrides": [] }, @@ -4614,7 +4959,7 @@ "h": 8, "w": 12, "x": 0, - "y": 57 + "y": 29 }, "id": 58, "links": [], @@ -4643,17 +4988,17 @@ }, "editorMode": "code", "exemplar": false, - "expr": "sum(increase(vm_rows_ignored_total{job=~\"$job\", instance=~\"$instance\"}[1h])) by (reason)", + "expr": "sum(increase(vm_rows_ignored_total{job=~\"$job\", instance=~\"$instance\"}[1h])) by (instance, reason)", "format": "time_series", "hide": false, "interval": "", "intervalFactor": 1, - "legendFormat": "{{reason}}", + "legendFormat": "{{instance}} - {{reason}}", "range": true, "refId": "A" } ], - "title": "Rows ignored for last 1h ($instance)", + "title": "Rows ignored for last 1h", "type": "timeseries" }, { @@ -4668,6 +5013,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -4681,6 +5027,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -4705,8 +5052,7 @@ "mode": "absolute", "steps": [ { - "color": "green", - "value": null + "color": "green" }, { "color": "red", @@ -4714,7 +5060,8 @@ } ] }, - "unit": "short" + "unit": "short", + "unitScale": true }, "overrides": [] }, @@ -4722,7 +5069,7 @@ "h": 8, "w": 12, "x": 12, - "y": 57 + "y": 29 }, "id": 62, "options": { @@ -4748,12 +5095,14 @@ "type": "prometheus", "uid": "$ds" }, - "expr": "sum(vm_active_merges{job=~\"$job\", instance=~\"$instance\"}) by(type)", - "legendFormat": "{{type}}", + "editorMode": "code", + "expr": "sum(vm_active_merges{job=~\"$job\", instance=~\"$instance\"}) by(instance, type)", + "legendFormat": "{{instance}} - {{type}}", + "range": true, "refId": "A" } ], - "title": "Active merges ($instance)", + "title": "Active merges", "type": "timeseries" }, { @@ -4768,6 +5117,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -4781,6 +5131,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -4805,8 +5156,7 @@ "mode": "absolute", "steps": [ { - "color": "green", - "value": null + "color": "green" }, { "color": "red", @@ -4814,7 +5164,8 @@ } ] }, - "unit": "short" + "unit": "short", + "unitScale": true }, "overrides": [ { @@ -4838,7 +5189,7 @@ "h": 8, "w": 12, "x": 0, - "y": 65 + "y": 37 }, "id": 59, "links": [], @@ -4869,7 +5220,7 @@ "format": "time_series", "interval": "", "intervalFactor": 1, - "legendFormat": "max", + "legendFormat": "{{instance}} - max", "range": true, "refId": "A" }, @@ -4878,14 +5229,16 @@ "type": "prometheus", "uid": "$ds" }, - "expr": "sum(vm_concurrent_insert_current{job=~\"$job\", instance=~\"$instance\"})", + "editorMode": "code", + "expr": "sum(vm_concurrent_insert_current{job=~\"$job\", instance=~\"$instance\"}) by (instance)", "format": "time_series", "intervalFactor": 1, - "legendFormat": "current", + "legendFormat": "{{instance}} - current", + "range": true, "refId": "B" } ], - "title": "Concurrent flushes on disk ($instance)", + "title": "Concurrent flushes on disk", "type": "timeseries" }, { @@ -4900,6 +5253,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -4913,6 +5267,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -4937,8 +5292,7 @@ "mode": "absolute", "steps": [ { - "color": "green", - "value": null + "color": "green" }, { "color": "red", @@ -4946,7 +5300,8 @@ } ] }, - "unit": "short" + "unit": "short", + "unitScale": true }, "overrides": [] }, @@ -4954,7 +5309,7 @@ "h": 8, "w": 12, "x": 12, - "y": 65 + "y": 37 }, "id": 64, "options": { @@ -4982,12 +5337,14 @@ "type": "prometheus", "uid": "$ds" }, - "expr": "sum(rate(vm_rows_merged_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])) by(type)", - "legendFormat": "{{type}}", + "editorMode": "code", + "expr": "sum(rate(vm_rows_merged_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])) by(instance, type)", + "legendFormat": "{{instance}} - {{type}}", + "range": true, "refId": "A" } ], - "title": "Merge speed ($instance)", + "title": "Merge speed", "type": "timeseries" }, { @@ -5002,6 +5359,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -5015,6 +5373,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -5039,8 +5398,7 @@ "mode": "absolute", "steps": [ { - "color": "green", - "value": null + "color": "green" }, { "color": "red", @@ -5048,7 +5406,8 @@ } ] }, - "unit": "short" + "unit": "short", + "unitScale": true }, "overrides": [] }, @@ -5056,7 +5415,7 @@ "h": 8, "w": 12, "x": 0, - "y": 73 + "y": 45 }, "id": 99, "links": [], @@ -5095,7 +5454,7 @@ "refId": "A" } ], - "title": "Series read per query ($instance)", + "title": "Series read per query", "type": "timeseries" }, { @@ -5103,13 +5462,14 @@ "type": "prometheus", "uid": "$ds" }, - "description": "99th percentile of number of raw samples read per queried series.", + "description": "99th percentile of number of [data samples](https://docs.victoriametrics.com/keyconcepts/#raw-samples) read per queried series.", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -5123,6 +5483,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -5147,8 +5508,7 @@ "mode": "absolute", "steps": [ { - "color": "green", - "value": null + "color": "green" }, { "color": "red", @@ -5156,7 +5516,8 @@ } ] }, - "unit": "short" + "unit": "short", + "unitScale": true }, "overrides": [] }, @@ -5164,7 +5525,7 @@ "h": 8, "w": 12, "x": 12, - "y": 73 + "y": 45 }, "id": 103, "links": [], @@ -5203,7 +5564,7 @@ "refId": "A" } ], - "title": "Datapoints read per series ($instance)", + "title": "Datapoints read per series", "type": "timeseries" }, { @@ -5211,13 +5572,14 @@ "type": "prometheus", "uid": "$ds" }, - "description": "99th percentile of number of raw datapoints read per query.", + "description": "99th percentile of number of [data samples](https://docs.victoriametrics.com/keyconcepts/#raw-samples) read per query.", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -5231,6 +5593,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -5255,8 +5618,7 @@ "mode": "absolute", "steps": [ { - "color": "green", - "value": null + "color": "green" }, { "color": "red", @@ -5264,7 +5626,8 @@ } ] }, - "unit": "short" + "unit": "short", + "unitScale": true }, "overrides": [] }, @@ -5272,7 +5635,7 @@ "h": 8, "w": 12, "x": 0, - "y": 81 + "y": 53 }, "id": 122, "links": [], @@ -5311,7 +5674,7 @@ "refId": "A" } ], - "title": "Datapoints read per query ($instance)", + "title": "Datapoints read per query", "type": "timeseries" }, { @@ -5319,13 +5682,14 @@ "type": "prometheus", "uid": "$ds" }, - "description": "99th percentile of number of raw samples scanner per query.\n\nThis number can exceed number of RowsReadPerQuery if `step` query arg passed to [/api/v1/query_range](https://prometheus.io/docs/prometheus/latest/querying/api/#range-queries) is smaller than the lookbehind window set in square brackets of [rollup function](https://docs.victoriametrics.com/MetricsQL.html#rollup-functions). For example, if `increase(some_metric[1h])` is executed with the `step=5m`, then the same raw samples on a hour time range are scanned `1h/5m=12` times. See [this article](https://valyala.medium.com/how-to-optimize-promql-and-metricsql-queries-85a1b75bf986) for details.", + "description": "99th percentile of number of [data samples](https://docs.victoriametrics.com/keyconcepts/#raw-samples) scanner per query.\n\nThis number can exceed number of RowsReadPerQuery if `step` query arg passed to [/api/v1/query_range](https://prometheus.io/docs/prometheus/latest/querying/api/#range-queries) is smaller than the lookbehind window set in square brackets of [rollup function](https://docs.victoriametrics.com/metricsql/#rollup-functions). For example, if `increase(some_metric[1h])` is executed with the `step=5m`, then the same [data samples](https://docs.victoriametrics.com/keyconcepts/#raw-samples) on a hour time range are scanned `1h/5m=12` times. See [this article](https://valyala.medium.com/how-to-optimize-promql-and-metricsql-queries-85a1b75bf986) for details.", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -5339,6 +5703,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -5363,8 +5728,7 @@ "mode": "absolute", "steps": [ { - "color": "green", - "value": null + "color": "green" }, { "color": "red", @@ -5372,7 +5736,8 @@ } ] }, - "unit": "short" + "unit": "short", + "unitScale": true }, "overrides": [] }, @@ -5380,7 +5745,7 @@ "h": 8, "w": 12, "x": 12, - "y": 81 + "y": 53 }, "id": 105, "links": [], @@ -5419,7 +5784,7 @@ "refId": "A" } ], - "title": "Datapoints scanned per query ($instance)", + "title": "Datapoints scanned per query", "type": "timeseries" } ], @@ -5436,9 +5801,8 @@ "type": "row" } ], - "refresh": false, - "schemaVersion": 37, - "style": "dark", + "refresh": "", + "schemaVersion": 39, "tags": [ "victoriametrics", "vmsingle" @@ -5449,7 +5813,7 @@ "current": { "selected": false, "text": "VictoriaMetrics", - "value": "VictoriaMetrics" + "value": "P4169E866C3094E38" }, "hide": 0, "includeAll": false, @@ -5505,7 +5869,7 @@ "refId": "VictoriaMetrics-version-Variable-Query" }, "refresh": 1, - "regex": "/.*-tags-(v\\d+\\.\\d+\\.\\d+)/", + "regex": "/.*-(?:tags|heads)-(.*)-(?:0|dirty)-.*/", "skipUrlSync": false, "sort": 2, "tagValuesQuery": "", @@ -5514,6 +5878,7 @@ "useTags": false }, { + "allValue": ".*", "current": {}, "datasource": { "type": "prometheus", @@ -5521,8 +5886,8 @@ }, "definition": "label_values(vm_app_version{job=~\"$job\"}, instance)", "hide": 0, - "includeAll": false, - "multi": false, + "includeAll": true, + "multi": true, "name": "instance", "options": [], "query": { @@ -5552,7 +5917,7 @@ ] }, "time": { - "from": "now-30m", + "from": "now-3h", "to": "now" }, "timepicker": { @@ -5580,8 +5945,8 @@ ] }, "timezone": "", - "title": "VictoriaMetrics", + "title": "VictoriaMetrics - single-node", "uid": "wNf0q_kZk", "version": 1, "weekStart": "" -} +} \ No newline at end of file diff --git a/dashboards/victoria-metrics/vmagent.json b/dashboards/victoria-metrics/vmagent.json index adc0da01..cd26420f 100644 --- a/dashboards/victoria-metrics/vmagent.json +++ b/dashboards/victoria-metrics/vmagent.json @@ -6,7 +6,7 @@ "type": "grafana", "id": "grafana", "name": "Grafana", - "version": "9.2.7" + "version": "10.4.2" }, { "type": "datasource", @@ -65,7 +65,7 @@ "uid": "$ds" }, "enable": true, - "expr": "sum(vm_app_version{job=~\"$job\", instance=~\"$instance\"}) by(short_version) unless (sum(vm_app_version{job=~\"$job\", instance=~\"$instance\"} offset 20m) by(short_version))", + "expr": "sum(vm_app_version{job=~\"$job\", instance=~\"$instance\"}) by(short_version) unless (sum(vm_app_version{job=~\"$job\", instance=~\"$instance\"} offset $__interval) by(short_version))", "hide": true, "iconColor": "dark-blue", "name": "version", @@ -78,15 +78,14 @@ "uid": "$ds" }, "enable": true, - "expr": "sum(changes(vm_app_start_timestamp{job=~\"$job\", instance=~\"$instance\"})) by(job, instance)", - "hide": true, + "expr": "sum(changes(vm_app_start_timestamp{job=~\"$job\", instance=~\"$instance\"}[$__interval])) by(job, instance)", "iconColor": "dark-yellow", "name": "restarts", "textFormat": "{{job}}:{{instance}} restarted" } ] }, - "description": "Overview for VictoriaMetrics vmagent v1.80.0 or higher", + "description": "Overview for VictoriaMetrics vmagent v1.102.0 or higher", "editable": true, "fiscalYearStartMonth": 0, "graphTooltip": 1, @@ -99,7 +98,7 @@ "title": "vmagent wiki", "tooltip": "", "type": "link", - "url": "https://docs.victoriametrics.com/vmagent.html" + "url": "https://docs.victoriametrics.com/vmagent/" }, { "icon": "external link", @@ -138,7 +137,7 @@ "type": "prometheus", "uid": "$ds" }, - "description": "Shows the rate of samples scraped from configured targets.", + "description": "Shows the rate of [samples](https://docs.victoriametrics.com/keyconcepts/#raw-samples) scraped from configured targets.", "fieldConfig": { "defaults": { "mappings": [], @@ -164,7 +163,7 @@ "links": [ { "title": "Troubleshooting", - "url": "https://docs.victoriametrics.com/vmagent.html#troubleshooting" + "url": "https://docs.victoriametrics.com/vmagent/#troubleshooting" } ], "options": { @@ -179,10 +178,12 @@ "fields": "", "values": false }, + "showPercentChange": false, "text": {}, - "textMode": "auto" + "textMode": "auto", + "wideLayout": true }, - "pluginVersion": "9.2.7", + "pluginVersion": "10.4.2", "targets": [ { "datasource": { @@ -205,7 +206,7 @@ "type": "prometheus", "uid": "$ds" }, - "description": "Shows the rate of ingested samples", + "description": "Shows the rate of ingested [samples](https://docs.victoriametrics.com/keyconcepts/#raw-samples)", "fieldConfig": { "defaults": { "mappings": [], @@ -231,7 +232,7 @@ "links": [ { "title": "Troubleshooting", - "url": "https://docs.victoriametrics.com/vmagent.html#troubleshooting" + "url": "https://docs.victoriametrics.com/vmagent/#troubleshooting" } ], "options": { @@ -246,10 +247,12 @@ "fields": "", "values": false }, + "showPercentChange": false, "text": {}, - "textMode": "auto" + "textMode": "auto", + "wideLayout": true }, - "pluginVersion": "9.2.7", + "pluginVersion": "10.4.2", "targets": [ { "datasource": { @@ -272,9 +275,10 @@ "type": "prometheus", "uid": "$ds" }, - "description": "Shows total number of all configured scrape targets in state \"up\".\n\nSee `http://vmagent-host:8429/targets` to get list of all targets. \n", + "description": "Shows the number of targets scraped per second.", "fieldConfig": { "defaults": { + "decimals": 1, "mappings": [], "thresholds": { "mode": "absolute", @@ -294,10 +298,10 @@ "x": 8, "y": 1 }, - "id": 9, + "id": 134, "options": { "colorMode": "value", - "graphMode": "area", + "graphMode": "none", "justifyMode": "auto", "orientation": "auto", "reduceOptions": { @@ -307,23 +311,27 @@ "fields": "", "values": false }, + "showPercentChange": false, "text": {}, - "textMode": "auto" + "textMode": "auto", + "wideLayout": true }, - "pluginVersion": "9.2.7", + "pluginVersion": "10.4.2", "targets": [ { "datasource": { "type": "prometheus", "uid": "$ds" }, - "expr": "sum(vm_promscrape_targets{job=~\"$job\", instance=~\"$instance\", status=\"up\"})", + "editorMode": "code", + "expr": "sum(rate(vm_promscrape_scrapes_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])) ", "interval": "", - "legendFormat": "up", + "legendFormat": "__auto", + "range": true, "refId": "A" } ], - "title": "Scrape targets up", + "title": "Targets scraped/s", "type": "stat" }, { @@ -331,7 +339,7 @@ "type": "prometheus", "uid": "$ds" }, - "description": "Shows total number of all configured scrape targets in state \"down\".\n\nSee `http://vmagent-host:8429/targets` to get list of all targets. \n", + "description": "Shows total number of all configured scrape targets in state `up` or `down`.\n\nSee `http://vmagent-host:8429/targets` to get list of all targets. \n", "fieldConfig": { "defaults": { "mappings": [], @@ -341,15 +349,36 @@ { "color": "green", "value": null - }, - { - "color": "red", - "value": 1 } ] } }, - "overrides": [] + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "down" + }, + "properties": [ + { + "id": "thresholds", + "value": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 1 + } + ] + } + } + ] + } + ] }, "gridPos": { "h": 3, @@ -361,7 +390,7 @@ "links": [ { "title": "Troubleshooting", - "url": "https://docs.victoriametrics.com/vmagent.html#troubleshooting" + "url": "https://docs.victoriametrics.com/vmagent/#troubleshooting" } ], "options": { @@ -376,23 +405,40 @@ "fields": "", "values": false }, + "showPercentChange": false, "text": {}, - "textMode": "auto" + "textMode": "auto", + "wideLayout": true }, - "pluginVersion": "9.2.7", + "pluginVersion": "10.4.2", "targets": [ { "datasource": { "type": "prometheus", "uid": "$ds" }, - "expr": "sum(vm_promscrape_targets{job=~\"$job\", instance=~\"$instance\", status=\"down\"})", + "editorMode": "code", + "expr": "sum(vm_promscrape_targets{job=~\"$job\", instance=~\"$instance\", status=\"up\"})", "interval": "", "legendFormat": "up", + "range": true, "refId": "A" + }, + { + "datasource": { + "type": "prometheus", + "uid": "$ds" + }, + "editorMode": "code", + "expr": "sum(vm_promscrape_targets{job=~\"$job\", instance=~\"$instance\", status=\"down\"})", + "hide": false, + "interval": "", + "legendFormat": "down", + "range": true, + "refId": "B" } ], - "title": "Scrape targets down", + "title": "Scrape targets", "type": "stat" }, { @@ -433,7 +479,7 @@ { "targetBlank": true, "title": "Troubleshooting", - "url": "https://docs.victoriametrics.com/vmagent.html#troubleshooting" + "url": "https://docs.victoriametrics.com/vmagent/#troubleshooting" } ], "options": { @@ -448,10 +494,12 @@ "fields": "", "values": false }, + "showPercentChange": false, "text": {}, - "textMode": "auto" + "textMode": "auto", + "wideLayout": true }, - "pluginVersion": "9.2.7", + "pluginVersion": "10.4.2", "targets": [ { "datasource": { @@ -512,10 +560,12 @@ "fields": "", "values": false }, + "showPercentChange": false, "text": {}, - "textMode": "auto" + "textMode": "auto", + "wideLayout": true }, - "pluginVersion": "9.2.7", + "pluginVersion": "10.4.2", "targets": [ { "datasource": { @@ -543,7 +593,9 @@ }, "custom": { "align": "auto", - "displayMode": "auto", + "cellOptions": { + "type": "auto" + }, "inspect": false, "minWidth": 50 }, @@ -597,7 +649,9 @@ }, "id": 101, "options": { + "cellHeight": "sm", "footer": { + "countRows": false, "fields": "", "reducer": [ "sum" @@ -606,7 +660,7 @@ }, "showHeader": true }, - "pluginVersion": "9.2.7", + "pluginVersion": "10.4.2", "targets": [ { "datasource": { @@ -635,6 +689,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -648,6 +703,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "stepAfter", "lineWidth": 1, "pointSize": 5, @@ -758,13 +814,14 @@ "type": "prometheus", "uid": "$ds" }, - "description": "Shows in/out samples rate including push and pull models. \n\nThe out-rate could be different to in-rate because of replication or additional timeseries added by vmagent for every scraped target.\n\nClick on the line and choose Drilldown to show CPU usage per instance\n", + "description": "Shows in/out [samples](https://docs.victoriametrics.com/keyconcepts/#raw-samples) rate including push and pull models. \n\nThe out-rate could be different to in-rate because of replication or additional timeseries added by vmagent for every scraped target.\n\nClick on the line and choose Drilldown to show CPU usage per instance\n", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -778,6 +835,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -899,6 +957,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -912,6 +971,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -964,7 +1024,7 @@ "links": [ { "title": "Troubleshooting", - "url": "https://docs.victoriametrics.com/vmagent.html#troubleshooting" + "url": "https://docs.victoriametrics.com/vmagent/#troubleshooting" } ], "options": { @@ -1016,6 +1076,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -1029,6 +1090,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -1072,7 +1134,6 @@ "y": 18 }, "id": 107, - "links": [], "options": { "legend": { "calcs": [ @@ -1118,13 +1179,14 @@ "type": "prometheus", "uid": "$ds" }, - "description": "Shows rate of dropped samples from persistent queue. VMagent drops samples from queue if in-memory and on-disk queues are full and it is unable to flush them to remote storage.\nThe max size of on-disk queue is configured by `-remoteWrite.maxDiskUsagePerURL` flag.", + "description": "Shows rate of dropped [samples](https://docs.victoriametrics.com/keyconcepts/#raw-samples) from persistent queue. vmagent drops samples from queue if in-memory and on-disk queues are full and it is unable to flush them to remote storage.\nThe max size of on-disk queue is configured by `-remoteWrite.maxDiskUsagePerURL` flag.", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -1138,6 +1200,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -1185,7 +1248,7 @@ { "targetBlank": true, "title": "Troubleshooting", - "url": "https://docs.victoriametrics.com/vmagent.html#troubleshooting" + "url": "https://docs.victoriametrics.com/vmagent/#troubleshooting" } ], "options": { @@ -1234,6 +1297,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -1247,6 +1311,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -1290,7 +1355,6 @@ "y": 26 }, "id": 15, - "links": [], "options": { "legend": { "calcs": [ @@ -1337,6 +1401,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -1350,6 +1415,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -1397,7 +1463,7 @@ { "targetBlank": true, "title": "Troubleshooting", - "url": "https://docs.victoriametrics.com/vmagent.html#troubleshooting" + "url": "https://docs.victoriametrics.com/vmagent/#troubleshooting" } ], "options": { @@ -1508,6 +1574,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -1521,6 +1588,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -1569,7 +1637,6 @@ "y": 11 }, "id": 109, - "links": [], "options": { "legend": { "calcs": [ @@ -1621,6 +1688,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -1634,6 +1702,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -1682,7 +1751,6 @@ "y": 11 }, "id": 111, - "links": [], "options": { "legend": { "calcs": [ @@ -1732,6 +1800,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -1745,6 +1814,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -1805,7 +1875,6 @@ "y": 19 }, "id": 81, - "links": [], "options": { "legend": { "calcs": [ @@ -1872,6 +1941,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -1885,6 +1955,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -1999,6 +2070,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -2012,6 +2084,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -2055,7 +2128,6 @@ "y": 27 }, "id": 83, - "links": [], "options": { "legend": { "calcs": [ @@ -2103,6 +2175,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -2116,6 +2189,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -2159,7 +2233,6 @@ "y": 27 }, "id": 39, - "links": [], "options": { "legend": { "calcs": [ @@ -2201,12 +2274,14 @@ "type": "prometheus", "uid": "$ds" }, + "description": "Shows the percent of CPU spent on garbage collection.\n\nIf % is high, then CPU usage can be decreased by changing GOGC to higher values. Increasing GOGC value will increase memory usage, and decrease CPU usage.\n\nTry searching for keyword `GOGC` at https://docs.victoriametrics.com/troubleshooting/ ", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -2220,6 +2295,112 @@ "tooltip": false, "viz": false }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "decimals": 0, + "links": [], + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "percentunit" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 35 + }, + "id": 135, + "options": { + "legend": { + "calcs": [ + "mean", + "lastNotNull", + "max" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "desc" + } + }, + "pluginVersion": "9.2.6", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "$ds" + }, + "editorMode": "code", + "expr": "max(\n rate(go_gc_cpu_seconds_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]) \n / rate(process_cpu_seconds_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])\n ) by(job)", + "format": "time_series", + "interval": "", + "intervalFactor": 2, + "legendFormat": "__auto", + "range": true, + "refId": "A" + } + ], + "title": "CPU spent on GC ($instance)", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "$ds" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -2263,7 +2444,6 @@ "y": 35 }, "id": 41, - "links": [], "options": { "legend": { "calcs": [ @@ -2331,13 +2511,14 @@ "type": "prometheus", "uid": "$ds" }, - "description": "Shows top 5 job by the number of new series registered by vmagent over the 5min range. These jobs generate the most of the churn rate.", + "description": "Shows top 10 jobs by the number of new series registered by vmagent over the 5min range. These jobs generate the most of the churn rate.", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -2351,6 +2532,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -2388,7 +2570,7 @@ "h": 8, "w": 12, "x": 0, - "y": 4 + "y": 12 }, "id": 92, "options": { @@ -2418,14 +2600,14 @@ }, "editorMode": "code", "exemplar": false, - "expr": "topk_max(5, sum(sum_over_time(scrape_series_added[5m])) by (job)) > 0", + "expr": "topk_max(10, sum(sum_over_time(scrape_series_added[5m])) by (job)) > 0", "interval": "", "legendFormat": "{{ job }}", "range": true, "refId": "A" } ], - "title": "Top 5 jobs by unique samples", + "title": "Top 10 jobs by unique samples", "type": "timeseries" }, { @@ -2433,13 +2615,14 @@ "type": "prometheus", "uid": "$ds" }, - "description": "Shows top 5 instances by the number of new series registered by vmagent over the 5min range. These instances generate the most of the churn rate.", + "description": "Shows top 10 instances by the number of new series registered by vmagent over the 5min range. These instances generate the most of the churn rate.", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -2453,6 +2636,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -2490,7 +2674,7 @@ "h": 8, "w": 12, "x": 12, - "y": 4 + "y": 12 }, "id": 95, "options": { @@ -2527,7 +2711,7 @@ "refId": "A" } ], - "title": "Top 5 instances by unique samples", + "title": "Top 10 instances by unique samples", "type": "timeseries" }, { @@ -2542,6 +2726,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -2556,6 +2741,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -2595,7 +2781,7 @@ "h": 8, "w": 12, "x": 0, - "y": 12 + "y": 20 }, "id": 98, "options": { @@ -2647,6 +2833,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -2661,6 +2848,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -2700,7 +2888,7 @@ "h": 8, "w": 12, "x": 12, - "y": 12 + "y": 20 }, "id": 99, "options": { @@ -2804,10 +2992,9 @@ "h": 8, "w": 12, "x": 0, - "y": 20 + "y": 28 }, "id": 79, - "links": [], "options": { "legend": { "calcs": [ @@ -2850,7 +3037,7 @@ "type": "prometheus", "uid": "$ds" }, - "description": "Shows the rate of dropped samples due to relabeling. \nMetric tracks drops for `-remoteWrite.relabelConfig` configuration only.", + "description": "Shows the rate of dropped [samples](https://docs.victoriametrics.com/keyconcepts/#raw-samples) due to relabeling. \nMetric tracks drops for `-remoteWrite.relabelConfig` configuration only.", "fieldConfig": { "defaults": { "color": { @@ -2909,14 +3096,14 @@ "h": 8, "w": 12, "x": 12, - "y": 20 + "y": 28 }, "id": 18, "links": [ { "targetBlank": true, "title": "Relabeling", - "url": "https://docs.victoriametrics.com/vmagent.html#relabeling" + "url": "https://docs.victoriametrics.com/vmagent/#relabeling" } ], "options": { @@ -3019,10 +3206,9 @@ "h": 8, "w": 12, "x": 0, - "y": 28 + "y": 36 }, "id": 127, - "links": [], "options": { "legend": { "calcs": [ @@ -3122,7 +3308,7 @@ "h": 8, "w": 12, "x": 12, - "y": 28 + "y": 36 }, "id": 50, "options": { @@ -3172,7 +3358,9 @@ }, "custom": { "align": "auto", - "displayMode": "auto", + "cellOptions": { + "type": "auto" + }, "inspect": false }, "mappings": [], @@ -3220,7 +3408,7 @@ "h": 7, "w": 24, "x": 0, - "y": 36 + "y": 44 }, "id": 129, "options": { @@ -3321,6 +3509,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -3334,6 +3523,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -3357,7 +3547,8 @@ "mode": "absolute", "steps": [ { - "color": "green" + "color": "green", + "value": null }, { "color": "red", @@ -3373,7 +3564,7 @@ "h": 7, "w": 12, "x": 0, - "y": 45 + "y": 37 }, "id": 48, "options": { @@ -3425,6 +3616,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -3438,6 +3630,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -3461,7 +3654,8 @@ "mode": "absolute", "steps": [ { - "color": "green" + "color": "green", + "value": null }, { "color": "red", @@ -3477,7 +3671,7 @@ "h": 7, "w": 12, "x": 12, - "y": 45 + "y": 37 }, "id": 76, "options": { @@ -3527,6 +3721,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -3540,6 +3735,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -3563,7 +3759,8 @@ "mode": "absolute", "steps": [ { - "color": "green" + "color": "green", + "value": null }, { "color": "red", @@ -3579,7 +3776,7 @@ "h": 7, "w": 12, "x": 0, - "y": 45 + "y": 44 }, "id": 132, "options": { @@ -3631,6 +3828,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -3644,6 +3842,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -3667,7 +3866,8 @@ "mode": "absolute", "steps": [ { - "color": "green" + "color": "green", + "value": null }, { "color": "red", @@ -3683,7 +3883,7 @@ "h": 7, "w": 12, "x": 12, - "y": 45 + "y": 44 }, "id": 133, "options": { @@ -3734,6 +3934,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -3747,6 +3948,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -3770,7 +3972,8 @@ "mode": "absolute", "steps": [ { - "color": "green" + "color": "green", + "value": null }, { "color": "red", @@ -3786,7 +3989,7 @@ "h": 8, "w": 12, "x": 0, - "y": 52 + "y": 51 }, "id": 20, "options": { @@ -3836,6 +4039,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -3849,6 +4053,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -3872,7 +4077,8 @@ "mode": "absolute", "steps": [ { - "color": "green" + "color": "green", + "value": null }, { "color": "red", @@ -3888,7 +4094,7 @@ "h": 8, "w": 12, "x": 12, - "y": 52 + "y": 51 }, "id": 126, "options": { @@ -3937,6 +4143,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -3950,6 +4157,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -3973,7 +4181,8 @@ "mode": "absolute", "steps": [ { - "color": "green" + "color": "green", + "value": null }, { "color": "red", @@ -3989,7 +4198,7 @@ "h": 8, "w": 12, "x": 0, - "y": 60 + "y": 59 }, "id": 46, "options": { @@ -4038,19 +4247,21 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", - "fillOpacity": 10, + "fillOpacity": 0, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -4074,7 +4285,112 @@ "mode": "absolute", "steps": [ { - "color": "green" + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "s" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 59 + }, + "id": 148, + "options": { + "legend": { + "calcs": [ + "mean", + "lastNotNull", + "max" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "desc" + } + }, + "pluginVersion": "9.2.6", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "$ds" + }, + "editorMode": "code", + "expr": "max(histogram_quantile(0.99, sum(rate(vm_promscrape_scrape_duration_seconds_bucket{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])) by(job, vmrange))) by(job)", + "format": "time_series", + "interval": "", + "legendFormat": "__auto", + "range": true, + "refId": "A" + } + ], + "title": "Scrape duration 0.99 quantile ($instance)", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "$ds" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": 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", @@ -4090,7 +4406,7 @@ "h": 8, "w": 12, "x": 12, - "y": 60 + "y": 67 }, "id": 31, "options": { @@ -4215,6 +4531,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -4228,6 +4545,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -4251,8 +4569,7 @@ "mode": "absolute", "steps": [ { - "color": "green", - "value": null + "color": "green" }, { "color": "red", @@ -4268,10 +4585,9 @@ "h": 8, "w": 12, "x": 0, - "y": 38 + "y": 14 }, "id": 73, - "links": [], "options": { "legend": { "calcs": [ @@ -4332,6 +4648,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -4345,6 +4662,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -4368,8 +4686,7 @@ "mode": "absolute", "steps": [ { - "color": "green", - "value": null + "color": "green" }, { "color": "red", @@ -4385,10 +4702,9 @@ "h": 8, "w": 12, "x": 12, - "y": 38 + "y": 6 }, "id": 131, - "links": [], "options": { "legend": { "calcs": [ @@ -4436,6 +4752,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -4449,6 +4766,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -4472,8 +4790,7 @@ "mode": "absolute", "steps": [ { - "color": "green", - "value": null + "color": "green" }, { "color": "red", @@ -4489,10 +4806,9 @@ "h": 8, "w": 12, "x": 0, - "y": 46 + "y": 14 }, "id": 130, - "links": [], "options": { "legend": { "calcs": [ @@ -4553,6 +4869,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -4566,6 +4883,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -4589,8 +4907,7 @@ "mode": "absolute", "steps": [ { - "color": "green", - "value": null + "color": "green" }, { "color": "red", @@ -4606,10 +4923,9 @@ "h": 8, "w": 12, "x": 12, - "y": 46 + "y": 14 }, "id": 77, - "links": [], "options": { "legend": { "calcs": [ @@ -4667,6 +4983,752 @@ "title": "Ingestion", "type": "row" }, + { + "collapsed": true, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 38 + }, + "id": 136, + "panels": [ + { + "datasource": { + "type": "prometheus", + "uid": "$ds" + }, + "description": "Shows the number of matched samples by the aggregation rule. \n\nThe more samples is matched, the more work this aggregation rule does. The matching rule is specified via `match` param.\n\nSee more details in [stream aggregation config](https://docs.victoriametrics.com/stream-aggregation/#stream-aggregation-config). ", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "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": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 7 + }, + "id": 146, + "options": { + "legend": { + "calcs": [ + "min", + "lastNotNull", + "max" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true, + "sortBy": "Last *", + "sortDesc": true + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "$ds" + }, + "editorMode": "code", + "expr": "sum(rate(vm_streamaggr_matched_samples_total{job=~\"$job\",instance=~\"$instance\", url=~\"$url\"}[$__rate_interval])) without (instance, pod) > 0", + "instant": false, + "legendFormat": "__auto", + "range": true, + "refId": "A" + } + ], + "title": "Matched samples ($instance)", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "$ds" + }, + "description": "The rate of ignored samples during aggregation. \nStream aggregation will drop samples with NaN values, or samples with too old timestamps. See https://docs.victoriametrics.com/stream-aggregation/#ignoring-old-samples ", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "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": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 7 + }, + "id": 143, + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "$ds" + }, + "editorMode": "code", + "expr": "sum(rate(vm_streamaggr_ignored_samples_total{job=~\"$job\",instance=~\"$instance\", url=~\"$url\"}[$__rate_interval]) > 0) without (instance, pod)", + "instant": false, + "legendFormat": "__auto", + "range": true, + "refId": "A" + } + ], + "title": "Ignored samples ($instance)", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "$ds" + }, + "description": "Shows the number of produced samples by the aggregation rule. \n\nNumber of produced samples depend on params like `by`, `without`, `interval`, etc.\n\nSee more details in [stream aggregation config](https://docs.victoriametrics.com/stream-aggregation/#stream-aggregation-config). ", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "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": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 15 + }, + "id": 147, + "options": { + "legend": { + "calcs": [ + "min", + "lastNotNull", + "max" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true, + "sortBy": "Last *", + "sortDesc": true + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "$ds" + }, + "editorMode": "code", + "expr": "sum(rate(vm_streamaggr_output_samples_total{job=~\"$job\",instance=~\"$instance\", url=~\"$url\"}[$__rate_interval])) without (instance, pod) > 0", + "instant": false, + "legendFormat": "__auto", + "range": true, + "refId": "A" + } + ], + "title": "Produced samples ($instance)", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "$ds" + }, + "description": "Shows events when deduplication or aggregation couldn't be finished in the configured interval. Such events may result into bad accuracy of produced data.\n\nPossible solutions:\n* increase interval; \n* use match filter matching smaller number of series;\n* reduce samples ingestion rate to stream aggregation", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "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": -5, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 15 + }, + "id": 139, + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "$ds" + }, + "editorMode": "code", + "expr": "increase(vm_streamaggr_flush_timeouts_total{job=~\"$job\",instance=~\"$instance\", url=~\"$url\"}[$__rate_interval]) > 0", + "instant": false, + "legendFormat": "aggregation: {{url}} ({{job}}): {{path}}:{{position}}", + "range": true, + "refId": "A" + }, + { + "datasource": { + "type": "prometheus", + "uid": "$ds" + }, + "editorMode": "code", + "expr": "increase(vm_streamaggr_dedup_flush_timeouts_total{job=~\"$job\",instance=~\"$instance\", url=~\"$url\"}[$__rate_interval]) > 0", + "hide": false, + "instant": false, + "legendFormat": "deduplication: {{url}} ({{job}}): {{path}}:{{position}}", + "range": true, + "refId": "B" + } + ], + "title": "Flush timeouts ($instance)", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "$ds" + }, + "description": "Shows the max lag between samples timestamps within one batch passed to the aggregation input.\n\nLower is better.\n\nToo high lag or lag exceeding the interval might be a sign that data was delayed before aggregation or resource insufficiency on aggregator. Samples with high lag may affect accuracy of aggregation.\n\nSee https://docs.victoriametrics.com/stream-aggregation/#ignoring-old-samples", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "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" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "s" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 23 + }, + "id": 142, + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "$ds" + }, + "editorMode": "code", + "expr": "histogram_quantile(0.99, sum(rate(vm_streamaggr_samples_lag_seconds_bucket{job=~\"$job\",instance=~\"$instance\", url=~\"$url\"}[$__rate_interval])) without (instance, pod))", + "instant": false, + "legendFormat": "__auto", + "range": true, + "refId": "A" + } + ], + "title": "Samples lag 0.99 quantile ($instance)", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "$ds" + }, + "description": "The 99th percentile of avg flush duration for the aggregated data. \n\nSmaller is better.\n\nAggregation can produce incorrect results ff flush duration exceeds configured deduplication interval. See \"Flush Timeouts\" panel.", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "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": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "s" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 23 + }, + "id": 137, + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "$ds" + }, + "editorMode": "code", + "expr": "histogram_quantile(0.99, rate(vm_streamaggr_dedup_flush_duration_seconds_bucket{job=~\"$job\",instance=~\"$instance\", url=~\"$url\"}[$__rate_interval]))", + "instant": false, + "legendFormat": "__auto", + "range": true, + "refId": "A" + } + ], + "title": "Dedup flush duration 0.99 quantile ($instance)", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "$ds" + }, + "description": "Shows the size of Label Compressor in number of entries.\n\nLabels compressor encodes label-value pairs during aggregation to optimise memory usage. It is expected for its size to grow with time and to reset on vmagent restarts.\n\nRapid spikes in Label compressor size might be a sign of significant changes in labels of received samples.", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "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": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + } + }, + "overrides": [ + { + "matcher": { + "id": "byRegexp", + "options": "/bytes.*/" + }, + "properties": [ + { + "id": "custom.axisPlacement", + "value": "right" + }, + { + "id": "unit", + "value": "bytes" + } + ] + } + ] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 31 + }, + "id": 141, + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "$ds" + }, + "editorMode": "code", + "expr": "max(vm_streamaggr_labels_compressor_items_count{job=~\"$job\",instance=~\"$instance\"}) by(job, instance)", + "hide": false, + "instant": false, + "legendFormat": "items: {{instance}} ({{job}})", + "range": true, + "refId": "A" + }, + { + "datasource": { + "type": "prometheus", + "uid": "$ds" + }, + "editorMode": "code", + "expr": "max(vm_streamaggr_labels_compressor_size_bytes{job=~\"$job\", instance=~\"$instance\"}) by(job, instance)", + "hide": false, + "instant": false, + "legendFormat": "bytes: {{instance}} ({{job}})", + "range": true, + "refId": "B" + } + ], + "title": "Labels compressor ($instance)", + "type": "timeseries" + } + ], + "title": "Streaming aggregation", + "type": "row" + }, { "collapsed": true, "datasource": { @@ -4677,7 +5739,7 @@ "h": 1, "w": 24, "x": 0, - "y": 38 + "y": 39 }, "id": 58, "panels": [ @@ -4693,6 +5755,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -4706,6 +5769,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -4746,7 +5810,7 @@ "h": 8, "w": 12, "x": 0, - "y": 55 + "y": 8 }, "id": 60, "options": { @@ -4796,6 +5860,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -4809,6 +5874,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -4848,7 +5914,7 @@ "h": 8, "w": 12, "x": 12, - "y": 55 + "y": 8 }, "id": 66, "options": { @@ -4898,6 +5964,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -4911,6 +5978,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -4950,7 +6018,7 @@ "h": 8, "w": 12, "x": 0, - "y": 63 + "y": 16 }, "id": 61, "options": { @@ -5000,6 +6068,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -5013,6 +6082,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -5052,7 +6122,7 @@ "h": 8, "w": 12, "x": 12, - "y": 63 + "y": 16 }, "id": 65, "options": { @@ -5102,6 +6172,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -5115,6 +6186,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -5153,7 +6225,7 @@ "h": 8, "w": 12, "x": 0, - "y": 71 + "y": 24 }, "id": 88, "options": { @@ -5199,6 +6271,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -5251,7 +6324,7 @@ "h": 8, "w": 12, "x": 12, - "y": 71 + "y": 24 }, "id": 84, "options": { @@ -5301,6 +6374,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -5314,6 +6388,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -5352,7 +6427,7 @@ "h": 8, "w": 12, "x": 0, - "y": 79 + "y": 32 }, "id": 90, "options": { @@ -5405,7 +6480,7 @@ "h": 1, "w": 24, "x": 0, - "y": 39 + "y": 40 }, "id": 113, "panels": [ @@ -5418,7 +6493,7 @@ "h": 2, "w": 24, "x": 0, - "y": 87 + "y": 17 }, "id": 115, "options": { @@ -5430,7 +6505,7 @@ "content": "Drilldown row is used by other panels on the dashboard to show more detailed metrics per-instance.", "mode": "markdown" }, - "pluginVersion": "9.2.6", + "pluginVersion": "10.4.2", "transparent": true, "type": "text" }, @@ -5446,6 +6521,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -5459,6 +6535,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -5494,10 +6571,9 @@ "h": 8, "w": 12, "x": 0, - "y": 89 + "y": 19 }, "id": 119, - "links": [], "options": { "legend": { "calcs": [ @@ -5549,6 +6625,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -5562,6 +6639,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -5597,10 +6675,9 @@ "h": 8, "w": 12, "x": 12, - "y": 89 + "y": 19 }, "id": 117, - "links": [], "options": { "legend": { "calcs": [ @@ -5650,6 +6727,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -5663,6 +6741,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -5702,13 +6781,13 @@ "h": 8, "w": 12, "x": 0, - "y": 97 + "y": 27 }, "id": 125, "links": [ { "title": "Troubleshooting", - "url": "https://docs.victoriametrics.com/vmagent.html#troubleshooting" + "url": "https://docs.victoriametrics.com/vmagent/#troubleshooting" } ], "options": { @@ -5758,6 +6837,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -5771,6 +6851,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -5822,7 +6903,7 @@ "h": 8, "w": 12, "x": 12, - "y": 97 + "y": 27 }, "id": 123, "options": { @@ -5886,6 +6967,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -5899,6 +6981,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -5950,10 +7033,9 @@ "h": 8, "w": 12, "x": 0, - "y": 105 + "y": 35 }, "id": 121, - "links": [], "options": { "legend": { "calcs": [ @@ -6014,8 +7096,7 @@ } ], "refresh": "", - "schemaVersion": 37, - "style": "dark", + "schemaVersion": 39, "tags": [ "vmagent", "victoriametrics" @@ -6024,9 +7105,9 @@ "list": [ { "current": { - "selected": true, + "selected": false, "text": "VictoriaMetrics", - "value": "VictoriaMetrics" + "value": "P4169E866C3094E38" }, "hide": 0, "includeAll": false, diff --git a/dashboards/victoria-metrics/vmalert.json b/dashboards/victoria-metrics/vmalert.json index 5a9d53e8..d1d44ecf 100644 --- a/dashboards/victoria-metrics/vmalert.json +++ b/dashboards/victoria-metrics/vmalert.json @@ -6,7 +6,7 @@ "type": "grafana", "id": "grafana", "name": "Grafana", - "version": "9.2.7" + "version": "10.4.2" }, { "type": "datasource", @@ -59,7 +59,7 @@ "uid": "$ds" }, "enable": true, - "expr": "sum(vm_app_version{job=~\"$job\", instance=~\"$instance\"}) by(short_version) unless (sum(vm_app_version{job=~\"$job\", instance=~\"$instance\"} offset 20m) by(short_version))", + "expr": "sum(vm_app_version{job=~\"$job\", instance=~\"$instance\"}) by(short_version) unless (sum(vm_app_version{job=~\"$job\", instance=~\"$instance\"} offset $__interval) by(short_version))", "hide": true, "iconColor": "dark-blue", "name": "version", @@ -72,15 +72,14 @@ "uid": "$ds" }, "enable": true, - "expr": "sum(changes(vm_app_start_timestamp{job=~\"$job\", instance=~\"$instance\"})) by(job, instance)", - "hide": true, + "expr": "sum(changes(vm_app_start_timestamp{job=~\"$job\", instance=~\"$instance\"}[$__interval])) by(job, instance)", "iconColor": "dark-yellow", "name": "restarts", "textFormat": "{{job}}:{{instance}} restarted" } ] }, - "description": "Overview for VictoriaMetrics vmalert v1.96.0 or higher", + "description": "Overview for VictoriaMetrics vmalert v1.102.0 or higher", "editable": true, "fiscalYearStartMonth": 0, "graphTooltip": 1, @@ -96,7 +95,7 @@ "title": "vmalert docs", "tooltip": "", "type": "link", - "url": "https://docs.victoriametrics.com/vmalert.html" + "url": "https://docs.victoriametrics.com/vmalert/" }, { "asDropdown": false, @@ -201,10 +200,12 @@ "fields": "", "values": false }, + "showPercentChange": false, "text": {}, - "textMode": "auto" + "textMode": "auto", + "wideLayout": true }, - "pluginVersion": "9.2.7", + "pluginVersion": "10.4.2", "targets": [ { "datasource": { @@ -261,10 +262,12 @@ "fields": "", "values": false }, + "showPercentChange": false, "text": {}, - "textMode": "auto" + "textMode": "auto", + "wideLayout": true }, - "pluginVersion": "9.2.7", + "pluginVersion": "10.4.2", "targets": [ { "datasource": { @@ -321,10 +324,12 @@ "fields": "", "values": false }, + "showPercentChange": false, "text": {}, - "textMode": "auto" + "textMode": "auto", + "wideLayout": true }, - "pluginVersion": "9.2.7", + "pluginVersion": "10.4.2", "targets": [ { "datasource": { @@ -385,10 +390,12 @@ "fields": "", "values": false }, + "showPercentChange": false, "text": {}, - "textMode": "auto" + "textMode": "auto", + "wideLayout": true }, - "pluginVersion": "9.2.7", + "pluginVersion": "10.4.2", "targets": [ { "datasource": { @@ -449,10 +456,12 @@ "fields": "", "values": false }, + "showPercentChange": false, "text": {}, - "textMode": "auto" + "textMode": "auto", + "wideLayout": true }, - "pluginVersion": "9.2.7", + "pluginVersion": "10.4.2", "targets": [ { "datasource": { @@ -483,7 +492,9 @@ }, "custom": { "align": "auto", - "displayMode": "auto", + "cellOptions": { + "type": "auto" + }, "inspect": false, "minWidth": 50 }, @@ -537,7 +548,9 @@ }, "id": 45, "options": { + "cellHeight": "sm", "footer": { + "countRows": false, "fields": "", "reducer": [ "sum" @@ -546,7 +559,7 @@ }, "showHeader": true }, - "pluginVersion": "9.2.7", + "pluginVersion": "10.4.2", "targets": [ { "datasource": { @@ -575,6 +588,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -588,6 +602,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "stepAfter", "lineWidth": 1, "pointSize": 5, @@ -706,6 +721,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -719,6 +735,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -809,6 +826,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -822,6 +840,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -912,6 +931,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -925,6 +945,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -1013,6 +1034,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -1026,6 +1048,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -1114,7 +1137,9 @@ }, "custom": { "align": "auto", - "displayMode": "auto", + "cellOptions": { + "type": "auto" + }, "inspect": false }, "mappings": [], @@ -1122,8 +1147,7 @@ "mode": "absolute", "steps": [ { - "color": "green", - "value": null + "color": "green" }, { "color": "red", @@ -1234,7 +1258,7 @@ "type": "prometheus", "uid": "$ds" }, - "description": "Missed evaluation means that group evaluation time takes longer than the configured evaluation interval. \nThis may result in missed alerting notifications or recording rules samples. Try increasing evaluation interval or concurrency for such groups. See https://docs.victoriametrics.com/vmalert.html#groups\n\nIf rule expressions are taking longer than expected, please see https://docs.victoriametrics.com/Troubleshooting.html#slow-queries.\"", + "description": "Missed evaluation means that group evaluation time takes longer than the configured evaluation interval. \nThis may result in missed alerting notifications or recording rules samples. Try increasing evaluation interval or concurrency for such groups. See https://docs.victoriametrics.com/vmalert/#groups\n\nIf rule expressions are taking longer than expected, please see https://docs.victoriametrics.com/troubleshooting/#slow-queries.\"", "fieldConfig": { "defaults": { "color": { @@ -1275,8 +1299,7 @@ "mode": "absolute", "steps": [ { - "color": "green", - "value": null + "color": "green" }, { "color": "red", @@ -1356,6 +1379,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -1369,6 +1393,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -1400,7 +1425,8 @@ } ] }, - "unit": "percentunit" + "unit": "percentunit", + "unitScale": true }, "overrides": [] }, @@ -1408,14 +1434,14 @@ "h": 8, "w": 12, "x": 0, - "y": 33 + "y": 3 }, "id": 37, "links": [ { "targetBlank": true, "title": "Profiling", - "url": "https://docs.victoriametrics.com/vmagent.html#profiling" + "url": "https://docs.victoriametrics.com/vmagent/#profiling" } ], "options": { @@ -1467,6 +1493,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -1480,6 +1507,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -1511,7 +1539,8 @@ } ] }, - "unit": "bytes" + "unit": "bytes", + "unitScale": true }, "overrides": [] }, @@ -1519,14 +1548,14 @@ "h": 8, "w": 12, "x": 12, - "y": 33 + "y": 3 }, "id": 57, "links": [ { "targetBlank": true, "title": "Profiling", - "url": "https://docs.victoriametrics.com/vmagent.html#profiling" + "url": "https://docs.victoriametrics.com/vmagent/#profiling" } ], "options": { @@ -1578,6 +1607,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -1591,6 +1621,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -1622,7 +1653,8 @@ } ] }, - "unit": "percentunit" + "unit": "percentunit", + "unitScale": true }, "overrides": [] }, @@ -1630,14 +1662,14 @@ "h": 8, "w": 12, "x": 0, - "y": 41 + "y": 11 }, "id": 35, "links": [ { "targetBlank": true, "title": "Profiling", - "url": "https://docs.victoriametrics.com/vmagent.html#profiling" + "url": "https://docs.victoriametrics.com/vmagent/#profiling" } ], "options": { @@ -1691,6 +1723,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -1704,6 +1737,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -1735,7 +1769,8 @@ } ] }, - "unit": "short" + "unit": "short", + "unitScale": true }, "overrides": [] }, @@ -1743,14 +1778,14 @@ "h": 8, "w": 12, "x": 12, - "y": 41 + "y": 11 }, "id": 56, "links": [ { "targetBlank": true, "title": "Profiling", - "url": "https://docs.victoriametrics.com/vmagent.html#profiling" + "url": "https://docs.victoriametrics.com/vmagent/#profiling" } ], "options": { @@ -1820,6 +1855,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -1833,6 +1869,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -1865,7 +1902,8 @@ } ] }, - "unit": "percentunit" + "unit": "percentunit", + "unitScale": true }, "overrides": [] }, @@ -1873,7 +1911,7 @@ "h": 8, "w": 12, "x": 0, - "y": 49 + "y": 19 }, "id": 39, "links": [], @@ -1925,6 +1963,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -1938,6 +1977,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -1970,7 +2010,8 @@ } ] }, - "unit": "short" + "unit": "short", + "unitScale": true }, "overrides": [] }, @@ -1978,7 +2019,7 @@ "h": 8, "w": 12, "x": 12, - "y": 49 + "y": 19 }, "id": 41, "links": [], @@ -2017,6 +2058,114 @@ ], "title": "Goroutines ($instance)", "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "$ds" + }, + "description": "Shows the percent of CPU spent on garbage collection.\n\nIf % is high, then CPU usage can be decreased by changing GOGC to higher values. Increasing GOGC value will increase memory usage, and decrease CPU usage.\n\nTry searching for keyword `GOGC` at https://docs.victoriametrics.com/troubleshooting/ ", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "decimals": 0, + "links": [], + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "percentunit", + "unitScale": true + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 27 + }, + "id": 59, + "links": [], + "options": { + "legend": { + "calcs": [ + "mean", + "lastNotNull", + "max" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "desc" + } + }, + "pluginVersion": "9.2.6", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "$ds" + }, + "editorMode": "code", + "expr": "max(\n rate(go_gc_cpu_seconds_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]) \n / rate(process_cpu_seconds_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])\n ) by(job)", + "format": "time_series", + "interval": "", + "intervalFactor": 2, + "legendFormat": "__auto", + "range": true, + "refId": "A" + } + ], + "title": "CPU spent on GC ($instance)", + "type": "timeseries" } ], "targets": [ @@ -2107,7 +2256,7 @@ "h": 8, "w": 12, "x": 0, - "y": 28 + "y": 36 }, "id": 14, "options": { @@ -2209,7 +2358,7 @@ "h": 8, "w": 12, "x": 12, - "y": 28 + "y": 36 }, "id": 13, "options": { @@ -2311,7 +2460,7 @@ "h": 8, "w": 12, "x": 0, - "y": 36 + "y": 44 }, "id": 20, "options": { @@ -2414,7 +2563,7 @@ "h": 8, "w": 12, "x": 12, - "y": 36 + "y": 44 }, "id": 32, "options": { @@ -2513,7 +2662,7 @@ "h": 8, "w": 12, "x": 0, - "y": 44 + "y": 52 }, "id": 26, "options": { @@ -2583,7 +2732,7 @@ "type": "prometheus", "uid": "$ds" }, - "description": "Shows the top $topk recording rules which generate the most of samples. Each generated sample is basically a time series which then ingested into configured remote storage. Rules with high numbers may cause the most pressure on the remote database and become a source of too high cardinality.\n\nThe panel uses MetricsQL functions and may not work with Prometheus.", + "description": "Shows the top $topk recording rules which generate the most of [samples](https://docs.victoriametrics.com/keyconcepts/#raw-samples). Each generated sample is basically a time series which then ingested into configured remote storage. Rules with high numbers may cause the most pressure on the remote database and become a source of too high cardinality.\n\nThe panel uses MetricsQL functions and may not work with Prometheus.", "fieldConfig": { "defaults": { "color": { @@ -2640,7 +2789,7 @@ "h": 8, "w": 12, "x": 0, - "y": 43 + "y": 51 }, "id": 31, "options": { @@ -2685,7 +2834,7 @@ "type": "prometheus", "uid": "$ds" }, - "description": "Shows the rules which do not produce any samples during the evaluation. Usually it means that such rules are misconfigured, since they give no output during the evaluation.\nPlease check if rule's expression is correct and it is working as expected.", + "description": "Shows the rules which do not produce any [samples](https://docs.victoriametrics.com/keyconcepts/#raw-samples) during the evaluation. Usually it means that such rules are misconfigured, since they give no output during the evaluation.\nPlease check if rule's expression is correct and it is working as expected.", "fieldConfig": { "defaults": { "color": { @@ -2742,7 +2891,7 @@ "h": 8, "w": 12, "x": 12, - "y": 43 + "y": 51 }, "id": 33, "options": { @@ -2843,7 +2992,7 @@ "h": 8, "w": 12, "x": 0, - "y": 51 + "y": 59 }, "id": 30, "options": { @@ -2964,7 +3113,7 @@ "h": 8, "w": 12, "x": 0, - "y": 9 + "y": 17 }, "id": 52, "options": { @@ -3056,7 +3205,7 @@ "h": 8, "w": 12, "x": 12, - "y": 9 + "y": 17 }, "id": 53, "options": { @@ -3086,15 +3235,221 @@ ], "title": "Datapoints drop rate ($instance)", "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "$ds" + }, + "description": "Shows current number of established connections to remote write endpoints.\n\n", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "links": [], + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "short" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 44 + }, + "id": 54, + "options": { + "legend": { + "calcs": [ + "mean", + "lastNotNull", + "max" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "desc" + } + }, + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "$ds" + }, + "editorMode": "code", + "exemplar": true, + "expr": "sum(max_over_time(vmalert_remotewrite_conns{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])) by(job)", + "interval": "", + "legendFormat": "__auto", + "range": true, + "refId": "A" + } + ], + "title": "Connections ($instance)", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "$ds" + }, + "description": "Shows the global rate for number of written bytes via remote write connections.", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "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": "decbytes" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 44 + }, + "id": 55, + "options": { + "legend": { + "calcs": [ + "mean", + "lastNotNull", + "max" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "desc" + } + }, + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "$ds" + }, + "editorMode": "code", + "exemplar": true, + "expr": "sum(rate(vmalert_remotewrite_conn_bytes_written_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])) by(job) > 0", + "interval": "", + "legendFormat": "__auto", + "range": true, + "refId": "A" + } + ], + "title": "Bytes write rate ($instance)", + "type": "timeseries" } ], "title": "Remote write", "type": "row" } ], - "refresh": false, - "schemaVersion": 37, - "style": "dark", + "refresh": "", + "schemaVersion": 39, "tags": [ "victoriametrics", "vmalert" @@ -3104,8 +3459,8 @@ { "current": { "selected": false, - "text": "VictoriaMetrics - cluster", - "value": "VictoriaMetrics - cluster" + "text": "VictoriaMetrics", + "value": "P4169E866C3094E38" }, "hide": 0, "includeAll": false, @@ -3171,14 +3526,14 @@ "type": "prometheus", "uid": "$ds" }, - "definition": "label_values(vmalert_iteration_duration_seconds{job=~\"$job\", instance=~\"$instance\"}, group)", + "definition": "label_values(vmalert_iteration_total{job=~\"$job\", instance=~\"$instance\"}, group)", "hide": 0, "includeAll": true, "multi": true, "name": "group", "options": [], "query": { - "query": "label_values(vmalert_iteration_duration_seconds{job=~\"$job\", instance=~\"$instance\"}, group)", + "query": "label_values(vmalert_iteration_total{job=~\"$job\", instance=~\"$instance\"}, group)", "refId": "StandardVariableQuery" }, "refresh": 1, diff --git a/hack/download-dashboards.sh b/hack/download-dashboards.sh index a6c0f676..8a51bf31 100755 --- a/hack/download-dashboards.sh +++ b/hack/download-dashboards.sh @@ -1,6 +1,6 @@ #https://github.com/deckhouse/deckhouse/blob/main/modules/340-monitoring-kubernetes-control-plane/monitoring/grafana-dashboards/kubernetes-cluster/control-plane-status.json base=https://github.com/deckhouse/deckhouse/raw/main/ -dir="grafana-dashboards" +dir="dashboards" mkdir -p "$dir"