diff --git a/addons/redis/dashboards/redis.json b/addons/redis/dashboards/redis.json index 21eafc13f..b9214d5d1 100644 --- a/addons/redis/dashboards/redis.json +++ b/addons/redis/dashboards/redis.json @@ -24,34 +24,11 @@ "description": "Dashboards for Redis managed by KubeBlocks", "editable": true, "fiscalYearStartMonth": 0, + "gnetId": 763, "graphTooltip": 1, - "id": 31, - "links": [ - { - "asDropdown": false, - "icon": "cloud", - "includeVars": false, - "keepTime": false, - "tags": [], - "targetBlank": true, - "title": "ApeCloud", - "tooltip": "Improved productivity, cost-efficiency and business continuity.", - "type": "link", - "url": "https://kubeblocks.io/" - }, - { - "asDropdown": false, - "icon": "cloud", - "includeVars": false, - "keepTime": false, - "tags": [], - "targetBlank": true, - "title": "KubeBlocks", - "tooltip": "An open-source and cloud-neutral DBaaS with Kubernetes.", - "type": "link", - "url": "https://github.com/apecloud/kubeblocks" - } - ], + "id": 6, + "links": [], + "liveNow": false, "panels": [ { "collapsed": false, @@ -66,194 +43,6 @@ "title": "Summary", "type": "row" }, - { - "datasource": { - "type": "prometheus", - "uid": "$datasource" - }, - "description": "", - "fieldConfig": { - "defaults": { - "decimals": 0, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "dark-green" - } - ] - }, - "unit": "short" - }, - "overrides": [] - }, - "gridPos": { - "h": 4, - "w": 3, - "x": 0, - "y": 1 - }, - "id": 40, - "maxDataPoints": 100, - "options": { - "colorMode": "value", - "fieldOptions": { - "calcs": [ - "lastNotNull" - ] - }, - "graphMode": "area", - "justifyMode": "auto", - "orientation": "horizontal", - "percentChangeColorMode": "standard", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "showPercentChange": false, - "textMode": "auto", - "wideLayout": true - }, - "pluginVersion": "12.0.2", - "targets": [ - { - "calculatedInterval": "10m", - "datasource": { - "uid": "$datasource" - }, - "datasourceErrors": {}, - "editorMode": "code", - "errors": {}, - "expr": "count(sum by(namespace)(redis_up{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"})) or vector(0)", - "format": "time_series", - "interval": "", - "intervalFactor": 1, - "legendFormat": "__auto", - "metric": "", - "range": true, - "refId": "A", - "step": 20 - } - ], - "title": "Total Namespaces", - "type": "stat" - }, - { - "datasource": { - "type": "prometheus", - "uid": "$datasource" - }, - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "custom": { - "align": "center", - "cellOptions": { - "type": "auto" - }, - "filterable": false, - "inspect": false - }, - "decimals": 2, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "dark-green" - } - ] - }, - "unit": "short" - }, - "overrides": [ - { - "matcher": { - "id": "byName", - "options": "instances" - }, - "properties": [ - { - "id": "custom.cellOptions", - "value": { - "mode": "lcd", - "type": "gauge" - } - } - ] - } - ] - }, - "gridPos": { - "h": 4, - "w": 5, - "x": 3, - "y": 1 - }, - "id": 44, - "maxDataPoints": 100, - "options": { - "cellHeight": "sm", - "footer": { - "countRows": false, - "fields": "", - "reducer": [ - "sum" - ], - "show": false - }, - "showHeader": true - }, - "pluginVersion": "12.0.2", - "targets": [ - { - "calculatedInterval": "10m", - "datasource": { - "uid": "$datasource" - }, - "datasourceErrors": {}, - "editorMode": "code", - "errors": {}, - "exemplar": false, - "expr": "count by(redis_version)(redis_instance_info{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"})", - "format": "table", - "instant": true, - "interval": "", - "intervalFactor": 1, - "legendFormat": "{{short_version}}", - "metric": "", - "range": false, - "refId": "A", - "step": 20 - } - ], - "title": "Cluster Versions", - "transformations": [ - { - "id": "organize", - "options": { - "excludeByName": { - "Time": true, - "Value": false - }, - "indexByName": {}, - "renameByName": { - "Value": "instances", - "pod": "instance", - "short_version": "version" - } - } - } - ], - "type": "table" - }, { "datasource": { "type": "prometheus", @@ -266,7 +55,7 @@ "mode": "thresholds" }, "custom": { - "align": "center", + "align": "left", "cellOptions": { "type": "auto" }, @@ -278,7 +67,8 @@ "mode": "absolute", "steps": [ { - "color": "green" + "color": "green", + "value": null } ] } @@ -292,17 +82,11 @@ "properties": [ { "id": "links", - "value": [ - { - "targetBlank": true, - "title": "PostgreSQL Instance: ${__data.fields.cluster} | ${__data.fields.instance}", - "url": "/d/pMEd7m0Mz/cadvisor-exporter?orgId=1&var-node=All&var-namespace=${__data.fields.namespace}&var-pod=${__data.fields.instance}&var-container=All" - } - ] + "value": [] }, { "id": "custom.align", - "value": "center" + "value": "left" }, { "id": "custom.filterable", @@ -326,7 +110,8 @@ "mode": "absolute", "steps": [ { - "color": "dark-red" + "color": "dark-red", + "value": null }, { "color": "dark-yellow", @@ -348,18 +133,6 @@ } ] }, - { - "matcher": { - "id": "byName", - "options": "namespace" - }, - "properties": [ - { - "id": "custom.filterable", - "value": true - } - ] - }, { "matcher": { "id": "byName", @@ -375,12 +148,14 @@ ] }, "gridPos": { - "h": 8, - "w": 16, - "x": 8, + "h": 6, + "w": 7, + "x": 0, "y": 1 }, "id": 48, + "interval": "", + "links": [], "maxDataPoints": 100, "options": { "cellHeight": "sm", @@ -401,7 +176,7 @@ } ] }, - "pluginVersion": "12.0.2", + "pluginVersion": "10.1.1", "targets": [ { "calculatedInterval": "10m", @@ -482,8 +257,11 @@ "Time 1": true, "Time 2": true, "Value #A": true, + "app_kubernetes_io_instance 1": true, "app_kubernetes_io_instance 2": true, - "namespace 2": true + "namespace 1": true, + "namespace 2": true, + "node": true }, "indexByName": { "Time 1": 4, @@ -516,179 +294,28 @@ "description": "", "fieldConfig": { "defaults": { - "decimals": 0, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "dark-green" - } - ] + "color": { + "mode": "thresholds" }, - "unit": "short" - }, - "overrides": [] - }, - "gridPos": { - "h": 4, - "w": 3, - "x": 0, - "y": 5 - }, - "id": 42, - "maxDataPoints": 100, - "options": { - "colorMode": "value", - "fieldOptions": { - "calcs": [ - "lastNotNull" - ] - }, - "graphMode": "area", - "justifyMode": "auto", - "orientation": "horizontal", - "percentChangeColorMode": "standard", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "showPercentChange": false, - "textMode": "auto", - "wideLayout": true - }, - "pluginVersion": "12.0.2", - "targets": [ - { - "calculatedInterval": "10m", - "datasource": { - "uid": "$datasource" + "custom": { + "align": "left", + "cellOptions": { + "type": "auto" + }, + "filterable": false, + "inspect": false }, - "datasourceErrors": {}, - "editorMode": "code", - "errors": {}, - "expr": "count(sum by(namespace,app_kubernetes_io_instance)(redis_up{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"})) or vector(0)", - "format": "time_series", - "interval": "", - "intervalFactor": 1, - "legendFormat": "{{label_name}}", - "metric": "", - "range": true, - "refId": "A", - "step": 20 - } - ], - "title": "Total Clusters", - "type": "stat" - }, - { - "datasource": { - "type": "prometheus", - "uid": "$datasource" - }, - "description": "", - "fieldConfig": { - "defaults": { - "decimals": 0, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { - "color": "dark-green" + "color": "green", + "value": null } ] }, - "unit": "short" - }, - "overrides": [] - }, - "gridPos": { - "h": 4, - "w": 5, - "x": 3, - "y": 5 - }, - "id": 50, - "maxDataPoints": 100, - "options": { - "colorMode": "value", - "fieldOptions": { - "calcs": [ - "lastNotNull" - ] - }, - "graphMode": "area", - "justifyMode": "auto", - "orientation": "horizontal", - "percentChangeColorMode": "standard", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "showPercentChange": false, - "textMode": "auto", - "wideLayout": true - }, - "pluginVersion": "12.0.2", - "targets": [ - { - "calculatedInterval": "10m", - "datasource": { - "uid": "$datasource" - }, - "datasourceErrors": {}, - "editorMode": "code", - "errors": {}, - "expr": "count(sum by(namespace,pod)(redis_up{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"})) or vector(0)", - "format": "time_series", - "interval": "", - "intervalFactor": 1, - "legendFormat": "{{label_name}}", - "metric": "", - "range": true, - "refId": "A", - "step": 20 - } - ], - "title": "Total Instances", - "type": "stat" - }, - { - "datasource": { - "type": "prometheus", - "uid": "$datasource" - }, - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "custom": { - "align": "center", - "cellOptions": { - "type": "auto" - }, - "filterable": false, - "inspect": false - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green" - } - ] - }, - "unit": "none" + "unit": "none" }, "overrides": [ { @@ -752,7 +379,8 @@ "mode": "absolute", "steps": [ { - "color": "green" + "color": "green", + "value": null }, { "color": "#EAB839", @@ -797,7 +425,8 @@ "mode": "absolute", "steps": [ { - "color": "green" + "color": "green", + "value": null }, { "color": "#EAB839", @@ -893,7 +522,8 @@ "mode": "absolute", "steps": [ { - "color": "green" + "color": "green", + "value": null }, { "color": "#EAB839", @@ -942,7 +572,8 @@ "mode": "absolute", "steps": [ { - "color": "green" + "color": "green", + "value": null }, { "color": "#EAB839", @@ -960,12 +591,12 @@ ] }, "gridPos": { - "h": 7, - "w": 8, - "x": 0, - "y": 9 + "h": 6, + "w": 6, + "x": 7, + "y": 1 }, - "id": 54, + "id": 56, "options": { "cellHeight": "sm", "footer": { @@ -989,7 +620,7 @@ "showHeader": true, "sortBy": [] }, - "pluginVersion": "12.0.2", + "pluginVersion": "10.1.1", "targets": [ { "datasource": { @@ -1013,7 +644,7 @@ }, "editorMode": "code", "exemplar": false, - "expr": "redis_mem_util * on (iid) group_right redis_up or (100 * (redis_memory_used_bytes{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"} / redis_memory_max_bytes{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"}))", + "expr": "rate(redis_cpu_user_seconds_total{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"}[2m]) * 100", "format": "table", "hide": false, "instant": true, @@ -1022,7 +653,7 @@ "refId": "C" } ], - "title": "Top5 Memory Usage", + "title": "Top5 User CPU Usage", "transformations": [ { "id": "merge", @@ -1040,6 +671,7 @@ "account": true, "app_kubernetes_io_component": true, "app_kubernetes_io_component_name": true, + "app_kubernetes_io_instance": true, "app_kubernetes_io_managed_by": true, "app_kubernetes_io_name": true, "apps_kubeblocks_io_component_name": true, @@ -1077,7 +709,7 @@ "renameByName": { "Time": "", "Value #B": "CPU%", - "Value #C": "Memory %", + "Value #C": "User CPU % ", "Value #D": "Connections", "Value #E": "Total Commands / s", "Value #F": "Uptime / h", @@ -1108,6 +740,10 @@ "aggregations": [], "operation": "groupby" }, + "User CPU % ": { + "aggregations": [], + "operation": "groupby" + }, "instance": { "aggregations": [], "operation": "groupby" @@ -1122,7 +758,7 @@ "sort": [ { "desc": true, - "field": "Memory %" + "field": "User CPU % " } ] } @@ -1148,7 +784,7 @@ "mode": "thresholds" }, "custom": { - "align": "center", + "align": "left", "cellOptions": { "type": "auto" }, @@ -1160,7 +796,8 @@ "mode": "absolute", "steps": [ { - "color": "green" + "color": "green", + "value": null } ] }, @@ -1228,7 +865,8 @@ "mode": "absolute", "steps": [ { - "color": "green" + "color": "green", + "value": null }, { "color": "#EAB839", @@ -1273,7 +911,8 @@ "mode": "absolute", "steps": [ { - "color": "green" + "color": "green", + "value": null }, { "color": "#EAB839", @@ -1369,7 +1008,8 @@ "mode": "absolute", "steps": [ { - "color": "green" + "color": "green", + "value": null }, { "color": "#EAB839", @@ -1418,7 +1058,8 @@ "mode": "absolute", "steps": [ { - "color": "green" + "color": "green", + "value": null }, { "color": "#EAB839", @@ -1436,12 +1077,12 @@ ] }, "gridPos": { - "h": 7, - "w": 8, - "x": 8, - "y": 9 + "h": 6, + "w": 6, + "x": 13, + "y": 1 }, - "id": 56, + "id": 54, "options": { "cellHeight": "sm", "footer": { @@ -1465,7 +1106,7 @@ "showHeader": true, "sortBy": [] }, - "pluginVersion": "12.0.2", + "pluginVersion": "10.1.1", "targets": [ { "datasource": { @@ -1489,7 +1130,7 @@ }, "editorMode": "code", "exemplar": false, - "expr": "rate(redis_cpu_user_seconds_total{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"}[2m]) * 100", + "expr": "redis_mem_util * on (iid) group_right redis_up or (100 * (redis_memory_used_bytes{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"} / redis_memory_max_bytes{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"}))", "format": "table", "hide": false, "instant": true, @@ -1498,7 +1139,7 @@ "refId": "C" } ], - "title": "Top5 User CPU Usage", + "title": "Top5 Memory Usage", "transformations": [ { "id": "merge", @@ -1516,6 +1157,7 @@ "account": true, "app_kubernetes_io_component": true, "app_kubernetes_io_component_name": true, + "app_kubernetes_io_instance": true, "app_kubernetes_io_managed_by": true, "app_kubernetes_io_name": true, "apps_kubeblocks_io_component_name": true, @@ -1553,7 +1195,7 @@ "renameByName": { "Time": "", "Value #B": "CPU%", - "Value #C": "User CPU % ", + "Value #C": "Memory %", "Value #D": "Connections", "Value #E": "Total Commands / s", "Value #F": "Uptime / h", @@ -1584,10 +1226,6 @@ "aggregations": [], "operation": "groupby" }, - "User CPU % ": { - "aggregations": [], - "operation": "groupby" - }, "instance": { "aggregations": [], "operation": "groupby" @@ -1602,7 +1240,7 @@ "sort": [ { "desc": true, - "field": "User CPU % " + "field": "Memory %" } ] } @@ -1628,7 +1266,7 @@ "mode": "thresholds" }, "custom": { - "align": "center", + "align": "left", "cellOptions": { "type": "auto" }, @@ -1640,7 +1278,8 @@ "mode": "absolute", "steps": [ { - "color": "green" + "color": "green", + "value": null } ] }, @@ -1708,7 +1347,8 @@ "mode": "absolute", "steps": [ { - "color": "green" + "color": "green", + "value": null }, { "color": "#EAB839", @@ -1753,7 +1393,8 @@ "mode": "absolute", "steps": [ { - "color": "green" + "color": "green", + "value": null }, { "color": "#EAB839", @@ -1849,7 +1490,8 @@ "mode": "absolute", "steps": [ { - "color": "green" + "color": "green", + "value": null }, { "color": "#EAB839", @@ -1898,7 +1540,8 @@ "mode": "absolute", "steps": [ { - "color": "green" + "color": "green", + "value": null }, { "color": "#EAB839", @@ -1916,10 +1559,10 @@ ] }, "gridPos": { - "h": 7, - "w": 8, - "x": 16, - "y": 9 + "h": 6, + "w": 5, + "x": 19, + "y": 1 }, "id": 58, "options": { @@ -1945,7 +1588,7 @@ "showHeader": true, "sortBy": [] }, - "pluginVersion": "12.0.2", + "pluginVersion": "10.1.1", "targets": [ { "datasource": { @@ -1996,6 +1639,7 @@ "account": true, "app_kubernetes_io_component": true, "app_kubernetes_io_component_name": true, + "app_kubernetes_io_instance": true, "app_kubernetes_io_managed_by": true, "app_kubernetes_io_name": true, "apps_kubeblocks_io_component_name": true, @@ -2112,7 +1756,7 @@ "mode": "thresholds" }, "custom": { - "align": "center", + "align": "left", "cellOptions": { "type": "auto" }, @@ -2124,7 +1768,8 @@ "mode": "absolute", "steps": [ { - "color": "green" + "color": "green", + "value": null } ] }, @@ -2192,7 +1837,8 @@ "mode": "absolute", "steps": [ { - "color": "green" + "color": "green", + "value": null }, { "color": "#EAB839", @@ -2237,7 +1883,8 @@ "mode": "absolute", "steps": [ { - "color": "green" + "color": "green", + "value": null }, { "color": "#EAB839", @@ -2333,7 +1980,8 @@ "mode": "absolute", "steps": [ { - "color": "green" + "color": "green", + "value": null }, { "color": "#EAB839", @@ -2382,7 +2030,8 @@ "mode": "absolute", "steps": [ { - "color": "green" + "color": "green", + "value": null }, { "color": "#EAB839", @@ -2412,10 +2061,10 @@ ] }, "gridPos": { - "h": 8, + "h": 6, "w": 24, "x": 0, - "y": 16 + "y": 7 }, "id": 36, "options": { @@ -2441,7 +2090,7 @@ "showHeader": true, "sortBy": [] }, - "pluginVersion": "12.0.2", + "pluginVersion": "10.1.1", "targets": [ { "datasource": { @@ -2683,37 +2332,425 @@ "type": "table" }, { - "collapsed": false, + "collapsed": true, + "datasource": { + "type": "prometheus", + "uid": "$datasource" + }, "gridPos": { "h": 1, "w": 24, "x": 0, - "y": 24 + "y": 13 }, "id": 26, - "panels": [], + "panels": [ + { + "datasource": { + "type": "prometheus", + "uid": "$datasource" + }, + "description": "Sum taken across instances", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "links": [], + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "short" + }, + "overrides": [] + }, + "gridPos": { + "h": 7, + "w": 8, + "x": 0, + "y": 14 + }, + "id": 16, + "links": [], + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } + }, + "pluginVersion": "9.2.4", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "$datasource" + }, + "editorMode": "code", + "expr": "redis_config_maxclients{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"}", + "hide": true, + "legendFormat": "{{pod}} | maxclients", + "range": true, + "refId": "C" + }, + { + "datasource": { + "uid": "$datasource" + }, + "editorMode": "code", + "expr": "redis_connected_clients{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"}", + "format": "time_series", + "interval": "", + "intervalFactor": 1, + "legendFormat": "{{pod}} | connected_clients", + "range": true, + "refId": "A" + }, + { + "datasource": { + "uid": "$datasource" + }, + "editorMode": "code", + "expr": "redis_blocked_clients{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"}", + "format": "time_series", + "interval": "", + "intervalFactor": 1, + "legendFormat": "{{pod}} | blocked_clients", + "range": true, + "refId": "B" + } + ], + "title": "Current Connections", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "$datasource" + }, + "description": "", + "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 + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 2, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "links": [], + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "percentunit" + }, + "overrides": [] + }, + "gridPos": { + "h": 7, + "w": 8, + "x": 8, + "y": 14 + }, + "id": 60, + "links": [], + "options": { + "legend": { + "calcs": [ + "mean", + "lastNotNull", + "max", + "min" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true, + "sortBy": "Name", + "sortDesc": false + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } + }, + "pluginVersion": "9.2.4", + "targets": [ + { + "calculatedInterval": "2m", + "datasource": { + "uid": "$datasource" + }, + "datasourceErrors": {}, + "editorMode": "code", + "errors": {}, + "expr": "sum by(namespace,app_kubernetes_io_instance,pod,kubeblocks_role) (redis_connected_clients{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\"}) / on(namespace,app_kubernetes_io_instance,pod,kubeblocks_role) redis_config_maxclients{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\"}", + "format": "time_series", + "interval": "", + "intervalFactor": 1, + "legendFormat": "{{pod}} / {{kubeblocks_role}}", + "metric": "", + "range": true, + "refId": "A", + "step": 20 + } + ], + "title": "Used Connections Ratio", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "$datasource" + }, + "description": "Sum taken across instances", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "links": [], + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "short" + }, + "overrides": [] + }, + "gridPos": { + "h": 7, + "w": 8, + "x": 16, + "y": 14 + }, + "id": 68, + "links": [], + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } + }, + "pluginVersion": "9.2.4", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "$datasource" + }, + "editorMode": "code", + "expr": "rate(redis_cpu_user_seconds_total{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"}[2m]) * 100", + "hide": false, + "legendFormat": "{{pod}} | cpu_user", + "range": true, + "refId": "C" + }, + { + "datasource": { + "uid": "$datasource" + }, + "editorMode": "code", + "expr": "rate(redis_cpu_sys_seconds_total{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"}[2m]) * 100", + "format": "time_series", + "interval": "", + "intervalFactor": 1, + "legendFormat": "{{pod}} | cpu_sys", + "range": true, + "refId": "A" + } + ], + "title": "CPU Average Ratio", + "type": "timeseries" + } + ], + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "$datasource" + }, + "refId": "A" + } + ], "title": "Connection And CPU", "type": "row" }, { + "collapsed": false, "datasource": { "type": "prometheus", "uid": "$datasource" }, - "description": "Sum taken across instances", + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 14 + }, + "id": 22, + "panels": [], + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "$datasource" + }, + "refId": "A" + } + ], + "title": "Memory And Keys", + "type": "row" + }, + { + "datasource": { + "type": "prometheus", + "uid": "$datasource" + }, + "description": "Total taken across instances", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { - "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, - "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 10, "gradientMode": "none", @@ -2741,11 +2778,13 @@ }, "links": [], "mappings": [], + "min": 0, "thresholds": { "mode": "absolute", "steps": [ { - "color": "green" + "color": "green", + "value": null }, { "color": "red", @@ -2753,72 +2792,137 @@ } ] }, - "unit": "short" - }, - "overrides": [] - }, - "gridPos": { - "h": 7, - "w": 8, - "x": 0, - "y": 25 - }, - "id": 16, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true + "unit": "bytes" }, - "tooltip": { - "hideZeros": false, - "mode": "multi", - "sort": "none" - } - }, - "pluginVersion": "12.0.2", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "$datasource" + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "max" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#BF1B00", + "mode": "fixed" + } + } + ] }, - "editorMode": "code", - "expr": "redis_config_maxclients{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"}", - "hide": true, - "legendFormat": "{{namespace}} | {{app_kubernetes_io_instance}} | {{pod}} | maxclients", - "range": true, - "refId": "C" - }, - { - "datasource": { - "uid": "$datasource" + { + "matcher": { + "id": "byRegexp", + "options": "/max/" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#E02F44", + "mode": "fixed" + } + }, + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "custom.lineWidth", + "value": 1 + }, + { + "id": "custom.lineStyle", + "value": { + "dash": [ + 10, + 10 + ], + "fill": "dash" + } + } + ] + } + ] + }, + "gridPos": { + "h": 7, + "w": 8, + "x": 0, + "y": 15 + }, + "id": 7, + "links": [], + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } + }, + "pluginVersion": "9.2.4", + "targets": [ + { + "datasource": { + "uid": "$datasource" }, "editorMode": "code", - "expr": "redis_connected_clients{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"}", + "expr": "sum(redis_memory_used_bytes{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"}) by (namespace, app_kubernetes_io_instance, pod)", "format": "time_series", "interval": "", - "intervalFactor": 1, - "legendFormat": "{{namespace}} | {{app_kubernetes_io_instance}} | {{pod}} | connected_clients", + "intervalFactor": 2, + "legendFormat": "{{pod}} | Used Memory", + "metric": "", "range": true, - "refId": "A" + "refId": "A", + "step": 240, + "target": "" }, { "datasource": { "uid": "$datasource" }, "editorMode": "code", - "expr": "redis_blocked_clients{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"}", + "expr": "sum(redis_memory_max_bytes{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"}) by (namespace, app_kubernetes_io_instance, pod)", "format": "time_series", + "hide": false, "interval": "", - "intervalFactor": 1, - "legendFormat": "{{namespace}} | {{app_kubernetes_io_instance}} | {{pod}} | blocked_clients", + "intervalFactor": 2, + "legendFormat": "{{pod}} | MaxMemory", "range": true, - "refId": "B" + "refId": "B", + "step": 240 + }, + { + "datasource": { + "uid": "$datasource" + }, + "editorMode": "code", + "expr": "sum(redis_memory_used_rss_bytes{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"}) by (namespace, app_kubernetes_io_instance, pod)", + "interval": "", + "legendFormat": "{{pod}} | Used RSS Memory", + "range": true, + "refId": "C" + }, + { + "datasource": { + "type": "prometheus", + "uid": "$datasource" + }, + "editorMode": "code", + "expr": "sum(redis_memory_used_lua_bytes{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"}) by (namespace, app_kubernetes_io_instance, pod)", + "hide": false, + "legendFormat": "{{pod}} | Used Memory Lua", + "range": true, + "refId": "D" } ], - "title": "Current Connections", + "title": "Total Memory Usage", "type": "timeseries" }, { @@ -2833,13 +2937,11 @@ "mode": "palette-classic" }, "custom": { - "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, - "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 20, "gradientMode": "none", @@ -2872,7 +2974,8 @@ "mode": "absolute", "steps": [ { - "color": "green" + "color": "green", + "value": null }, { "color": "red", @@ -2888,9 +2991,10 @@ "h": 7, "w": 8, "x": 8, - "y": 25 + "y": 15 }, - "id": 60, + "id": 64, + "links": [], "options": { "legend": { "calcs": [ @@ -2904,12 +3008,11 @@ "showLegend": true }, "tooltip": { - "hideZeros": false, "mode": "multi", "sort": "none" } }, - "pluginVersion": "12.0.2", + "pluginVersion": "9.2.4", "targets": [ { "calculatedInterval": "2m", @@ -2919,18 +3022,18 @@ "datasourceErrors": {}, "editorMode": "code", "errors": {}, - "expr": "sum by(namespace,app_kubernetes_io_instance,pod) (redis_connected_clients{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"}) / on(namespace,app_kubernetes_io_instance,pod) redis_config_maxclients{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"}", + "expr": "sum by(namespace,app_kubernetes_io_instance,pod,kubeblocks_role) (redis_memory_used_bytes{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\"}) / on(namespace,app_kubernetes_io_instance,pod,kubeblocks_role) redis_memory_max_bytes{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\"}", "format": "time_series", "interval": "", "intervalFactor": 1, - "legendFormat": "{{namespace}} | {{app_kubernetes_io_instance}} | {{pod}}", + "legendFormat": "{{pod}} / {{kubeblocks_role}}", "metric": "", "range": true, "refId": "A", "step": 20 } ], - "title": "Used Connections Ratio", + "title": "Memory Usage Ratio", "type": "timeseries" }, { @@ -2938,20 +3041,17 @@ "type": "prometheus", "uid": "$datasource" }, - "description": "Sum taken across instances", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { - "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, - "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 10, "gradientMode": "none", @@ -2968,7 +3068,7 @@ "type": "linear" }, "showPoints": "never", - "spanNulls": false, + "spanNulls": true, "stacking": { "group": "A", "mode": "none" @@ -2983,7 +3083,8 @@ "mode": "absolute", "steps": [ { - "color": "green" + "color": "green", + "value": null }, { "color": "red", @@ -2993,15 +3094,65 @@ }, "unit": "short" }, - "overrides": [] + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Recommend restart redis" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "red", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byRegexp", + "options": "/restart/" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#E02F44", + "mode": "fixed" + } + }, + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "custom.lineWidth", + "value": 1 + }, + { + "id": "custom.lineStyle", + "value": { + "dash": [ + 10, + 10 + ], + "fill": "dash" + } + } + ] + } + ] }, "gridPos": { "h": 7, "w": 8, "x": 16, - "y": 25 + "y": 15 }, - "id": 68, + "id": 10, + "links": [], "options": { "legend": { "calcs": [], @@ -3010,74 +3161,45 @@ "showLegend": true }, "tooltip": { - "hideZeros": false, "mode": "multi", "sort": "none" } }, - "pluginVersion": "12.0.2", + "pluginVersion": "9.2.4", "targets": [ { "datasource": { - "type": "prometheus", "uid": "$datasource" }, "editorMode": "code", - "expr": "rate(redis_cpu_user_seconds_total{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"}[2m]) * 100", + "expr": "redis_mem_fragmentation_ratio{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"}", "hide": false, - "legendFormat": "{{namespace}} | {{app_kubernetes_io_instance}} | {{pod}} | cpu_user", - "range": true, - "refId": "C" - }, - { - "datasource": { - "uid": "$datasource" - }, - "editorMode": "code", - "expr": "rate(redis_cpu_sys_seconds_total{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"}[2m]) * 100", - "format": "time_series", "interval": "", - "intervalFactor": 1, - "legendFormat": "{{namespace}} | {{app_kubernetes_io_instance}} | {{pod}} | cpu_sys", + "legendFormat": "{{pod}}", "range": true, - "refId": "A" + "refId": "C" } ], - "title": "CPU Average Ratio", + "title": "Memory fragmentation ratio per instance", "type": "timeseries" }, - { - "collapsed": false, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 32 - }, - "id": 22, - "panels": [], - "title": "Memory And Keys", - "type": "row" - }, { "datasource": { "type": "prometheus", "uid": "$datasource" }, - "description": "Total taken across instances", + "description": "Sum taken across instances", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { - "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, - "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 10, "gradientMode": "none", @@ -3094,10 +3216,10 @@ "type": "linear" }, "showPoints": "never", - "spanNulls": false, + "spanNulls": true, "stacking": { "group": "A", - "mode": "none" + "mode": "normal" }, "thresholdsStyle": { "mode": "off" @@ -3105,12 +3227,12 @@ }, "links": [], "mappings": [], - "min": 0, "thresholds": { "mode": "absolute", "steps": [ { - "color": "green" + "color": "green", + "value": null }, { "color": "red", @@ -3118,66 +3240,18 @@ } ] }, - "unit": "bytes" + "unit": "short" }, - "overrides": [ - { - "matcher": { - "id": "byName", - "options": "max" - }, - "properties": [ - { - "id": "color", - "value": { - "fixedColor": "#BF1B00", - "mode": "fixed" - } - } - ] - }, - { - "matcher": { - "id": "byRegexp", - "options": "/max/" - }, - "properties": [ - { - "id": "color", - "value": { - "fixedColor": "#E02F44", - "mode": "fixed" - } - }, - { - "id": "custom.fillOpacity", - "value": 0 - }, - { - "id": "custom.lineWidth", - "value": 1 - }, - { - "id": "custom.lineStyle", - "value": { - "dash": [ - 10, - 10 - ], - "fill": "dash" - } - } - ] - } - ] + "overrides": [] }, "gridPos": { "h": 7, "w": 8, "x": 0, - "y": 33 + "y": 22 }, - "id": 7, + "id": 13, + "links": [], "options": { "legend": { "calcs": [], @@ -3186,24 +3260,23 @@ "showLegend": true }, "tooltip": { - "hideZeros": false, "mode": "multi", "sort": "none" } }, - "pluginVersion": "12.0.2", + "pluginVersion": "9.2.4", "targets": [ { "datasource": { "uid": "$datasource" }, "editorMode": "code", - "expr": "sum(redis_memory_used_bytes{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"}) by (namespace, app_kubernetes_io_instance, pod)", + "expr": "sum by(namespace,app_kubernetes_io_instance,pod) (redis_db_keys{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"}) - sum by(namespace,app_kubernetes_io_instance,pod) (redis_db_keys_expiring{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"}) ", "format": "time_series", + "hide": false, "interval": "", - "intervalFactor": 2, - "legendFormat": "{{namespace}} | {{app_kubernetes_io_instance}} | {{pod}} | Used Memory", - "metric": "", + "intervalFactor": 1, + "legendFormat": "{{pod}} | Not-Expiring", "range": true, "refId": "A", "step": 240, @@ -3214,41 +3287,30 @@ "uid": "$datasource" }, "editorMode": "code", - "expr": "sum(redis_memory_max_bytes{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"}) by (namespace, app_kubernetes_io_instance, pod)", + "expr": "sum by(namespace,app_kubernetes_io_instance,pod) (redis_db_keys_expiring{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"})", "format": "time_series", - "hide": false, "interval": "", "intervalFactor": 2, - "legendFormat": "{{namespace}} | {{app_kubernetes_io_instance}} | {{pod}} | MaxMemory", + "legendFormat": "{{pod}} | Expiring", + "metric": "", "range": true, "refId": "B", "step": 240 }, { "datasource": { + "type": "prometheus", "uid": "$datasource" }, "editorMode": "code", - "expr": "sum(redis_memory_used_rss_bytes{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"}) by (namespace, app_kubernetes_io_instance, pod)", - "interval": "", - "legendFormat": "{{namespace}} | {{app_kubernetes_io_instance}} | {{pod}} | Used RSS Memory", - "range": true, - "refId": "C" - }, - { - "datasource": { - "type": "prometheus", - "uid": "$datasource" - }, - "editorMode": "code", - "expr": "sum(redis_memory_used_lua_bytes{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"}) by (namespace, app_kubernetes_io_instance, pod)", + "expr": "sum by(namespace,app_kubernetes_io_instance,pod) (redis_evicted_keys_total{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"})", "hide": false, - "legendFormat": "{{namespace}} | {{app_kubernetes_io_instance}} | {{pod}} | Used Memory Lua", + "legendFormat": "{{pod}} | Evicted", "range": true, - "refId": "D" + "refId": "C" } ], - "title": "Total Memory Usage", + "title": "Expiring / Not-Expiring / Evicted Keys", "type": "timeseries" }, { @@ -3256,22 +3318,19 @@ "type": "prometheus", "uid": "$datasource" }, - "description": "", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { - "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, - "barWidthFactor": 0.6, "drawStyle": "line", - "fillOpacity": 20, + "fillOpacity": 10, "gradientMode": "none", "hideFrom": { "legend": false, @@ -3280,13 +3339,13 @@ }, "insertNulls": false, "lineInterpolation": "linear", - "lineWidth": 2, + "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "never", - "spanNulls": false, + "spanNulls": true, "stacking": { "group": "A", "mode": "none" @@ -3297,12 +3356,12 @@ }, "links": [], "mappings": [], - "min": 0, "thresholds": { "mode": "absolute", "steps": [ { - "color": "green" + "color": "green", + "value": null }, { "color": "red", @@ -3310,57 +3369,139 @@ } ] }, - "unit": "percentunit" + "unit": "short" }, - "overrides": [] + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Evictions" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "red", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "evicts" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#890F02", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "memcached_items_evicted_total{instance=\"172.17.0.1:9150\",job=\"prometheus\"}" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#890F02", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "reclaims" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#3F6833", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "{container=\"redis-exporter\", instance=\"redis-86cb5d76d7-fcdln:redis-exporter:redis-metrics\", job=\"default/redis\", namespace=\"default\", pod=\"redis-86cb5d76d7-fcdln\"}" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "red", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "{instance=\"redis-86cb5d76d7-fcdln:redis-exporter:redis-metrics\"}" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "red", + "mode": "fixed" + } + } + ] + } + ] }, "gridPos": { "h": 7, "w": 8, "x": 8, - "y": 33 + "y": 22 }, - "id": 64, + "id": 8, + "links": [], "options": { "legend": { - "calcs": [ - "mean", - "lastNotNull", - "max", - "min" - ], - "displayMode": "table", + "calcs": [], + "displayMode": "list", "placement": "bottom", "showLegend": true }, "tooltip": { - "hideZeros": false, "mode": "multi", "sort": "none" } }, - "pluginVersion": "12.0.2", + "pluginVersion": "9.2.4", "targets": [ { - "calculatedInterval": "2m", "datasource": { "uid": "$datasource" }, - "datasourceErrors": {}, "editorMode": "code", - "errors": {}, - "expr": "sum by(namespace,app_kubernetes_io_instance,pod) (redis_memory_used_bytes{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"}) / on(namespace,app_kubernetes_io_instance,pod) redis_memory_max_bytes{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"}", + "expr": "irate(redis_evicted_keys_total{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"}[$__rate_interval])", "format": "time_series", "interval": "", - "intervalFactor": 1, - "legendFormat": "{{namespace}} | {{app_kubernetes_io_instance}} | {{pod}}", - "metric": "", + "intervalFactor": 2, + "legendFormat": "{{pod}}", "range": true, - "refId": "A", - "step": 20 + "refId": "B", + "step": 240 } ], - "title": "Memory Usage Ratio", + "title": "Key evictions per second per instance", "type": "timeseries" }, { @@ -3368,19 +3509,18 @@ "type": "prometheus", "uid": "$datasource" }, + "description": "Sum taken across instances", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { - "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, - "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 10, "gradientMode": "none", @@ -3397,10 +3537,10 @@ "type": "linear" }, "showPoints": "never", - "spanNulls": true, + "spanNulls": false, "stacking": { "group": "A", - "mode": "none" + "mode": "normal" }, "thresholdsStyle": { "mode": "off" @@ -3412,7 +3552,8 @@ "mode": "absolute", "steps": [ { - "color": "green" + "color": "green", + "value": null }, { "color": "red", @@ -3420,54 +3561,21 @@ } ] }, - "unit": "short" + "unit": "none" }, "overrides": [ { "matcher": { "id": "byName", - "options": "Recommend restart redis" - }, - "properties": [ - { - "id": "color", - "value": { - "fixedColor": "red", - "mode": "fixed" - } - } - ] - }, - { - "matcher": { - "id": "byRegexp", - "options": "/restart/" + "options": "db1" }, "properties": [ { "id": "color", "value": { - "fixedColor": "#E02F44", + "fixedColor": "yellow", "mode": "fixed" } - }, - { - "id": "custom.fillOpacity", - "value": 0 - }, - { - "id": "custom.lineWidth", - "value": 1 - }, - { - "id": "custom.lineStyle", - "value": { - "dash": [ - 10, - 10 - ], - "fill": "dash" - } } ] } @@ -3477,9 +3585,10 @@ "h": 7, "w": 8, "x": 16, - "y": 33 + "y": 22 }, - "id": 10, + "id": 5, + "links": [], "options": { "legend": { "calcs": [], @@ -3488,27 +3597,29 @@ "showLegend": true }, "tooltip": { - "hideZeros": false, "mode": "multi", - "sort": "none" + "sort": "asc" } }, - "pluginVersion": "12.0.2", + "pluginVersion": "9.2.4", "targets": [ { "datasource": { "uid": "$datasource" }, "editorMode": "code", - "expr": "redis_mem_fragmentation_ratio{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"}", - "hide": false, + "expr": "sum (redis_db_keys{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"}) by (namespace,app_kubernetes_io_instance,pod,db)", + "format": "time_series", "interval": "", - "legendFormat": "{{namespace}} | {{app_kubernetes_io_instance}} | {{pod}}", + "intervalFactor": 1, + "legendFormat": "{{pod}} | {{ db }}", "range": true, - "refId": "C" + "refId": "A", + "step": 240, + "target": "" } ], - "title": "Memory fragmentation ratio per instance", + "title": "Total Items per DB", "type": "timeseries" }, { @@ -3516,20 +3627,17 @@ "type": "prometheus", "uid": "$datasource" }, - "description": "Sum taken across instances", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { - "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, - "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 10, "gradientMode": "none", @@ -3549,7 +3657,7 @@ "spanNulls": true, "stacking": { "group": "A", - "mode": "normal" + "mode": "none" }, "thresholdsStyle": { "mode": "off" @@ -3561,7 +3669,8 @@ "mode": "absolute", "steps": [ { - "color": "green" + "color": "green", + "value": null }, { "color": "red", @@ -3571,75 +3680,901 @@ }, "unit": "short" }, - "overrides": [] - }, - "gridPos": { - "h": 7, - "w": 8, - "x": 0, - "y": 40 - }, - "id": 13, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "hideZeros": false, - "mode": "multi", - "sort": "none" - } - }, - "pluginVersion": "12.0.2", - "targets": [ - { - "datasource": { - "uid": "$datasource" + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Evictions" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "red", + "mode": "fixed" + } + } + ] }, - "editorMode": "code", - "expr": "sum by(namespace,app_kubernetes_io_instance,pod) (redis_db_keys{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"}) - sum by(namespace,app_kubernetes_io_instance,pod) (redis_db_keys_expiring{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"}) ", - "format": "time_series", - "hide": false, - "interval": "", - "intervalFactor": 1, - "legendFormat": "{{namespace}} | {{app_kubernetes_io_instance}} | {{pod}} | Not-Expiring", - "range": true, - "refId": "A", - "step": 240, - "target": "" + { + "matcher": { + "id": "byName", + "options": "evicts" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#890F02", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "memcached_items_evicted_total{instance=\"172.17.0.1:9150\",job=\"prometheus\"}" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#890F02", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "reclaims" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#3F6833", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "{container=\"redis-exporter\", instance=\"redis-86cb5d76d7-fcdln:redis-exporter:redis-metrics\", job=\"default/redis\", namespace=\"default\", pod=\"redis-86cb5d76d7-fcdln\"}" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "red", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "{instance=\"redis-86cb5d76d7-fcdln:redis-exporter:redis-metrics\"}" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "red", + "mode": "fixed" + } + } + ] + } + ] + }, + "gridPos": { + "h": 7, + "w": 8, + "x": 0, + "y": 29 + }, + "id": 71, + "links": [], + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } + }, + "pluginVersion": "9.2.4", + "targets": [ + { + "datasource": { + "uid": "$datasource" + }, + "editorMode": "code", + "expr": "irate(redis_keyspace_misses_total{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"}[$__rate_interval])", + "format": "time_series", + "interval": "", + "intervalFactor": 2, + "legendFormat": "{{pod}}", + "range": true, + "refId": "B", + "step": 240 + } + ], + "title": "KeySpace misses irate(per second)", + "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": 10, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": true, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "links": [], + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "short" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Evictions" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "red", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "evicts" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#890F02", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "memcached_items_evicted_total{instance=\"172.17.0.1:9150\",job=\"prometheus\"}" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#890F02", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "reclaims" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#3F6833", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "{container=\"redis-exporter\", instance=\"redis-86cb5d76d7-fcdln:redis-exporter:redis-metrics\", job=\"default/redis\", namespace=\"default\", pod=\"redis-86cb5d76d7-fcdln\"}" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "red", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "{instance=\"redis-86cb5d76d7-fcdln:redis-exporter:redis-metrics\"}" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "red", + "mode": "fixed" + } + } + ] + } + ] + }, + "gridPos": { + "h": 7, + "w": 8, + "x": 8, + "y": 29 + }, + "id": 73, + "links": [], + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } + }, + "pluginVersion": "9.2.4", + "targets": [ + { + "datasource": { + "uid": "$datasource" + }, + "editorMode": "code", + "expr": "redis_keyspace_misses_total{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"} - redis_keyspace_misses_total{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"} offset 30s", + "format": "time_series", + "interval": "", + "intervalFactor": 2, + "legendFormat": "{{pod}}", + "range": true, + "refId": "B", + "step": 240 + } + ], + "title": "KeySpace misses count per instance", + "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": 10, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": true, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "links": [], + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "short" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Evictions" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "red", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "evicts" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#890F02", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "memcached_items_evicted_total{instance=\"172.17.0.1:9150\",job=\"prometheus\"}" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#890F02", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "reclaims" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#3F6833", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "{container=\"redis-exporter\", instance=\"redis-86cb5d76d7-fcdln:redis-exporter:redis-metrics\", job=\"default/redis\", namespace=\"default\", pod=\"redis-86cb5d76d7-fcdln\"}" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "red", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "{instance=\"redis-86cb5d76d7-fcdln:redis-exporter:redis-metrics\"}" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "red", + "mode": "fixed" + } + } + ] + } + ] + }, + "gridPos": { + "h": 7, + "w": 8, + "x": 16, + "y": 29 + }, + "id": 74, + "links": [], + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } + }, + "pluginVersion": "9.2.4", + "targets": [ + { + "datasource": { + "uid": "$datasource" + }, + "editorMode": "code", + "expr": "redis_keyspace_hits_total{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"} - redis_keyspace_hits_total{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"} offset 30s", + "format": "time_series", + "interval": "", + "intervalFactor": 2, + "legendFormat": "{{pod}}", + "range": true, + "refId": "B", + "step": 240 + } + ], + "title": "KeySpace hits count per instance", + "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": 10, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": true, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "links": [], + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "short" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Evictions" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "red", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "evicts" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#890F02", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "memcached_items_evicted_total{instance=\"172.17.0.1:9150\",job=\"prometheus\"}" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#890F02", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "reclaims" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#3F6833", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "{container=\"redis-exporter\", instance=\"redis-86cb5d76d7-fcdln:redis-exporter:redis-metrics\", job=\"default/redis\", namespace=\"default\", pod=\"redis-86cb5d76d7-fcdln\"}" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "red", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "{instance=\"redis-86cb5d76d7-fcdln:redis-exporter:redis-metrics\"}" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "red", + "mode": "fixed" + } + } + ] + } + ] + }, + "gridPos": { + "h": 7, + "w": 8, + "x": 0, + "y": 36 + }, + "id": 72, + "links": [], + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } + }, + "pluginVersion": "9.2.4", + "targets": [ + { + "datasource": { + "uid": "$datasource" + }, + "editorMode": "code", + "expr": "irate(redis_keyspace_hits_total{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"}[$__rate_interval])", + "format": "time_series", + "interval": "", + "intervalFactor": 2, + "legendFormat": "{{pod}}", + "range": true, + "refId": "B", + "step": 240 + } + ], + "title": "KeySpace hits irate(per second)", + "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": 10, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": true, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "links": [], + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "short" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Evictions" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "red", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "evicts" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#890F02", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "memcached_items_evicted_total{instance=\"172.17.0.1:9150\",job=\"prometheus\"}" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#890F02", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "reclaims" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#3F6833", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "{container=\"redis-exporter\", instance=\"redis-86cb5d76d7-fcdln:redis-exporter:redis-metrics\", job=\"default/redis\", namespace=\"default\", pod=\"redis-86cb5d76d7-fcdln\"}" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "red", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "{instance=\"redis-86cb5d76d7-fcdln:redis-exporter:redis-metrics\"}" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "red", + "mode": "fixed" + } + } + ] + } + ] + }, + "gridPos": { + "h": 7, + "w": 8, + "x": 8, + "y": 36 + }, + "id": 76, + "links": [], + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true }, + "tooltip": { + "mode": "multi", + "sort": "none" + } + }, + "pluginVersion": "9.2.4", + "targets": [ { "datasource": { "uid": "$datasource" }, "editorMode": "code", - "expr": "sum by(namespace,app_kubernetes_io_instance,pod) (redis_db_keys_expiring{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"})", + "expr": "max(sum(redis_keyspace_misses_total{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"}) - sum(redis_keyspace_misses_total{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",job=\"$job\"}) offset 30s, 0)", "format": "time_series", "interval": "", "intervalFactor": 2, - "legendFormat": "{{namespace}} | {{app_kubernetes_io_instance}} | {{pod}} | Expiring", - "metric": "", + "legendFormat": "{{pod}}", "range": true, "refId": "B", "step": 240 - }, - { - "datasource": { - "type": "prometheus", - "uid": "$datasource" - }, - "editorMode": "code", - "expr": "sum by(namespace,app_kubernetes_io_instance,pod) (redis_evicted_keys_total{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"})", - "hide": false, - "legendFormat": "{{namespace}} | {{app_kubernetes_io_instance}} | {{pod}} | Evicted", - "range": true, - "refId": "C" } ], - "title": "Expiring / Not-Expiring / Evicted Keys", + "title": "KeySpace misses sum for all instances", "type": "timeseries" }, { @@ -3653,13 +4588,11 @@ "mode": "palette-classic" }, "custom": { - "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, - "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 10, "gradientMode": "none", @@ -3691,7 +4624,8 @@ "mode": "absolute", "steps": [ { - "color": "green" + "color": "green", + "value": null }, { "color": "red", @@ -3797,10 +4731,11 @@ "gridPos": { "h": 7, "w": 8, - "x": 8, - "y": 40 + "x": 16, + "y": 36 }, - "id": 8, + "id": 75, + "links": [], "options": { "legend": { "calcs": [], @@ -3809,29 +4744,28 @@ "showLegend": true }, "tooltip": { - "hideZeros": false, "mode": "multi", "sort": "none" } }, - "pluginVersion": "12.0.2", + "pluginVersion": "9.2.4", "targets": [ { "datasource": { "uid": "$datasource" }, "editorMode": "code", - "expr": "irate(redis_evicted_keys_total{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"}[$__rate_interval])", + "expr": "max(sum(redis_keyspace_hits_total{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"}) - sum(redis_keyspace_hits_total{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",job=\"$job\"}) offset 30s, 0)", "format": "time_series", "interval": "", "intervalFactor": 2, - "legendFormat": "{{namespace}} | {{app_kubernetes_io_instance}} | {{pod}}", + "legendFormat": "{{pod}}", "range": true, "refId": "B", "step": 240 } ], - "title": "Key evictions per second per instance", + "title": "KeySpace hits sum for all instances", "type": "timeseries" }, { @@ -3839,20 +4773,18 @@ "type": "prometheus", "uid": "$datasource" }, - "description": "Sum taken across instances", + "description": "Average taken across instances", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { - "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, - "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 10, "gradientMode": "none", @@ -3869,7 +4801,7 @@ "type": "linear" }, "showPoints": "never", - "spanNulls": false, + "spanNulls": true, "stacking": { "group": "A", "mode": "normal" @@ -3884,7 +4816,8 @@ "mode": "absolute", "steps": [ { - "color": "green" + "color": "green", + "value": null }, { "color": "red", @@ -3892,67 +4825,82 @@ } ] }, - "unit": "none" + "unit": "short" }, - "overrides": [ - { - "matcher": { - "id": "byName", - "options": "db1" - }, - "properties": [ - { - "id": "color", - "value": { - "fixedColor": "yellow", - "mode": "fixed" - } - } - ] - } - ] + "overrides": [] }, "gridPos": { - "h": 7, - "w": 8, - "x": 16, - "y": 40 + "h": 11, + "w": 24, + "x": 0, + "y": 43 }, - "id": 5, + "id": 18, + "links": [], "options": { "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", + "calcs": [ + "mean", + "lastNotNull", + "max" + ], + "displayMode": "table", + "placement": "right", "showLegend": true }, "tooltip": { - "hideZeros": false, "mode": "multi", - "sort": "asc" + "sort": "desc" } }, - "pluginVersion": "12.0.2", + "pluginVersion": "9.2.4", "targets": [ { "datasource": { + "type": "prometheus", "uid": "$datasource" }, "editorMode": "code", - "expr": "sum (redis_db_keys{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"}) by (namespace,app_kubernetes_io_instance,pod,db)", + "expr": "sum(irate(redis_commands_total{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"} [$__rate_interval])) by (namespace,app_kubernetes_io_instance,pod,cmd)", "format": "time_series", "interval": "", - "intervalFactor": 1, - "legendFormat": "{{namespace}} | {{app_kubernetes_io_instance}} | {{pod}} | {{ db }}", + "intervalFactor": 2, + "legendFormat": "{{pod}} | {{cmd}}", + "metric": "redis_command_calls_total", "range": true, "refId": "A", - "step": 240, - "target": "" + "step": 240 } ], - "title": "Total Items per DB", + "title": "Commands per second", "type": "timeseries" }, + { + "collapsed": false, + "datasource": { + "type": "prometheus", + "uid": "$datasource" + }, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 54 + }, + "id": 24, + "panels": [], + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "$datasource" + }, + "refId": "A" + } + ], + "title": "Performance", + "type": "row" + }, { "datasource": { "type": "prometheus", @@ -3965,13 +4913,11 @@ "mode": "palette-classic" }, "custom": { - "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, - "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 10, "gradientMode": "none", @@ -3991,7 +4937,7 @@ "spanNulls": true, "stacking": { "group": "A", - "mode": "normal" + "mode": "none" }, "thresholdsStyle": { "mode": "off" @@ -4003,7 +4949,8 @@ "mode": "absolute", "steps": [ { - "color": "green" + "color": "green", + "value": null }, { "color": "red", @@ -4011,17 +4958,18 @@ } ] }, - "unit": "short" + "unit": "s" }, "overrides": [] }, "gridPos": { "h": 7, - "w": 16, + "w": 24, "x": 0, - "y": 47 + "y": 55 }, - "id": 18, + "id": 20, + "links": [], "options": { "legend": { "calcs": [ @@ -4034,65 +4982,47 @@ "showLegend": true }, "tooltip": { - "hideZeros": false, "mode": "multi", "sort": "desc" } }, - "pluginVersion": "12.0.2", + "pluginVersion": "9.2.4", "targets": [ { "datasource": { - "type": "prometheus", "uid": "$datasource" }, "editorMode": "code", - "expr": "sum(irate(redis_commands_total{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"} [$__rate_interval])) by (namespace,app_kubernetes_io_instance,pod,cmd)", + "expr": "avg(irate(redis_commands_duration_seconds_total{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"}[$__rate_interval])) by (namespace, app_kubernetes_io_instance, pod, cmd)\n /\navg(irate(redis_commands_total{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"}[$__rate_interval])) by (namespace, app_kubernetes_io_instance, pod, cmd)\n", "format": "time_series", "interval": "", "intervalFactor": 2, - "legendFormat": "{{namespace}} | {{app_kubernetes_io_instance}} | {{pod}} | {{cmd}}", + "legendFormat": "{{pod}} | {{ cmd }}", "metric": "redis_command_calls_total", "range": true, "refId": "A", "step": 240 } ], - "title": "Commands per second", + "title": "Command latency per second", "type": "timeseries" }, - { - "collapsed": false, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 54 - }, - "id": 24, - "panels": [], - "title": "Performance", - "type": "row" - }, { "datasource": { "type": "prometheus", "uid": "$datasource" }, - "description": "Average taken across instances", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { - "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, - "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 10, "gradientMode": "none", @@ -4112,7 +5042,7 @@ "spanNulls": true, "stacking": { "group": "A", - "mode": "none" + "mode": "normal" }, "thresholdsStyle": { "mode": "off" @@ -4124,7 +5054,8 @@ "mode": "absolute", "steps": [ { - "color": "green" + "color": "green", + "value": null }, { "color": "red", @@ -4137,12 +5068,13 @@ "overrides": [] }, "gridPos": { - "h": 7, - "w": 12, + "h": 8, + "w": 24, "x": 0, - "y": 55 + "y": 62 }, - "id": 20, + "id": 38, + "links": [], "options": { "legend": { "calcs": [ @@ -4155,30 +5087,30 @@ "showLegend": true }, "tooltip": { - "hideZeros": false, "mode": "multi", "sort": "desc" } }, - "pluginVersion": "12.0.2", + "pluginVersion": "9.2.4", "targets": [ { "datasource": { + "type": "prometheus", "uid": "$datasource" }, "editorMode": "code", - "expr": "avg(irate(redis_commands_duration_seconds_total{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"}[$__rate_interval])) by (namespace, app_kubernetes_io_instance, pod, cmd)\n /\navg(irate(redis_commands_total{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"}[$__rate_interval])) by (namespace, app_kubernetes_io_instance, pod, cmd)\n", + "expr": "sum(irate(redis_commands_duration_seconds_total{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"}[$__rate_interval])) by (namespace, app_kubernetes_io_instance, pod, cmd) != 0", "format": "time_series", "interval": "", "intervalFactor": 2, - "legendFormat": "{{namespace}} | {{app_kubernetes_io_instance}} | {{pod}} | {{ cmd }}", + "legendFormat": "{{pod}} | {{ cmd }}", "metric": "redis_command_calls_total", "range": true, "refId": "A", "step": 240 } ], - "title": "Command latency per second", + "title": "Total Time Spent by Command / sec", "type": "timeseries" }, { @@ -4193,13 +5125,11 @@ "mode": "palette-classic" }, "custom": { - "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, - "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 10, "gradientMode": "none", @@ -4232,7 +5162,8 @@ "mode": "absolute", "steps": [ { - "color": "green" + "color": "green", + "value": null }, { "color": "red", @@ -4296,10 +5227,11 @@ "gridPos": { "h": 7, "w": 12, - "x": 12, - "y": 55 + "x": 0, + "y": 70 }, "id": 1, + "links": [], "options": { "legend": { "calcs": [], @@ -4308,24 +5240,23 @@ "showLegend": true }, "tooltip": { - "hideZeros": false, "mode": "multi", "sort": "none" } }, - "pluginVersion": "12.0.2", + "pluginVersion": "9.2.4", "targets": [ { "datasource": { "uid": "$datasource" }, "editorMode": "code", - "expr": "avg(irate(redis_keyspace_hits_total{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"}[$__rate_interval]) / (irate(redis_keyspace_misses_total{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"}[$__rate_interval]) + irate(redis_keyspace_hits_total{pod=~\"$instance\"}[$__rate_interval]))) by (namespace, app_kubernetes_io_instance, pod)", + "expr": "avg(irate(redis_keyspace_hits_total{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"}[$__rate_interval]) / (irate(redis_keyspace_misses_total{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"}[$__rate_interval]) + irate(redis_keyspace_hits_total{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"}[$__rate_interval]))) by (namespace, app_kubernetes_io_instance, pod)", "format": "time_series", "hide": false, "interval": "", "intervalFactor": 2, - "legendFormat": "{{namespace}} | {{app_kubernetes_io_instance}} | {{pod}} ", + "legendFormat": "{{pod}} ", "metric": "", "range": true, "refId": "A", @@ -4341,6 +5272,7 @@ "type": "prometheus", "uid": "$datasource" }, + "description": "Hit rate shows the percentage of key space lookups that hit a key for the cluster.", "fieldConfig": { "defaults": { "color": { @@ -4360,6 +5292,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -4370,7 +5303,7 @@ "spanNulls": true, "stacking": { "group": "A", - "mode": "normal" + "mode": "none" }, "thresholdsStyle": { "mode": "off" @@ -4378,11 +5311,13 @@ }, "links": [], "mappings": [], + "min": 0, "thresholds": { "mode": "absolute", "steps": [ { - "color": "green" + "color": "green", + "value": null }, { "color": "red", @@ -4390,53 +5325,100 @@ } ] }, - "unit": "s" + "unit": "percentunit" }, - "overrides": [] + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Hit ratio" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "blue", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byRegexp", + "options": "/Target/" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#56A64B", + "mode": "fixed" + } + }, + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "custom.lineWidth", + "value": 1 + }, + { + "id": "custom.lineStyle", + "value": { + "dash": [ + 10, + 10 + ], + "fill": "dash" + } + } + ] + } + ] }, "gridPos": { "h": 7, "w": 12, - "x": 0, - "y": 62 + "x": 12, + "y": 70 }, - "id": 38, + "id": 77, + "links": [], "options": { "legend": { - "calcs": [ - "mean", - "lastNotNull", - "max" - ], - "displayMode": "table", - "placement": "right", + "calcs": [], + "displayMode": "list", + "placement": "bottom", "showLegend": true }, "tooltip": { "mode": "multi", - "sort": "desc" + "sort": "none" } }, "pluginVersion": "9.2.4", "targets": [ { "datasource": { - "type": "prometheus", "uid": "$datasource" }, "editorMode": "code", - "expr": "sum(irate(redis_commands_duration_seconds_total{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"}[$__rate_interval])) by (namespace, app_kubernetes_io_instance, pod, cmd) != 0", + "expr": "avg(irate(sum(redis_keyspace_hits_total{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",job=\"$job\"})[$__rate_interval]) / (irate(sum(redis_keyspace_misses_total{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",job=\"$job\"})[$__rate_interval]) + irate(sum(redis_keyspace_hits_total{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",job=\"$job\"})[$__rate_interval]))) by (namespace, app_kubernetes_io_instance) ", "format": "time_series", + "hide": false, "interval": "", "intervalFactor": 2, - "legendFormat": "{{namespace}} | {{app_kubernetes_io_instance}} | {{pod}} | {{ cmd }}", - "metric": "redis_command_calls_total", + "legendFormat": "{{pod}} ", + "metric": "", "range": true, "refId": "A", - "step": 240 + "step": 240, + "target": "" } ], - "title": "Total Time Spent by Command / sec", + "title": "Hit ratio for the cluster", "type": "timeseries" }, { @@ -4445,7 +5427,7 @@ "h": 1, "w": 24, "x": 0, - "y": 69 + "y": 77 }, "id": 62, "panels": [], @@ -4477,6 +5459,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -4499,7 +5482,8 @@ "mode": "absolute", "steps": [ { - "color": "green" + "color": "green", + "value": null }, { "color": "red", @@ -4515,7 +5499,7 @@ "h": 7, "w": 8, "x": 0, - "y": 70 + "y": 78 }, "id": 70, "options": { @@ -4539,7 +5523,7 @@ "editorMode": "code", "expr": "sum(redis_connected_slaves{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"}) by (namespace, app_kubernetes_io_instance, pod)", "interval": "", - "legendFormat": "{{namespace}} | {{app_kubernetes_io_instance}} | {{pod}} ", + "legendFormat": "{{pod}} ", "range": true, "refId": "A" } @@ -4572,6 +5556,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -4594,7 +5579,8 @@ "mode": "absolute", "steps": [ { - "color": "green" + "color": "green", + "value": null }, { "color": "red", @@ -4610,7 +5596,7 @@ "h": 7, "w": 8, "x": 8, - "y": 70 + "y": 78 }, "id": 28, "options": { @@ -4634,7 +5620,7 @@ "editorMode": "code", "expr": "redis_slave_repl_offset{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"}", "interval": "", - "legendFormat": "{{namespace}} | {{app_kubernetes_io_instance}} | {{pod}} ", + "legendFormat": "{{pod}} ", "range": true, "refId": "A" } @@ -4667,6 +5653,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -4689,7 +5676,8 @@ "mode": "absolute", "steps": [ { - "color": "green" + "color": "green", + "value": null }, { "color": "red", @@ -4705,7 +5693,7 @@ "h": 7, "w": 8, "x": 16, - "y": 70 + "y": 78 }, "id": 30, "options": { @@ -4730,7 +5718,7 @@ "exemplar": false, "expr": "redis_master_last_io_seconds_ago{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"}", "interval": "", - "legendFormat": "{{namespace}} | {{app_kubernetes_io_instance}} | {{pod}} ", + "legendFormat": "{{pod}} ", "range": true, "refId": "A" } @@ -4739,33 +5727,41 @@ "type": "timeseries" } ], - "preload": false, "refresh": "", - "schemaVersion": 41, + "schemaVersion": 38, + "style": "dark", "tags": [ - "prometheus", + "db", "redis" ], "templating": { "list": [ { "current": { - "text": "Prometheus", - "value": "prometheus" + "selected": false, + "text": "55ec5b96-dcf2-4097-af0a-90555c7b1cfe", + "value": "55ec5b96-dcf2-4097-af0a-90555c7b1cfe" }, + "hide": 0, "includeAll": false, "label": "data source", + "multi": false, "name": "datasource", "options": [], "query": "prometheus", + "queryValue": "", "refresh": 1, "regex": "", + "skipUrlSync": false, "type": "datasource" }, { "allValue": ".+", "current": { - "text": "All", + "selected": false, + "text": [ + "All" + ], "value": [ "$__all" ] @@ -4775,6 +5771,7 @@ "uid": "$datasource" }, "definition": "label_values(redis_up{job=\"$job\"}, namespace)", + "hide": 0, "includeAll": true, "label": "namespace", "multi": true, @@ -4786,13 +5783,17 @@ }, "refresh": 1, "regex": "", + "skipUrlSync": false, "sort": 5, "type": "query" }, { "allValue": ".+", "current": { - "text": "All", + "selected": false, + "text": [ + "All" + ], "value": [ "$__all" ] @@ -4802,6 +5803,7 @@ "uid": "$datasource" }, "definition": "label_values(redis_up{job=\"$job\"}, app_kubernetes_io_instance)", + "hide": 0, "includeAll": true, "label": "cluster", "multi": true, @@ -4813,13 +5815,17 @@ }, "refresh": 1, "regex": "", + "skipUrlSync": false, "sort": 5, "type": "query" }, { "allValue": ".+", "current": { - "text": "All", + "selected": true, + "text": [ + "All" + ], "value": [ "$__all" ] @@ -4829,6 +5835,7 @@ "uid": "$datasource" }, "definition": "label_values(redis_up{job=\"$job\",namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\"}, pod)", + "hide": 0, "includeAll": true, "label": "instance", "multi": true, @@ -4840,31 +5847,37 @@ }, "refresh": 2, "regex": "", + "skipUrlSync": false, "sort": 5, "type": "query" }, { "current": { - "text": "kubeblocks", - "value": "kubeblocks" + "selected": false, + "text": "oteld-app-metrics", + "value": "oteld-app-metrics" }, + "hide": 0, "includeAll": false, "label": "job", + "multi": false, "name": "job", "options": [ { "selected": true, - "text": "kubeblocks", - "value": "kubeblocks" + "text": "oteld-app-metrics", + "value": "oteld-app-metrics" } ], - "query": "kubeblocks", + "query": "oteld-app-metrics", + "queryValue": "", + "skipUrlSync": false, "type": "custom" } ] }, "time": { - "from": "now-30m", + "from": "now-1h", "to": "now" }, "timepicker": { @@ -4878,10 +5891,22 @@ "1h", "2h", "1d" + ], + "time_options": [ + "5m", + "15m", + "1h", + "6h", + "12h", + "24h", + "2d", + "7d", + "30d" ] }, "timezone": "browser", "title": "Redis", "uid": "redis", - "version": 1 + "version": 1, + "weekStart": "" } \ No newline at end of file