From 7e0ee78225005ee4f6314ffc9ea3d5d5945962dc Mon Sep 17 00:00:00 2001 From: spron-in Date: Tue, 27 Feb 2024 16:24:25 +0300 Subject: [PATCH] pmm polished --- .../Databases_on_Kubernetes.json | 5680 ++++++++--------- .../Kubernetes_Cluster_Overview.json | 4640 +++++++------- 2 files changed, 4900 insertions(+), 5420 deletions(-) diff --git a/dashboards/Kubernetes (experimental)/Databases_on_Kubernetes.json b/dashboards/Kubernetes (experimental)/Databases_on_Kubernetes.json index 608e63a000..29992c1273 100644 --- a/dashboards/Kubernetes (experimental)/Databases_on_Kubernetes.json +++ b/dashboards/Kubernetes (experimental)/Databases_on_Kubernetes.json @@ -1,3167 +1,2875 @@ { - "annotations": { - "list": [ - { - "builtIn": 1, - "datasource": { - "type": "datasource", - "uid": "grafana" - }, - "enable": true, - "hide": true, - "iconColor": "rgba(0, 211, 255, 1)", - "name": "Annotations & Alerts", - "target": { - "limit": 100, - "matchAny": false, - "tags": [], + "annotations": { + "list": [ + { + "builtIn": 1, + "datasource": { + "type": "datasource", + "uid": "grafana" + }, + "enable": true, + "hide": true, + "iconColor": "rgba(0, 211, 255, 1)", + "name": "Annotations & Alerts", + "target": { + "limit": 100, + "matchAny": false, + "tags": [], + "type": "dashboard" + }, "type": "dashboard" - }, - "type": "dashboard" - } - ] - }, - "description": "Dashboard for DB Clusters managed with Percona Kubernetes Operators", - "editable": true, - "fiscalYearStartMonth": 0, - "gnetId": 15760, - "graphTooltip": 1, - "id": 73, - "links": [ - { - "asDropdown": true, - "icon": "external link", - "includeVars": true, - "keepTime": true, - "tags": [ - "PXC" - ], - "targetBlank": true, - "title": "MySQL", - "tooltip": "", - "type": "dashboards", - "url": "" - }, - { - "asDropdown": true, - "icon": "external link", - "includeVars": true, - "keepTime": true, - "tags": [ - "MongoDB" - ], - "targetBlank": true, - "title": "MongoDB", - "tooltip": "", - "type": "dashboards", - "url": "" - }, - { - "asDropdown": true, - "icon": "external link", - "includeVars": true, - "keepTime": true, - "tags": [ - "PostgreSQL" - ], - "targetBlank": true, - "title": "PostgreSQL", - "tooltip": "", - "type": "dashboards", - "url": "" - }, - { - "asDropdown": false, - "icon": "doc", - "includeVars": false, - "keepTime": false, - "tags": [], - "targetBlank": true, - "title": "Documentation", - "tooltip": "", - "type": "link", - "url": "https://docs.percona.com" + } + ] }, - { - "asDropdown": false, - "icon": "question", - "includeVars": false, - "keepTime": false, - "tags": [], - "targetBlank": true, - "title": "Get help", - "tooltip": "", - "type": "link", - "url": "https://www.percona.com/about/contact" - } - ], - "liveNow": false, - "panels": [ - { - "collapsed": false, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 0 + "description": "Dashboard for DB Clusters managed with Percona Kubernetes Operators", + "editable": true, + "fiscalYearStartMonth": 0, + "gnetId": 15760, + "graphTooltip": 1, + "id": 73, + "links": [ + { + "asDropdown": true, + "icon": "external link", + "includeVars": true, + "keepTime": true, + "tags": [ + "PXC" + ], + "targetBlank": true, + "title": "MySQL", + "tooltip": "", + "type": "dashboards", + "url": "" }, - "id": 90, - "panels": [], - "title": "Database Generic Metrics", - "type": "row" - }, - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" + { + "asDropdown": true, + "icon": "external link", + "includeVars": true, + "keepTime": true, + "tags": [ + "MongoDB" + ], + "targetBlank": true, + "title": "MongoDB", + "tooltip": "", + "type": "dashboards", + "url": "" }, - "description": "Custom resource status", - "fieldConfig": { - "defaults": { - "color": { - "mode": "fixed" - }, - "custom": { - "fillOpacity": 100, - "lineWidth": 0, - "spanNulls": false - }, - "mappings": [ - { - "options": { - "error": { - "color": "red", - "index": 2 + { + "asDropdown": true, + "icon": "external link", + "includeVars": true, + "keepTime": true, + "tags": [ + "PostgreSQL" + ], + "targetBlank": true, + "title": "PostgreSQL", + "tooltip": "", + "type": "dashboards", + "url": "" + }, + { + "asDropdown": false, + "icon": "doc", + "includeVars": false, + "keepTime": false, + "tags": [], + "targetBlank": true, + "title": "Documentation", + "tooltip": "", + "type": "link", + "url": "https://docs.percona.com" + }, + { + "asDropdown": false, + "icon": "question", + "includeVars": false, + "keepTime": false, + "tags": [], + "targetBlank": true, + "title": "Get help", + "tooltip": "", + "type": "link", + "url": "https://www.percona.com/about/contact" + } + ], + "liveNow": false, + "panels": [ + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 0 + }, + "id": 90, + "panels": [], + "title": "Database Generic Metrics", + "type": "row" + }, + { + "description": "Custom resource status", + "fieldConfig": { + "defaults": { + "color": { + "mode": "fixed" + }, + "custom": { + "fillOpacity": 100, + "lineWidth": 0, + "spanNulls": false + }, + "mappings": [ + { + "options": { + "error": { + "color": "red", + "index": 2 + }, + "null": { + "index": 1, + "text": "N/A" + } + }, + "type": "value" + }, + { + "options": { + "from": 0, + "result": { + "index": 0, + "text": "N/A" + }, + "to": 0 }, - "null": { - "index": 1, - "text": "N/A" + "type": "range" + } + ], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null } + ] + }, + "unit": "none" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "ready" }, - "type": "value" + "properties": [ + { + "id": "color", + "value": { + "mode": "continuous-GrYlRd" + } + } + ] }, { - "options": { - "from": 0, - "result": { - "index": 0, - "text": "N/A" - }, - "to": 0 + "matcher": { + "id": "byName", + "options": "error" }, - "type": "range" + "properties": [ + { + "id": "color", + "value": { + "mode": "continuous-RdYlGr" + } + } + ] } - ], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - }, - "unit": "none" + ] + }, + "gridPos": { + "h": 7, + "w": 5, + "x": 0, + "y": 1 + }, + "id": 97, + "options": { + "alignValue": "center", + "legend": { + "displayMode": "list", + "placement": "bottom", + "showLegend": false + }, + "mergeValues": true, + "rowHeight": 0.89, + "showValue": "never", + "tooltip": { + "mode": "single", + "sort": "none" + } }, - "overrides": [ + "targets": [ { - "matcher": { - "id": "byName", - "options": "ready" - }, - "properties": [ - { - "id": "color", - "value": { - "mode": "continuous-GrYlRd" - } - } - ] + "editorMode": "code", + "expr": "(sum(kube_pxc_status_state{k8s_cluster_id=\"${k8s_cluster}\",namespace=\"${namespace}\",name=\"${k8s_db_cr}\"}) by (state) if \"${k8s_db_type}\"==\"percona-xtradb-cluster-operator\") !=0", + "format": "time_series", + "hide": false, + "legendFormat": "{{state}}", + "range": true, + "refId": "PXC_Status" }, { - "matcher": { - "id": "byName", - "options": "error" - }, - "properties": [ - { - "id": "color", - "value": { - "mode": "continuous-RdYlGr" - } - } - ] + "editorMode": "code", + "expr": "(sum(kube_psmdb_status_state{k8s_cluster_id=\"${k8s_cluster}\",namespace=\"${namespace}\",name=\"${k8s_db_cr}\"}) by (state) if \"${k8s_db_type}\"==\"percona-server-mongodb-operator\") !=0\n", + "format": "time_series", + "hide": false, + "legendFormat": "{{state}}", + "range": true, + "refId": "PSMDB_Status" + }, + { + "editorMode": "code", + "expr": "(sum(kube_pg_status_state{k8s_cluster_id=\"${k8s_cluster}\",namespace=\"${namespace}\",name=\"${k8s_db_cr}\"}) by (state) if \"${k8s_db_type}\"==\"percona-postgresql-operator\") !=0\n", + "format": "time_series", + "hide": false, + "legendFormat": "{{state}}", + "range": true, + "refId": "PG_Status" } - ] - }, - "gridPos": { - "h": 7, - "w": 5, - "x": 0, - "y": 1 + ], + "title": "Cluster Status", + "transformations": [], + "type": "state-timeline" }, - "id": 97, - "options": { - "alignValue": "center", - "legend": { - "displayMode": "list", - "placement": "bottom", - "showLegend": false - }, - "mergeValues": true, - "rowHeight": 0.89, - "showValue": "never", - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" + { + "description": "Shows the list of backups for the cluster and their statuses", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "displayMode": "auto", + "inspect": false + }, + "mappings": [], + "noValue": "No backups created for this database", + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + } }, - "editorMode": "code", - "expr": "(sum(kube_pxc_status_state{k8s_cluster_id=\"${k8s_cluster}\",namespace=\"${namespace}\",name=\"${k8s_db_cr}\"}) by (state) if \"${k8s_db_type}\"==\"percona-xtradb-cluster-operator\") !=0", - "format": "time_series", - "hide": false, - "legendFormat": "{{state}}", - "range": true, - "refId": "PXC_Status" + "overrides": [] }, - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" - }, - "editorMode": "code", - "expr": "(sum(kube_psmdb_status_state{k8s_cluster_id=\"${k8s_cluster}\",namespace=\"${namespace}\",name=\"${k8s_db_cr}\"}) by (state) if \"${k8s_db_type}\"==\"percona-server-mongodb-operator\") !=0\n", - "format": "time_series", - "hide": false, - "legendFormat": "{{state}}", - "range": true, - "refId": "PSMDB_Status" + "gridPos": { + "h": 7, + "w": 7, + "x": 5, + "y": 1 }, - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" + "id": 99, + "options": { + "footer": { + "fields": "", + "reducer": [ + "sum" + ], + "show": false }, - "editorMode": "code", - "expr": "(sum(kube_pg_status_state{k8s_cluster_id=\"${k8s_cluster}\",namespace=\"${namespace}\",name=\"${k8s_db_cr}\"}) by (state) if \"${k8s_db_type}\"==\"percona-postgresql-operator\") !=0\n", - "format": "time_series", - "hide": false, - "legendFormat": "{{state}}", - "range": true, - "refId": "PG_Status" - } - ], - "title": "Cluster Status", - "transformations": [], - "type": "state-timeline" - }, - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" - }, - "description": "Shows the list of backups for the cluster and their statuses", - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" + "showHeader": true, + "sortBy": [ + { + "desc": false, + "displayName": "state (last)" + } + ] + }, + "pluginVersion": "9.2.20", + "targets": [ + { + "editorMode": "code", + "exemplar": false, + "expr": "(kube_pxc_backup_status_state{k8s_cluster_id=\"$k8s_cluster\",namespace=\"$namespace\",dbcluster=\"$k8s_db_cr\"} if \"${k8s_db_type}\"==\"percona-xtradb-cluster-operator\") !=0", + "format": "table", + "instant": true, + "legendFormat": "__auto", + "range": false, + "refId": "PXC_Backup" }, - "custom": { - "align": "auto", - "displayMode": "auto", - "inspect": false + { + "editorMode": "code", + "expr": "(kube_pg_backup_status_state{k8s_cluster_id=\"$k8s_cluster\",namespace=\"$namespace\",dbcluster=\"$k8s_db_cr\"} if \"${k8s_db_type}\"==\"percona-postgresql-operator\") !=0", + "hide": false, + "legendFormat": "__auto", + "range": true, + "refId": "A" }, - "mappings": [], - "noValue": "No backups created for this database", - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 7, - "w": 7, - "x": 5, - "y": 1 - }, - "id": 99, - "options": { - "footer": { - "fields": "", - "reducer": [ - "sum" - ], - "show": false - }, - "showHeader": true, - "sortBy": [ { - "desc": false, - "displayName": "state (last)" + "editorMode": "code", + "expr": "(kube_psmdb_backup_status_state{k8s_cluster_id=\"$k8s_cluster\",namespace=\"$namespace\",dbcluster=\"$k8s_db_cr\"} if \"${k8s_db_type}\"==\"percona-server-mongodb-operator\") !=0", + "hide": false, + "legendFormat": "__auto", + "range": true, + "refId": "B" } - ] - }, - "pluginVersion": "9.2.20", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" + ], + "title": "Backup Status", + "transformations": [ + { + "id": "labelsToFields", + "options": {} }, - "editorMode": "code", - "exemplar": false, - "expr": "(kube_pxc_backup_status_state{k8s_cluster_id=\"$k8s_cluster\",namespace=\"$namespace\",dbcluster=\"$k8s_db_cr\"} if \"${k8s_db_type}\"==\"percona-xtradb-cluster-operator\") !=0", - "format": "table", - "instant": true, - "legendFormat": "__auto", - "range": false, - "refId": "PXC_Backup" - }, - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" + { + "id": "merge", + "options": {} }, - "editorMode": "code", - "expr": "(kube_pg_backup_status_state{k8s_cluster_id=\"$k8s_cluster\",namespace=\"$namespace\",dbcluster=\"$k8s_db_cr\"} if \"${k8s_db_type}\"==\"percona-postgresql-operator\") !=0", - "hide": false, - "legendFormat": "__auto", - "range": true, - "refId": "A" - }, - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" + { + "id": "filterByValue", + "options": { + "filters": [ + { + "config": { + "id": "equal", + "options": { + "value": 1 + } + }, + "fieldName": "Value" + } + ], + "match": "any", + "type": "include" + } }, - "editorMode": "code", - "expr": "(kube_psmdb_backup_status_state{k8s_cluster_id=\"$k8s_cluster\",namespace=\"$namespace\",dbcluster=\"$k8s_db_cr\"} if \"${k8s_db_type}\"==\"percona-server-mongodb-operator\") !=0", - "hide": false, - "legendFormat": "__auto", - "range": true, - "refId": "B" - } - ], - "title": "Backup Status", - "transformations": [ - { - "id": "labelsToFields", - "options": {} - }, - { - "id": "merge", - "options": {} - }, - { - "id": "filterByValue", - "options": { - "filters": [ - { - "config": { - "id": "equal", - "options": { - "value": 1 - } - }, - "fieldName": "Value" - } - ], - "match": "any", - "type": "include" - } - }, - { - "id": "organize", - "options": { - "excludeByName": { - "Time": false - }, - "indexByName": {}, - "renameByName": {} - } - }, - { - "id": "groupBy", - "options": { - "fields": { - "Time": { - "aggregations": [] - }, - "container": { - "aggregations": [] - }, - "job": { - "aggregations": [] - }, - "name": { - "aggregations": [], - "operation": "groupby" - }, - "namespace": { - "aggregations": [] - }, - "pod": { - "aggregations": [] + { + "id": "organize", + "options": { + "excludeByName": { + "Time": false }, - "state": { - "aggregations": [ - "last" - ], - "operation": "aggregate" + "indexByName": {}, + "renameByName": {} + } + }, + { + "id": "groupBy", + "options": { + "fields": { + "Time": { + "aggregations": [] + }, + "container": { + "aggregations": [] + }, + "job": { + "aggregations": [] + }, + "name": { + "aggregations": [], + "operation": "groupby" + }, + "namespace": { + "aggregations": [] + }, + "pod": { + "aggregations": [] + }, + "state": { + "aggregations": [ + "last" + ], + "operation": "aggregate" + } } } } - } - ], - "type": "table" - }, - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" + ], + "type": "table" }, - "description": "Number of vCPU cores used by a container. \nCPU Limit is shown only if it is set in the Custom Resource (recommended).", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "axisSoftMin": 0, - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 20, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 2, - "pointSize": 4, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "min": 0, - "thresholds": { - "mode": "percentage", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 + { + "description": "Number of vCPU cores used by a container. \nCPU Limit is shown only if it is set in the Custom Resource (recommended).", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "axisSoftMin": 0, + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 20, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "linear", + "lineWidth": 2, + "pointSize": 4, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" } - ] - }, - "unit": "none" - }, - "overrides": [ - { - "matcher": { - "id": "byRegexp", - "options": "/CPU Limit/" }, - "properties": [ - { - "id": "custom.fillOpacity", - "value": 0 + "mappings": [], + "min": 0, + "thresholds": { + "mode": "percentage", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "none" + }, + "overrides": [ + { + "matcher": { + "id": "byRegexp", + "options": "/CPU Limit/" }, - { - "id": "color", - "value": { - "mode": "continuous-reds" + "properties": [ + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "color", + "value": { + "mode": "continuous-reds" + } } - } - ] - } - ] - }, - "gridPos": { - "h": 7, - "w": 12, - "x": 12, - "y": 1 - }, - "id": 80, - "interval": "1s", - "maxDataPoints": 1000, - "options": { - "legend": { - "calcs": [ - "mean", - "min", - "max" - ], - "displayMode": "table", - "placement": "bottom", - "showLegend": true + ] + } + ] }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "pluginVersion": "8.3.5", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" - }, - "editorMode": "code", - "expr": "sum(rate(container_cpu_usage_seconds_total{k8s_cluster_id=\"${k8s_cluster}\",namespace=\"$namespace\", pod=~\"${k8s_db_pods}\", container=~\"mongod|pxc|database\"}[$__rate_interval])) by (container,pod)", - "hide": false, - "legendFormat": "{{pod}} - CPU cores", - "range": true, - "refId": "CPU Used" + "gridPos": { + "h": 7, + "w": 12, + "x": 12, + "y": 1 }, - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" + "id": 80, + "interval": "1s", + "maxDataPoints": 1000, + "options": { + "legend": { + "calcs": [ + "mean", + "min", + "max" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true }, - "editorMode": "code", - "expr": "(max(label_replace(kube_pod_container_resource_limits{k8s_cluster_id=\"${k8s_cluster}\",namespace=\"$namespace\", pod=~\"${k8s_db_pods}\", container=~\"mongod|pxc|database\",resource=\"cpu\"}, \"pod_set\", \"$1\", \"pod\", \"(.*)-.{1}\")) by (pod_set) if \"${k8s_db_type}\"==\"percona-server-mongodb-operator\") !=0", - "hide": false, - "legendFormat": "CPU Limit - {{pod_set}}", - "range": true, - "refId": "CPU Limit - MongoDB" + "tooltip": { + "mode": "single", + "sort": "none" + } }, - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" + "pluginVersion": "8.3.5", + "targets": [ + { + "editorMode": "code", + "expr": "sum(rate(container_cpu_usage_seconds_total{k8s_cluster_id=\"${k8s_cluster}\",namespace=\"$namespace\", pod=~\"${k8s_db_pods}\", container=~\"mongod|pxc|database\"}[$__rate_interval])) by (container,pod)", + "hide": false, + "legendFormat": "{{pod}} - CPU cores", + "range": true, + "refId": "CPU Used" }, - "editorMode": "code", - "expr": "(max(kube_pod_container_resource_limits{k8s_cluster_id=\"${k8s_cluster}\",namespace=\"$namespace\", pod=~\"${k8s_db_pods}\", container=~\"mongod|pxc|database\",resource=\"cpu\"})if \"${k8s_db_type}\"==\"percona-xtradb-cluster-operator\") !=0", - "hide": false, - "legendFormat": "CPU Limit ", - "range": true, - "refId": "CPU Limit - PXC" - }, - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" + { + "editorMode": "code", + "expr": "(max(label_replace(kube_pod_container_resource_limits{k8s_cluster_id=\"${k8s_cluster}\",namespace=\"$namespace\", pod=~\"${k8s_db_pods}\", container=~\"mongod|pxc|database\",resource=\"cpu\"}, \"pod_set\", \"$1\", \"pod\", \"(.*)-.{1}\")) by (pod_set) if \"${k8s_db_type}\"==\"percona-server-mongodb-operator\") !=0", + "hide": false, + "legendFormat": "CPU Limit - {{pod_set}}", + "range": true, + "refId": "CPU Limit - MongoDB" }, - "editorMode": "code", - "expr": "(max(label_replace(kube_pod_container_resource_limits{k8s_cluster_id=\"${k8s_cluster}\",namespace=\"$namespace\", pod=~\"${k8s_db_pods}\", container=~\"mongod|pxc|database\",resource=\"cpu\"}, \"pod_set\", \"$1\", \"pod\", \"${k8s_db_cr}-(.*)-.{4}-.{1}\")) by (pod_set) if \"${k8s_db_type}\"==\"percona-postgresql-operator\") !=0", - "hide": false, - "legendFormat": "CPU Limit - {{pod_set}}", - "range": true, - "refId": "CPU Limit - PostgreSQL" - } - ], - "title": "CPU Usage", - "transformations": [ - { - "id": "filterByValue", - "options": { - "filters": [], - "match": "any", - "type": "include" - } - } - ], - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" - }, - "description": "Number of bytes used by a container. \nMemory Limit is shown only if it is set in the Custom Resource (recommended).", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" + { + "editorMode": "code", + "expr": "(max(kube_pod_container_resource_limits{k8s_cluster_id=\"${k8s_cluster}\",namespace=\"$namespace\", pod=~\"${k8s_db_pods}\", container=~\"mongod|pxc|database\",resource=\"cpu\"})if \"${k8s_db_type}\"==\"percona-xtradb-cluster-operator\") !=0", + "hide": false, + "legendFormat": "CPU Limit ", + "range": true, + "refId": "CPU Limit - PXC" }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 20, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 2, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" + { + "editorMode": "code", + "expr": "(max(label_replace(kube_pod_container_resource_limits{k8s_cluster_id=\"${k8s_cluster}\",namespace=\"$namespace\", pod=~\"${k8s_db_pods}\", container=~\"mongod|pxc|database\",resource=\"cpu\"}, \"pod_set\", \"$1\", \"pod\", \"${k8s_db_cr}-(.*)-.{4}-.{1}\")) by (pod_set) if \"${k8s_db_type}\"==\"percona-postgresql-operator\") !=0", + "hide": false, + "legendFormat": "CPU Limit - {{pod_set}}", + "range": true, + "refId": "CPU Limit - PostgreSQL" + } + ], + "title": "CPU Usage", + "transformations": [ + { + "id": "filterByValue", + "options": { + "filters": [], + "match": "any", + "type": "include" } - }, - "mappings": [], - "min": 0, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 + } + ], + "type": "timeseries" + }, + { + "description": "Number of bytes used by a container. \nMemory Limit is shown only if it is set in the Custom Resource (recommended).", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 20, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "linear", + "lineWidth": 2, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" } - ] - }, - "unit": "bytes" - }, - "overrides": [ - { - "matcher": { - "id": "byRegexp", - "options": "/Memory Limit/" }, - "properties": [ - { - "id": "custom.fillOpacity", - "value": 0 + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "bytes" + }, + "overrides": [ + { + "matcher": { + "id": "byRegexp", + "options": "/Memory Limit/" }, - { - "id": "color", - "value": { - "mode": "continuous-reds" + "properties": [ + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "color", + "value": { + "mode": "continuous-reds" + } } - } - ] - } - ] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 8 - }, - "id": 57, - "interval": "1s", - "maxDataPoints": 1000, - "options": { - "legend": { - "calcs": [ - "mean", - "max", - "min" - ], - "displayMode": "table", - "placement": "bottom", - "showLegend": true + ] + } + ] }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "pluginVersion": "8.3.5", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" - }, - "editorMode": "code", - "expr": "sum(container_memory_working_set_bytes{k8s_cluster_id=\"${k8s_cluster}\",namespace=\"$namespace\", pod=~\"${k8s_db_pods}\", container=~\"mongod|pxc|database\"}) by (container,pod)", - "hide": false, - "legendFormat": "{{pod}} - Bytes", - "range": true, - "refId": "Memory Used" + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 8 }, - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" + "id": 57, + "interval": "1s", + "maxDataPoints": 1000, + "options": { + "legend": { + "calcs": [ + "mean", + "max", + "min" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true }, - "editorMode": "code", - "expr": "(max(label_replace(kube_pod_container_resource_limits{k8s_cluster_id=\"${k8s_cluster}\",namespace=\"$namespace\", pod=~\"${k8s_db_pods}\", container=~\"mongod|pxc|database\",resource=\"memory\"}, \"pod_set\", \"$1\", \"pod\", \"(.*)-.{1}\")) by (pod_set) if \"${k8s_db_type}\"==\"percona-server-mongodb-operator\") !=0", - "hide": false, - "legendFormat": "Memory Limit - {{pod_set}}", - "range": true, - "refId": "Memory Limit - MongoDB" + "tooltip": { + "mode": "single", + "sort": "none" + } }, - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" - }, - "editorMode": "code", - "expr": "(max(kube_pod_container_resource_limits{k8s_cluster_id=\"${k8s_cluster}\",namespace=\"$namespace\", pod=~\"${k8s_db_pods}\", container=~\"mongod|pxc|database\",resource=\"memory\"})if \"${k8s_db_type}\"==\"percona-xtradb-cluster-operator\") !=0", - "hide": false, - "legendFormat": "Memory Limit", - "range": true, - "refId": "Memory Limit - PXC" - }, - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" + "pluginVersion": "8.3.5", + "targets": [ + { + "editorMode": "code", + "expr": "sum(container_memory_working_set_bytes{k8s_cluster_id=\"${k8s_cluster}\",namespace=\"$namespace\", pod=~\"${k8s_db_pods}\", container=~\"mongod|pxc|database\"}) by (container,pod)", + "hide": false, + "legendFormat": "{{pod}} - Bytes", + "range": true, + "refId": "Memory Used" }, - "editorMode": "code", - "expr": "(max(label_replace(kube_pod_container_resource_limits{k8s_cluster_id=\"${k8s_cluster}\",namespace=\"$namespace\", pod=~\"${k8s_db_pods}\", container=~\"mongod|pxc|database\",resource=\"memory\"}, \"pod_set\", \"$1\", \"pod\", \"${k8s_db_cr}-(.*)-.{4}-.{1}\")) by (pod_set) if \"${k8s_db_type}\"==\"percona-postgresql-operator\") !=0", - "hide": false, - "legendFormat": "Memory Limit - {{pod_set}}", - "range": true, - "refId": "Memory Limit - PostgreSQL" - } - ], - "title": "Memory Usage", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" - }, - "description": "Persistent Volume Claim storage usage in bytes", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" + { + "editorMode": "code", + "expr": "(max(label_replace(kube_pod_container_resource_limits{k8s_cluster_id=\"${k8s_cluster}\",namespace=\"$namespace\", pod=~\"${k8s_db_pods}\", container=~\"mongod|pxc|database\",resource=\"memory\"}, \"pod_set\", \"$1\", \"pod\", \"(.*)-.{1}\")) by (pod_set) if \"${k8s_db_type}\"==\"percona-server-mongodb-operator\") !=0", + "hide": false, + "legendFormat": "Memory Limit - {{pod_set}}", + "range": true, + "refId": "Memory Limit - MongoDB" }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 20, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 2, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "never", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } + { + "editorMode": "code", + "expr": "(max(kube_pod_container_resource_limits{k8s_cluster_id=\"${k8s_cluster}\",namespace=\"$namespace\", pod=~\"${k8s_db_pods}\", container=~\"mongod|pxc|database\",resource=\"memory\"})if \"${k8s_db_type}\"==\"percona-xtradb-cluster-operator\") !=0", + "hide": false, + "legendFormat": "Memory Limit", + "range": true, + "refId": "Memory Limit - PXC" }, - "mappings": [], - "min": 0, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 + { + "editorMode": "code", + "expr": "(max(label_replace(kube_pod_container_resource_limits{k8s_cluster_id=\"${k8s_cluster}\",namespace=\"$namespace\", pod=~\"${k8s_db_pods}\", container=~\"mongod|pxc|database\",resource=\"memory\"}, \"pod_set\", \"$1\", \"pod\", \"${k8s_db_cr}-(.*)-.{4}-.{1}\")) by (pod_set) if \"${k8s_db_type}\"==\"percona-postgresql-operator\") !=0", + "hide": false, + "legendFormat": "Memory Limit - {{pod_set}}", + "range": true, + "refId": "Memory Limit - PostgreSQL" + } + ], + "title": "Memory Usage", + "type": "timeseries" + }, + { + "description": "Persistent Volume Claim storage usage in bytes", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 20, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "linear", + "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": "bytes" }, - "unit": "bytes" + "overrides": [] }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 8 - }, - "id": 62, - "options": { - "legend": { - "calcs": [ - "mean", - "max", - "min" - ], - "displayMode": "table", - "placement": "bottom", - "showLegend": true + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 8 }, - "tooltip": { - "mode": "multi", - "sort": "desc" - } - }, - "pluginVersion": "9.2.5", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" + "id": 62, + "options": { + "legend": { + "calcs": [ + "mean", + "max", + "min" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true }, - "editorMode": "code", - "exemplar": true, - "expr": "sum(kubelet_volume_stats_used_bytes{k8s_cluster_id=\"${k8s_cluster}\",namespace=\"${namespace}\"}) by (persistentvolumeclaim) and on (persistentvolumeclaim) kube_persistentvolumeclaim_labels{k8s_cluster_id=\"$k8s_cluster\",label_app_kubernetes_io_managed_by=\"${k8s_db_type}\",label_app_kubernetes_io_instance=\"${k8s_db_cr}\"}", - "instant": false, - "interval": "", - "legendFormat": "{{persistentvolumeclaim}}", - "refId": "A" - } - ], - "title": "Storage Usage", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" + "tooltip": { + "mode": "multi", + "sort": "desc" + } + }, + "pluginVersion": "9.2.5", + "targets": [ + { + "editorMode": "code", + "exemplar": true, + "expr": "sum(kubelet_volume_stats_used_bytes{k8s_cluster_id=\"${k8s_cluster}\",namespace=\"${namespace}\"}) by (persistentvolumeclaim) and on (persistentvolumeclaim) kube_persistentvolumeclaim_labels{k8s_cluster_id=\"$k8s_cluster\",label_app_kubernetes_io_managed_by=\"${k8s_db_type}\",label_app_kubernetes_io_instance=\"${k8s_db_cr}\"}", + "instant": false, + "interval": "", + "legendFormat": "{{persistentvolumeclaim}}", + "refId": "A" + } + ], + "title": "Storage Usage", + "type": "timeseries" }, - "description": "Percentage of how much of a storage capacity is utilized", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "axisSoftMin": 0, - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 20, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 2, - "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 - }, - { - "color": "red", - "value": 80 + { + "description": "Percentage of how much of a storage capacity is utilized", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "axisSoftMin": 0, + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 20, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "linear", + "lineWidth": 2, + "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 + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "percent" }, - "unit": "percent" + "overrides": [] }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 16 - }, - "id": 64, - "options": { - "legend": { - "calcs": [ - "mean", - "max", - "min" - ], - "displayMode": "table", - "placement": "bottom", - "showLegend": true + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 16 }, - "tooltip": { - "mode": "multi", - "sort": "desc" - } - }, - "pluginVersion": "9.2.5", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" + "id": 64, + "options": { + "legend": { + "calcs": [ + "mean", + "max", + "min" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true }, - "editorMode": "code", - "exemplar": true, - "expr": "100 * (sum(kubelet_volume_stats_used_bytes{k8s_cluster_id=\"${k8s_cluster}\",namespace=~\"${namespace}\"}) by (persistentvolumeclaim) and on (persistentvolumeclaim) kube_persistentvolumeclaim_labels{label_app_kubernetes_io_managed_by=\"${k8s_db_type}\",label_app_kubernetes_io_instance=\"${k8s_db_cr}\"})\n/ (sum(kubelet_volume_stats_capacity_bytes{k8s_cluster_id=\"${k8s_cluster}\",namespace=~\"${namespace}\"}) by (persistentvolumeclaim) and on (persistentvolumeclaim) kube_persistentvolumeclaim_labels{label_app_kubernetes_io_managed_by=\"${k8s_db_type}\",label_app_kubernetes_io_instance=\"${k8s_db_cr}\"})", - "instant": false, - "interval": "", - "legendFormat": "{{persistentvolumeclaim}}", - "refId": "A" - } - ], - "title": "Storage Utilization ", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" + "tooltip": { + "mode": "multi", + "sort": "desc" + } + }, + "pluginVersion": "9.2.5", + "targets": [ + { + "editorMode": "code", + "exemplar": true, + "expr": "100 * (sum(kubelet_volume_stats_used_bytes{k8s_cluster_id=\"${k8s_cluster}\",namespace=~\"${namespace}\"}) by (persistentvolumeclaim) and on (persistentvolumeclaim) kube_persistentvolumeclaim_labels{label_app_kubernetes_io_managed_by=\"${k8s_db_type}\",label_app_kubernetes_io_instance=\"${k8s_db_cr}\"})\n/ (sum(kubelet_volume_stats_capacity_bytes{k8s_cluster_id=\"${k8s_cluster}\",namespace=~\"${namespace}\"}) by (persistentvolumeclaim) and on (persistentvolumeclaim) kube_persistentvolumeclaim_labels{label_app_kubernetes_io_managed_by=\"${k8s_db_type}\",label_app_kubernetes_io_instance=\"${k8s_db_cr}\"})", + "instant": false, + "interval": "", + "legendFormat": "{{persistentvolumeclaim}}", + "refId": "A" + } + ], + "title": "Storage Utilization ", + "type": "timeseries" }, - "description": "Status of Pods - shows if they were restarted and when", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 20, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 2, - "pointSize": 1, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "min": 0, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 + { + "description": "Status of Pods - shows if they were restarted and when", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 20, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "linear", + "lineWidth": 2, + "pointSize": 1, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" } - ] + }, + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "none" }, - "unit": "none" + "overrides": [] }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 16 - }, - "id": 109, - "options": { - "legend": { - "calcs": [ - "mean", - "max", - "min" - ], - "displayMode": "table", - "placement": "bottom", - "showLegend": true + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 16 }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "pluginVersion": "9.2.20", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" + "id": 109, + "options": { + "legend": { + "calcs": [ + "mean", + "max", + "min" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true }, - "editorMode": "code", - "exemplar": false, - "expr": "sum(kube_pod_status_phase{k8s_cluster_id=\"$k8s_cluster\",namespace=\"$namespace\",pod=~\"$k8s_db_pods\",phase=\"Running\"}) by (phase,pod) ", - "interval": "", - "legendFormat": "{{pod}} - {{phase}}", - "range": true, - "refId": "A" - } - ], - "title": "Database Pods Status", - "type": "timeseries" - }, - { - "collapsed": true, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 24 + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "pluginVersion": "9.2.20", + "targets": [ + { + "editorMode": "code", + "exemplar": false, + "expr": "sum(kube_pod_status_phase{k8s_cluster_id=\"$k8s_cluster\",namespace=\"$namespace\",pod=~\"$k8s_db_pods\",phase=\"Running\"}) by (phase,pod) ", + "interval": "", + "legendFormat": "{{pod}} - {{phase}}", + "range": true, + "refId": "A" + } + ], + "title": "Database Pods Status", + "type": "timeseries" }, - "id": 101, - "panels": [ - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" - }, - "description": "Number of vCPU cores used by a container. \nCPU Limit is shown only if it is set in the Custom Resource (recommended).", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 20, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 2, - "pointSize": 1, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "min": 0, - "thresholds": { - "mode": "percentage", - "steps": [ - { - "color": "green", - "value": null + { + "collapsed": true, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 24 + }, + "id": 101, + "panels": [ + { + "description": "Number of vCPU cores used by a container. \nCPU Limit is shown only if it is set in the Custom Resource (recommended).", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 20, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false }, - { - "color": "red", - "value": 80 + "lineInterpolation": "linear", + "lineWidth": 2, + "pointSize": 1, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" } - ] + }, + "mappings": [], + "min": 0, + "thresholds": { + "mode": "percentage", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "none" }, - "unit": "none" + "overrides": [ + { + "matcher": { + "id": "byRegexp", + "options": "/CPU Limit/" + }, + "properties": [ + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "color", + "value": { + "mode": "continuous-reds" + } + } + ] + } + ] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 25 + }, + "id": 102, + "interval": "1s", + "maxDataPoints": 1000, + "options": { + "legend": { + "calcs": [ + "mean", + "max", + "min" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "single", + "sort": "none" + } }, - "overrides": [ + "pluginVersion": "8.3.5", + "targets": [ { - "matcher": { - "id": "byRegexp", - "options": "/CPU Limit/" + "editorMode": "code", + "expr": "sum(rate(container_cpu_usage_seconds_total{k8s_cluster_id=\"${k8s_cluster}\",namespace=\"$namespace\", pod=~\"${k8s_proxy_pods}\", container=~\"pgbouncer|haproxy|proxysql|mongos\"}[$__rate_interval])) by (container,pod)", + "hide": false, + "legendFormat": "{{pod}} - CPU cores", + "range": true, + "refId": "CPU Used" + }, + { + "editorMode": "code", + "expr": "max(kube_pod_container_resource_limits{k8s_cluster_id=\"${k8s_cluster}\",namespace=\"$namespace\", pod=~\"${k8s_proxy_pods}\", container=~\"pgbouncer|haproxy|proxysql|mongos\",resource=\"cpu\"})", + "hide": false, + "legendFormat": "CPU Limit", + "range": true, + "refId": "A" + } + ], + "title": "CPU Usage", + "transformations": [ + { + "id": "filterByValue", + "options": { + "filters": [], + "match": "any", + "type": "include" + } + } + ], + "type": "timeseries" + }, + { + "description": "Number of bytes used by a container. \nMemory Limit is shown only if it is set in the Custom Resource (recommended).", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" }, - "properties": [ - { - "id": "custom.fillOpacity", - "value": 0 + "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "axisSoftMin": 0, + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 20, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false }, - { - "id": "color", - "value": { - "mode": "continuous-reds" - } + "lineInterpolation": "linear", + "lineWidth": 2, + "pointSize": 1, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" } - ] + }, + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "bytes" + }, + "overrides": [ + { + "matcher": { + "id": "byRegexp", + "options": "/Memory Limit/" + }, + "properties": [ + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "color", + "value": { + "mode": "continuous-reds" + } + } + ] + } + ] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 25 + }, + "id": 103, + "interval": "1s", + "maxDataPoints": 1000, + "options": { + "legend": { + "calcs": [ + "mean", + "max", + "min" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "single", + "sort": "none" } - ] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 25 - }, - "id": 102, - "interval": "1s", - "maxDataPoints": 1000, - "options": { - "legend": { - "calcs": [ - "mean", - "max", - "min" - ], - "displayMode": "table", - "placement": "bottom", - "showLegend": true }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "pluginVersion": "8.3.5", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" + "pluginVersion": "8.3.5", + "targets": [ + { + "editorMode": "code", + "expr": "sum(container_memory_working_set_bytes{k8s_cluster_id=\"${k8s_cluster}\",namespace=\"$namespace\", pod=~\"${k8s_proxy_pods}\", container=~\"pgbouncer|haproxy|proxysql|mongos\"}) by (container,pod)", + "hide": false, + "legendFormat": "{{pod}} - Bytes", + "range": true, + "refId": "Memory Used" }, - "editorMode": "code", - "expr": "sum(rate(container_cpu_usage_seconds_total{k8s_cluster_id=\"${k8s_cluster}\",namespace=\"$namespace\", pod=~\"${k8s_proxy_pods}\", container=~\"pgbouncer|haproxy|proxysql|mongos\"}[$__rate_interval])) by (container,pod)", - "hide": false, - "legendFormat": "{{pod}} - CPU cores", - "range": true, - "refId": "CPU Used" - }, - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" - }, - "editorMode": "code", - "expr": "max(kube_pod_container_resource_limits{k8s_cluster_id=\"${k8s_cluster}\",namespace=\"$namespace\", pod=~\"${k8s_proxy_pods}\", container=~\"pgbouncer|haproxy|proxysql|mongos\",resource=\"cpu\"})", - "hide": false, - "legendFormat": "CPU Limit", - "range": true, - "refId": "A" - } - ], - "title": "CPU Usage", - "transformations": [ - { - "id": "filterByValue", - "options": { - "filters": [], - "match": "any", - "type": "include" + { + "editorMode": "code", + "expr": "max(kube_pod_container_resource_limits{k8s_cluster_id=\"${k8s_cluster}\",namespace=\"$namespace\", pod=~\"${k8s_proxy_pods}\", container=~\"pgbouncer|haproxy|proxysql|mongos\", resource=\"memory\"}) ", + "hide": false, + "legendFormat": "Memory Limit", + "range": true, + "refId": "A" } - } - ], - "type": "timeseries" + ], + "title": "Memory Usage", + "type": "timeseries" + } + ], + "title": "Proxy Metrics", + "type": "row" + }, + { + "collapsed": true, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 25 }, - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" - }, - "description": "Number of bytes used by a container. \nMemory Limit is shown only if it is set in the Custom Resource (recommended).", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "axisSoftMin": 0, - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 20, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 2, - "pointSize": 1, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "min": 0, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null + "id": 71, + "panels": [ + { + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 20, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false }, - { - "color": "red", - "value": 80 + "lineInterpolation": "linear", + "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": "none" + }, + "overrides": [] + }, + "gridPos": { + "h": 7, + "w": 12, + "x": 0, + "y": 26 + }, + "id": 73, + "options": { + "legend": { + "calcs": [ + "mean", + "max", + "min" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true }, - "unit": "bytes" + "tooltip": { + "mode": "multi", + "sort": "desc" + } }, - "overrides": [ + "pluginVersion": "9.2.5", + "targets": [ { - "matcher": { - "id": "byRegexp", - "options": "/Memory Limit/" + "editorMode": "code", + "exemplar": false, + "expr": "kube_pod_container_status_restarts_total{k8s_cluster_id=\"${k8s_cluster}\",namespace=~\"${namespace}\",pod=~\"$k8s_db_pods\",container!~\"logs|logrotate\"} and on (pod) kube_pod_labels{label_app_kubernetes_io_managed_by=\"${k8s_db_type}\",label_app_kubernetes_io_instance=\"${k8s_db_cr}\"}", + "instant": false, + "interval": "", + "legendFormat": "{{pod}} ( {{container}} )", + "range": true, + "refId": "A" + } + ], + "title": "Container restarts", + "type": "timeseries" + }, + { + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" }, - "properties": [ - { - "id": "custom.fillOpacity", - "value": 0 + "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "axisSoftMin": 0, + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 20, + "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": [ { - "id": "color", - "value": { - "mode": "continuous-reds" - } + "options": { + "1": { + "index": 0, + "text": "ContainerCannotRun" + }, + "2": { + "index": 1, + "text": "OOM Killed" + }, + "3": { + "index": 2, + "text": "Completed" + }, + "4": { + "index": 3, + "text": "Error" + } + }, + "type": "value" } - ] + ], + "max": 4, + "min": 0, + "noValue": "No containers were terminated for this database", + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + } + ] + }, + "unit": "string" + }, + "overrides": [] + }, + "gridPos": { + "h": 7, + "w": 12, + "x": 12, + "y": 26 + }, + "id": 74, + "options": { + "legend": { + "calcs": [ + "mean", + "max", + "min" + ], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "desc" } - ] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 25 - }, - "id": 103, - "interval": "1s", - "maxDataPoints": 1000, - "options": { - "legend": { - "calcs": [ - "mean", - "max", - "min" - ], - "displayMode": "table", - "placement": "bottom", - "showLegend": true }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "pluginVersion": "8.3.5", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" + "pluginVersion": "9.2.20", + "targets": [ + { + "editorMode": "code", + "exemplar": false, + "expr": "kube_pod_container_status_last_terminated_reason{k8s_cluster_id=\"${k8s_cluster}\",namespace=\"${namespace}\",reason=\"ContainerCannotRun\"} and on (pod) kube_pod_labels{label_app_kubernetes_io_managed_by=\"${k8s_db_type}\",label_app_kubernetes_io_instance=\"${k8s_db_cr}\"}", + "format": "table", + "hide": false, + "instant": true, + "interval": "", + "legendFormat": "{{pod}} ( {{container}} )", + "range": false, + "refId": "ContainerCannotRun" }, - "editorMode": "code", - "expr": "sum(container_memory_working_set_bytes{k8s_cluster_id=\"${k8s_cluster}\",namespace=\"$namespace\", pod=~\"${k8s_proxy_pods}\", container=~\"pgbouncer|haproxy|proxysql|mongos\"}) by (container,pod)", - "hide": false, - "legendFormat": "{{pod}} - Bytes", - "range": true, - "refId": "Memory Used" - }, - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" - }, - "editorMode": "code", - "expr": "max(kube_pod_container_resource_limits{k8s_cluster_id=\"${k8s_cluster}\",namespace=\"$namespace\", pod=~\"${k8s_proxy_pods}\", container=~\"pgbouncer|haproxy|proxysql|mongos\", resource=\"memory\"}) ", - "hide": false, - "legendFormat": "Memory Limit", - "range": true, - "refId": "A" - } - ], - "title": "Memory Usage", - "type": "timeseries" - } - ], - "title": "Proxy Metrics", - "type": "row" - }, - { - "collapsed": true, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 25 - }, - "id": 71, - "panels": [ - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 20, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 2, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "never", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } + { + "editorMode": "code", + "exemplar": true, + "expr": "(kube_pod_container_status_last_terminated_reason{namespace=\"${namespace}\" ,reason=\"OOMKilled\"} and on (pod) kube_pod_labels{label_app_kubernetes_io_managed_by=\"${k8s_db_type}\",label_app_kubernetes_io_instance=\"${k8s_db_cr}\"})+1", + "hide": false, + "instant": false, + "interval": "", + "legendFormat": "{{pod}} ( {{container}} )", + "refId": "OOMKilled" }, - "mappings": [], - "min": 0, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green" - }, - { - "color": "red", - "value": 80 - } - ] + { + "editorMode": "code", + "exemplar": true, + "expr": "(kube_pod_container_status_last_terminated_reason{namespace=\"${namespace}\" ,reason=\"Completed\"} and on (pod) kube_pod_labels{label_app_kubernetes_io_managed_by=\"${k8s_db_type}\",label_app_kubernetes_io_instance=\"${k8s_db_cr}\"})+2", + "hide": false, + "instant": false, + "interval": "", + "legendFormat": "{{pod}} ( {{container}} )", + "refId": "Completed" }, - "unit": "none" - }, - "overrides": [] - }, - "gridPos": { - "h": 7, - "w": 12, - "x": 0, - "y": 26 - }, - "id": 73, - "options": { - "legend": { - "calcs": [ - "mean", - "max", - "min" - ], - "displayMode": "table", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "multi", - "sort": "desc" - } - }, - "pluginVersion": "9.2.5", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" - }, - "editorMode": "code", - "exemplar": false, - "expr": "kube_pod_container_status_restarts_total{k8s_cluster_id=\"${k8s_cluster}\",namespace=~\"${namespace}\",pod=~\"$k8s_db_pods\",container!~\"logs|logrotate\"} and on (pod) kube_pod_labels{label_app_kubernetes_io_managed_by=\"${k8s_db_type}\",label_app_kubernetes_io_instance=\"${k8s_db_cr}\"}", - "instant": false, - "interval": "", - "legendFormat": "{{pod}} ( {{container}} )", - "range": true, - "refId": "A" - } - ], - "title": "Container restarts", - "type": "timeseries" + { + "editorMode": "code", + "exemplar": true, + "expr": "(kube_pod_container_status_last_terminated_reason{namespace=\"${namespace}\" ,reason=\"Error\"} and on (pod) kube_pod_labels{label_app_kubernetes_io_managed_by=\"${k8s_db_type}\",label_app_kubernetes_io_instance=\"${k8s_db_cr}\"})+3", + "hide": false, + "instant": false, + "interval": "", + "legendFormat": "{{pod}} ( {{container}} )", + "refId": "Error" + } + ], + "title": "Last Terminated Reason", + "transformations": [], + "type": "timeseries" + } + ], + "title": "Error Details", + "type": "row" + }, + { + "collapsed": true, + "datasource": { + "type": "datasource", + "uid": "grafana" }, - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "axisSoftMin": 0, - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 20, - "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" - } + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 26 + }, + "id": 47, + "panels": [ + { + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "left", + "displayMode": "auto", + "filterable": true, + "inspect": false + }, + "decimals": 2, + "displayName": "", + "mappings": [ + { + "options": { + "Bound": { + "color": "dark-green", + "index": 0 + }, + "Lost": { + "color": "red", + "index": 1 + }, + "Pending": { + "color": "orange", + "index": 2 + } + }, + "type": "value" + } + ], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + } + ] + }, + "unit": "short" }, - "mappings": [ + "overrides": [ { - "options": { - "1": { - "index": 0, - "text": "ContainerCannotRun" - }, - "2": { - "index": 1, - "text": "OOM Killed" - }, - "3": { - "index": 2, - "text": "Completed" - }, - "4": { - "index": 3, - "text": "Error" + "matcher": { + "id": "byName", + "options": "Time" + }, + "properties": [ + { + "id": "custom.width", + "value": 175 } + ] + }, + { + "matcher": { + "id": "byName", + "options": "namespace" }, - "type": "value" - } - ], - "max": 4, - "min": 0, - "noValue": "No containers were terminated for this database", - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green" - } - ] - }, - "unit": "string" - }, - "overrides": [] - }, - "gridPos": { - "h": 7, - "w": 12, - "x": 12, - "y": 26 - }, - "id": 74, - "options": { - "legend": { - "calcs": [ - "mean", - "max", - "min" - ], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "multi", - "sort": "desc" - } - }, - "pluginVersion": "9.2.20", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" - }, - "editorMode": "code", - "exemplar": false, - "expr": "kube_pod_container_status_last_terminated_reason{k8s_cluster_id=\"${k8s_cluster}\",namespace=\"${namespace}\",reason=\"ContainerCannotRun\"} and on (pod) kube_pod_labels{label_app_kubernetes_io_managed_by=\"${k8s_db_type}\",label_app_kubernetes_io_instance=\"${k8s_db_cr}\"}", - "format": "table", - "hide": false, - "instant": true, - "interval": "", - "legendFormat": "{{pod}} ( {{container}} )", - "range": false, - "refId": "ContainerCannotRun" - }, - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" - }, - "editorMode": "code", - "exemplar": true, - "expr": "(kube_pod_container_status_last_terminated_reason{namespace=\"${namespace}\" ,reason=\"OOMKilled\"} and on (pod) kube_pod_labels{label_app_kubernetes_io_managed_by=\"${k8s_db_type}\",label_app_kubernetes_io_instance=\"${k8s_db_cr}\"})+1", - "hide": false, - "instant": false, - "interval": "", - "legendFormat": "{{pod}} ( {{container}} )", - "refId": "OOMKilled" - }, - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" - }, - "editorMode": "code", - "exemplar": true, - "expr": "(kube_pod_container_status_last_terminated_reason{namespace=\"${namespace}\" ,reason=\"Completed\"} and on (pod) kube_pod_labels{label_app_kubernetes_io_managed_by=\"${k8s_db_type}\",label_app_kubernetes_io_instance=\"${k8s_db_cr}\"})+2", - "hide": false, - "instant": false, - "interval": "", - "legendFormat": "{{pod}} ( {{container}} )", - "refId": "Completed" - }, - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" - }, - "editorMode": "code", - "exemplar": true, - "expr": "(kube_pod_container_status_last_terminated_reason{namespace=\"${namespace}\" ,reason=\"Error\"} and on (pod) kube_pod_labels{label_app_kubernetes_io_managed_by=\"${k8s_db_type}\",label_app_kubernetes_io_instance=\"${k8s_db_cr}\"})+3", - "hide": false, - "instant": false, - "interval": "", - "legendFormat": "{{pod}} ( {{container}} )", - "refId": "Error" - } - ], - "title": "Last Terminated Reason", - "transformations": [], - "type": "timeseries" - } - ], - "title": "Error Details", - "type": "row" - }, - { - "collapsed": true, - "datasource": { - "type": "datasource", - "uid": "grafana" - }, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 26 - }, - "id": 47, - "panels": [ - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "custom": { - "align": "left", - "displayMode": "auto", - "filterable": true, - "inspect": false - }, - "decimals": 2, - "displayName": "", - "mappings": [ + "properties": [ + { + "id": "custom.width", + "value": 133 + } + ] + }, { - "options": { - "Bound": { - "color": "dark-green", - "index": 0 - }, - "Lost": { - "color": "red", - "index": 1 + "matcher": { + "id": "byName", + "options": "persistentvolumeclaim" + }, + "properties": [ + { + "id": "custom.width", + "value": 261 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "storageclass" + }, + "properties": [ + { + "id": "custom.width", + "value": 162 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "volumename" + }, + "properties": [ + { + "id": "custom.width", + "value": 190 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Value #B" + }, + "properties": [ + { + "id": "unit", + "value": "decbytes" }, - "Pending": { - "color": "orange", - "index": 2 + { + "id": "displayName", + "value": "Capacity" } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Capacity" }, - "type": "value" + "properties": [ + { + "id": "custom.width", + "value": 169 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "phase" + }, + "properties": [ + { + "id": "custom.width", + "value": 157 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "phase" + }, + "properties": [ + { + "id": "custom.displayMode", + "value": "color-background-solid" + } + ] } - ], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green" - } - ] + ] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 27 + }, + "id": 88, + "links": [], + "options": { + "footer": { + "enablePagination": false, + "fields": "", + "reducer": [ + "sum" + ], + "show": false }, - "unit": "short" + "frameIndex": 0, + "showHeader": true, + "sortBy": [] }, - "overrides": [ - { - "matcher": { - "id": "byName", - "options": "Time" - }, - "properties": [ - { - "id": "custom.width", - "value": 175 - } - ] - }, + "pluginVersion": "9.2.20", + "targets": [ { - "matcher": { - "id": "byName", - "options": "namespace" - }, - "properties": [ - { - "id": "custom.width", - "value": 133 - } - ] + "editorMode": "code", + "exemplar": false, + "expr": "label_keep((kube_persistentvolumeclaim_info{k8s_cluster_id=\"$k8s_cluster\",namespace=\"$namespace\"} and on (persistentvolumeclaim) kube_persistentvolumeclaim_labels{k8s_cluster_id=\"$k8s_cluster\",namespace=\"$namespace\",label_app_kubernetes_io_managed_by=\"${k8s_db_type}\",label_app_kubernetes_io_instance=\"${k8s_db_cr}\"}),\"persistentvolumeclaim\",\"storageclass\")", + "format": "table", + "hide": false, + "instant": true, + "range": false, + "refId": "E" }, { - "matcher": { - "id": "byName", - "options": "persistentvolumeclaim" - }, - "properties": [ - { - "id": "custom.width", - "value": 261 - } - ] + "editorMode": "code", + "expr": "max by (persistentvolumeclaim,namespace) (kubelet_volume_stats_capacity_bytes{k8s_cluster_id=\"$k8s_cluster\",namespace=~\"${namespace}\"} and on (persistentvolumeclaim) kube_persistentvolumeclaim_labels{k8s_cluster_id=\"$k8s_cluster\",namespace=\"$namespace\",label_app_kubernetes_io_managed_by=\"${k8s_db_type}\",label_app_kubernetes_io_instance=\"${k8s_db_cr}\"},\"namespace\")", + "format": "table", + "hide": false, + "instant": true, + "refId": "B" }, { - "matcher": { - "id": "byName", - "options": "storageclass" - }, - "properties": [ - { - "id": "custom.width", - "value": 162 - } - ] - }, + "editorMode": "code", + "exemplar": false, + "expr": "label_keep(kube_persistentvolumeclaim_status_phase{namespace=~\"${namespace}\"} and on (persistentvolumeclaim) kube_persistentvolumeclaim_labels{label_app_kubernetes_io_managed_by=\"${k8s_db_type}\",label_app_kubernetes_io_instance=\"${k8s_db_cr}\"},\"persistentvolumeclaim\",\"phase\") !=0", + "format": "table", + "hide": false, + "instant": true, + "legendFormat": "{{Status}}", + "range": false, + "refId": "Status" + } + ], + "title": "PVC Stats", + "transformations": [ { - "matcher": { - "id": "byName", - "options": "volumename" - }, - "properties": [ - { - "id": "custom.width", - "value": 190 - } - ] + "id": "joinByField", + "options": { + "byField": "persistentvolumeclaim", + "mode": "inner" + } }, { - "matcher": { - "id": "byName", - "options": "Value #B" + "id": "organize", + "options": { + "excludeByName": { + "Time 1": true, + "Time 2": true, + "Time 3": true, + "Value #E": true, + "Value #Status": true, + "namespace": true + }, + "indexByName": {}, + "renameByName": {} + } + } + ], + "type": "table" + }, + { + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" }, - "properties": [ - { - "id": "unit", - "value": "decbytes" + "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 20, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false }, - { - "id": "displayName", - "value": "Capacity" + "lineInterpolation": "linear", + "lineWidth": 2, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" } - ] - }, - { - "matcher": { - "id": "byName", - "options": "Capacity" }, - "properties": [ - { - "id": "custom.width", - "value": 169 - } - ] - }, - { - "matcher": { - "id": "byName", - "options": "phase" + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] }, - "properties": [ - { - "id": "custom.width", - "value": 157 - } - ] + "unit": "binBps" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 27 + }, + "id": 68, + "options": { + "legend": { + "calcs": [ + "mean", + "max", + "min" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true }, - { - "matcher": { - "id": "byName", - "options": "phase" - }, - "properties": [ - { - "id": "custom.displayMode", - "value": "color-background-solid" - } - ] + "tooltip": { + "mode": "multi", + "sort": "desc" } - ] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 27 - }, - "id": 88, - "links": [], - "options": { - "footer": { - "enablePagination": false, - "fields": "", - "reducer": [ - "sum" - ], - "show": false }, - "frameIndex": 0, - "showHeader": true, - "sortBy": [] - }, - "pluginVersion": "9.2.20", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" - }, - "editorMode": "code", - "exemplar": false, - "expr": "label_keep((kube_persistentvolumeclaim_info{k8s_cluster_id=\"$k8s_cluster\",namespace=\"$namespace\"} and on (persistentvolumeclaim) kube_persistentvolumeclaim_labels{k8s_cluster_id=\"$k8s_cluster\",namespace=\"$namespace\",label_app_kubernetes_io_managed_by=\"${k8s_db_type}\",label_app_kubernetes_io_instance=\"${k8s_db_cr}\"}),\"persistentvolumeclaim\",\"storageclass\")", - "format": "table", - "hide": false, - "instant": true, - "range": false, - "refId": "E" - }, - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" - }, - "editorMode": "code", - "expr": "max by (persistentvolumeclaim,namespace) (kubelet_volume_stats_capacity_bytes{k8s_cluster_id=\"$k8s_cluster\",namespace=~\"${namespace}\"} and on (persistentvolumeclaim) kube_persistentvolumeclaim_labels{k8s_cluster_id=\"$k8s_cluster\",namespace=\"$namespace\",label_app_kubernetes_io_managed_by=\"${k8s_db_type}\",label_app_kubernetes_io_instance=\"${k8s_db_cr}\"},\"namespace\")", - "format": "table", - "hide": false, - "instant": true, - "refId": "B" - }, - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" - }, - "editorMode": "code", - "exemplar": false, - "expr": "label_keep(kube_persistentvolumeclaim_status_phase{namespace=~\"${namespace}\"} and on (persistentvolumeclaim) kube_persistentvolumeclaim_labels{label_app_kubernetes_io_managed_by=\"${k8s_db_type}\",label_app_kubernetes_io_instance=\"${k8s_db_cr}\"},\"persistentvolumeclaim\",\"phase\") !=0", - "format": "table", - "hide": false, - "instant": true, - "legendFormat": "{{Status}}", - "range": false, - "refId": "Status" - } - ], - "title": "PVC Stats", - "transformations": [ - { - "id": "joinByField", - "options": { - "byField": "persistentvolumeclaim", - "mode": "inner" + "pluginVersion": "9.2.5", + "targets": [ + { + "editorMode": "code", + "exemplar": true, + "expr": "rate(kubelet_volume_stats_used_bytes{k8s_cluster_id=\"${k8s_cluster}\",namespace=~\"${namespace}\"} and on (persistentvolumeclaim) kube_persistentvolumeclaim_labels{label_app_kubernetes_io_managed_by=\"${k8s_db_type}\",label_app_kubernetes_io_instance=\"${k8s_db_cr}\"}[60s])", + "instant": false, + "interval": "", + "legendFormat": "{{persistentvolumeclaim}}", + "refId": "A" } + ], + "title": "Volume Usage Rate /min", + "type": "timeseries" + } + ], + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "grafana" }, - { - "id": "organize", - "options": { - "excludeByName": { - "Time 1": true, - "Time 2": true, - "Time 3": true, - "Value #E": true, - "Value #Status": true, - "namespace": true - }, - "indexByName": {}, - "renameByName": {} - } - } - ], - "type": "table" + "refId": "A" + } + ], + "title": "Volumes", + "type": "row" + }, + { + "collapsed": true, + "datasource": { + "type": "datasource", + "uid": "grafana" }, - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 20, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "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" + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 27 + }, + "id": 45, + "panels": [ + { + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 20, + "gradientMode": "opacity", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false }, - { - "color": "red", - "value": 80 - } - ] - }, - "unit": "binBps" - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 27 - }, - "id": 68, - "options": { - "legend": { - "calcs": [ - "mean", - "max", - "min" - ], - "displayMode": "table", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "multi", - "sort": "desc" - } - }, - "pluginVersion": "9.2.5", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" - }, - "editorMode": "code", - "exemplar": true, - "expr": "rate(kubelet_volume_stats_used_bytes{k8s_cluster_id=\"${k8s_cluster}\",namespace=~\"${namespace}\"} and on (persistentvolumeclaim) kube_persistentvolumeclaim_labels{label_app_kubernetes_io_managed_by=\"${k8s_db_type}\",label_app_kubernetes_io_instance=\"${k8s_db_cr}\"}[60s])", - "instant": false, - "interval": "", - "legendFormat": "{{persistentvolumeclaim}}", - "refId": "A" - } - ], - "title": "Volume Usage Rate /min", - "type": "timeseries" - } - ], - "targets": [ - { - "datasource": { - "type": "datasource", - "uid": "grafana" - }, - "refId": "A" - } - ], - "title": "Volumes", - "type": "row" - }, - { - "collapsed": true, - "datasource": { - "type": "datasource", - "uid": "grafana" - }, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 27 - }, - "id": 45, - "panels": [ - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 20, - "gradientMode": "opacity", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "smooth", - "lineWidth": 2, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "never", - "spanNulls": true, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green" + "lineInterpolation": "smooth", + "lineWidth": 2, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" }, - { - "color": "red", - "value": 80 + "showPoints": "never", + "spanNulls": true, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" } - ] + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "bytes" + }, + "overrides": [] + }, + "gridPos": { + "h": 7, + "w": 12, + "x": 0, + "y": 28 + }, + "id": 31, + "options": { + "legend": { + "calcs": [ + "mean", + "max", + "min" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true }, - "unit": "bytes" - }, - "overrides": [] - }, - "gridPos": { - "h": 7, - "w": 12, - "x": 0, - "y": 28 - }, - "id": 31, - "options": { - "legend": { - "calcs": [ - "mean", - "max", - "min" - ], - "displayMode": "table", - "placement": "bottom", - "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{k8s_cluster_id=\"${k8s_cluster}\",namespace=\"$namespace\", pod=~\"$k8s_db_pods\"}[$__rate_interval])) by (pod)", - "interval": "", - "legendFormat": "{{pod}}(Recieved)", - "range": true, - "refId": "A" + "tooltip": { + "mode": "multi", + "sort": "none" + } }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "editorMode": "code", - "exemplar": true, - "expr": "- sum(rate(container_network_transmit_bytes_total{k8s_cluster_id=\"${k8s_cluster}\",namespace=\"$namespace\", pod=~\"$k8s_db_pods\"}[$__rate_interval])) by (pod)", - "interval": "", - "legendFormat": "{{pod}}(Transmitted)", - "range": true, - "refId": "B" - } - ], - "title": "Database - Network - Bandwidth", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 20, - "gradientMode": "opacity", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "smooth", - "lineWidth": 2, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "never", - "spanNulls": true, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } + "pluginVersion": "8.3.3", + "targets": [ + { + "editorMode": "code", + "exemplar": true, + "expr": "sum(rate(container_network_receive_bytes_total{k8s_cluster_id=\"${k8s_cluster}\",namespace=\"$namespace\", pod=~\"$k8s_db_pods\"}[$__rate_interval])) by (pod)", + "interval": "", + "legendFormat": "{{pod}}(Recieved)", + "range": true, + "refId": "A" }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green" + { + "editorMode": "code", + "exemplar": true, + "expr": "- sum(rate(container_network_transmit_bytes_total{k8s_cluster_id=\"${k8s_cluster}\",namespace=\"$namespace\", pod=~\"$k8s_db_pods\"}[$__rate_interval])) by (pod)", + "interval": "", + "legendFormat": "{{pod}}(Transmitted)", + "range": true, + "refId": "B" + } + ], + "title": "Database - Network - Bandwidth", + "type": "timeseries" + }, + { + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 20, + "gradientMode": "opacity", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false }, - { - "color": "red", - "value": 80 + "lineInterpolation": "smooth", + "lineWidth": 2, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": true, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" } - ] + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "pps" + }, + "overrides": [] + }, + "gridPos": { + "h": 7, + "w": 12, + "x": 12, + "y": 28 + }, + "id": 34, + "options": { + "legend": { + "calcs": [ + "mean", + "max", + "min" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true }, - "unit": "pps" - }, - "overrides": [] - }, - "gridPos": { - "h": 7, - "w": 12, - "x": 12, - "y": 28 - }, - "id": 34, - "options": { - "legend": { - "calcs": [ - "mean", - "max", - "min" - ], - "displayMode": "table", - "placement": "bottom", - "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{k8s_cluster_id=\"${k8s_cluster}\",namespace=\"$namespace\", pod=~\"$k8s_db_pods\"}[$__rate_interval])) by (pod)", - "interval": "", - "legendFormat": "{{pod}} (Received )", - "range": true, - "refId": "A" + "tooltip": { + "mode": "multi", + "sort": "none" + } }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "editorMode": "code", - "exemplar": true, - "expr": "- sum(rate(container_network_transmit_packets_total{k8s_cluster_id=\"${k8s_cluster}\",namespace=\"$namespace\", pod=~\"$k8s_db_pods\"}[$__rate_interval])) by (pod)", - "interval": "", - "legendFormat": "{{pod}} {Transmitted)", - "range": true, - "refId": "B" - } - ], - "title": "Database - Network - Packets", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 20, - "gradientMode": "opacity", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "smooth", - "lineWidth": 2, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "never", - "spanNulls": true, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } + "pluginVersion": "8.3.3", + "targets": [ + { + "editorMode": "code", + "exemplar": true, + "expr": "sum(rate(container_network_receive_packets_total{k8s_cluster_id=\"${k8s_cluster}\",namespace=\"$namespace\", pod=~\"$k8s_db_pods\"}[$__rate_interval])) by (pod)", + "interval": "", + "legendFormat": "{{pod}} (Received )", + "range": true, + "refId": "A" }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green" + { + "editorMode": "code", + "exemplar": true, + "expr": "- sum(rate(container_network_transmit_packets_total{k8s_cluster_id=\"${k8s_cluster}\",namespace=\"$namespace\", pod=~\"$k8s_db_pods\"}[$__rate_interval])) by (pod)", + "interval": "", + "legendFormat": "{{pod}} {Transmitted)", + "range": true, + "refId": "B" + } + ], + "title": "Database - Network - Packets", + "type": "timeseries" + }, + { + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 20, + "gradientMode": "opacity", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false }, - { - "color": "red", - "value": 80 + "lineInterpolation": "smooth", + "lineWidth": 2, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": true, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" } - ] + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "pps" + }, + "overrides": [] + }, + "gridPos": { + "h": 7, + "w": 12, + "x": 0, + "y": 35 + }, + "id": 36, + "options": { + "legend": { + "calcs": [ + "mean", + "max", + "min" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true }, - "unit": "pps" - }, - "overrides": [] - }, - "gridPos": { - "h": 7, - "w": 12, - "x": 0, - "y": 35 - }, - "id": 36, - "options": { - "legend": { - "calcs": [ - "mean", - "max", - "min" - ], - "displayMode": "table", - "placement": "bottom", - "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{k8s_cluster_id=\"${k8s_cluster}\",namespace=\"$namespace\", pod=~\"$k8s_db_pods\"}[$__rate_interval])) by (pod)", - "interval": "", - "legendFormat": "{{pod}}(Received)", - "range": true, - "refId": "A" + "tooltip": { + "mode": "multi", + "sort": "none" + } }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "editorMode": "code", - "exemplar": true, - "expr": "- sum(rate(container_network_transmit_packets_dropped_total{k8s_cluster_id=\"${k8s_cluster}\",namespace=\"$namespace\", pod=~\"$k8s_db_pods\"}[$__rate_interval])) by (pod)", - "interval": "", - "legendFormat": "{{pod}}(Transmitted)", - "range": true, - "refId": "B" - } - ], - "title": "Database - Network - Packets Dropped", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 20, - "gradientMode": "opacity", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "smooth", - "lineWidth": 2, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "never", - "spanNulls": true, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } + "pluginVersion": "8.3.3", + "targets": [ + { + "editorMode": "code", + "exemplar": true, + "expr": "sum(rate(container_network_receive_packets_dropped_total{k8s_cluster_id=\"${k8s_cluster}\",namespace=\"$namespace\", pod=~\"$k8s_db_pods\"}[$__rate_interval])) by (pod)", + "interval": "", + "legendFormat": "{{pod}}(Received)", + "range": true, + "refId": "A" }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green" + { + "editorMode": "code", + "exemplar": true, + "expr": "- sum(rate(container_network_transmit_packets_dropped_total{k8s_cluster_id=\"${k8s_cluster}\",namespace=\"$namespace\", pod=~\"$k8s_db_pods\"}[$__rate_interval])) by (pod)", + "interval": "", + "legendFormat": "{{pod}}(Transmitted)", + "range": true, + "refId": "B" + } + ], + "title": "Database - Network - Packets Dropped", + "type": "timeseries" + }, + { + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 20, + "gradientMode": "opacity", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false }, - { - "color": "red", - "value": 80 + "lineInterpolation": "smooth", + "lineWidth": 2, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": true, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" } - ] + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "pps" + }, + "overrides": [] + }, + "gridPos": { + "h": 7, + "w": 12, + "x": 12, + "y": 35 + }, + "id": 37, + "options": { + "legend": { + "calcs": [ + "mean", + "max", + "min" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true }, - "unit": "pps" - }, - "overrides": [] - }, - "gridPos": { - "h": 7, - "w": 12, - "x": 12, - "y": 35 - }, - "id": 37, - "options": { - "legend": { - "calcs": [ - "mean", - "max", - "min" - ], - "displayMode": "table", - "placement": "bottom", - "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{k8s_cluster_id=\"${k8s_cluster}\",namespace=\"$namespace\", pod=~\"$k8s_db_pods\"}[$__rate_interval])) by (pod)", - "interval": "", - "legendFormat": "{{pod}}(Received)", - "range": true, - "refId": "A" + "tooltip": { + "mode": "multi", + "sort": "none" + } }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "editorMode": "code", - "exemplar": true, - "expr": "- sum(rate(container_network_transmit_errors_total{k8s_cluster_id=\"${k8s_cluster}\",namespace=\"$namespace\", pod=~\"$k8s_db_pods\"}[$__rate_interval])) by (pod)", - "interval": "", - "legendFormat": "{{pod}}(Transmitted)", - "range": true, - "refId": "B" - } - ], - "title": "Database - Network - Errors", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 20, - "gradientMode": "opacity", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "smooth", - "lineWidth": 2, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "never", - "spanNulls": true, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } + "pluginVersion": "8.3.3", + "targets": [ + { + "editorMode": "code", + "exemplar": true, + "expr": "sum(rate(container_network_receive_errors_total{k8s_cluster_id=\"${k8s_cluster}\",namespace=\"$namespace\", pod=~\"$k8s_db_pods\"}[$__rate_interval])) by (pod)", + "interval": "", + "legendFormat": "{{pod}}(Received)", + "range": true, + "refId": "A" }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green" + { + "editorMode": "code", + "exemplar": true, + "expr": "- sum(rate(container_network_transmit_errors_total{k8s_cluster_id=\"${k8s_cluster}\",namespace=\"$namespace\", pod=~\"$k8s_db_pods\"}[$__rate_interval])) by (pod)", + "interval": "", + "legendFormat": "{{pod}}(Transmitted)", + "range": true, + "refId": "B" + } + ], + "title": "Database - Network - Errors", + "type": "timeseries" + }, + { + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 20, + "gradientMode": "opacity", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false }, - { - "color": "red", - "value": 80 + "lineInterpolation": "smooth", + "lineWidth": 2, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": true, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" } - ] + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "bytes" + }, + "overrides": [] + }, + "gridPos": { + "h": 7, + "w": 12, + "x": 0, + "y": 42 + }, + "id": 104, + "options": { + "legend": { + "calcs": [ + "mean", + "max", + "min" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true }, - "unit": "bytes" - }, - "overrides": [] - }, - "gridPos": { - "h": 7, - "w": 12, - "x": 0, - "y": 42 - }, - "id": 104, - "options": { - "legend": { - "calcs": [ - "mean", - "max", - "min" - ], - "displayMode": "table", - "placement": "bottom", - "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{k8s_cluster_id=\"${k8s_cluster}\",namespace=\"$namespace\", pod=~\"$k8s_proxy_pods\"}[$__rate_interval])) by (pod)", - "interval": "", - "legendFormat": "{{pod}}(Recieved)", - "range": true, - "refId": "A" + "tooltip": { + "mode": "multi", + "sort": "none" + } }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "editorMode": "code", - "exemplar": true, - "expr": "- sum(rate(container_network_transmit_bytes_total{k8s_cluster_id=\"${k8s_cluster}\",namespace=\"$namespace\", pod=~\"$k8s_proxy_pods\"}[$__rate_interval])) by (pod)", - "interval": "", - "legendFormat": "{{pod}}(Transmitted)", - "range": true, - "refId": "B" - } - ], - "title": "Proxy - Network - Bandwidth", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 20, - "gradientMode": "opacity", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "smooth", - "lineWidth": 2, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "never", - "spanNulls": true, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } + "pluginVersion": "8.3.3", + "targets": [ + { + "editorMode": "code", + "exemplar": true, + "expr": "sum(rate(container_network_receive_bytes_total{k8s_cluster_id=\"${k8s_cluster}\",namespace=\"$namespace\", pod=~\"$k8s_proxy_pods\"}[$__rate_interval])) by (pod)", + "interval": "", + "legendFormat": "{{pod}}(Recieved)", + "range": true, + "refId": "A" }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green" + { + "editorMode": "code", + "exemplar": true, + "expr": "- sum(rate(container_network_transmit_bytes_total{k8s_cluster_id=\"${k8s_cluster}\",namespace=\"$namespace\", pod=~\"$k8s_proxy_pods\"}[$__rate_interval])) by (pod)", + "interval": "", + "legendFormat": "{{pod}}(Transmitted)", + "range": true, + "refId": "B" + } + ], + "title": "Proxy - Network - Bandwidth", + "type": "timeseries" + }, + { + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 20, + "gradientMode": "opacity", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false }, - { - "color": "red", - "value": 80 + "lineInterpolation": "smooth", + "lineWidth": 2, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": true, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" } - ] + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "pps" + }, + "overrides": [] + }, + "gridPos": { + "h": 7, + "w": 12, + "x": 12, + "y": 42 + }, + "id": 105, + "options": { + "legend": { + "calcs": [ + "mean", + "max", + "min" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true }, - "unit": "pps" - }, - "overrides": [] - }, - "gridPos": { - "h": 7, - "w": 12, - "x": 12, - "y": 42 - }, - "id": 105, - "options": { - "legend": { - "calcs": [ - "mean", - "max", - "min" - ], - "displayMode": "table", - "placement": "bottom", - "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{k8s_cluster_id=\"${k8s_cluster}\",namespace=\"$namespace\", pod=~\"$k8s_proxy_pods\"}[$__rate_interval])) by (pod)", - "interval": "", - "legendFormat": "{{pod}} (Received )", - "range": true, - "refId": "A" + "tooltip": { + "mode": "multi", + "sort": "none" + } }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "editorMode": "code", - "exemplar": true, - "expr": "- sum(rate(container_network_transmit_packets_total{k8s_cluster_id=\"${k8s_cluster}\",namespace=\"$namespace\", pod=~\"$k8s_proxy_pods\"}[$__rate_interval])) by (pod)", - "interval": "", - "legendFormat": "{{pod}} {Transmitted)", - "range": true, - "refId": "B" - } - ], - "title": "Proxy - Network - Packets", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 20, - "gradientMode": "opacity", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "smooth", - "lineWidth": 2, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "never", - "spanNulls": true, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } + "pluginVersion": "8.3.3", + "targets": [ + { + "editorMode": "code", + "exemplar": true, + "expr": "sum(rate(container_network_receive_packets_total{k8s_cluster_id=\"${k8s_cluster}\",namespace=\"$namespace\", pod=~\"$k8s_proxy_pods\"}[$__rate_interval])) by (pod)", + "interval": "", + "legendFormat": "{{pod}} (Received )", + "range": true, + "refId": "A" }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green" + { + "editorMode": "code", + "exemplar": true, + "expr": "- sum(rate(container_network_transmit_packets_total{k8s_cluster_id=\"${k8s_cluster}\",namespace=\"$namespace\", pod=~\"$k8s_proxy_pods\"}[$__rate_interval])) by (pod)", + "interval": "", + "legendFormat": "{{pod}} {Transmitted)", + "range": true, + "refId": "B" + } + ], + "title": "Proxy - Network - Packets", + "type": "timeseries" + }, + { + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 20, + "gradientMode": "opacity", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false }, - { - "color": "red", - "value": 80 + "lineInterpolation": "smooth", + "lineWidth": 2, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": true, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" } - ] + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "pps" + }, + "overrides": [] + }, + "gridPos": { + "h": 7, + "w": 12, + "x": 0, + "y": 49 + }, + "id": 106, + "options": { + "legend": { + "calcs": [ + "mean", + "max", + "min" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true }, - "unit": "pps" - }, - "overrides": [] - }, - "gridPos": { - "h": 7, - "w": 12, - "x": 0, - "y": 49 - }, - "id": 106, - "options": { - "legend": { - "calcs": [ - "mean", - "max", - "min" - ], - "displayMode": "table", - "placement": "bottom", - "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{k8s_cluster_id=\"${k8s_cluster}\",namespace=\"$namespace\", pod=~\"$k8s_proxy_pods\"}[$__rate_interval])) by (pod)", - "interval": "", - "legendFormat": "{{pod}}(Received)", - "range": true, - "refId": "A" + "tooltip": { + "mode": "multi", + "sort": "none" + } }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "editorMode": "code", - "exemplar": true, - "expr": "- sum(rate(container_network_transmit_packets_dropped_total{k8s_cluster_id=\"${k8s_cluster}\",namespace=\"$namespace\", pod=~\"$k8s_proxy_pods\"}[$__rate_interval])) by (pod)", - "interval": "", - "legendFormat": "{{pod}}(Transmitted)", - "range": true, - "refId": "B" - } - ], - "title": "Proxy - Network - Packets Dropped", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 20, - "gradientMode": "opacity", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "smooth", - "lineWidth": 2, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "never", - "spanNulls": true, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } + "pluginVersion": "8.3.3", + "targets": [ + { + "editorMode": "code", + "exemplar": true, + "expr": "sum(rate(container_network_receive_packets_dropped_total{k8s_cluster_id=\"${k8s_cluster}\",namespace=\"$namespace\", pod=~\"$k8s_proxy_pods\"}[$__rate_interval])) by (pod)", + "interval": "", + "legendFormat": "{{pod}}(Received)", + "range": true, + "refId": "A" }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green" + { + "editorMode": "code", + "exemplar": true, + "expr": "- sum(rate(container_network_transmit_packets_dropped_total{k8s_cluster_id=\"${k8s_cluster}\",namespace=\"$namespace\", pod=~\"$k8s_proxy_pods\"}[$__rate_interval])) by (pod)", + "interval": "", + "legendFormat": "{{pod}}(Transmitted)", + "range": true, + "refId": "B" + } + ], + "title": "Proxy - Network - Packets Dropped", + "type": "timeseries" + }, + { + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 20, + "gradientMode": "opacity", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false }, - { - "color": "red", - "value": 80 + "lineInterpolation": "smooth", + "lineWidth": 2, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": true, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" } - ] + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "pps" + }, + "overrides": [] + }, + "gridPos": { + "h": 7, + "w": 12, + "x": 12, + "y": 49 + }, + "id": 107, + "options": { + "legend": { + "calcs": [ + "mean", + "max", + "min" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true }, - "unit": "pps" - }, - "overrides": [] - }, - "gridPos": { - "h": 7, - "w": 12, - "x": 12, - "y": 49 - }, - "id": 107, - "options": { - "legend": { - "calcs": [ - "mean", - "max", - "min" - ], - "displayMode": "table", - "placement": "bottom", - "showLegend": true + "tooltip": { + "mode": "multi", + "sort": "none" + } }, - "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{k8s_cluster_id=\"${k8s_cluster}\",namespace=\"$namespace\", pod=~\"$k8s_proxy_pods\"}[$__rate_interval])) by (pod)", - "interval": "", - "legendFormat": "{{pod}}(Received)", - "range": true, - "refId": "A" + "pluginVersion": "8.3.3", + "targets": [ + { + "editorMode": "code", + "exemplar": true, + "expr": "sum(rate(container_network_receive_errors_total{k8s_cluster_id=\"${k8s_cluster}\",namespace=\"$namespace\", pod=~\"$k8s_proxy_pods\"}[$__rate_interval])) by (pod)", + "interval": "", + "legendFormat": "{{pod}}(Received)", + "range": true, + "refId": "A" + }, + { + "editorMode": "code", + "exemplar": true, + "expr": "- sum(rate(container_network_transmit_errors_total{k8s_cluster_id=\"${k8s_cluster}\",namespace=\"$namespace\", pod=~\"$k8s_proxy_pods\"}[$__rate_interval])) by (pod)", + "interval": "", + "legendFormat": "{{pod}}(Transmitted)", + "range": true, + "refId": "B" + } + ], + "title": "Proxy - Network - Errors", + "type": "timeseries" + } + ], + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "grafana" }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "editorMode": "code", - "exemplar": true, - "expr": "- sum(rate(container_network_transmit_errors_total{k8s_cluster_id=\"${k8s_cluster}\",namespace=\"$namespace\", pod=~\"$k8s_proxy_pods\"}[$__rate_interval])) by (pod)", - "interval": "", - "legendFormat": "{{pod}}(Transmitted)", - "range": true, - "refId": "B" - } - ], - "title": "Proxy - Network - Errors", - "type": "timeseries" - } - ], - "targets": [ + "refId": "A" + } + ], + "title": "Network", + "type": "row" + } + ], + "refresh": "", + "schemaVersion": 37, + "style": "dark", + "tags": [ + "Percona", + "Operators", + "Kubernetes" + ], + "templating": { + "list": [ { - "datasource": { - "type": "datasource", - "uid": "grafana" - }, - "refId": "A" - } - ], - "title": "Network", - "type": "row" - } - ], - "refresh": "", - "schemaVersion": 37, - "style": "dark", - "tags": [ - "Percona", - "Operators", - "Kubernetes" - ], - "templating": { - "list": [ - { - "current": { - "selected": false, - "text": "default", - "value": "default" - }, - "hide": 0, - "includeAll": false, - "multi": false, - "name": "datasource", - "options": [], - "query": "prometheus", - "queryValue": "", - "refresh": 1, - "regex": "", - "skipUrlSync": false, - "type": "datasource" - }, - { - "current": { - "selected": false, - "text": "sp-cluster", - "value": "sp-cluster" - }, - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" - }, - "definition": "label_values(container_cpu_system_seconds_total,k8s_cluster_id)", - "hide": 0, - "includeAll": false, - "label": "K8s Cluster", - "multi": false, - "name": "k8s_cluster", - "options": [], - "query": { - "query": "label_values(container_cpu_system_seconds_total,k8s_cluster_id)", - "refId": "StandardVariableQuery" - }, - "refresh": 1, - "regex": "", - "skipUrlSync": false, - "sort": 0, - "type": "query" - }, - { - "current": { - "selected": false, - "text": "default", - "value": "default" - }, - "datasource": { - "type": "prometheus", - "uid": "${datasource}" + "current": { + "selected": false, + "text": "default", + "value": "default" + }, + "hide": 0, + "includeAll": false, + "multi": false, + "name": "datasource", + "options": [], + "query": "prometheus", + "queryValue": "", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "type": "datasource" }, - "definition": "label_values(kube_pod_labels{label_app_kubernetes_io_managed_by=~\"percona-xtradb-cluster-operator|percona-postgresql-operator|percona-server-mongodb-operator|percona-server-mysql-operator\",k8s_cluster_id=\"$k8s_cluster\"}, namespace)", - "hide": 0, - "includeAll": false, - "multi": false, - "name": "namespace", - "options": [], - "query": { - "query": "label_values(kube_pod_labels{label_app_kubernetes_io_managed_by=~\"percona-xtradb-cluster-operator|percona-postgresql-operator|percona-server-mongodb-operator|percona-server-mysql-operator\",k8s_cluster_id=\"$k8s_cluster\"}, namespace)", - "refId": "StandardVariableQuery" - }, - "refresh": 1, - "regex": "", - "skipUrlSync": false, - "sort": 1, - "tagValuesQuery": "", - "tagsQuery": "", - "type": "query", - "useTags": false - }, - { - "current": { - "selected": false, - "text": "percona-postgresql-operator", - "value": "percona-postgresql-operator" - }, - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" - }, - "definition": "label_values(kube_pod_labels{k8s_cluster_id=\"$k8s_cluster\",namespace=\"$namespace\"},label_app_kubernetes_io_managed_by)", - "description": "Which Operator manages the database", - "hide": 0, - "includeAll": false, - "label": "Operator", - "multi": false, - "name": "k8s_db_type", - "options": [], - "query": { - "query": "label_values(kube_pod_labels{k8s_cluster_id=\"$k8s_cluster\",namespace=\"$namespace\"},label_app_kubernetes_io_managed_by)", - "refId": "StandardVariableQuery" - }, - "refresh": 1, - "regex": "/percona-.*-operator/", - "skipUrlSync": false, - "sort": 0, - "type": "query" - }, - { - "current": { - "selected": false, - "text": "my-pg", - "value": "my-pg" - }, - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "definition": "label_values(kube_pod_labels{k8s_cluster_id=\"$k8s_cluster\",label_app_kubernetes_io_managed_by=\"$k8s_db_type\",namespace=\"$namespace\"},label_app_kubernetes_io_instance)", - "description": "Custom Resource database cluster name", - "hide": 0, - "includeAll": false, - "label": "Database Name", - "multi": false, - "name": "k8s_db_cr", - "options": [], - "query": { - "query": "label_values(kube_pod_labels{k8s_cluster_id=\"$k8s_cluster\",label_app_kubernetes_io_managed_by=\"$k8s_db_type\",namespace=\"$namespace\"},label_app_kubernetes_io_instance)", - "refId": "StandardVariableQuery" - }, - "refresh": 2, - "regex": "", - "skipUrlSync": false, - "sort": 1, - "tagValuesQuery": "", - "tagsQuery": "", - "type": "query", - "useTags": false - }, - { - "allValue": "", - "current": { - "selected": false, - "text": "All", - "value": "$__all" - }, - "datasource": { - "type": "prometheus", - "uid": "${datasource}" + { + "current": { + "selected": false, + "text": "sp-cluster", + "value": "sp-cluster" + }, + "definition": "label_values(container_cpu_system_seconds_total,k8s_cluster_id)", + "hide": 0, + "includeAll": false, + "label": "K8s Cluster", + "multi": false, + "name": "k8s_cluster", + "options": [], + "query": { + "query": "label_values(container_cpu_system_seconds_total,k8s_cluster_id)", + "refId": "StandardVariableQuery" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" }, - "definition": "label_values(kube_pod_labels{k8s_cluster_id=\"$k8s_cluster\",namespace=\"$namespace\",label_app_kubernetes_io_managed_by=\"$k8s_db_type\",label_app_kubernetes_io_instance=\"$k8s_db_cr\",label_app_kubernetes_io_component=~\"cfg|mongod|pxc|pg\"}, pod)", - "hide": 2, - "includeAll": true, - "label": "DB Pods", - "multi": false, - "name": "k8s_db_pods", - "options": [], - "query": { - "query": "label_values(kube_pod_labels{k8s_cluster_id=\"$k8s_cluster\",namespace=\"$namespace\",label_app_kubernetes_io_managed_by=\"$k8s_db_type\",label_app_kubernetes_io_instance=\"$k8s_db_cr\",label_app_kubernetes_io_component=~\"cfg|mongod|pxc|pg\"}, pod)", - "refId": "StandardVariableQuery" + { + "current": { + "selected": false, + "text": "default", + "value": "default" + }, + "definition": "label_values(kube_pod_labels{label_app_kubernetes_io_managed_by=~\"percona-xtradb-cluster-operator|percona-postgresql-operator|percona-server-mongodb-operator|percona-server-mysql-operator\",k8s_cluster_id=\"$k8s_cluster\"}, namespace)", + "hide": 0, + "includeAll": false, + "multi": false, + "name": "namespace", + "options": [], + "query": { + "query": "label_values(kube_pod_labels{label_app_kubernetes_io_managed_by=~\"percona-xtradb-cluster-operator|percona-postgresql-operator|percona-server-mongodb-operator|percona-server-mysql-operator\",k8s_cluster_id=\"$k8s_cluster\"}, namespace)", + "refId": "StandardVariableQuery" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 1, + "tagValuesQuery": "", + "tagsQuery": "", + "type": "query", + "useTags": false }, - "refresh": 2, - "regex": "", - "skipUrlSync": false, - "sort": 1, - "tagValuesQuery": "", - "tagsQuery": "", - "type": "query", - "useTags": false - }, - { - "allValue": "", - "current": { - "selected": false, - "text": "All", - "value": "$__all" + { + "current": { + "selected": false, + "text": "percona-postgresql-operator", + "value": "percona-postgresql-operator" + }, + "definition": "label_values(kube_pod_labels{k8s_cluster_id=\"$k8s_cluster\",namespace=\"$namespace\"},label_app_kubernetes_io_managed_by)", + "description": "Which Operator manages the database", + "hide": 0, + "includeAll": false, + "label": "Operator", + "multi": false, + "name": "k8s_db_type", + "options": [], + "query": { + "query": "label_values(kube_pod_labels{k8s_cluster_id=\"$k8s_cluster\",namespace=\"$namespace\"},label_app_kubernetes_io_managed_by)", + "refId": "StandardVariableQuery" + }, + "refresh": 1, + "regex": "/percona-.*-operator/", + "skipUrlSync": false, + "sort": 0, + "type": "query" }, - "datasource": { - "type": "prometheus", - "uid": "${datasource}" + { + "current": { + "selected": false, + "text": "my-pg", + "value": "my-pg" + }, + "definition": "label_values(kube_pod_labels{k8s_cluster_id=\"$k8s_cluster\",label_app_kubernetes_io_managed_by=\"$k8s_db_type\",namespace=\"$namespace\"},label_app_kubernetes_io_instance)", + "description": "Custom Resource database cluster name", + "hide": 0, + "includeAll": false, + "label": "Database Name", + "multi": false, + "name": "k8s_db_cr", + "options": [], + "query": { + "query": "label_values(kube_pod_labels{k8s_cluster_id=\"$k8s_cluster\",label_app_kubernetes_io_managed_by=\"$k8s_db_type\",namespace=\"$namespace\"},label_app_kubernetes_io_instance)", + "refId": "StandardVariableQuery" + }, + "refresh": 2, + "regex": "", + "skipUrlSync": false, + "sort": 1, + "tagValuesQuery": "", + "tagsQuery": "", + "type": "query", + "useTags": false }, - "definition": "label_values(kube_pod_labels{k8s_cluster_id=\"$k8s_cluster\",namespace=\"$namespace\",label_app_kubernetes_io_managed_by=\"$k8s_db_type\",label_app_kubernetes_io_instance=\"$k8s_db_cr\",label_app_kubernetes_io_component=~\"mongos|haproxy|proxysql|pgbouncer\"}, pod)", - "hide": 2, - "includeAll": true, - "label": "DB Proxy Pods", - "multi": false, - "name": "k8s_proxy_pods", - "options": [], - "query": { - "query": "label_values(kube_pod_labels{k8s_cluster_id=\"$k8s_cluster\",namespace=\"$namespace\",label_app_kubernetes_io_managed_by=\"$k8s_db_type\",label_app_kubernetes_io_instance=\"$k8s_db_cr\",label_app_kubernetes_io_component=~\"mongos|haproxy|proxysql|pgbouncer\"}, pod)", - "refId": "StandardVariableQuery" + { + "allValue": "", + "current": { + "selected": false, + "text": "All", + "value": "$__all" + }, + "definition": "label_values(kube_pod_labels{k8s_cluster_id=\"$k8s_cluster\",namespace=\"$namespace\",label_app_kubernetes_io_managed_by=\"$k8s_db_type\",label_app_kubernetes_io_instance=\"$k8s_db_cr\",label_app_kubernetes_io_component=~\"cfg|mongod|pxc|pg\"}, pod)", + "hide": 2, + "includeAll": true, + "label": "DB Pods", + "multi": false, + "name": "k8s_db_pods", + "options": [], + "query": { + "query": "label_values(kube_pod_labels{k8s_cluster_id=\"$k8s_cluster\",namespace=\"$namespace\",label_app_kubernetes_io_managed_by=\"$k8s_db_type\",label_app_kubernetes_io_instance=\"$k8s_db_cr\",label_app_kubernetes_io_component=~\"cfg|mongod|pxc|pg\"}, pod)", + "refId": "StandardVariableQuery" + }, + "refresh": 2, + "regex": "", + "skipUrlSync": false, + "sort": 1, + "tagValuesQuery": "", + "tagsQuery": "", + "type": "query", + "useTags": false }, - "refresh": 2, - "regex": "", - "skipUrlSync": false, - "sort": 1, - "tagValuesQuery": "", - "tagsQuery": "", - "type": "query", - "useTags": false - } - ] - }, - "time": { - "from": "now-12h", - "to": "now" - }, - "timepicker": {}, - "timezone": "", - "title": "Databases on Kubernetes - Summary", - "uid": "k8s-db-summary", - "version": 19, - "weekStart": "" -} \ No newline at end of file + { + "allValue": "", + "current": { + "selected": false, + "text": "All", + "value": "$__all" + }, + "definition": "label_values(kube_pod_labels{k8s_cluster_id=\"$k8s_cluster\",namespace=\"$namespace\",label_app_kubernetes_io_managed_by=\"$k8s_db_type\",label_app_kubernetes_io_instance=\"$k8s_db_cr\",label_app_kubernetes_io_component=~\"mongos|haproxy|proxysql|pgbouncer\"}, pod)", + "hide": 2, + "includeAll": true, + "label": "DB Proxy Pods", + "multi": false, + "name": "k8s_proxy_pods", + "options": [], + "query": { + "query": "label_values(kube_pod_labels{k8s_cluster_id=\"$k8s_cluster\",namespace=\"$namespace\",label_app_kubernetes_io_managed_by=\"$k8s_db_type\",label_app_kubernetes_io_instance=\"$k8s_db_cr\",label_app_kubernetes_io_component=~\"mongos|haproxy|proxysql|pgbouncer\"}, pod)", + "refId": "StandardVariableQuery" + }, + "refresh": 2, + "regex": "", + "skipUrlSync": false, + "sort": 1, + "tagValuesQuery": "", + "tagsQuery": "", + "type": "query", + "useTags": false + } + ] + }, + "time": { + "from": "now-12h", + "to": "now" + }, + "timepicker": {}, + "timezone": "", + "title": "Databases on Kubernetes - Summary", + "uid": "k8s-db-summary", + "version": 19, + "weekStart": "" + } diff --git a/dashboards/Kubernetes (experimental)/Kubernetes_Cluster_Overview.json b/dashboards/Kubernetes (experimental)/Kubernetes_Cluster_Overview.json index e79003732b..8e7e8feedd 100644 --- a/dashboards/Kubernetes (experimental)/Kubernetes_Cluster_Overview.json +++ b/dashboards/Kubernetes (experimental)/Kubernetes_Cluster_Overview.json @@ -1,2605 +1,2377 @@ { - "annotations": { - "list": [ - { - "builtIn": 1, - "datasource": { - "type": "datasource", - "uid": "grafana" - }, - "enable": true, - "hide": true, - "iconColor": "rgba(0, 211, 255, 1)", - "name": "Annotations & Alerts", - "target": { - "limit": 100, - "matchAny": false, - "tags": [], - "type": "dashboard" - }, - "type": "dashboard" - } - ] - }, - "description": "Kubernetes Cluster Overview - provides insignts into k8s health and its objects, including Percona Custom Resources", - "editable": true, - "fiscalYearStartMonth": 0, - "graphTooltip": 1, - "id": 74, - "links": [], - "liveNow": false, - "panels": [ - { - "collapsed": false, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 0 - }, - "id": 27, - "panels": [], - "title": "Overview", - "type": "row" - }, - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" - }, - "description": "The total number of nodes", - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "text", - "value": null - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 4, - "w": 3, - "x": 0, - "y": 1 - }, - "id": 25, - "options": { - "colorMode": "none", - "graphMode": "none", - "justifyMode": "auto", - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "textMode": "auto" - }, - "pluginVersion": "9.2.20", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" - }, - "editorMode": "code", - "expr": "count(kube_node_info{k8s_cluster_id=\"$k8s_cluster\"})", - "legendFormat": "__auto", - "range": true, - "refId": "A" - } - ], - "title": "Total nodes", - "type": "stat" - }, - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" - }, - "description": "The total number of nodes that are not in Ready state", - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "yellow", - "value": 1 - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 4, - "w": 3, - "x": 3, - "y": 1 - }, - "id": 28, - "options": { - "colorMode": "value", - "graphMode": "area", - "justifyMode": "auto", - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "textMode": "auto" - }, - "pluginVersion": "9.2.20", - "targets": [ + "annotations": { + "list": [ { + "builtIn": 1, "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" - }, - "editorMode": "code", - "expr": "sum(kube_node_status_condition{k8s_cluster_id=\"$k8s_cluster\",condition!=\"Ready\",status=\"true\"})", - "legendFormat": "__auto", - "range": true, - "refId": "A" + "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" } - ], - "title": "Not Ready Nodes", - "type": "stat" + ] }, - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" - }, - "description": "The total number of Pods in the cluster", - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "text", - "value": null - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 4, - "w": 3, - "x": 6, - "y": 1 + "description": "Kubernetes Cluster Overview - provides insignts into k8s health and its objects, including Percona Custom Resources", + "editable": true, + "fiscalYearStartMonth": 0, + "graphTooltip": 1, + "id": 74, + "links": [], + "liveNow": false, + "panels": [ + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 0 + }, + "id": 27, + "panels": [], + "title": "Overview", + "type": "row" }, - "id": 29, - "options": { - "colorMode": "none", - "graphMode": "none", - "justifyMode": "auto", - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false + { + "description": "The total number of nodes", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "text", + "value": null + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 3, + "x": 0, + "y": 1 + }, + "id": 25, + "options": { + "colorMode": "none", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "textMode": "auto" }, - "textMode": "auto" - }, - "pluginVersion": "9.2.20", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" - }, - "editorMode": "code", - "expr": "sum(kube_pod_status_phase{k8s_cluster_id=\"$k8s_cluster\"})", - "legendFormat": "__auto", - "range": true, - "refId": "A" - } - ], - "title": "Total Pods", - "type": "stat" - }, - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" - }, - "description": "The total number of Pods not in the Running Status", - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "#EAB839", - "value": 1 - } - ] + "pluginVersion": "9.2.20", + "targets": [ + { + "editorMode": "code", + "expr": "count(kube_node_info{k8s_cluster_id=\"$k8s_cluster\"})", + "legendFormat": "__auto", + "range": true, + "refId": "A" } - }, - "overrides": [] - }, - "gridPos": { - "h": 4, - "w": 3, - "x": 9, - "y": 1 + ], + "title": "Total nodes", + "type": "stat" }, - "id": 30, - "options": { - "colorMode": "value", - "graphMode": "area", - "justifyMode": "auto", - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false + { + "description": "The total number of nodes that are not in Ready state", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "yellow", + "value": 1 + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 3, + "x": 3, + "y": 1 + }, + "id": 28, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "textMode": "auto" }, - "textMode": "auto" - }, - "pluginVersion": "9.2.20", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" - }, - "editorMode": "code", - "expr": "sum(kube_pod_status_phase{k8s_cluster_id=\"$k8s_cluster\",phase!=\"Running\",phase!=\"Succeeded\"})", - "legendFormat": "__auto", - "range": true, - "refId": "A" - } - ], - "title": "Not Running Pods", - "type": "stat" - }, - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" - }, - "description": "Total CPU (cores) capacity of the Kubernetes cluster", - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "text", - "value": null - } - ] + "pluginVersion": "9.2.20", + "targets": [ + { + "editorMode": "code", + "expr": "sum(kube_node_status_condition{k8s_cluster_id=\"$k8s_cluster\",condition!=\"Ready\",status=\"true\"})", + "legendFormat": "__auto", + "range": true, + "refId": "A" } - }, - "overrides": [] - }, - "gridPos": { - "h": 4, - "w": 3, - "x": 12, - "y": 1 + ], + "title": "Not Ready Nodes", + "type": "stat" }, - "id": 31, - "options": { - "colorMode": "none", - "graphMode": "none", - "justifyMode": "auto", - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false + { + "description": "The total number of Pods in the cluster", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "text", + "value": null + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 3, + "x": 6, + "y": 1 + }, + "id": 29, + "options": { + "colorMode": "none", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "textMode": "auto" }, - "textMode": "auto" - }, - "pluginVersion": "9.2.20", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" - }, - "editorMode": "code", - "expr": "sum(kube_node_status_capacity{k8s_cluster_id=\"$k8s_cluster\",resource=\"cpu\"})", - "legendFormat": "__auto", - "range": true, - "refId": "A" - } - ], - "title": "CPU capacity", - "type": "stat" - }, - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" - }, - "description": "How many CPU cores were requested by Containers", - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "text", - "value": null - } - ] + "pluginVersion": "9.2.20", + "targets": [ + { + "editorMode": "code", + "expr": "sum(kube_pod_status_phase{k8s_cluster_id=\"$k8s_cluster\"})", + "legendFormat": "__auto", + "range": true, + "refId": "A" } - }, - "overrides": [] - }, - "gridPos": { - "h": 4, - "w": 3, - "x": 15, - "y": 1 - }, - "id": 33, - "options": { - "colorMode": "none", - "graphMode": "none", - "justifyMode": "auto", - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "textMode": "auto" - }, - "pluginVersion": "9.2.20", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" - }, - "editorMode": "code", - "expr": "sum(kube_pod_container_resource_requests{k8s_cluster_id=\"$k8s_cluster\",resource=\"cpu\"})", - "legendFormat": "__auto", - "range": true, - "refId": "A" - } - ], - "title": "CPU requests", - "type": "stat" - }, - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" + ], + "title": "Total Pods", + "type": "stat" }, - "description": "Percentage showing the requested CPU cores or used CPU cluster capacity", - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "mappings": [], - "max": 1, - "min": 0, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "#EAB839", - "value": 0.7 - }, - { - "color": "red", - "value": 0.9 - } - ] + { + "description": "The total number of Pods not in the Running Status", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "#EAB839", + "value": 1 + } + ] + } }, - "unit": "percentunit" - }, - "overrides": [] - }, - "gridPos": { - "h": 4, - "w": 3, - "x": 18, - "y": 1 - }, - "id": 32, - "options": { - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 3, + "x": 9, + "y": 1 + }, + "id": 30, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "textMode": "auto" }, - "showThresholdLabels": false, - "showThresholdMarkers": false - }, - "pluginVersion": "9.2.20", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" - }, - "editorMode": "code", - "expr": "sum(kube_pod_container_resource_requests{k8s_cluster_id=\"$k8s_cluster\",resource=\"cpu\"}) / sum(kube_node_status_capacity{k8s_cluster_id=\"$k8s_cluster\",resource=\"cpu\"})", - "legendFormat": "__auto", - "range": true, - "refId": "A" - } - ], - "title": "CPU requests %", - "type": "gauge" - }, - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" - }, - "description": "The sum of CPU (cores) limits for all containers in the cluster", - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "text", - "value": null - } - ] + "pluginVersion": "9.2.20", + "targets": [ + { + "editorMode": "code", + "expr": "sum(kube_pod_status_phase{k8s_cluster_id=\"$k8s_cluster\",phase!=\"Running\",phase!=\"Succeeded\"})", + "legendFormat": "__auto", + "range": true, + "refId": "A" } - }, - "overrides": [] - }, - "gridPos": { - "h": 4, - "w": 3, - "x": 21, - "y": 1 - }, - "id": 47, - "options": { - "colorMode": "none", - "graphMode": "none", - "justifyMode": "auto", - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "textMode": "auto" - }, - "pluginVersion": "9.2.20", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" - }, - "editorMode": "code", - "expr": "sum(kube_pod_container_resource_limits{k8s_cluster_id=\"$k8s_cluster\",resource=\"cpu\"})", - "legendFormat": "__auto", - "range": true, - "refId": "A" - } - ], - "title": "CPU limits", - "type": "stat" - }, - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" + ], + "title": "Not Running Pods", + "type": "stat" }, - "description": "The number of Percona Clusters (Custom Resources) deployed in the cluster", - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "mappings": [], - "thresholds": { - "mode": "percentage", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "#EAB839", - "value": 70 - }, - { - "color": "red", - "value": 90 - } - ] + { + "description": "Total CPU (cores) capacity of the Kubernetes cluster", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "text", + "value": null + } + ] + } }, - "unit": "none" - }, - "overrides": [] - }, - "gridPos": { - "h": 4, - "w": 6, - "x": 0, - "y": 5 - }, - "id": 40, - "options": { - "colorMode": "none", - "graphMode": "none", - "justifyMode": "auto", - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "textMode": "auto" - }, - "pluginVersion": "9.2.20", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" - }, - "editorMode": "code", - "expr": "sum(sum(kube_pxc_info{k8s_cluster_id=\"$k8s_cluster\"}),sum(kube_psmdb_info{k8s_cluster_id=\"$k8s_cluster\"}),sum(kube_pg_info{k8s_cluster_id=\"$k8s_cluster\"}))", - "legendFormat": "__auto", - "range": true, - "refId": "A" - } - ], - "title": "Percona Clusters", - "type": "stat" - }, - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" - }, - "description": "The number of Percona Clusters (Custom Resources) deployed in the cluster that are not in Ready state", - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "#EAB839", - "value": 1 - } - ] + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 3, + "x": 12, + "y": 1 + }, + "id": 31, + "options": { + "colorMode": "none", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false }, - "unit": "none" - }, - "overrides": [] - }, - "gridPos": { - "h": 4, - "w": 6, - "x": 6, - "y": 5 - }, - "id": 42, - "options": { - "colorMode": "value", - "graphMode": "area", - "justifyMode": "auto", - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false + "textMode": "auto" }, - "textMode": "auto" - }, - "pluginVersion": "9.2.20", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" - }, - "editorMode": "code", - "expr": "sum(sum(kube_pxc_status_state{k8s_cluster_id=\"$k8s_cluster\",state!=\"ready\"}),sum(kube_psmdb_status_state{k8s_cluster_id=\"$k8s_cluster\",state!=\"ready\"}),sum(kube_pg_status_state{k8s_cluster_id=\"$k8s_cluster\",state!=\"ready\"}))", - "legendFormat": "__auto", - "range": true, - "refId": "A" - } - ], - "title": "Percona Clusters not Ready", - "type": "stat" - }, - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" + "pluginVersion": "9.2.20", + "targets": [ + { + "editorMode": "code", + "expr": "sum(kube_node_status_capacity{k8s_cluster_id=\"$k8s_cluster\",resource=\"cpu\"})", + "legendFormat": "__auto", + "range": true, + "refId": "A" + } + ], + "title": "CPU capacity", + "type": "stat" }, - "description": "Total Memory (RAM) capacity of the Kubernetes cluster", - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] + { + "description": "How many CPU cores were requested by Containers", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "text", + "value": null + } + ] + } }, - "unit": "decbytes" - }, - "overrides": [] - }, - "gridPos": { - "h": 4, - "w": 3, - "x": 12, - "y": 5 - }, - "id": 34, - "options": { - "colorMode": "none", - "graphMode": "none", - "justifyMode": "auto", - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "textMode": "auto" - }, - "pluginVersion": "9.2.20", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" - }, - "editorMode": "code", - "expr": "sum(kube_node_status_capacity{k8s_cluster_id=\"$k8s_cluster\",resource=\"memory\"})", - "legendFormat": "__auto", - "range": true, - "refId": "A" - } - ], - "title": "Memory capacity", - "type": "stat" - }, - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" - }, - "description": "How many Memory (RAM) bytes were requested by Containers", - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 3, + "x": 15, + "y": 1 + }, + "id": 33, + "options": { + "colorMode": "none", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false }, - "unit": "decbytes" + "textMode": "auto" }, - "overrides": [] - }, - "gridPos": { - "h": 4, - "w": 3, - "x": 15, - "y": 5 - }, - "id": 35, - "options": { - "colorMode": "none", - "graphMode": "none", - "justifyMode": "auto", - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "textMode": "auto" - }, - "pluginVersion": "9.2.20", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" - }, - "editorMode": "code", - "expr": "sum(kube_pod_container_resource_requests{k8s_cluster_id=\"$k8s_cluster\",resource=\"memory\"})", - "legendFormat": "__auto", - "range": true, - "refId": "A" - } - ], - "title": "Memory requests", - "type": "stat" - }, - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" + "pluginVersion": "9.2.20", + "targets": [ + { + "editorMode": "code", + "expr": "sum(kube_pod_container_resource_requests{k8s_cluster_id=\"$k8s_cluster\",resource=\"cpu\"})", + "legendFormat": "__auto", + "range": true, + "refId": "A" + } + ], + "title": "CPU requests", + "type": "stat" }, - "description": "Percentage showing the requested Memory or used Memory cluster capacity", - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "mappings": [], - "max": 1, - "min": 0, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "#EAB839", - "value": 0.7 - }, - { - "color": "red", - "value": 0.9 - } - ] + { + "description": "Percentage showing the requested CPU cores or used CPU cluster capacity", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "max": 1, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "#EAB839", + "value": 0.7 + }, + { + "color": "red", + "value": 0.9 + } + ] + }, + "unit": "percentunit" + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 3, + "x": 18, + "y": 1 + }, + "id": 32, + "options": { + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false }, - "unit": "percentunit" - }, - "overrides": [] - }, - "gridPos": { - "h": 4, - "w": 3, - "x": 18, - "y": 5 - }, - "id": 36, - "options": { - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false + "showThresholdLabels": false, + "showThresholdMarkers": false }, - "showThresholdLabels": false, - "showThresholdMarkers": false - }, - "pluginVersion": "9.2.20", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" - }, - "editorMode": "code", - "expr": "sum(kube_pod_container_resource_requests{k8s_cluster_id=\"$k8s_cluster\",resource=\"memory\"}) / sum(kube_node_status_capacity{k8s_cluster_id=\"$k8s_cluster\",resource=\"memory\"})", - "legendFormat": "__auto", - "range": true, - "refId": "A" - } - ], - "title": "Memory requests %", - "type": "gauge" - }, - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" + "pluginVersion": "9.2.20", + "targets": [ + { + "editorMode": "code", + "expr": "sum(kube_pod_container_resource_requests{k8s_cluster_id=\"$k8s_cluster\",resource=\"cpu\"}) / sum(kube_node_status_capacity{k8s_cluster_id=\"$k8s_cluster\",resource=\"cpu\"})", + "legendFormat": "__auto", + "range": true, + "refId": "A" + } + ], + "title": "CPU requests %", + "type": "gauge" }, - "description": "The sum of Memory (RAM) bytes limits set for containers", - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] + { + "description": "The sum of CPU (cores) limits for all containers in the cluster", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "text", + "value": null + } + ] + } }, - "unit": "decbytes" - }, - "overrides": [] - }, - "gridPos": { - "h": 4, - "w": 3, - "x": 21, - "y": 5 - }, - "id": 46, - "options": { - "colorMode": "none", - "graphMode": "none", - "justifyMode": "auto", - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 3, + "x": 21, + "y": 1 + }, + "id": 47, + "options": { + "colorMode": "none", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "textMode": "auto" }, - "textMode": "auto" - }, - "pluginVersion": "9.2.20", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" - }, - "editorMode": "code", - "expr": "sum(kube_pod_container_resource_limits{k8s_cluster_id=\"$k8s_cluster\",resource=\"memory\"})", - "legendFormat": "__auto", - "range": true, - "refId": "A" - } - ], - "title": "Memory limits", - "type": "stat" - }, - { - "collapsed": false, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 9 - }, - "id": 38, - "panels": [], - "title": "Cluster - Main", - "type": "row" - }, - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" + "pluginVersion": "9.2.20", + "targets": [ + { + "editorMode": "code", + "expr": "sum(kube_pod_container_resource_limits{k8s_cluster_id=\"$k8s_cluster\",resource=\"cpu\"})", + "legendFormat": "__auto", + "range": true, + "refId": "A" + } + ], + "title": "CPU limits", + "type": "stat" }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 20, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 2, - "pointSize": 1, - "scaleDistribution": { - "type": "linear" + { + "description": "The number of Percona Clusters (Custom Resources) deployed in the cluster", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" + "mappings": [], + "thresholds": { + "mode": "percentage", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "#EAB839", + "value": 70 + }, + { + "color": "red", + "value": 90 + } + ] }, - "thresholdsStyle": { - "mode": "off" - } + "unit": "none" + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 6, + "x": 0, + "y": 5 + }, + "id": 40, + "options": { + "colorMode": "none", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false }, - "mappings": [], - "min": 0, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - } + "textMode": "auto" }, - "overrides": [ + "pluginVersion": "9.2.20", + "targets": [ { - "matcher": { - "id": "byName", - "options": "Ready" + "editorMode": "code", + "expr": "sum(sum(kube_pxc_info{k8s_cluster_id=\"$k8s_cluster\"}),sum(kube_psmdb_info{k8s_cluster_id=\"$k8s_cluster\"}),sum(kube_pg_info{k8s_cluster_id=\"$k8s_cluster\"}))", + "legendFormat": "__auto", + "range": true, + "refId": "A" + } + ], + "title": "Percona Clusters", + "type": "stat" + }, + { + "description": "The number of Percona Clusters (Custom Resources) deployed in the cluster that are not in Ready state", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" }, - "properties": [ - { - "id": "color", - "value": { - "fixedColor": "green", - "mode": "fixed" + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "#EAB839", + "value": 1 } - } - ] + ] + }, + "unit": "none" + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 6, + "x": 6, + "y": 5 + }, + "id": 42, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false }, + "textMode": "auto" + }, + "pluginVersion": "9.2.20", + "targets": [ { - "matcher": { - "id": "byName", - "options": "CorruptDockerOverlay2" - }, - "properties": [ - { - "id": "color", - "value": { - "fixedColor": "super-light-orange", - "mode": "fixed" - } - } - ] + "editorMode": "code", + "expr": "sum(sum(kube_pxc_status_state{k8s_cluster_id=\"$k8s_cluster\",state!=\"ready\"}),sum(kube_psmdb_status_state{k8s_cluster_id=\"$k8s_cluster\",state!=\"ready\"}),sum(kube_pg_status_state{k8s_cluster_id=\"$k8s_cluster\",state!=\"ready\"}))", + "legendFormat": "__auto", + "range": true, + "refId": "A" } - ] - }, - "gridPos": { - "h": 9, - "w": 12, - "x": 0, - "y": 10 - }, - "id": 6, - "interval": "10s", - "maxDataPoints": 100, - "options": { - "legend": { - "calcs": [ - "mean", - "max", - "min" - ], - "displayMode": "table", - "placement": "bottom", - "showLegend": true, - "sortBy": "Mean", - "sortDesc": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "pluginVersion": "8.3.5", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" - }, - "editorMode": "code", - "exemplar": true, - "expr": "sum(kube_node_status_condition{k8s_cluster_id=\"$k8s_cluster\",status=\"true\"}) by (condition)", - "interval": "", - "legendFormat": "{{condition}}", - "range": true, - "refId": "Ready" - } - ], - "title": "Node Status", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" + ], + "title": "Percona Clusters not Ready", + "type": "stat" }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 20, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 2, - "pointSize": 1, - "scaleDistribution": { - "type": "linear" + { + "description": "Total Memory (RAM) capacity of the Kubernetes cluster", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] + "unit": "decbytes" + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 3, + "x": 12, + "y": 5 + }, + "id": 34, + "options": { + "colorMode": "none", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false }, - "unit": "none" + "textMode": "auto" }, - "overrides": [ + "pluginVersion": "9.2.20", + "targets": [ { - "matcher": { - "id": "byName", - "options": "Running" + "editorMode": "code", + "expr": "sum(kube_node_status_capacity{k8s_cluster_id=\"$k8s_cluster\",resource=\"memory\"})", + "legendFormat": "__auto", + "range": true, + "refId": "A" + } + ], + "title": "Memory capacity", + "type": "stat" + }, + { + "description": "How many Memory (RAM) bytes were requested by Containers", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" }, - "properties": [ - { - "id": "color", - "value": { - "fixedColor": "green", - "mode": "fixed" + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null } - } - ] + ] + }, + "unit": "decbytes" + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 3, + "x": 15, + "y": 5 + }, + "id": 35, + "options": { + "colorMode": "none", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false }, + "textMode": "auto" + }, + "pluginVersion": "9.2.20", + "targets": [ { - "matcher": { - "id": "byName", - "options": "Failed" - }, - "properties": [ - { - "id": "color", - "value": { - "fixedColor": "dark-blue", - "mode": "fixed" - } - } - ] + "editorMode": "code", + "expr": "sum(kube_pod_container_resource_requests{k8s_cluster_id=\"$k8s_cluster\",resource=\"memory\"})", + "legendFormat": "__auto", + "range": true, + "refId": "A" } - ] - }, - "gridPos": { - "h": 9, - "w": 12, - "x": 12, - "y": 10 - }, - "id": 4, - "interval": "10s", - "maxDataPoints": 100, - "options": { - "legend": { - "calcs": [ - "mean", - "max", - "min" - ], - "displayMode": "table", - "placement": "bottom", - "showLegend": true, - "sortBy": "Mean", - "sortDesc": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "pluginVersion": "8.3.5", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" - }, - "editorMode": "code", - "exemplar": true, - "expr": "sum(kube_pod_status_phase{k8s_cluster_id=\"$k8s_cluster\"}) by (phase)", - "interval": "", - "legendFormat": "{{phase}}", - "range": true, - "refId": "Running" - } - ], - "title": "Pod Status", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" + ], + "title": "Memory requests", + "type": "stat" }, - "description": "The health of Percona Custom Resources (CRs) for Clusters - PXC, Percona Server for MongoDB, Percona Distribution for PostgreSQL", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 20, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 2, - "pointSize": 1, - "scaleDistribution": { - "type": "linear" + { + "description": "Percentage showing the requested Memory or used Memory cluster capacity", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" + "mappings": [], + "max": 1, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "#EAB839", + "value": 0.7 + }, + { + "color": "red", + "value": 0.9 + } + ] }, - "thresholdsStyle": { - "mode": "off" - } + "unit": "percentunit" + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 3, + "x": 18, + "y": 5 + }, + "id": 36, + "options": { + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false }, - "decimals": 1, - "mappings": [], - "min": 0, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - } + "showThresholdLabels": false, + "showThresholdMarkers": false }, - "overrides": [ + "pluginVersion": "9.2.20", + "targets": [ { - "matcher": { - "id": "byName", - "options": "ready" + "editorMode": "code", + "expr": "sum(kube_pod_container_resource_requests{k8s_cluster_id=\"$k8s_cluster\",resource=\"memory\"}) / sum(kube_node_status_capacity{k8s_cluster_id=\"$k8s_cluster\",resource=\"memory\"})", + "legendFormat": "__auto", + "range": true, + "refId": "A" + } + ], + "title": "Memory requests %", + "type": "gauge" + }, + { + "description": "The sum of Memory (RAM) bytes limits set for containers", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" }, - "properties": [ - { - "id": "color", - "value": { - "fixedColor": "green", - "mode": "fixed" + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null } - } - ] + ] + }, + "unit": "decbytes" + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 3, + "x": 21, + "y": 5 + }, + "id": 46, + "options": { + "colorMode": "none", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false }, + "textMode": "auto" + }, + "pluginVersion": "9.2.20", + "targets": [ { - "matcher": { - "id": "byName", - "options": "error" - }, - "properties": [ - { - "id": "color", - "value": { - "fixedColor": "orange", - "mode": "fixed" - } - } - ] + "editorMode": "code", + "expr": "sum(kube_pod_container_resource_limits{k8s_cluster_id=\"$k8s_cluster\",resource=\"memory\"})", + "legendFormat": "__auto", + "range": true, + "refId": "A" } - ] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 19 - }, - "id": 39, - "interval": "10s", - "maxDataPoints": 100, - "options": { - "legend": { - "calcs": [ - "mean", - "max", - "min" - ], - "displayMode": "table", - "placement": "bottom", - "showLegend": true, - "sortBy": "Mean", - "sortDesc": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } + ], + "title": "Memory limits", + "type": "stat" }, - "pluginVersion": "8.3.5", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" - }, - "editorMode": "code", - "exemplar": true, - "expr": "sum(kube_pxc_status_state{k8s_cluster_id=\"$k8s_cluster\"},kube_psmdb_status_state{k8s_cluster_id=\"$k8s_cluster\"},kube_pg_status_state{k8s_cluster_id=\"$k8s_cluster\"}) by (state)", - "interval": "", - "legendFormat": "{{phase}}", - "range": true, - "refId": "PVC Bound" - } - ], - "title": "Percona Custom Resources - Clusters", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 9 + }, + "id": 38, + "panels": [], + "title": "Cluster - Main", + "type": "row" }, - "description": "The table that lists Percona Custom Resources - Clusters", - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "custom": { - "align": "auto", - "displayMode": "auto", - "inspect": false - }, - "mappings": [], - "noValue": "No databases on this Kubernetes cluster", - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - } - }, - "overrides": [ - { - "matcher": { - "id": "byName", - "options": "name" + { + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" }, - "properties": [ - { - "id": "links", - "value": [ - { - "title": "", - "url": "/d/k8s-db-summary/percona-db-cluster?var-namespace=${__data.fields[namespace]}&${k8s_cluster:queryparam}&var-k8s_db_type=${__data.fields[operator]}&var-k8s_db_cr=${__data.fields[name]}\n" - } - ] + "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 20, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "linear", + "lineWidth": 2, + "pointSize": 1, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" } - ] - }, - { - "matcher": { - "id": "byName", - "options": "customresource_kind" }, - "properties": [ - { - "id": "mappings", - "value": [ - { - "options": { - "PerconaPGCluster": { - "index": 1, - "text": "percona-postgresql-operator" - }, - "PerconaServerMongoDB": { - "index": 2, - "text": "percona-server-mongodb-operator" - }, - "PerconaServerMySQL": { - "index": 3, - "text": "percona-server-mysql-operator" - }, - "PerconaXtraDBCluster": { - "index": 0, - "text": "percona-xtradb-cluster-operator" - } - }, - "type": "value" - } - ] - } - ] + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + } }, - { - "matcher": { - "id": "byName", - "options": "operator" + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Ready" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "green", + "mode": "fixed" + } + } + ] }, - "properties": [ - { - "id": "custom.width", - "value": 260 - } - ] + { + "matcher": { + "id": "byName", + "options": "CorruptDockerOverlay2" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "super-light-orange", + "mode": "fixed" + } + } + ] + } + ] + }, + "gridPos": { + "h": 9, + "w": 12, + "x": 0, + "y": 10 + }, + "id": 6, + "interval": "10s", + "maxDataPoints": 100, + "options": { + "legend": { + "calcs": [ + "mean", + "max", + "min" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true, + "sortBy": "Mean", + "sortDesc": true + }, + "tooltip": { + "mode": "single", + "sort": "none" } - ] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 19 - }, - "id": 44, - "options": { - "footer": { - "fields": "", - "reducer": [ - "sum" - ], - "show": false }, - "showHeader": true, - "sortBy": [ + "pluginVersion": "8.3.5", + "targets": [ { - "desc": true, - "displayName": "operator" + "editorMode": "code", + "exemplar": true, + "expr": "sum(kube_node_status_condition{k8s_cluster_id=\"$k8s_cluster\",status=\"true\"}) by (condition)", + "interval": "", + "legendFormat": "{{condition}}", + "range": true, + "refId": "Ready" } - ] + ], + "title": "Node Status", + "type": "timeseries" }, - "pluginVersion": "9.2.20", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" - }, - "editorMode": "code", - "expr": "kube_pxc_status_state{k8s_cluster_id=\"$k8s_cluster\"}", - "legendFormat": "__auto", - "range": true, - "refId": "A" - }, - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" - }, - "editorMode": "code", - "expr": "kube_psmdb_status_state{k8s_cluster_id=\"$k8s_cluster\"}", - "hide": false, - "legendFormat": "__auto", - "range": true, - "refId": "B" - }, - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" - }, - "editorMode": "code", - "expr": "kube_pg_status_state{k8s_cluster_id=\"$k8s_cluster\"}", - "hide": false, - "legendFormat": "__auto", - "range": true, - "refId": "C" - } - ], - "title": "Percona Custom Resources - Clusters", - "transformations": [ - { - "id": "labelsToFields", - "options": {} - }, - { - "id": "merge", - "options": {} - }, - { - "id": "filterByValue", - "options": { - "filters": [ - { - "config": { - "id": "equal", - "options": { - "value": 1 - } - }, - "fieldName": "Value" - } - ], - "match": "any", - "type": "include" - } - }, - { - "id": "organize", - "options": { - "excludeByName": { - "container": false, - "customresource_group": false, - "customresource_kind": false, - "customresource_version": false, - "state": false + { + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" }, - "indexByName": {}, - "renameByName": { - "container": "", - "customresource_group": "", - "customresource_kind": "operator", - "customresource_version": "", - "name": "" - } - } - }, - { - "id": "groupBy", - "options": { - "fields": { - "Operator": { - "aggregations": [], - "operation": "groupby" - }, - "Value": { - "aggregations": [ - "last" - ] + "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 20, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false }, - "cluster": { - "aggregations": [] + "lineInterpolation": "linear", + "lineWidth": 2, + "pointSize": 1, + "scaleDistribution": { + "type": "linear" }, - "cluster name": { - "aggregations": [], - "operation": "groupby" + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" }, - "container": { - "aggregations": [] - }, - "customresource_group": { - "aggregations": [] + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "none" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Running" }, - "customresource_kind": { - "aggregations": [], - "operation": "groupby" + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "green", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Failed" }, - "customresource_version": { - "aggregations": [] + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "dark-blue", + "mode": "fixed" + } + } + ] + } + ] + }, + "gridPos": { + "h": 9, + "w": 12, + "x": 12, + "y": 10 + }, + "id": 4, + "interval": "10s", + "maxDataPoints": 100, + "options": { + "legend": { + "calcs": [ + "mean", + "max", + "min" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true, + "sortBy": "Mean", + "sortDesc": true + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "pluginVersion": "8.3.5", + "targets": [ + { + "editorMode": "code", + "exemplar": true, + "expr": "sum(kube_pod_status_phase{k8s_cluster_id=\"$k8s_cluster\"}) by (phase)", + "interval": "", + "legendFormat": "{{phase}}", + "range": true, + "refId": "Running" + } + ], + "title": "Pod Status", + "type": "timeseries" + }, + { + "description": "The health of Percona Custom Resources (CRs) for Clusters - PXC, Percona Server for MongoDB, Percona Distribution for PostgreSQL", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 20, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false }, - "instance": { - "aggregations": [] + "lineInterpolation": "linear", + "lineWidth": 2, + "pointSize": 1, + "scaleDistribution": { + "type": "linear" }, - "name": { - "aggregations": [], - "operation": "groupby" + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" }, - "namespace": { - "aggregations": [], - "operation": "groupby" + "thresholdsStyle": { + "mode": "off" + } + }, + "decimals": 1, + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + } + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "ready" }, - "operator": { - "aggregations": [], - "operation": "groupby" + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "green", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "error" }, - "state": { - "aggregations": [ - "last" - ], - "operation": "aggregate" - } + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "orange", + "mode": "fixed" + } + } + ] } + ] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 19 + }, + "id": 39, + "interval": "10s", + "maxDataPoints": 100, + "options": { + "legend": { + "calcs": [ + "mean", + "max", + "min" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true, + "sortBy": "Mean", + "sortDesc": true + }, + "tooltip": { + "mode": "single", + "sort": "none" } - } - ], - "type": "table" - }, - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" + }, + "pluginVersion": "8.3.5", + "targets": [ + { + "editorMode": "code", + "exemplar": true, + "expr": "sum(kube_pxc_status_state{k8s_cluster_id=\"$k8s_cluster\"},kube_psmdb_status_state{k8s_cluster_id=\"$k8s_cluster\"},kube_pg_status_state{k8s_cluster_id=\"$k8s_cluster\"}) by (state)", + "interval": "", + "legendFormat": "{{phase}}", + "range": true, + "refId": "PVC Bound" + } + ], + "title": "Percona Custom Resources - Clusters", + "type": "timeseries" }, - "description": "The health of Percona Custom Resources (CRs) for Backups - pxc-backup, psmdb-backup, pg-backup", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 20, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 2, - "pointSize": 1, - "scaleDistribution": { - "type": "linear" + { + "description": "The table that lists Percona Custom Resources - Clusters", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" + "custom": { + "align": "auto", + "displayMode": "auto", + "inspect": false }, - "thresholdsStyle": { - "mode": "off" + "mappings": [], + "noValue": "No databases on this Kubernetes cluster", + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] } }, - "decimals": 1, - "mappings": [], - "min": 0, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "name" }, - { - "color": "red", - "value": 80 - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 27 - }, - "id": 41, - "interval": "10s", - "maxDataPoints": 100, - "options": { - "legend": { - "calcs": [ - "mean", - "max", - "min" - ], - "displayMode": "table", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "pluginVersion": "8.3.5", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" - }, - "editorMode": "code", - "exemplar": true, - "expr": "sum(kube_pxc_backup_status_state{k8s_cluster_id=\"$k8s_cluster\"},kube_psmdb_backup_status_state{k8s_cluster_id=\"$k8s_cluster\"},kube_pg_backup_status_state{k8s_cluster_id=\"$k8s_cluster\"}) by (state)", - "interval": "", - "legendFormat": "{{phase}}", - "range": true, - "refId": "PVC Bound" - } - ], - "title": "Percona Custom Resources - Backups", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" - }, - "description": "The table that lists Percona Custom Resources - Backups", - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "custom": { - "align": "auto", - "displayMode": "auto", - "inspect": false - }, - "mappings": [], - "noValue": "No backups were created for databases", - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null + "properties": [ + { + "id": "links", + "value": [ + { + "title": "", + "url": "/d/k8s-db-summary/percona-db-cluster?var-namespace=${__data.fields[namespace]}&${k8s_cluster:queryparam}&var-k8s_db_type=${__data.fields[operator]}&var-k8s_db_cr=${__data.fields[name]}\n" + } + ] + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "customresource_kind" }, - { - "color": "red", - "value": 80 - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 27 - }, - "id": 45, - "options": { - "footer": { - "fields": "", - "reducer": [ - "sum" - ], - "show": false - }, - "showHeader": true - }, - "pluginVersion": "9.2.20", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" + "properties": [ + { + "id": "mappings", + "value": [ + { + "options": { + "PerconaPGCluster": { + "index": 1, + "text": "percona-postgresql-operator" + }, + "PerconaServerMongoDB": { + "index": 2, + "text": "percona-server-mongodb-operator" + }, + "PerconaServerMySQL": { + "index": 3, + "text": "percona-server-mysql-operator" + }, + "PerconaXtraDBCluster": { + "index": 0, + "text": "percona-xtradb-cluster-operator" + } + }, + "type": "value" + } + ] + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "operator" + }, + "properties": [ + { + "id": "custom.width", + "value": 260 + } + ] + } + ] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 19 + }, + "id": 44, + "options": { + "footer": { + "fields": "", + "reducer": [ + "sum" + ], + "show": false }, - "editorMode": "code", - "expr": "kube_pxc_backup_status_state{k8s_cluster_id=\"$k8s_cluster\"}", - "legendFormat": "__auto", - "range": true, - "refId": "A" + "showHeader": true, + "sortBy": [ + { + "desc": true, + "displayName": "operator" + } + ] }, - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" + "pluginVersion": "9.2.20", + "targets": [ + { + "editorMode": "code", + "expr": "kube_pxc_status_state{k8s_cluster_id=\"$k8s_cluster\"}", + "legendFormat": "__auto", + "range": true, + "refId": "A" }, - "editorMode": "code", - "expr": "kube_psmdb_backup_status_state{k8s_cluster_id=\"$k8s_cluster\"}", - "hide": false, - "legendFormat": "__auto", - "range": true, - "refId": "B" - }, - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" - }, - "editorMode": "code", - "expr": "kube_pg_backup_status_state{k8s_cluster_id=\"$k8s_cluster\"}", - "hide": false, - "legendFormat": "__auto", - "range": true, - "refId": "C" - } - ], - "title": "Percona Custom Resources - Backups", - "transformations": [ - { - "id": "labelsToFields", - "options": {} - }, - { - "id": "merge", - "options": {} - }, - { - "id": "filterByValue", - "options": { - "filters": [ - { - "config": { - "id": "equal", - "options": { - "value": 1 - } + { + "editorMode": "code", + "expr": "kube_psmdb_status_state{k8s_cluster_id=\"$k8s_cluster\"}", + "hide": false, + "legendFormat": "__auto", + "range": true, + "refId": "B" + }, + { + "editorMode": "code", + "expr": "kube_pg_status_state{k8s_cluster_id=\"$k8s_cluster\"}", + "hide": false, + "legendFormat": "__auto", + "range": true, + "refId": "C" + } + ], + "title": "Percona Custom Resources - Clusters", + "transformations": [ + { + "id": "labelsToFields", + "options": {} + }, + { + "id": "merge", + "options": {} + }, + { + "id": "filterByValue", + "options": { + "filters": [ + { + "config": { + "id": "equal", + "options": { + "value": 1 + } + }, + "fieldName": "Value" + } + ], + "match": "any", + "type": "include" + } + }, + { + "id": "organize", + "options": { + "excludeByName": { + "container": false, + "customresource_group": false, + "customresource_kind": false, + "customresource_version": false, + "state": false + }, + "indexByName": {}, + "renameByName": { + "container": "", + "customresource_group": "", + "customresource_kind": "operator", + "customresource_version": "", + "name": "" + } + } + }, + { + "id": "groupBy", + "options": { + "fields": { + "Operator": { + "aggregations": [], + "operation": "groupby" + }, + "Value": { + "aggregations": [ + "last" + ] }, - "fieldName": "Value" + "cluster": { + "aggregations": [] + }, + "cluster name": { + "aggregations": [], + "operation": "groupby" + }, + "container": { + "aggregations": [] + }, + "customresource_group": { + "aggregations": [] + }, + "customresource_kind": { + "aggregations": [], + "operation": "groupby" + }, + "customresource_version": { + "aggregations": [] + }, + "instance": { + "aggregations": [] + }, + "name": { + "aggregations": [], + "operation": "groupby" + }, + "namespace": { + "aggregations": [], + "operation": "groupby" + }, + "operator": { + "aggregations": [], + "operation": "groupby" + }, + "state": { + "aggregations": [ + "last" + ], + "operation": "aggregate" + } } - ], - "match": "any", - "type": "include" + } } - }, - { - "id": "organize", - "options": { - "excludeByName": { - "state": false + ], + "type": "table" + }, + { + "description": "The health of Percona Custom Resources (CRs) for Backups - pxc-backup, psmdb-backup, pg-backup", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" }, - "indexByName": {}, - "renameByName": {} - } - }, - { - "id": "groupBy", - "options": { - "fields": { - "Value": { - "aggregations": [ - "last" - ] - }, - "customresource_kind": { - "aggregations": [], - "operation": "groupby" + "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 20, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false }, - "name": { - "aggregations": [], - "operation": "groupby" + "lineInterpolation": "linear", + "lineWidth": 2, + "pointSize": 1, + "scaleDistribution": { + "type": "linear" }, - "namespace": { - "aggregations": [], - "operation": "groupby" + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" }, - "state": { - "aggregations": [ - "last" - ], - "operation": "aggregate" + "thresholdsStyle": { + "mode": "off" } + }, + "decimals": 1, + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] } + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 27 + }, + "id": 41, + "interval": "10s", + "maxDataPoints": 100, + "options": { + "legend": { + "calcs": [ + "mean", + "max", + "min" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "single", + "sort": "none" } - } - ], - "type": "table" - }, - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" + }, + "pluginVersion": "8.3.5", + "targets": [ + { + "editorMode": "code", + "exemplar": true, + "expr": "sum(kube_pxc_backup_status_state{k8s_cluster_id=\"$k8s_cluster\"},kube_psmdb_backup_status_state{k8s_cluster_id=\"$k8s_cluster\"},kube_pg_backup_status_state{k8s_cluster_id=\"$k8s_cluster\"}) by (state)", + "interval": "", + "legendFormat": "{{phase}}", + "range": true, + "refId": "PVC Bound" + } + ], + "title": "Percona Custom Resources - Backups", + "type": "timeseries" }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 20, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 2, - "pointSize": 1, - "scaleDistribution": { - "type": "linear" + { + "description": "The table that lists Percona Custom Resources - Backups", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" + "custom": { + "align": "auto", + "displayMode": "auto", + "inspect": false }, - "thresholdsStyle": { - "mode": "off" + "mappings": [], + "noValue": "No backups were created for databases", + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] } }, - "decimals": 1, - "mappings": [], - "min": 0, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green" - }, - { - "color": "red", - "value": 80 - } - ] - } + "overrides": [] }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 35 - }, - "id": 5, - "interval": "10s", - "maxDataPoints": 100, - "options": { - "legend": { - "calcs": [ - "mean", - "max", - "min" - ], - "displayMode": "table", - "placement": "bottom", - "showLegend": true + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 27 }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "pluginVersion": "8.3.5", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" - }, - "editorMode": "code", - "exemplar": true, - "expr": "sum(kube_persistentvolumeclaim_status_phase{k8s_cluster_id=\"$k8s_cluster\"}) by (phase)", - "interval": "", - "legendFormat": "{{phase}}", - "range": true, - "refId": "PVC Bound" - } - ], - "title": "PV and PVC Status", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "custom": { - "align": "auto", - "displayMode": "auto", - "inspect": false - }, - "mappings": [], - "noValue": "Can't find any storage classes", - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green" - }, - { - "color": "red", - "value": 80 - } - ] - } + "id": 45, + "options": { + "footer": { + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": true }, - "overrides": [ + "pluginVersion": "9.2.20", + "targets": [ { - "matcher": { - "id": "byName", - "options": "__name__" - }, - "properties": [ - { - "id": "custom.width", - "value": 169 - } - ] + "editorMode": "code", + "expr": "kube_pxc_backup_status_state{k8s_cluster_id=\"$k8s_cluster\"}", + "legendFormat": "__auto", + "range": true, + "refId": "A" }, { - "matcher": { - "id": "byName", - "options": "instance" - }, - "properties": [ - { - "id": "custom.width", - "value": 347 - } - ] + "editorMode": "code", + "expr": "kube_psmdb_backup_status_state{k8s_cluster_id=\"$k8s_cluster\"}", + "hide": false, + "legendFormat": "__auto", + "range": true, + "refId": "B" }, { - "matcher": { - "id": "byName", - "options": "Reclaim Policy" - }, - "properties": [ - { - "id": "custom.width", - "value": 112 - } - ] - }, + "editorMode": "code", + "expr": "kube_pg_backup_status_state{k8s_cluster_id=\"$k8s_cluster\"}", + "hide": false, + "legendFormat": "__auto", + "range": true, + "refId": "C" + } + ], + "title": "Percona Custom Resources - Backups", + "transformations": [ { - "matcher": { - "id": "byName", - "options": "Provisioner" - }, - "properties": [ - { - "id": "custom.width", - "value": 172 - } - ] + "id": "labelsToFields", + "options": {} }, { - "matcher": { - "id": "byName", - "options": "Storage Class" - }, - "properties": [ - { - "id": "custom.width", - "value": 115 - } - ] + "id": "merge", + "options": {} }, { - "matcher": { - "id": "byName", - "options": "container" - }, - "properties": [ - { - "id": "custom.hidden", - "value": true - } - ] + "id": "filterByValue", + "options": { + "filters": [ + { + "config": { + "id": "equal", + "options": { + "value": 1 + } + }, + "fieldName": "Value" + } + ], + "match": "any", + "type": "include" + } }, { - "matcher": { - "id": "byName", - "options": "namespace" - }, - "properties": [ - { - "id": "custom.hidden", - "value": true - } - ] + "id": "organize", + "options": { + "excludeByName": { + "state": false + }, + "indexByName": {}, + "renameByName": {} + } }, { - "matcher": { - "id": "byName", - "options": "pod" - }, - "properties": [ - { - "id": "custom.width", - "value": 315 + "id": "groupBy", + "options": { + "fields": { + "Value": { + "aggregations": [ + "last" + ] + }, + "customresource_kind": { + "aggregations": [], + "operation": "groupby" + }, + "name": { + "aggregations": [], + "operation": "groupby" + }, + "namespace": { + "aggregations": [], + "operation": "groupby" + }, + "state": { + "aggregations": [ + "last" + ], + "operation": "aggregate" + } } - ] - }, - { - "matcher": { - "id": "byName", - "options": "endpoint" + } + } + ], + "type": "table" + }, + { + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" }, - "properties": [ - { - "id": "custom.hidden", - "value": true + "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 20, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "linear", + "lineWidth": 2, + "pointSize": 1, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" } - ] - }, - { - "matcher": { - "id": "byName", - "options": "pod" }, - "properties": [ - { - "id": "custom.hidden", - "value": true - } - ] + "decimals": 1, + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + } }, - { - "matcher": { - "id": "byName", - "options": "service" - }, - "properties": [ - { - "id": "custom.hidden", - "value": true - } - ] + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 35 + }, + "id": 5, + "interval": "10s", + "maxDataPoints": 100, + "options": { + "legend": { + "calcs": [ + "mean", + "max", + "min" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "single", + "sort": "none" } - ] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 35 - }, - "id": 11, - "options": { - "footer": { - "fields": "", - "reducer": [ - "sum" - ], - "show": false }, - "showHeader": true, - "sortBy": [ + "pluginVersion": "8.3.5", + "targets": [ { - "desc": false, - "displayName": "cluster" + "editorMode": "code", + "exemplar": true, + "expr": "sum(kube_persistentvolumeclaim_status_phase{k8s_cluster_id=\"$k8s_cluster\"}) by (phase)", + "interval": "", + "legendFormat": "{{phase}}", + "range": true, + "refId": "PVC Bound" } - ] + ], + "title": "PV and PVC Status", + "type": "timeseries" }, - "pluginVersion": "9.2.20", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" - }, - "editorMode": "code", - "exemplar": false, - "expr": "kube_storageclass_info{k8s_cluster_id=\"$k8s_cluster\"}", - "format": "table", - "instant": true, - "interval": "", - "legendFormat": "", - "range": false, - "refId": "A" - } - ], - "title": "Storage Class", - "transformations": [ - { - "id": "organize", - "options": { - "excludeByName": { - "Time": true, - "Value": true, - "__name__": true, - "cluster": true, - "instance": true, - "job": true, - "prometheus": true + { + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" }, - "indexByName": {}, - "renameByName": { - "provisioner": "Provisioner", - "reclaim_policy": "Reclaim Policy", - "storageclass": "Storage Class", - "volume_binding_mode": "Bind Mode" + "custom": { + "align": "auto", + "displayMode": "auto", + "inspect": false + }, + "mappings": [], + "noValue": "Can't find any storage classes", + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] } - } - } - ], - "type": "table" - }, - { - "collapsed": false, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 43 - }, - "id": 49, - "panels": [], - "title": "Cluster - Compute and Network", - "type": "row" - }, - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" - }, - "description": "CPU and Memory requests and limits utilization for the whole Kubernetes cluster", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 20, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "__name__" + }, + "properties": [ + { + "id": "custom.width", + "value": 169 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "instance" + }, + "properties": [ + { + "id": "custom.width", + "value": 347 + } + ] }, - "lineInterpolation": "linear", - "lineWidth": 2, - "pointSize": 1, - "scaleDistribution": { - "type": "linear" + { + "matcher": { + "id": "byName", + "options": "Reclaim Policy" + }, + "properties": [ + { + "id": "custom.width", + "value": 112 + } + ] }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" + { + "matcher": { + "id": "byName", + "options": "Provisioner" + }, + "properties": [ + { + "id": "custom.width", + "value": 172 + } + ] }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "min": 0, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green" + { + "matcher": { + "id": "byName", + "options": "Storage Class" }, - { - "color": "red", - "value": 80 - } - ] - }, - "unit": "percent" - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 44 - }, - "id": 2, - "interval": "1s", - "maxDataPoints": 1000, - "options": { - "legend": { - "calcs": [ - "mean", - "max", - "min" - ], - "displayMode": "table", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "pluginVersion": "8.3.5", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" - }, - "editorMode": "code", - "expr": "sum(kube_pod_container_resource_requests{k8s_cluster_id=\"$k8s_cluster\",resource=\"cpu\"}) / \r\nsum(kube_node_status_capacity{k8s_cluster_id=\"$k8s_cluster\",resource=\"cpu\"})\r\n* 100", - "hide": false, - "legendFormat": "CPU Request %", - "range": true, - "refId": "A" - }, - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" - }, - "editorMode": "code", - "expr": "sum(kube_pod_container_resource_limits{k8s_cluster_id=\"$k8s_cluster\",resource=\"cpu\"}) / \r\nsum(kube_node_status_capacity{k8s_cluster_id=\"$k8s_cluster\",resource=\"cpu\"})\r\n* 100", - "hide": false, - "legendFormat": "CPU Limit %", - "range": true, - "refId": "B" - }, - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" - }, - "editorMode": "code", - "expr": "sum(kube_pod_container_resource_requests{k8s_cluster_id=\"$k8s_cluster\",resource=\"memory\"}) / \r\nsum(kube_node_status_capacity{k8s_cluster_id=\"$k8s_cluster\",resource=\"memory\"})\r\n* 100", - "hide": false, - "legendFormat": "Memory Requests %", - "range": true, - "refId": "C" - }, - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" - }, - "editorMode": "code", - "expr": "sum(kube_pod_container_resource_limits{k8s_cluster_id=\"$k8s_cluster\",resource=\"memory\"}) / \r\nsum(kube_node_status_capacity{k8s_cluster_id=\"$k8s_cluster\",resource=\"memory\"})\r\n* 100", - "hide": false, - "legendFormat": "Memory Limit %", - "range": true, - "refId": "D" - } - ], - "title": "CPU and Memory %", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 20, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false + "properties": [ + { + "id": "custom.width", + "value": 115 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "container" + }, + "properties": [ + { + "id": "custom.hidden", + "value": true + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "namespace" + }, + "properties": [ + { + "id": "custom.hidden", + "value": true + } + ] }, - "lineInterpolation": "linear", - "lineWidth": 2, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" + { + "matcher": { + "id": "byName", + "options": "pod" + }, + "properties": [ + { + "id": "custom.width", + "value": 315 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "endpoint" + }, + "properties": [ + { + "id": "custom.hidden", + "value": true + } + ] }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" + { + "matcher": { + "id": "byName", + "options": "pod" + }, + "properties": [ + { + "id": "custom.hidden", + "value": true + } + ] }, - "thresholdsStyle": { - "mode": "off" + { + "matcher": { + "id": "byName", + "options": "service" + }, + "properties": [ + { + "id": "custom.hidden", + "value": true + } + ] } + ] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 35 + }, + "id": 11, + "options": { + "footer": { + "fields": "", + "reducer": [ + "sum" + ], + "show": false }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green" + "showHeader": true, + "sortBy": [ + { + "desc": false, + "displayName": "cluster" + } + ] + }, + "pluginVersion": "9.2.20", + "targets": [ + { + "editorMode": "code", + "exemplar": false, + "expr": "kube_storageclass_info{k8s_cluster_id=\"$k8s_cluster\"}", + "format": "table", + "instant": true, + "interval": "", + "legendFormat": "", + "range": false, + "refId": "A" + } + ], + "title": "Storage Class", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "Time": true, + "Value": true, + "__name__": true, + "cluster": true, + "instance": true, + "job": true, + "prometheus": true }, - { - "color": "red", - "value": 80 + "indexByName": {}, + "renameByName": { + "provisioner": "Provisioner", + "reclaim_policy": "Reclaim Policy", + "storageclass": "Storage Class", + "volume_binding_mode": "Bind Mode" } - ] - }, - "unit": "Bps" - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 44 - }, - "id": 3, - "interval": "1s", - "maxDataPoints": 1000, - "options": { - "legend": { - "calcs": [ - "mean", - "max", - "min" - ], - "displayMode": "table", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } + } + } + ], + "type": "table" }, - "pluginVersion": "8.3.5", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" - }, - "editorMode": "code", - "exemplar": true, - "expr": "sum (rate (container_network_receive_bytes_total{k8s_cluster_id=\"$k8s_cluster\"}[1m]))", - "interval": "", - "legendFormat": "Received", - "range": true, - "refId": "CPU" - }, - { - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" - }, - "editorMode": "code", - "exemplar": true, - "expr": "- sum (rate (container_network_transmit_bytes_total{k8s_cluster_id=\"$k8s_cluster\"}[1m]))", - "hide": false, - "interval": "", - "legendFormat": "Sent", - "range": true, - "refId": "Memory" - } - ], - "title": "Cluster Network", - "type": "timeseries" - } - ], - "refresh": "5m", - "schemaVersion": 37, - "style": "dark", - "tags": [ - "Kubernetes", - "Operators", - "Percona" - ], - "templating": { - "list": [ { - "current": { - "selected": false, - "text": "Metrics", - "value": "Metrics" - }, - "hide": 0, - "includeAll": false, - "multi": false, - "name": "datasource", - "options": [], - "query": "prometheus", - "queryValue": "", - "refresh": 1, - "regex": "", - "skipUrlSync": false, - "type": "datasource" + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 43 + }, + "id": 49, + "panels": [], + "title": "Cluster - Compute and Network", + "type": "row" }, { - "current": { - "selected": false, - "text": "1m", - "value": "1m" - }, - "hide": 0, - "includeAll": false, - "multi": false, - "name": "Data_Usage_Interval", - "options": [ + "description": "CPU and Memory requests and limits utilization for the whole Kubernetes cluster", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 20, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "linear", + "lineWidth": 2, + "pointSize": 1, + "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": "percent" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 44 + }, + "id": 2, + "interval": "1s", + "maxDataPoints": 1000, + "options": { + "legend": { + "calcs": [ + "mean", + "max", + "min" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "pluginVersion": "8.3.5", + "targets": [ { - "selected": true, - "text": "1m", - "value": "1m" + "editorMode": "code", + "expr": "sum(kube_pod_container_resource_requests{k8s_cluster_id=\"$k8s_cluster\",resource=\"cpu\"}) / \r\nsum(kube_node_status_capacity{k8s_cluster_id=\"$k8s_cluster\",resource=\"cpu\"})\r\n* 100", + "hide": false, + "legendFormat": "CPU Request %", + "range": true, + "refId": "A" }, { - "selected": false, - "text": "1h", - "value": "1h" + "editorMode": "code", + "expr": "sum(kube_pod_container_resource_limits{k8s_cluster_id=\"$k8s_cluster\",resource=\"cpu\"}) / \r\nsum(kube_node_status_capacity{k8s_cluster_id=\"$k8s_cluster\",resource=\"cpu\"})\r\n* 100", + "hide": false, + "legendFormat": "CPU Limit %", + "range": true, + "refId": "B" }, { - "selected": false, - "text": "1d", - "value": "1d" + "editorMode": "code", + "expr": "sum(kube_pod_container_resource_requests{k8s_cluster_id=\"$k8s_cluster\",resource=\"memory\"}) / \r\nsum(kube_node_status_capacity{k8s_cluster_id=\"$k8s_cluster\",resource=\"memory\"})\r\n* 100", + "hide": false, + "legendFormat": "Memory Requests %", + "range": true, + "refId": "C" }, { - "selected": false, - "text": "1w", - "value": "1w" + "editorMode": "code", + "expr": "sum(kube_pod_container_resource_limits{k8s_cluster_id=\"$k8s_cluster\",resource=\"memory\"}) / \r\nsum(kube_node_status_capacity{k8s_cluster_id=\"$k8s_cluster\",resource=\"memory\"})\r\n* 100", + "hide": false, + "legendFormat": "Memory Limit %", + "range": true, + "refId": "D" } ], - "query": "1m,1h,1d,1w", - "queryValue": "", - "skipUrlSync": false, - "type": "custom" + "title": "CPU and Memory %", + "type": "timeseries" }, { - "allValue": ".*", - "current": { - "selected": false, - "text": "sp-cluster", - "value": "sp-cluster" - }, - "datasource": { - "type": "prometheus", - "uid": "PA58DA793C7250F1B" - }, - "definition": "label_values(k8s_cluster_id)", - "hide": 0, - "includeAll": false, - "label": "K8S Cluster", - "multi": false, - "name": "k8s_cluster", - "options": [], - "query": { - "query": "label_values(k8s_cluster_id)", - "refId": "StandardVariableQuery" - }, - "refresh": 2, - "regex": "", - "skipUrlSync": false, - "sort": 1, - "type": "query" + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 20, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "linear", + "lineWidth": 2, + "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": "Bps" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 44 + }, + "id": 3, + "interval": "1s", + "maxDataPoints": 1000, + "options": { + "legend": { + "calcs": [ + "mean", + "max", + "min" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "pluginVersion": "8.3.5", + "targets": [ + { + "editorMode": "code", + "exemplar": true, + "expr": "sum (rate (container_network_receive_bytes_total{k8s_cluster_id=\"$k8s_cluster\"}[1m]))", + "interval": "", + "legendFormat": "Received", + "range": true, + "refId": "CPU" + }, + { + "editorMode": "code", + "exemplar": true, + "expr": "- sum (rate (container_network_transmit_bytes_total{k8s_cluster_id=\"$k8s_cluster\"}[1m]))", + "hide": false, + "interval": "", + "legendFormat": "Sent", + "range": true, + "refId": "Memory" + } + ], + "title": "Cluster Network", + "type": "timeseries" } - ] - }, - "time": { - "from": "now-12h", - "to": "now" - }, - "timepicker": {}, - "timezone": "", - "title": "Kubernetes Cluster Overview", - "uid": "k8s-cluster-overview", - "version": 8, - "weekStart": "" -} \ No newline at end of file + ], + "refresh": "5m", + "schemaVersion": 37, + "style": "dark", + "tags": [ + "Kubernetes", + "Operators", + "Percona" + ], + "templating": { + "list": [ + { + "current": { + "selected": false, + "text": "Metrics", + "value": "Metrics" + }, + "hide": 0, + "includeAll": false, + "multi": false, + "name": "datasource", + "options": [], + "query": "prometheus", + "queryValue": "", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "type": "datasource" + }, + { + "current": { + "selected": false, + "text": "1m", + "value": "1m" + }, + "hide": 0, + "includeAll": false, + "multi": false, + "name": "Data_Usage_Interval", + "options": [ + { + "selected": true, + "text": "1m", + "value": "1m" + }, + { + "selected": false, + "text": "1h", + "value": "1h" + }, + { + "selected": false, + "text": "1d", + "value": "1d" + }, + { + "selected": false, + "text": "1w", + "value": "1w" + } + ], + "query": "1m,1h,1d,1w", + "queryValue": "", + "skipUrlSync": false, + "type": "custom" + }, + { + "allValue": ".*", + "current": { + "selected": false, + "text": "sp-cluster", + "value": "sp-cluster" + }, + "definition": "label_values(k8s_cluster_id)", + "hide": 0, + "includeAll": false, + "label": "K8S Cluster", + "multi": false, + "name": "k8s_cluster", + "options": [], + "query": { + "query": "label_values(k8s_cluster_id)", + "refId": "StandardVariableQuery" + }, + "refresh": 2, + "regex": "", + "skipUrlSync": false, + "sort": 1, + "type": "query" + } + ] + }, + "time": { + "from": "now-12h", + "to": "now" + }, + "timepicker": {}, + "timezone": "", + "title": "Kubernetes Cluster Overview", + "uid": "k8s-cluster-overview", + "version": 8, + "weekStart": "" + }