{ "editable": false, "panels": [ { "datasource": { "type": "datasource", "uid": "-- Mixed --" }, "fieldConfig": { "defaults": { "custom": { "fillOpacity": 10, "showPoints": "never", "spanNulls": true, "stacking": { "mode": "normal" } } }, "overrides": [ { "matcher": { "id": "byName", "options": "max capacity" }, "properties": [ { "id": "color", "value": { "fixedColor": "red", "mode": "fixed" } }, { "id": "custom.stacking", "value": { "mode": "none" } }, { "id": "custom.hideFrom", "value": { "legend": false, "tooltip": true, "viz": false } }, { "id": "custom.lineStyle", "value": { "dash": [ 10, 10 ], "fill": "dash" } } ] } ] }, "gridPos": { "h": 6, "w": 24, "x": 0, "y": 0 }, "id": 1, "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(kube_node_status_capacity{cluster=\"$cluster\", node=~\"$node\", resource=\"cpu\"})", "legendFormat": "max capacity" }, { "datasource": { "type": "prometheus", "uid": "${datasource}" }, "expr": "sum(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{cluster=\"$cluster\", node=~\"$node\"}) by (pod)", "legendFormat": "{{pod}}" } ], "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": "Pod" }, "properties": [ { "id": "links", "value": [ { "title": "Drill down to pods", "url": "/d/6581e46e4e5c7ba40a07646395ef7b23/k8s-resources-pod?${datasource:queryparam}&var-cluster=$cluster&var-namespace=$namespace&var-pod=${__data.fields.Pod}" } ] } ] } ] }, "gridPos": { "h": 6, "w": 24, "x": 0, "y": 6 }, "id": 2, "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\", node=~\"$node\"}) by (pod)", "format": "table", "instant": true }, { "datasource": { "type": "prometheus", "uid": "${datasource}" }, "expr": "sum(cluster:namespace:pod_cpu:active:kube_pod_container_resource_requests{cluster=\"$cluster\", node=~\"$node\"}) by (pod)", "format": "table", "instant": true }, { "datasource": { "type": "prometheus", "uid": "${datasource}" }, "expr": "sum(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{cluster=\"$cluster\", node=~\"$node\"}) by (pod) / sum(cluster:namespace:pod_cpu:active:kube_pod_container_resource_requests{cluster=\"$cluster\", node=~\"$node\"}) by (pod)", "format": "table", "instant": true }, { "datasource": { "type": "prometheus", "uid": "${datasource}" }, "expr": "sum(cluster:namespace:pod_cpu:active:kube_pod_container_resource_limits{cluster=\"$cluster\", node=~\"$node\"}) by (pod)", "format": "table", "instant": true }, { "datasource": { "type": "prometheus", "uid": "${datasource}" }, "expr": "sum(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{cluster=\"$cluster\", node=~\"$node\"}) by (pod) / sum(cluster:namespace:pod_cpu:active:kube_pod_container_resource_limits{cluster=\"$cluster\", node=~\"$node\"}) by (pod)", "format": "table", "instant": true } ], "title": "CPU Quota", "transformations": [ { "id": "joinByField", "options": { "byField": "pod", "mode": "outer" } }, { "id": "organize", "options": { "excludeByName": { "Time": true, "Time 1": true, "Time 2": true, "Time 3": true, "Time 4": true, "Time 5": true }, "renameByName": { "Value #A": "CPU Usage", "Value #B": "CPU Requests", "Value #C": "CPU Requests %", "Value #D": "CPU Limits", "Value #E": "CPU Limits %", "pod": "Pod" } } } ], "type": "table" }, { "datasource": { "type": "datasource", "uid": "-- Mixed --" }, "fieldConfig": { "defaults": { "custom": { "fillOpacity": 10, "showPoints": "never", "spanNulls": true, "stacking": { "mode": "normal" } }, "unit": "bytes" }, "overrides": [ { "matcher": { "id": "byName", "options": "max capacity" }, "properties": [ { "id": "color", "value": { "fixedColor": "red", "mode": "fixed" } }, { "id": "custom.stacking", "value": { "mode": "none" } }, { "id": "custom.hideFrom", "value": { "legend": false, "tooltip": true, "viz": false } }, { "id": "custom.lineStyle", "value": { "dash": [ 10, 10 ], "fill": "dash" } } ] } ] }, "gridPos": { "h": 6, "w": 24, "x": 0, "y": 12 }, "id": 3, "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(kube_node_status_capacity{cluster=\"$cluster\", node=~\"$node\", resource=\"memory\"})", "legendFormat": "max capacity" }, { "datasource": { "type": "prometheus", "uid": "${datasource}" }, "expr": "sum(node_namespace_pod_container:container_memory_working_set_bytes{cluster=\"$cluster\", node=~\"$node\", container!=\"\"}) by (pod)", "legendFormat": "{{pod}}" } ], "title": "Memory Usage (w/o cache)", "type": "timeseries" }, { "datasource": { "type": "datasource", "uid": "-- Mixed --" }, "fieldConfig": { "defaults": { "unit": "bytes" }, "overrides": [ { "matcher": { "id": "byRegexp", "options": "/%/" }, "properties": [ { "id": "unit", "value": "percentunit" } ] }, { "matcher": { "id": "byName", "options": "Pod" }, "properties": [ { "id": "links", "value": [ { "title": "Drill down to pods", "url": "/d/6581e46e4e5c7ba40a07646395ef7b23/k8s-resources-pod?${datasource:queryparam}&var-cluster=$cluster&var-namespace=$namespace&var-pod=${__data.fields.Pod}" } ] } ] } ] }, "gridPos": { "h": 6, "w": 24, "x": 0, "y": 18 }, "id": 4, "pluginVersion": "v11.0.0", "targets": [ { "datasource": { "type": "prometheus", "uid": "${datasource}" }, "expr": "sum(node_namespace_pod_container:container_memory_working_set_bytes{cluster=\"$cluster\", node=~\"$node\",container!=\"\"}) by (pod)", "format": "table", "instant": true }, { "datasource": { "type": "prometheus", "uid": "${datasource}" }, "expr": "sum(cluster:namespace:pod_memory:active:kube_pod_container_resource_requests{cluster=\"$cluster\", node=~\"$node\"}) by (pod)", "format": "table", "instant": true }, { "datasource": { "type": "prometheus", "uid": "${datasource}" }, "expr": "sum(node_namespace_pod_container:container_memory_working_set_bytes{cluster=\"$cluster\", node=~\"$node\",container!=\"\"}) by (pod) / sum(cluster:namespace:pod_memory:active:kube_pod_container_resource_requests{cluster=\"$cluster\", node=~\"$node\"}) by (pod)", "format": "table", "instant": true }, { "datasource": { "type": "prometheus", "uid": "${datasource}" }, "expr": "sum(cluster:namespace:pod_memory:active:kube_pod_container_resource_limits{cluster=\"$cluster\", node=~\"$node\"}) by (pod)", "format": "table", "instant": true }, { "datasource": { "type": "prometheus", "uid": "${datasource}" }, "expr": "sum(node_namespace_pod_container:container_memory_working_set_bytes{cluster=\"$cluster\", node=~\"$node\",container!=\"\"}) by (pod) / sum(cluster:namespace:pod_memory:active:kube_pod_container_resource_limits{cluster=\"$cluster\", node=~\"$node\"}) by (pod)", "format": "table", "instant": true }, { "datasource": { "type": "prometheus", "uid": "${datasource}" }, "expr": "sum(node_namespace_pod_container:container_memory_rss{cluster=\"$cluster\", node=~\"$node\",container!=\"\"}) by (pod)", "format": "table", "instant": true }, { "datasource": { "type": "prometheus", "uid": "${datasource}" }, "expr": "sum(node_namespace_pod_container:container_memory_cache{cluster=\"$cluster\", node=~\"$node\",container!=\"\"}) by (pod)", "format": "table", "instant": true }, { "datasource": { "type": "prometheus", "uid": "${datasource}" }, "expr": "sum(node_namespace_pod_container:container_memory_swap{cluster=\"$cluster\", node=~\"$node\",container!=\"\"}) by (pod)", "format": "table", "instant": true } ], "title": "Memory Quota", "transformations": [ { "id": "joinByField", "options": { "byField": "pod", "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, "Time 8": true }, "renameByName": { "Value #A": "Memory Usage", "Value #B": "Memory Requests", "Value #C": "Memory Requests %", "Value #D": "Memory Limits", "Value #E": "Memory Limits %", "Value #F": "Memory Usage (RSS)", "Value #G": "Memory Usage (Cache)", "Value #H": "Memory Usage (Swap)", "pod": "Pod" } } } ], "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=\"kube-state-metrics\"}, cluster)", "refresh": 2, "sort": 1, "type": "query" }, { "datasource": { "type": "prometheus", "uid": "${datasource}" }, "hide": 0, "label": "node", "multi": true, "name": "node", "query": "label_values(kube_node_info{cluster=\"$cluster\"}, node)", "refresh": 2, "type": "query" } ] }, "time": { "from": "now-1h", "to": "now" }, "timezone": "UTC", "title": "Compute Resources / Node (Pods)", "uid": "200ac8fdbfbb74b39aff88118e4d1c2c" }