{ "editable": false, "panels": [ { "datasource": { "type": "datasource", "uid": "-- Mixed --" }, "fieldConfig": { "defaults": { "unit": "none" } }, "gridPos": { "h": 3, "w": 4, "x": 0, "y": 0 }, "id": 1, "interval": "1m", "options": { "colorMode": "none" }, "pluginVersion": "v11.0.0", "targets": [ { "datasource": { "type": "prometheus", "uid": "${datasource}" }, "expr": "cluster:node_cpu:ratio_rate5m{cluster=\"$cluster\"}", "instant": true } ], "title": "CPU Utilisation", "type": "stat" }, { "datasource": { "type": "datasource", "uid": "-- Mixed --" }, "fieldConfig": { "defaults": { "unit": "percentunit" } }, "gridPos": { "h": 3, "w": 4, "x": 4, "y": 0 }, "id": 2, "interval": "1m", "options": { "colorMode": "none" }, "pluginVersion": "v11.0.0", "targets": [ { "datasource": { "type": "prometheus", "uid": "${datasource}" }, "expr": "sum(namespace_cpu:kube_pod_container_resource_requests:sum{cluster=\"$cluster\"}) / sum(kube_node_status_allocatable{job=\"kube-state-metrics\",resource=\"cpu\",cluster=\"$cluster\"})", "instant": true } ], "title": "CPU Requests Commitment", "type": "stat" }, { "datasource": { "type": "datasource", "uid": "-- Mixed --" }, "fieldConfig": { "defaults": { "unit": "percentunit" } }, "gridPos": { "h": 3, "w": 4, "x": 8, "y": 0 }, "id": 3, "interval": "1m", "options": { "colorMode": "none" }, "pluginVersion": "v11.0.0", "targets": [ { "datasource": { "type": "prometheus", "uid": "${datasource}" }, "expr": "sum(namespace_cpu:kube_pod_container_resource_limits:sum{cluster=\"$cluster\"}) / sum(kube_node_status_allocatable{job=\"kube-state-metrics\",resource=\"cpu\",cluster=\"$cluster\"})", "instant": true } ], "title": "CPU Limits Commitment", "type": "stat" }, { "datasource": { "type": "datasource", "uid": "-- Mixed --" }, "fieldConfig": { "defaults": { "unit": "percentunit" } }, "gridPos": { "h": 3, "w": 4, "x": 12, "y": 0 }, "id": 4, "interval": "1m", "options": { "colorMode": "none" }, "pluginVersion": "v11.0.0", "targets": [ { "datasource": { "type": "prometheus", "uid": "${datasource}" }, "expr": "1 - sum(:node_memory_MemAvailable_bytes:sum{cluster=\"$cluster\"}) / sum(node_memory_MemTotal_bytes{job=\"node-exporter\",cluster=\"$cluster\"})", "instant": true } ], "title": "Memory Utilisation", "type": "stat" }, { "datasource": { "type": "datasource", "uid": "-- Mixed --" }, "fieldConfig": { "defaults": { "unit": "percentunit" } }, "gridPos": { "h": 3, "w": 4, "x": 16, "y": 0 }, "id": 5, "interval": "1m", "options": { "colorMode": "none" }, "pluginVersion": "v11.0.0", "targets": [ { "datasource": { "type": "prometheus", "uid": "${datasource}" }, "expr": "sum(namespace_memory:kube_pod_container_resource_requests:sum{cluster=\"$cluster\"}) / sum(kube_node_status_allocatable{job=\"kube-state-metrics\",resource=\"memory\",cluster=\"$cluster\"})", "instant": true } ], "title": "Memory Requests Commitment", "type": "stat" }, { "datasource": { "type": "datasource", "uid": "-- Mixed --" }, "fieldConfig": { "defaults": { "unit": "percentunit" } }, "gridPos": { "h": 3, "w": 4, "x": 20, "y": 0 }, "id": 6, "interval": "1m", "options": { "colorMode": "none" }, "pluginVersion": "v11.0.0", "targets": [ { "datasource": { "type": "prometheus", "uid": "${datasource}" }, "expr": "sum(namespace_memory:kube_pod_container_resource_limits:sum{cluster=\"$cluster\"}) / sum(kube_node_status_allocatable{job=\"kube-state-metrics\",resource=\"memory\",cluster=\"$cluster\"})", "instant": true } ], "title": "Memory Limits Commitment", "type": "stat" }, { "datasource": { "type": "datasource", "uid": "-- Mixed --" }, "fieldConfig": { "defaults": { "custom": { "fillOpacity": 10, "showPoints": "never", "spanNulls": true } } }, "gridPos": { "h": 6, "w": 24, "x": 0, "y": 6 }, "id": 7, "interval": "1m", "options": { "legend": { "asTable": true, "calcs": [ "lastNotNull" ], "displayMode": "table", "placement": "right", "showLegend": true }, "tooltip": { "mode": "single" } }, "pluginVersion": "v11.0.0", "targets": [ { "datasource": { "type": "prometheus", "uid": "${datasource}" }, "expr": "sum(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{cluster=\"$cluster\"}) by (namespace)", "legendFormat": "__auto" } ], "title": "CPU Usage", "type": "timeseries" }, { "datasource": { "type": "datasource", "uid": "-- Mixed --" }, "fieldConfig": { "overrides": [ { "matcher": { "id": "byRegexp", "options": "/%/" }, "properties": [ { "id": "unit", "value": "percentunit" } ] }, { "matcher": { "id": "byName", "options": "Namespace" }, "properties": [ { "id": "links", "value": [ { "title": "Drill down to pods", "url": "/d/85a562078cdf77779eaa1add43ccec1e/k8s-resources-namespace?${datasource:queryparam}&var-cluster=$cluster&var-namespace=${__data.fields.Namespace}" } ] } ] } ] }, "gridPos": { "h": 6, "w": 24, "x": 0, "y": 12 }, "id": 8, "pluginVersion": "v11.0.0", "targets": [ { "datasource": { "type": "prometheus", "uid": "${datasource}" }, "expr": "sum(kube_pod_owner{job=\"kube-state-metrics\", cluster=\"$cluster\"}) by (namespace)", "format": "table", "instant": true }, { "datasource": { "type": "prometheus", "uid": "${datasource}" }, "expr": "count(avg(namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\"}) by (workload, namespace)) by (namespace)", "format": "table", "instant": true }, { "datasource": { "type": "prometheus", "uid": "${datasource}" }, "expr": "sum(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{cluster=\"$cluster\"}) by (namespace)", "format": "table", "instant": true }, { "datasource": { "type": "prometheus", "uid": "${datasource}" }, "expr": "sum(namespace_cpu:kube_pod_container_resource_requests:sum{cluster=\"$cluster\"}) by (namespace)", "format": "table", "instant": true }, { "datasource": { "type": "prometheus", "uid": "${datasource}" }, "expr": "sum(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{cluster=\"$cluster\"}) by (namespace) / sum(namespace_cpu:kube_pod_container_resource_requests:sum{cluster=\"$cluster\"}) by (namespace)", "format": "table", "instant": true }, { "datasource": { "type": "prometheus", "uid": "${datasource}" }, "expr": "sum(namespace_cpu:kube_pod_container_resource_limits:sum{cluster=\"$cluster\"}) by (namespace)", "format": "table", "instant": true }, { "datasource": { "type": "prometheus", "uid": "${datasource}" }, "expr": "sum(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{cluster=\"$cluster\"}) by (namespace) / sum(namespace_cpu:kube_pod_container_resource_limits:sum{cluster=\"$cluster\"}) by (namespace)", "format": "table", "instant": true } ], "title": "CPU Quota", "transformations": [ { "id": "joinByField", "options": { "byField": "namespace", "mode": "outer" } }, { "id": "organize", "options": { "excludeByName": { "Time": true, "Time 1": true, "Time 2": true, "Time 3": true, "Time 4": true, "Time 5": true, "Time 6": true, "Time 7": true }, "indexByName": { "Time 1": 0, "Time 2": 1, "Time 3": 2, "Time 4": 3, "Time 5": 4, "Time 6": 5, "Time 7": 6, "Value #A": 8, "Value #B": 9, "Value #C": 10, "Value #D": 11, "Value #E": 12, "Value #F": 13, "Value #G": 14, "namespace": 7 }, "renameByName": { "Value #A": "Pods", "Value #B": "Workloads", "Value #C": "CPU Usage", "Value #D": "CPU Requests", "Value #E": "CPU Requests %", "Value #F": "CPU Limits", "Value #G": "CPU Limits %", "namespace": "Namespace" } } } ], "type": "table" }, { "datasource": { "type": "datasource", "uid": "-- Mixed --" }, "fieldConfig": { "defaults": { "custom": { "fillOpacity": 10, "showPoints": "never", "spanNulls": true }, "unit": "bytes" } }, "gridPos": { "h": 6, "w": 24, "x": 0, "y": 18 }, "id": 9, "interval": "1m", "options": { "legend": { "asTable": true, "calcs": [ "lastNotNull" ], "displayMode": "table", "placement": "right", "showLegend": true }, "tooltip": { "mode": "single" } }, "pluginVersion": "v11.0.0", "targets": [ { "datasource": { "type": "prometheus", "uid": "${datasource}" }, "expr": "sum(container_memory_rss{job=\"kubelet\", cluster=\"$cluster\", container!=\"\"}) by (namespace)", "legendFormat": "__auto" } ], "title": "Memory", "type": "timeseries" }, { "datasource": { "type": "datasource", "uid": "-- Mixed --" }, "fieldConfig": { "overrides": [ { "matcher": { "id": "byRegexp", "options": "/%/" }, "properties": [ { "id": "unit", "value": "percentunit" } ] }, { "matcher": { "id": "byName", "options": "Memory Usage" }, "properties": [ { "id": "unit", "value": "bytes" } ] }, { "matcher": { "id": "byName", "options": "Memory Requests" }, "properties": [ { "id": "unit", "value": "bytes" } ] }, { "matcher": { "id": "byName", "options": "Memory Limits" }, "properties": [ { "id": "unit", "value": "bytes" } ] }, { "matcher": { "id": "byName", "options": "Namespace" }, "properties": [ { "id": "links", "value": [ { "title": "Drill down to pods", "url": "/d/85a562078cdf77779eaa1add43ccec1e/k8s-resources-namespace?${datasource:queryparam}&var-cluster=$cluster&var-namespace=${__data.fields.Namespace}" } ] } ] } ] }, "gridPos": { "h": 6, "w": 24, "x": 0, "y": 24 }, "id": 10, "pluginVersion": "v11.0.0", "targets": [ { "datasource": { "type": "prometheus", "uid": "${datasource}" }, "expr": "sum(kube_pod_owner{job=\"kube-state-metrics\", cluster=\"$cluster\"}) by (namespace)", "format": "table", "instant": true }, { "datasource": { "type": "prometheus", "uid": "${datasource}" }, "expr": "count(avg(namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\"}) by (workload, namespace)) by (namespace)", "format": "table", "instant": true }, { "datasource": { "type": "prometheus", "uid": "${datasource}" }, "expr": "sum(container_memory_rss{job=\"kubelet\", cluster=\"$cluster\", container!=\"\"}) by (namespace)", "format": "table", "instant": true }, { "datasource": { "type": "prometheus", "uid": "${datasource}" }, "expr": "sum(namespace_memory:kube_pod_container_resource_requests:sum{cluster=\"$cluster\"}) by (namespace)", "format": "table", "instant": true }, { "datasource": { "type": "prometheus", "uid": "${datasource}" }, "expr": "sum(container_memory_rss{job=\"kubelet\", cluster=\"$cluster\", container!=\"\"}) by (namespace) / sum(namespace_memory:kube_pod_container_resource_requests:sum{cluster=\"$cluster\"}) by (namespace)", "format": "table", "instant": true }, { "datasource": { "type": "prometheus", "uid": "${datasource}" }, "expr": "sum(namespace_memory:kube_pod_container_resource_limits:sum{cluster=\"$cluster\"}) by (namespace)", "format": "table", "instant": true }, { "datasource": { "type": "prometheus", "uid": "${datasource}" }, "expr": "sum(container_memory_rss{job=\"kubelet\", cluster=\"$cluster\", container!=\"\"}) by (namespace) / sum(namespace_memory:kube_pod_container_resource_limits:sum{cluster=\"$cluster\"}) by (namespace)", "format": "table", "instant": true } ], "title": "Memory Requests by Namespace", "transformations": [ { "id": "joinByField", "options": { "byField": "namespace", "mode": "outer" } }, { "id": "organize", "options": { "excludeByName": { "Time": true, "Time 1": true, "Time 2": true, "Time 3": true, "Time 4": true, "Time 5": true, "Time 6": true, "Time 7": true }, "indexByName": { "Time 1": 0, "Time 2": 1, "Time 3": 2, "Time 4": 3, "Time 5": 4, "Time 6": 5, "Time 7": 6, "Value #A": 8, "Value #B": 9, "Value #C": 10, "Value #D": 11, "Value #E": 12, "Value #F": 13, "Value #G": 14, "namespace": 7 }, "renameByName": { "Value #A": "Pods", "Value #B": "Workloads", "Value #C": "Memory Usage", "Value #D": "Memory Requests", "Value #E": "Memory Requests %", "Value #F": "Memory Limits", "Value #G": "Memory Limits %", "namespace": "Namespace" } } } ], "type": "table" }, { "datasource": { "type": "datasource", "uid": "-- Mixed --" }, "fieldConfig": { "overrides": [ { "matcher": { "id": "byRegexp", "options": "/Bandwidth/" }, "properties": [ { "id": "unit", "value": "Bps" } ] }, { "matcher": { "id": "byRegexp", "options": "/Packets/" }, "properties": [ { "id": "unit", "value": "pps" } ] }, { "matcher": { "id": "byName", "options": "Namespace" }, "properties": [ { "id": "links", "value": [ { "title": "Drill down to pods", "url": "/d/85a562078cdf77779eaa1add43ccec1e/k8s-resources-namespace?${datasource:queryparam}&var-cluster=$cluster&var-namespace=${__data.fields.Namespace}" } ] } ] } ] }, "gridPos": { "h": 6, "w": 24, "x": 0, "y": 30 }, "id": 11, "pluginVersion": "v11.0.0", "targets": [ { "datasource": { "type": "prometheus", "uid": "${datasource}" }, "expr": "sum(rate(container_network_receive_bytes_total{job=\"kubelet\", cluster=\"$cluster\", namespace=~\".+\"}[$__rate_interval])) by (namespace)", "format": "table", "instant": true }, { "datasource": { "type": "prometheus", "uid": "${datasource}" }, "expr": "sum(rate(container_network_transmit_bytes_total{job=\"kubelet\", cluster=\"$cluster\", namespace=~\".+\"}[$__rate_interval])) by (namespace)", "format": "table", "instant": true }, { "datasource": { "type": "prometheus", "uid": "${datasource}" }, "expr": "sum(rate(container_network_receive_packets_total{job=\"kubelet\", cluster=\"$cluster\", namespace=~\".+\"}[$__rate_interval])) by (namespace)", "format": "table", "instant": true }, { "datasource": { "type": "prometheus", "uid": "${datasource}" }, "expr": "sum(rate(container_network_transmit_packets_total{job=\"kubelet\", cluster=\"$cluster\", namespace=~\".+\"}[$__rate_interval])) by (namespace)", "format": "table", "instant": true }, { "datasource": { "type": "prometheus", "uid": "${datasource}" }, "expr": "sum(rate(container_network_receive_packets_dropped_total{job=\"kubelet\", cluster=\"$cluster\", namespace=~\".+\"}[$__rate_interval])) by (namespace)", "format": "table", "instant": true }, { "datasource": { "type": "prometheus", "uid": "${datasource}" }, "expr": "sum(rate(container_network_transmit_packets_dropped_total{job=\"kubelet\", cluster=\"$cluster\", namespace=~\".+\"}[$__rate_interval])) by (namespace)", "format": "table", "instant": true } ], "title": "Current Network Usage", "transformations": [ { "id": "joinByField", "options": { "byField": "namespace", "mode": "outer" } }, { "id": "organize", "options": { "excludeByName": { "Time": true, "Time 1": true, "Time 2": true, "Time 3": true, "Time 4": true, "Time 5": true, "Time 6": true }, "indexByName": { "Time 1": 0, "Time 2": 1, "Time 3": 2, "Time 4": 3, "Time 5": 4, "Time 6": 5, "Value #A": 7, "Value #B": 8, "Value #C": 9, "Value #D": 10, "Value #E": 11, "Value #F": 12, "namespace": 6 }, "renameByName": { "Value #A": "Current Receive Bandwidth", "Value #B": "Current Transmit Bandwidth", "Value #C": "Rate of Received Packets", "Value #D": "Rate of Transmitted Packets", "Value #E": "Rate of Received Packets Dropped", "Value #F": "Rate of Transmitted Packets Dropped", "namespace": "Namespace" } } } ], "type": "table" }, { "datasource": { "type": "datasource", "uid": "-- Mixed --" }, "fieldConfig": { "defaults": { "custom": { "fillOpacity": 10, "showPoints": "never", "spanNulls": true }, "unit": "Bps" } }, "gridPos": { "h": 6, "w": 24, "x": 0, "y": 36 }, "id": 12, "interval": "1m", "options": { "legend": { "asTable": true, "calcs": [ "lastNotNull" ], "displayMode": "table", "placement": "right", "showLegend": true }, "tooltip": { "mode": "single" } }, "pluginVersion": "v11.0.0", "targets": [ { "datasource": { "type": "prometheus", "uid": "${datasource}" }, "expr": "sum(rate(container_network_receive_bytes_total{job=\"kubelet\", cluster=\"$cluster\", namespace=~\".+\"}[$__rate_interval])) by (namespace)", "legendFormat": "__auto" } ], "title": "Receive Bandwidth", "type": "timeseries" }, { "datasource": { "type": "datasource", "uid": "-- Mixed --" }, "fieldConfig": { "defaults": { "custom": { "fillOpacity": 10, "showPoints": "never", "spanNulls": true }, "unit": "Bps" } }, "gridPos": { "h": 6, "w": 24, "x": 0, "y": 42 }, "id": 13, "interval": "1m", "options": { "legend": { "asTable": true, "calcs": [ "lastNotNull" ], "displayMode": "table", "placement": "right", "showLegend": true }, "tooltip": { "mode": "single" } }, "pluginVersion": "v11.0.0", "targets": [ { "datasource": { "type": "prometheus", "uid": "${datasource}" }, "expr": "sum(rate(container_network_transmit_bytes_total{job=\"kubelet\", cluster=\"$cluster\", namespace=~\".+\"}[$__rate_interval])) by (namespace)", "legendFormat": "__auto" } ], "title": "Transmit Bandwidth", "type": "timeseries" }, { "datasource": { "type": "datasource", "uid": "-- Mixed --" }, "fieldConfig": { "defaults": { "custom": { "fillOpacity": 10, "showPoints": "never", "spanNulls": true }, "unit": "Bps" } }, "gridPos": { "h": 6, "w": 24, "x": 0, "y": 48 }, "id": 14, "interval": "1m", "options": { "legend": { "asTable": true, "calcs": [ "lastNotNull" ], "displayMode": "table", "placement": "right", "showLegend": true }, "tooltip": { "mode": "single" } }, "pluginVersion": "v11.0.0", "targets": [ { "datasource": { "type": "prometheus", "uid": "${datasource}" }, "expr": "avg(irate(container_network_receive_bytes_total{job=\"kubelet\", cluster=\"$cluster\", namespace=~\".+\"}[$__rate_interval])) by (namespace)", "legendFormat": "__auto" } ], "title": "Average Container Bandwidth by Namespace: Received", "type": "timeseries" }, { "datasource": { "type": "datasource", "uid": "-- Mixed --" }, "fieldConfig": { "defaults": { "custom": { "fillOpacity": 10, "showPoints": "never", "spanNulls": true }, "unit": "Bps" } }, "gridPos": { "h": 6, "w": 24, "x": 0, "y": 54 }, "id": 15, "interval": "1m", "options": { "legend": { "asTable": true, "calcs": [ "lastNotNull" ], "displayMode": "table", "placement": "right", "showLegend": true }, "tooltip": { "mode": "single" } }, "pluginVersion": "v11.0.0", "targets": [ { "datasource": { "type": "prometheus", "uid": "${datasource}" }, "expr": "avg(irate(container_network_transmit_bytes_total{job=\"kubelet\", cluster=\"$cluster\", namespace=~\".+\"}[$__rate_interval])) by (namespace)", "legendFormat": "__auto" } ], "title": "Average Container Bandwidth by Namespace: Transmitted", "type": "timeseries" }, { "datasource": { "type": "datasource", "uid": "-- Mixed --" }, "fieldConfig": { "defaults": { "custom": { "fillOpacity": 10, "showPoints": "never", "spanNulls": true }, "unit": "pps" } }, "gridPos": { "h": 6, "w": 24, "x": 0, "y": 60 }, "id": 16, "interval": "1m", "options": { "legend": { "asTable": true, "calcs": [ "lastNotNull" ], "displayMode": "table", "placement": "right", "showLegend": true }, "tooltip": { "mode": "single" } }, "pluginVersion": "v11.0.0", "targets": [ { "datasource": { "type": "prometheus", "uid": "${datasource}" }, "expr": "sum(irate(container_network_receive_packets_total{job=\"kubelet\", cluster=\"$cluster\", namespace=~\".+\"}[$__rate_interval])) by (namespace)", "legendFormat": "__auto" } ], "title": "Rate of Received Packets", "type": "timeseries" }, { "datasource": { "type": "datasource", "uid": "-- Mixed --" }, "fieldConfig": { "defaults": { "custom": { "fillOpacity": 10, "showPoints": "never", "spanNulls": true }, "unit": "pps" } }, "gridPos": { "h": 6, "w": 24, "x": 0, "y": 66 }, "id": 17, "interval": "1m", "options": { "legend": { "asTable": true, "calcs": [ "lastNotNull" ], "displayMode": "table", "placement": "right", "showLegend": true }, "tooltip": { "mode": "single" } }, "pluginVersion": "v11.0.0", "targets": [ { "datasource": { "type": "prometheus", "uid": "${datasource}" }, "expr": "sum(irate(container_network_transmit_packets_total{job=\"kubelet\", cluster=\"$cluster\", namespace=~\".+\"}[$__rate_interval])) by (namespace)", "legendFormat": "__auto" } ], "title": "Rate of Transmitted Packets", "type": "timeseries" }, { "datasource": { "type": "datasource", "uid": "-- Mixed --" }, "fieldConfig": { "defaults": { "custom": { "fillOpacity": 10, "showPoints": "never", "spanNulls": true }, "unit": "pps" } }, "gridPos": { "h": 6, "w": 24, "x": 0, "y": 72 }, "id": 18, "interval": "1m", "options": { "legend": { "asTable": true, "calcs": [ "lastNotNull" ], "displayMode": "table", "placement": "right", "showLegend": true }, "tooltip": { "mode": "single" } }, "pluginVersion": "v11.0.0", "targets": [ { "datasource": { "type": "prometheus", "uid": "${datasource}" }, "expr": "sum(irate(container_network_receive_packets_dropped_total{job=\"kubelet\", cluster=\"$cluster\", namespace=~\".+\"}[$__rate_interval])) by (namespace)", "legendFormat": "__auto" } ], "title": "Rate of Received Packets Dropped", "type": "timeseries" }, { "datasource": { "type": "datasource", "uid": "-- Mixed --" }, "fieldConfig": { "defaults": { "custom": { "fillOpacity": 10, "showPoints": "never", "spanNulls": true }, "unit": "pps" } }, "gridPos": { "h": 6, "w": 24, "x": 0, "y": 78 }, "id": 19, "interval": "1m", "options": { "legend": { "asTable": true, "calcs": [ "lastNotNull" ], "displayMode": "table", "placement": "right", "showLegend": true }, "tooltip": { "mode": "single" } }, "pluginVersion": "v11.0.0", "targets": [ { "datasource": { "type": "prometheus", "uid": "${datasource}" }, "expr": "sum(irate(container_network_transmit_packets_dropped_total{job=\"kubelet\", cluster=\"$cluster\", namespace=~\".+\"}[$__rate_interval])) by (namespace)", "legendFormat": "__auto" } ], "title": "Rate of Transmitted Packets Dropped", "type": "timeseries" }, { "datasource": { "type": "datasource", "uid": "-- Mixed --" }, "fieldConfig": { "defaults": { "custom": { "fillOpacity": 10, "showPoints": "never", "spanNulls": true }, "unit": "iops" } }, "gridPos": { "h": 6, "w": 24, "x": 0, "y": 84 }, "id": 20, "interval": "1m", "options": { "legend": { "asTable": true, "calcs": [ "lastNotNull" ], "displayMode": "table", "placement": "right", "showLegend": true }, "tooltip": { "mode": "single" } }, "pluginVersion": "v11.0.0", "targets": [ { "datasource": { "type": "prometheus", "uid": "${datasource}" }, "expr": "ceil(sum by(namespace) (rate(container_fs_reads_total{job=\"kubelet\", container!=\"\", device=~\"(/dev.+)|mmcblk.p.+|nvme.+|rbd.+|sd.+|vd.+|xvd.+|dm-.+|dasd.+\", cluster=\"$cluster\", namespace!=\"\"}[$__rate_interval]) + rate(container_fs_writes_total{job=\"kubelet\", container!=\"\", cluster=\"$cluster\", namespace!=\"\"}[$__rate_interval])))", "legendFormat": "__auto" } ], "title": "IOPS(Reads+Writes)", "type": "timeseries" }, { "datasource": { "type": "datasource", "uid": "-- Mixed --" }, "fieldConfig": { "defaults": { "custom": { "fillOpacity": 10, "showPoints": "never", "spanNulls": true }, "unit": "Bps" } }, "gridPos": { "h": 6, "w": 24, "x": 0, "y": 90 }, "id": 21, "interval": "1m", "options": { "legend": { "asTable": true, "calcs": [ "lastNotNull" ], "displayMode": "table", "placement": "right", "showLegend": true }, "tooltip": { "mode": "single" } }, "pluginVersion": "v11.0.0", "targets": [ { "datasource": { "type": "prometheus", "uid": "${datasource}" }, "expr": "sum by(namespace) (rate(container_fs_reads_bytes_total{job=\"kubelet\", container!=\"\", device=~\"(/dev.+)|mmcblk.p.+|nvme.+|rbd.+|sd.+|vd.+|xvd.+|dm-.+|dasd.+\", cluster=\"$cluster\", namespace!=\"\"}[$__rate_interval]) + rate(container_fs_writes_bytes_total{job=\"kubelet\", container!=\"\", cluster=\"$cluster\", namespace!=\"\"}[$__rate_interval]))", "legendFormat": "__auto" } ], "title": "ThroughPut(Read+Write)", "type": "timeseries" }, { "datasource": { "type": "datasource", "uid": "-- Mixed --" }, "fieldConfig": { "overrides": [ { "matcher": { "id": "byRegexp", "options": "/IOPS/" }, "properties": [ { "id": "unit", "value": "iops" } ] }, { "matcher": { "id": "byRegexp", "options": "/Throughput/" }, "properties": [ { "id": "unit", "value": "Bps" } ] }, { "matcher": { "id": "byName", "options": "Namespace" }, "properties": [ { "id": "links", "value": [ { "title": "Drill down to pods", "url": "/d/85a562078cdf77779eaa1add43ccec1e/k8s-resources-namespace?${datasource:queryparam}&var-cluster=$cluster&var-namespace=${__data.fields.Namespace}" } ] } ] } ] }, "gridPos": { "h": 6, "w": 24, "x": 0, "y": 96 }, "id": 22, "pluginVersion": "v11.0.0", "targets": [ { "datasource": { "type": "prometheus", "uid": "${datasource}" }, "expr": "sum by(namespace) (rate(container_fs_reads_total{job=\"kubelet\", device=~\"(/dev.+)|mmcblk.p.+|nvme.+|rbd.+|sd.+|vd.+|xvd.+|dm-.+|dasd.+\", container!=\"\", cluster=\"$cluster\", namespace!=\"\"}[$__rate_interval]))", "format": "table", "instant": true }, { "datasource": { "type": "prometheus", "uid": "${datasource}" }, "expr": "sum by(namespace) (rate(container_fs_writes_total{job=\"kubelet\", device=~\"(/dev.+)|mmcblk.p.+|nvme.+|rbd.+|sd.+|vd.+|xvd.+|dm-.+|dasd.+\", container!=\"\", cluster=\"$cluster\", namespace!=\"\"}[$__rate_interval]))", "format": "table", "instant": true }, { "datasource": { "type": "prometheus", "uid": "${datasource}" }, "expr": "sum by(namespace) (rate(container_fs_reads_total{job=\"kubelet\", device=~\"(/dev.+)|mmcblk.p.+|nvme.+|rbd.+|sd.+|vd.+|xvd.+|dm-.+|dasd.+\", container!=\"\", cluster=\"$cluster\", namespace!=\"\"}[$__rate_interval]) + rate(container_fs_writes_total{job=\"kubelet\", device=~\"(/dev.+)|mmcblk.p.+|nvme.+|rbd.+|sd.+|vd.+|xvd.+|dm-.+|dasd.+\", container!=\"\", cluster=\"$cluster\", namespace!=\"\"}[$__rate_interval]))", "format": "table", "instant": true }, { "datasource": { "type": "prometheus", "uid": "${datasource}" }, "expr": "sum by(namespace) (rate(container_fs_reads_bytes_total{job=\"kubelet\", device=~\"(/dev.+)|mmcblk.p.+|nvme.+|rbd.+|sd.+|vd.+|xvd.+|dm-.+|dasd.+\", container!=\"\", cluster=\"$cluster\", namespace!=\"\"}[$__rate_interval]))", "format": "table", "instant": true }, { "datasource": { "type": "prometheus", "uid": "${datasource}" }, "expr": "sum by(namespace) (rate(container_fs_writes_bytes_total{job=\"kubelet\", device=~\"(/dev.+)|mmcblk.p.+|nvme.+|rbd.+|sd.+|vd.+|xvd.+|dm-.+|dasd.+\", container!=\"\", cluster=\"$cluster\", namespace!=\"\"}[$__rate_interval]))", "format": "table", "instant": true }, { "datasource": { "type": "prometheus", "uid": "${datasource}" }, "expr": "sum by(namespace) (rate(container_fs_reads_bytes_total{job=\"kubelet\", device=~\"(/dev.+)|mmcblk.p.+|nvme.+|rbd.+|sd.+|vd.+|xvd.+|dm-.+|dasd.+\", container!=\"\", cluster=\"$cluster\", namespace!=\"\"}[$__rate_interval]) + rate(container_fs_writes_bytes_total{job=\"kubelet\", device=~\"(/dev.+)|mmcblk.p.+|nvme.+|rbd.+|sd.+|vd.+|xvd.+|dm-.+|dasd.+\", container!=\"\", cluster=\"$cluster\", namespace!=\"\"}[$__rate_interval]))", "format": "table", "instant": true } ], "title": "Current Storage IO", "transformations": [ { "id": "joinByField", "options": { "byField": "namespace", "mode": "outer" } }, { "id": "organize", "options": { "excludeByName": { "Time": true, "Time 1": true, "Time 2": true, "Time 3": true, "Time 4": true, "Time 5": true, "Time 6": true }, "indexByName": { "Time 1": 0, "Time 2": 1, "Time 3": 2, "Time 4": 3, "Time 5": 4, "Time 6": 5, "Value #A": 7, "Value #B": 8, "Value #C": 9, "Value #D": 10, "Value #E": 11, "Value #F": 12, "namespace": 6 }, "renameByName": { "Value #A": "IOPS(Reads)", "Value #B": "IOPS(Writes)", "Value #C": "IOPS(Reads + Writes)", "Value #D": "Throughput(Read)", "Value #E": "Throughput(Write)", "Value #F": "Throughput(Read + Write)", "namespace": "Namespace" } } } ], "type": "table" } ], "refresh": "10s", "schemaVersion": 39, "tags": [ "kubernetes" ], "templating": { "list": [ { "current": { "selected": true, "text": "default", "value": "default" }, "hide": 0, "label": "Data source", "name": "datasource", "query": "prometheus", "regex": "", "type": "datasource" }, { "datasource": { "type": "prometheus", "uid": "${datasource}" }, "hide": 2, "label": "cluster", "name": "cluster", "query": "label_values(up{job=\"kubelet\"}, cluster)", "refresh": 2, "sort": 1, "type": "query" } ] }, "time": { "from": "now-1h", "to": "now" }, "timezone": "UTC", "title": "Compute Resources / Cluster", "uid": "efa86fd1d0c121a26444b636a3f509a8" }