From a2f8facb0a46cd74ce8e61090188b141cea1c02d Mon Sep 17 00:00:00 2001 From: kongfei Date: Mon, 19 Sep 2022 12:06:36 +0800 Subject: [PATCH] add resource view dashboard for pod --- k8s/pod-dash.json | 1560 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1560 insertions(+) create mode 100644 k8s/pod-dash.json diff --git a/k8s/pod-dash.json b/k8s/pod-dash.json new file mode 100644 index 0000000..e81bb08 --- /dev/null +++ b/k8s/pod-dash.json @@ -0,0 +1,1560 @@ +{ + "name": "Container - 模板", + "tags": "", + "configs": { + "var": [ + { + "name": "pod_name", + "definition": "label_values(container_cpu_usage_seconds_total, pod)", + "multi": false, + "reg": "" + } + ], + "version": "2.0.0", + "panels": [ + { + "id": "79d7e3b0-b64f-4591-b5dd-994ce16b68ca", + "type": "row", + "name": "整体概况", + "layout": { + "h": 1, + "w": 24, + "x": 0, + "y": 0, + "i": "79d7e3b0-b64f-4591-b5dd-994ce16b68ca" + }, + "collapsed": true + }, + { + "targets": [ + { + "refId": "A", + "expr": "sum(rate(container_cpu_usage_seconds_total{pod=\"$pod_name\", image!~\".*pause.*\"}[1m])*100) by(name)", + "legend": "" + } + ], + "name": "容器CPU使用率", + "description": "容器1min CPU平均使用率,如果pod内有多个容器,会分别显示各个容器CPU使用率(pause容器默认不会显示);如果容器配置了4核,使用率400%表示当前用满4核,容器配置2核,使用率200%表示当前用满2核。", + "options": { + "tooltip": { + "mode": "all", + "sort": "none" + }, + "legend": { + "displayMode": "hidden" + }, + "standardOptions": { + "util": "percent", + "min": 0, + "max": null + }, + "thresholds": {} + }, + "custom": { + "drawStyle": "lines", + "lineInterpolation": "smooth", + "fillOpacity": 0.5, + "stack": "off" + }, + "version": "2.0.0", + "type": "timeseries", + "layout": { + "h": 7, + "w": 6, + "x": 0, + "y": 1, + "i": "860c1484-1f83-497e-a061-a50fbb3ff1dc" + }, + "id": "860c1484-1f83-497e-a061-a50fbb3ff1dc" + }, + { + "targets": [ + { + "refId": "A", + "expr": "sum(rate(container_cpu_usage_seconds_total{pod=\"$pod_name\", image!~\".*pause.*\"}[1m])*100) by(name)/((sum(container_spec_cpu_quota{pod=\"$pod_name\"}/container_spec_cpu_period{pod=\"$pod_name\"}) by (name)))", + "legend": "" + } + ], + "name": "容器CPU归一化后使用率", + "description": "容器1min CPU平均使用率,如果pod内有多个容器,会分别显示各个容器CPU使用率(pause容器默认不会显示);如果容器配置了4核,使用率100%表示当前用满4核,容器配置2核,使用率100%表示当前用满2核,如果容器没有配置cpu limit,则不会显示该数值", + "options": { + "tooltip": { + "mode": "all", + "sort": "none" + }, + "legend": { + "displayMode": "hidden" + }, + "standardOptions": { + "util": "percent", + "min": 0, + "max": null + }, + "thresholds": {} + }, + "custom": { + "drawStyle": "lines", + "lineInterpolation": "smooth", + "fillOpacity": 0.5, + "stack": "off" + }, + "version": "2.0.0", + "type": "timeseries", + "layout": { + "h": 7, + "w": 6, + "x": 6, + "y": 1, + "i": "bb66b2cc-3658-4cae-817a-61ec3fbb93e4" + }, + "id": "bb66b2cc-3658-4cae-817a-61ec3fbb93e4" + }, + { + "targets": [ + { + "refId": "A", + "expr": "(sum(container_memory_usage_bytes{pod=\"$pod_name\", image!~\".*pause.*\"}) by (name)) " + } + ], + "name": "容器内存使用", + "description": "container_memory_rss + container_memory_cache + container_memory_swap + kernel memory", + "options": { + "tooltip": { + "mode": "all", + "sort": "none" + }, + "legend": { + "displayMode": "hidden" + }, + "standardOptions": { + "util": "bytesIEC", + "max": null + }, + "thresholds": {} + }, + "custom": { + "drawStyle": "lines", + "lineInterpolation": "smooth", + "fillOpacity": 0.5, + "stack": "off" + }, + "version": "2.0.0", + "type": "timeseries", + "layout": { + "h": 7, + "w": 6, + "x": 12, + "y": 1, + "i": "4d5f9cbb-3b78-4fe6-8a4e-59ca52a49666" + }, + "id": "4d5f9cbb-3b78-4fe6-8a4e-59ca52a49666" + }, + { + "targets": [ + { + "refId": "A", + "expr": "sum(rate(container_fs_writes_bytes_total{pod=\"$pod_name\", image!~\".*pause.*\"}[1m])) by(name)", + "legend": "" + } + ], + "name": "文件系统写入速率", + "description": "", + "options": { + "tooltip": { + "mode": "all", + "sort": "none" + }, + "legend": { + "displayMode": "hidden" + }, + "standardOptions": { + "util": "bytesIEC", + "min": 0, + "max": null + }, + "thresholds": {} + }, + "custom": { + "drawStyle": "lines", + "lineInterpolation": "smooth", + "fillOpacity": 0.5, + "stack": "off" + }, + "version": "2.0.0", + "type": "timeseries", + "layout": { + "h": 7, + "w": 6, + "x": 18, + "y": 1, + "i": "978e93a0-770e-42f5-a374-cafb5b4fc585" + }, + "id": "978e93a0-770e-42f5-a374-cafb5b4fc585" + }, + { + "targets": [ + { + "refId": "A", + "expr": "sum(rate(container_fs_reads_bytes_total{pod=\"$pod_name\", image!~\".*pause.*\"}[1m])) by(name)", + "legend": "" + } + ], + "name": "文件系统读取速率", + "description": "", + "options": { + "tooltip": { + "mode": "all", + "sort": "none" + }, + "legend": { + "displayMode": "hidden" + }, + "standardOptions": { + "util": "bytesIEC", + "min": 0, + "max": null + }, + "thresholds": {} + }, + "custom": { + "drawStyle": "lines", + "lineInterpolation": "smooth", + "fillOpacity": 0.5, + "stack": "off" + }, + "version": "2.0.0", + "type": "timeseries", + "layout": { + "h": 7, + "w": 6, + "x": 0, + "y": 3, + "i": "f385736d-fd05-4705-a27d-41e67fb6c843" + }, + "id": "f385736d-fd05-4705-a27d-41e67fb6c843" + }, + { + "targets": [ + { + "refId": "A", + "expr": "sum(rate(container_network_transmit_bytes_total{pod=\"$pod_name\"}[1m])) by(name, interface)" + } + ], + "name": "网络发送速率", + "description": "容器网络发送的字节数(1 分钟内)", + "options": { + "tooltip": { + "mode": "all", + "sort": "none" + }, + "legend": { + "displayMode": "hidden" + }, + "standardOptions": { + "util": "bytesIEC" + }, + "thresholds": {} + }, + "custom": { + "drawStyle": "lines", + "lineInterpolation": "smooth", + "fillOpacity": 0.5, + "stack": "off" + }, + "version": "2.0.0", + "type": "timeseries", + "layout": { + "h": 7, + "w": 6, + "x": 6, + "y": 3, + "i": "f9b140e8-0b44-4b32-9d54-9360b06faa48" + }, + "id": "f9b140e8-0b44-4b32-9d54-9360b06faa48" + }, + { + "targets": [ + { + "refId": "A", + "expr": "sum(rate(container_network_receive_bytes_total{pod=\"$pod_name\"}[1m])) by(name, interface)" + } + ], + "name": "网络接收速率", + "description": "容器网络接收的字节数(1 分钟内)", + "options": { + "tooltip": { + "mode": "all", + "sort": "none" + }, + "legend": { + "displayMode": "hidden" + }, + "standardOptions": { + "util": "bytesIEC" + }, + "thresholds": {} + }, + "custom": { + "drawStyle": "lines", + "lineInterpolation": "smooth", + "fillOpacity": 0.5, + "stack": "off" + }, + "version": "2.0.0", + "type": "timeseries", + "layout": { + "h": 7, + "w": 6, + "x": 12, + "y": 3, + "i": "8f98a264-7058-4fa0-8efc-3c87954a0370" + }, + "id": "8f98a264-7058-4fa0-8efc-3c87954a0370" + }, + { + "targets": [ + { + "refId": "A", + "expr": "sum((time()-container_start_time_seconds{pod=\"$pod_name\", image!~\".*pause.*\"})) by (name)" + } + ], + "name": "容器启动时长(小时)", + "custom": { + "textMode": "valueAndName", + "colorMode": "value", + "calc": "lastNotNull", + "colSpan": 1, + "textSize": {} + }, + "options": { + "standardOptions": { + "util": "humantimeSeconds" + } + }, + "version": "2.0.0", + "type": "stat", + "layout": { + "h": 7, + "w": 6, + "x": 18, + "y": 3, + "i": "1868973e-c3d3-4fd4-83b0-36ec2e06dfe0" + }, + "id": "1868973e-c3d3-4fd4-83b0-36ec2e06dfe0" + }, + { + "id": "8a4942a2-81a3-4473-81be-79b3541e09a3", + "type": "row", + "name": "CPU", + "layout": { + "h": 1, + "w": 24, + "x": 0, + "y": 10, + "i": "8a4942a2-81a3-4473-81be-79b3541e09a3" + }, + "collapsed": true + }, + { + "targets": [ + { + "refId": "A", + "expr": "sum(rate(container_cpu_usage_seconds_total{pod=\"$pod_name\", image!~\".*pause.*\"}[1m])*100) by(name)" + } + ], + "name": "容器CPU使用率", + "description": "容器1min CPU平均使用率,如果pod内有多个容器,会分别显示各个容器CPU使用率(pause容器默认不会显示);如果容器配置了4核,使用率400%表示当前用满4核,容器配置2核,使用率200%表示当前用满2核。", + "options": { + "tooltip": { + "mode": "all", + "sort": "none" + }, + "legend": { + "displayMode": "hidden" + }, + "standardOptions": { + "util": "percent", + "max": null + }, + "thresholds": {} + }, + "custom": { + "drawStyle": "lines", + "lineInterpolation": "smooth", + "fillOpacity": 0.5, + "stack": "off" + }, + "version": "2.0.0", + "type": "timeseries", + "layout": { + "h": 7, + "w": 6, + "x": 0, + "y": 11, + "i": "54650fe9-007f-4b16-a523-baf2e91ef823" + }, + "id": "54650fe9-007f-4b16-a523-baf2e91ef823" + }, + { + "targets": [ + { + "refId": "A", + "expr": "sum(rate(container_cpu_usage_seconds_total{pod=\"$pod_name\", image!~\".*pause.*\"}[1m])*100) by(name)/((sum(container_spec_cpu_quota{pod=\"$pod_name\"}/container_spec_cpu_period{pod=\"$pod_name\"}) by (name)))" + } + ], + "name": "容器CPU归一化后使用率", + "description": "容器1min CPU平均使用率,如果pod内有多个容器,会分别显示各个容器CPU使用率(pause容器默认不会显示);如果容器配置了4核,使用率100%表示当前用满4核,容器配置2核,使用率100%表示当前用满2核,如果容器没有配置cpu limit,则不会显示该数值", + "options": { + "tooltip": { + "mode": "all", + "sort": "none" + }, + "legend": { + "displayMode": "hidden" + }, + "standardOptions": { + "util": "percent", + "max": null + }, + "thresholds": {} + }, + "custom": { + "drawStyle": "lines", + "lineInterpolation": "smooth", + "fillOpacity": 0.5, + "stack": "off" + }, + "version": "2.0.0", + "type": "timeseries", + "layout": { + "h": 7, + "w": 6, + "x": 6, + "y": 11, + "i": "715c1e5a-c504-4f2c-a790-dad1c73aae29" + }, + "id": "715c1e5a-c504-4f2c-a790-dad1c73aae29" + }, + { + "targets": [ + { + "refId": "A", + "expr": "sum(rate(container_cpu_system_seconds_total{pod=\"$pod_name\", image!~\".*pause.*\"}[1m])*100) by(name)" + } + ], + "name": "容器内核态CPU使用率", + "description": "容器1min 内核态CPU平均使用率,如果pod内有多个容器,会分别显示各个容器内核态CPU使用率(pause容器默认不会显示);如果容器配置了4核,使用率400%表示当前内核态用满4核,容器配置2核,使用率200%表示当前内核态用满2核。", + "options": { + "tooltip": { + "mode": "all", + "sort": "none" + }, + "legend": { + "displayMode": "hidden" + }, + "standardOptions": { + "util": "percent", + "max": null + }, + "thresholds": {} + }, + "custom": { + "drawStyle": "lines", + "lineInterpolation": "smooth", + "fillOpacity": 0.5, + "stack": "off" + }, + "version": "2.0.0", + "type": "timeseries", + "layout": { + "h": 7, + "w": 6, + "x": 12, + "y": 11, + "i": "d23a509d-3bb0-4680-b579-b89a411830a4" + }, + "id": "d23a509d-3bb0-4680-b579-b89a411830a4" + }, + { + "targets": [ + { + "refId": "A", + "expr": "sum(rate(container_cpu_user_seconds_total{pod=\"$pod_name\", image!~\".*pause.*\"}[1m])*100) by(name)" + } + ], + "name": "容器用户态CPU使用率", + "description": "容器1min 内核态CPU平均使用率,如果pod内有多个容器,会分别显示各个容器用户态CPU使用率(pause容器默认不会显示);如果容器配置了4核,使用率400%表示当前用户态用满4核,容器配置2核,使用率200%表示当前用户态用满2核。", + "options": { + "tooltip": { + "mode": "all", + "sort": "none" + }, + "legend": { + "displayMode": "hidden" + }, + "standardOptions": { + "util": "percent", + "max": null + }, + "thresholds": {} + }, + "custom": { + "drawStyle": "lines", + "lineInterpolation": "smooth", + "fillOpacity": 0.5, + "stack": "off" + }, + "version": "2.0.0", + "type": "timeseries", + "layout": { + "h": 7, + "w": 6, + "x": 18, + "y": 11, + "i": "2921e6d0-1b9c-449d-9dd8-fb29dce8ca7d" + }, + "id": "2921e6d0-1b9c-449d-9dd8-fb29dce8ca7d" + }, + { + "targets": [ + { + "refId": "A", + "expr": "sum(rate(container_cpu_cfs_throttled_periods_total{pod=\"$pod_name\", image!~\".*pause.*\"}[1m]))by(name) *100" + } + ], + "name": "容器发生CPU throttle的比率", + "description": "该值大于0,说明CPU在运行期间发生throttle情况,即容器设置的CPU规格,不满足容器当前对CPU的实际需求,在这种情况下,往往需要调大容器CPU规格,或者优化程序,降低CPU开销。", + "options": { + "tooltip": { + "mode": "all", + "sort": "none" + }, + "legend": { + "displayMode": "hidden" + }, + "standardOptions": { + "util": "percent" + }, + "thresholds": {} + }, + "custom": { + "drawStyle": "lines", + "lineInterpolation": "smooth", + "fillOpacity": 0.5, + "stack": "off" + }, + "version": "2.0.0", + "type": "timeseries", + "layout": { + "h": 7, + "w": 6, + "x": 0, + "y": 13, + "i": "b302c1a0-a499-4a99-aff2-d460685846ab" + }, + "id": "b302c1a0-a499-4a99-aff2-d460685846ab" + }, + { + "targets": [ + { + "refId": "A", + "expr": "(sum(container_spec_cpu_quota{pod=\"$pod_name\"}/container_spec_cpu_period{pod=\"$pod_name\"}) by (name))" + } + ], + "name": "容器CPU Limit", + "description": "容器CPU Limit,2代表容器CPU Limit为2核, 0.2代表容器CPU Limit为0.2核, 没有数据表明没有设置Limit值", + "custom": { + "textMode": "valueAndName", + "colorMode": "value", + "calc": "lastNotNull", + "colSpan": 1, + "textSize": {} + }, + "options": { + "standardOptions": {} + }, + "version": "2.0.0", + "type": "stat", + "layout": { + "h": 7, + "w": 6, + "x": 6, + "y": 13, + "i": "cd5e8b99-8a76-4dea-b8b2-3bff825a7f8d" + }, + "id": "cd5e8b99-8a76-4dea-b8b2-3bff825a7f8d" + }, + { + "targets": [ + { + "refId": "A", + "expr": "sum(container_cpu_load_average_10s{pod=\"$pod_name\", image!~\".*pause.*\"}) by (name)" + } + ], + "name": "容器CPU load 10", + "description": "过去10s的CPU负载", + "options": { + "tooltip": { + "mode": "all", + "sort": "none" + }, + "legend": { + "displayMode": "hidden" + }, + "standardOptions": { + "max": null + }, + "thresholds": {} + }, + "custom": { + "drawStyle": "lines", + "lineInterpolation": "smooth", + "fillOpacity": 0.5, + "stack": "off" + }, + "version": "2.0.0", + "type": "timeseries", + "layout": { + "h": 7, + "w": 6, + "x": 12, + "y": 13, + "i": "408c29b9-2a49-49a2-a98b-3ad7da9c57bd" + }, + "id": "408c29b9-2a49-49a2-a98b-3ad7da9c57bd" + }, + { + "targets": [ + { + "refId": "A", + "expr": "sum(container_tasks_state{pod=\"$pod_name\", image!~\".*pause.*\", state=\"uninterruptible\"}) by (name)" + } + ], + "name": "uninterruptible task 数量", + "options": { + "tooltip": { + "mode": "all", + "sort": "none" + }, + "legend": { + "displayMode": "hidden" + }, + "standardOptions": {}, + "thresholds": {} + }, + "custom": { + "drawStyle": "lines", + "lineInterpolation": "smooth", + "fillOpacity": 0.5, + "stack": "off" + }, + "version": "2.0.0", + "type": "timeseries", + "layout": { + "h": 7, + "w": 6, + "x": 18, + "y": 13, + "i": "fe62f7db-4f87-4da1-bfc3-60ed5039e31e" + }, + "id": "fe62f7db-4f87-4da1-bfc3-60ed5039e31e" + }, + { + "targets": [ + { + "refId": "A", + "expr": "sum(container_tasks_state{pod=\"$pod_name\", image!~\".*pause.*\", state=\"running\"}) by (name)" + } + ], + "name": "running task 数量", + "options": { + "tooltip": { + "mode": "all", + "sort": "none" + }, + "legend": { + "displayMode": "hidden" + }, + "standardOptions": {}, + "thresholds": {} + }, + "custom": { + "drawStyle": "lines", + "lineInterpolation": "smooth", + "fillOpacity": 0.5, + "stack": "off" + }, + "version": "2.0.0", + "type": "timeseries", + "layout": { + "h": 7, + "w": 6, + "x": 0, + "y": 15, + "i": "7152f66a-d907-4ee9-afd3-a04b12f1019b" + }, + "id": "7152f66a-d907-4ee9-afd3-a04b12f1019b" + }, + { + "targets": [ + { + "refId": "A", + "expr": "sum(container_tasks_state{pod=\"$pod_name\", image!~\".*pause.*\", state=\"iowaiting\"}) by (name)" + } + ], + "name": "ioawaiting task 数量", + "options": { + "tooltip": { + "mode": "all", + "sort": "none" + }, + "legend": { + "displayMode": "hidden" + }, + "standardOptions": {}, + "thresholds": {} + }, + "custom": { + "drawStyle": "lines", + "lineInterpolation": "smooth", + "fillOpacity": 0.5, + "stack": "off" + }, + "version": "2.0.0", + "type": "timeseries", + "layout": { + "h": 7, + "w": 6, + "x": 6, + "y": 15, + "i": "d2627af4-5753-4384-880b-84bead73002a" + }, + "id": "d2627af4-5753-4384-880b-84bead73002a" + }, + { + "targets": [ + { + "refId": "A", + "expr": "sum(container_tasks_state{pod=\"$pod_name\", image!~\".*pause.*\", state=\"sleeping\"}) by (name)" + } + ], + "name": "sleeping task 数量", + "options": { + "tooltip": { + "mode": "all", + "sort": "none" + }, + "legend": { + "displayMode": "hidden" + }, + "standardOptions": {}, + "thresholds": {} + }, + "custom": { + "drawStyle": "lines", + "lineInterpolation": "smooth", + "fillOpacity": 0.5, + "stack": "off" + }, + "version": "2.0.0", + "type": "timeseries", + "layout": { + "h": 7, + "w": 6, + "x": 12, + "y": 15, + "i": "78801242-2aae-48dc-a3c3-3d0050fac92c" + }, + "id": "78801242-2aae-48dc-a3c3-3d0050fac92c" + }, + { + "targets": [ + { + "refId": "A", + "expr": "sum(container_tasks_state{pod=\"$pod_name\", image!~\".*pause.*\", state=\"stopped\"}) by (name)" + } + ], + "name": "stopped task 数量", + "options": { + "tooltip": { + "mode": "all", + "sort": "none" + }, + "legend": { + "displayMode": "hidden" + }, + "standardOptions": {}, + "thresholds": {} + }, + "custom": { + "drawStyle": "lines", + "lineInterpolation": "smooth", + "fillOpacity": 0.5, + "stack": "off" + }, + "version": "2.0.0", + "type": "timeseries", + "layout": { + "h": 7, + "w": 6, + "x": 18, + "y": 15, + "i": "723a4b98-52e8-4284-b193-98a470189415" + }, + "id": "723a4b98-52e8-4284-b193-98a470189415" + }, + { + "id": "39a8bcef-7b91-4ec4-8644-4e5674267437", + "type": "row", + "name": "内存", + "layout": { + "h": 1, + "w": 24, + "x": 0, + "y": 22, + "i": "39a8bcef-7b91-4ec4-8644-4e5674267437" + }, + "collapsed": true + }, + { + "targets": [ + { + "refId": "A", + "expr": "((sum(container_memory_usage_bytes{pod=\"$pod_name\", image!~\".*pause.*\"}) by (name)) /(sum(container_spec_memory_limit_bytes{pod=\"$pod_name\", image!~\".*pause.*\"}) by (name)))*100" + } + ], + "name": "容器内存使用率", + "description": "(container_memory_rss + container_memory_cache + container_memory_swap + kernel memory)/ (memory limit), 没有数据表明容器配置没有设置mem limit", + "options": { + "tooltip": { + "mode": "all", + "sort": "none" + }, + "legend": { + "displayMode": "hidden" + }, + "standardOptions": { + "util": "percent", + "max": null + }, + "thresholds": {} + }, + "custom": { + "drawStyle": "lines", + "lineInterpolation": "smooth", + "lineWidth": 1, + "fillOpacity": 0.5, + "gradientMode": "none", + "stack": "off" + }, + "version": "2.0.0", + "type": "timeseries", + "layout": { + "h": 7, + "w": 6, + "x": 0, + "y": 23, + "i": "e7b80412-d9b2-4589-8175-abf93a62a524" + }, + "id": "e7b80412-d9b2-4589-8175-abf93a62a524" + }, + { + "targets": [ + { + "refId": "A", + "expr": "(sum(container_memory_usage_bytes{pod=\"$pod_name\", image!~\".*pause.*\"}) by (name)) " + } + ], + "name": "容器内存使用", + "description": "container_memory_rss + container_memory_cache + container_memory_swap + kernel memory", + "options": { + "tooltip": { + "mode": "all", + "sort": "none" + }, + "legend": { + "displayMode": "hidden" + }, + "standardOptions": { + "util": "bytesIEC" + }, + "thresholds": {} + }, + "custom": { + "drawStyle": "lines", + "lineInterpolation": "smooth", + "fillOpacity": 0.5, + "stack": "off" + }, + "version": "2.0.0", + "type": "timeseries", + "layout": { + "h": 7, + "w": 6, + "x": 6, + "y": 23, + "i": "4c2e1b54-1adb-480e-a581-1763bec5113f" + }, + "id": "4c2e1b54-1adb-480e-a581-1763bec5113f" + }, + { + "targets": [ + { + "refId": "A", + "expr": "(sum(container_memory_cache{pod=\"$pod_name\", image!~\".*pause.*\"}) by (name))" + } + ], + "name": "容器cache使用", + "description": "容器cache 占用大小", + "options": { + "tooltip": { + "mode": "all", + "sort": "none" + }, + "legend": { + "displayMode": "hidden" + }, + "standardOptions": { + "util": "bytesIEC" + }, + "thresholds": {} + }, + "custom": { + "drawStyle": "lines", + "lineInterpolation": "smooth", + "fillOpacity": 0.5, + "stack": "off" + }, + "version": "2.0.0", + "type": "timeseries", + "layout": { + "h": 7, + "w": 6, + "x": 12, + "y": 23, + "i": "429e0214-7b71-4fc0-a771-945363948999" + }, + "id": "429e0214-7b71-4fc0-a771-945363948999" + }, + { + "targets": [ + { + "refId": "A", + "expr": "(sum(container_memory_rss{pod=\"$pod_name\", image!~\".*pause.*\"}) by (name))" + } + ], + "name": "容器RSS内存使用", + "description": "容器RSS内存占用大小。", + "options": { + "tooltip": { + "mode": "all", + "sort": "none" + }, + "legend": { + "displayMode": "hidden" + }, + "standardOptions": { + "util": "bytesIEC" + }, + "thresholds": {} + }, + "custom": { + "drawStyle": "lines", + "lineInterpolation": "smooth", + "fillOpacity": 0.5, + "stack": "off" + }, + "version": "2.0.0", + "type": "timeseries", + "layout": { + "h": 7, + "w": 6, + "x": 18, + "y": 23, + "i": "27c1a22c-bdf3-4a8d-bd31-16c66a307f3f" + }, + "id": "27c1a22c-bdf3-4a8d-bd31-16c66a307f3f" + }, + { + "targets": [ + { + "refId": "A", + "expr": "sum(container_spec_memory_limit_bytes{pod=\"$pod_name\", image!~\".*pause.*\"}) by (name)" + } + ], + "name": "容器内存 Limit", + "description": "容器内存Limit配置,0表示没有设置内存 Limit", + "options": { + "tooltip": { + "mode": "all", + "sort": "none" + }, + "legend": { + "displayMode": "hidden" + }, + "standardOptions": { + "util": "bytesIEC" + }, + "thresholds": {} + }, + "custom": { + "drawStyle": "lines", + "lineInterpolation": "smooth", + "fillOpacity": 0.5, + "stack": "off" + }, + "version": "2.0.0", + "type": "timeseries", + "layout": { + "h": 7, + "w": 6, + "x": 0, + "y": 25, + "i": "13173c71-14a9-43a0-9cbe-34c1bb453f2b" + }, + "id": "13173c71-14a9-43a0-9cbe-34c1bb453f2b" + }, + { + "targets": [ + { + "refId": "A", + "expr": "sum(container_oom_events_total{pod=\"$pod_name\", image!~\".*pause.*\"}) by (name) " + } + ], + "name": "容器发生OOM次数", + "custom": { + "textMode": "valueAndName", + "colorMode": "value", + "calc": "lastNotNull", + "colSpan": 1, + "textSize": {} + }, + "options": { + "standardOptions": {} + }, + "version": "2.0.0", + "type": "stat", + "layout": { + "h": 7, + "w": 6, + "x": 6, + "y": 25, + "i": "d3a7153b-f174-473c-a5ae-1ec8ff4ef318" + }, + "id": "d3a7153b-f174-473c-a5ae-1ec8ff4ef318" + }, + { + "id": "8d49afd3-d8fa-4714-aaa2-b10e045c8976", + "type": "row", + "name": "磁盘", + "layout": { + "h": 1, + "w": 24, + "x": 0, + "y": 32, + "i": "8d49afd3-d8fa-4714-aaa2-b10e045c8976" + }, + "collapsed": true + }, + { + "targets": [ + { + "refId": "A", + "expr": "sum(rate(container_fs_reads_bytes_total{pod=\"$pod_name\", image!~\".*pause.*\"}[1m])) by(name)" + } + ], + "name": "文件系统读取速率", + "options": { + "tooltip": { + "mode": "all", + "sort": "none" + }, + "legend": { + "displayMode": "hidden" + }, + "standardOptions": { + "util": "bytesIEC" + }, + "thresholds": {} + }, + "custom": { + "drawStyle": "lines", + "lineInterpolation": "smooth", + "fillOpacity": 0.5, + "stack": "off" + }, + "version": "2.0.0", + "type": "timeseries", + "layout": { + "h": 7, + "w": 6, + "x": 0, + "y": 33, + "i": "ef7e1b00-2a77-4a34-a138-5c8207088476" + }, + "id": "ef7e1b00-2a77-4a34-a138-5c8207088476" + }, + { + "targets": [ + { + "refId": "A", + "expr": "sum(rate(container_fs_writes_bytes_total{pod=\"$pod_name\", image!~\".*pause.*\"}[1m])) by(name)" + } + ], + "name": "文件系统写入速率", + "options": { + "tooltip": { + "mode": "all", + "sort": "none" + }, + "legend": { + "displayMode": "hidden" + }, + "standardOptions": { + "util": "bytesIEC" + }, + "thresholds": {} + }, + "custom": { + "drawStyle": "lines", + "lineInterpolation": "smooth", + "fillOpacity": 0.5, + "stack": "off" + }, + "version": "2.0.0", + "type": "timeseries", + "layout": { + "h": 7, + "w": 6, + "x": 6, + "y": 33, + "i": "e55b7db3-2b13-43f9-aa2d-e9a0a929df4b" + }, + "id": "e55b7db3-2b13-43f9-aa2d-e9a0a929df4b" + }, + { + "targets": [ + { + "refId": "A", + "expr": "sum(container_fs_io_current{pod=\"$pod_name\", image!~\".*pause.*\"}) by (name) " + } + ], + "name": "容器I/O", + "options": { + "tooltip": { + "mode": "all", + "sort": "none" + }, + "legend": { + "displayMode": "hidden" + }, + "standardOptions": {}, + "thresholds": {} + }, + "custom": { + "drawStyle": "lines", + "lineInterpolation": "smooth", + "fillOpacity": 0.5, + "stack": "off" + }, + "version": "2.0.0", + "type": "timeseries", + "layout": { + "h": 7, + "w": 6, + "x": 12, + "y": 33, + "i": "a2d7ba64-fd4d-4713-9295-8663fa72f675" + }, + "id": "a2d7ba64-fd4d-4713-9295-8663fa72f675" + }, + { + "targets": [ + { + "refId": "A", + "expr": "sum(container_fs_inodes_total{pod=\"$pod_name\", image!~\".*pause.*\"}) by (name) " + } + ], + "name": "inode数量", + "options": { + "tooltip": { + "mode": "all", + "sort": "none" + }, + "legend": { + "displayMode": "hidden" + }, + "standardOptions": {}, + "thresholds": {} + }, + "custom": { + "drawStyle": "lines", + "lineInterpolation": "smooth", + "fillOpacity": 0.5, + "stack": "off" + }, + "version": "2.0.0", + "type": "timeseries", + "layout": { + "h": 7, + "w": 6, + "x": 18, + "y": 33, + "i": "2b4e94ef-c994-4910-b72b-428bf5156a21" + }, + "id": "2b4e94ef-c994-4910-b72b-428bf5156a21" + }, + { + "targets": [ + { + "refId": "A", + "expr": "sum(container_fs_usage_bytes{pod=\"$pod_name\", image!~\".*pause.*\"}) by (name) " + } + ], + "name": "容器已使用的文件系统大小", + "options": { + "tooltip": { + "mode": "all", + "sort": "none" + }, + "legend": { + "displayMode": "hidden" + }, + "standardOptions": { + "util": "bytesIEC" + }, + "thresholds": {} + }, + "custom": { + "drawStyle": "lines", + "lineInterpolation": "smooth", + "fillOpacity": 0.5, + "stack": "off" + }, + "version": "2.0.0", + "type": "timeseries", + "layout": { + "h": 7, + "w": 6, + "x": 0, + "y": 35, + "i": "3abade99-8f34-4a1e-bb48-c5ba1e128749" + }, + "id": "3abade99-8f34-4a1e-bb48-c5ba1e128749" + }, + { + "id": "fde213bc-fe49-431a-9495-2219fcaaa01a", + "type": "row", + "name": "网络", + "layout": { + "h": 1, + "w": 24, + "x": 0, + "y": 42, + "i": "fde213bc-fe49-431a-9495-2219fcaaa01a" + }, + "collapsed": true + }, + { + "targets": [ + { + "refId": "A", + "expr": "sum(rate(container_network_transmit_bytes_total{pod=\"$pod_name\"}[1m])) by(name, interface)" + } + ], + "name": "网络发送速率", + "description": "容器网络发送的字节数(1 分钟内)", + "options": { + "tooltip": { + "mode": "all", + "sort": "none" + }, + "legend": { + "displayMode": "hidden" + }, + "standardOptions": { + "util": "bytesIEC" + }, + "thresholds": {} + }, + "custom": { + "drawStyle": "lines", + "lineInterpolation": "smooth", + "fillOpacity": 0.5, + "stack": "off" + }, + "version": "2.0.0", + "type": "timeseries", + "layout": { + "h": 7, + "w": 6, + "x": 0, + "y": 43, + "i": "4e70bc47-1510-41fe-a924-3ffa36d11f0f" + }, + "id": "4e70bc47-1510-41fe-a924-3ffa36d11f0f" + }, + { + "targets": [ + { + "refId": "A", + "expr": "sum(rate(container_network_transmit_packets_total{pod=\"$pod_name\"}[1m])) by(name, interface)" + } + ], + "name": "网络发送数据包", + "description": "网络发送数据包数(1分钟内)", + "options": { + "tooltip": { + "mode": "all", + "sort": "none" + }, + "legend": { + "displayMode": "hidden" + }, + "standardOptions": {}, + "thresholds": {} + }, + "custom": { + "drawStyle": "lines", + "lineInterpolation": "smooth", + "fillOpacity": 0.5, + "stack": "off" + }, + "version": "2.0.0", + "type": "timeseries", + "layout": { + "h": 7, + "w": 6, + "x": 6, + "y": 43, + "i": "00ca29e5-7c97-491d-a28f-0f2d66ea47c5" + }, + "id": "00ca29e5-7c97-491d-a28f-0f2d66ea47c5" + }, + { + "targets": [ + { + "refId": "A", + "expr": "sum(rate(container_network_transmit_errors_total{pod=\"$pod_name\"}[1m])) by(name, interface)" + } + ], + "name": "网络发送错误数", + "description": "网络发送错误数(1分钟内)", + "options": { + "tooltip": { + "mode": "all", + "sort": "none" + }, + "legend": { + "displayMode": "hidden" + }, + "standardOptions": {}, + "thresholds": {} + }, + "custom": { + "drawStyle": "lines", + "lineInterpolation": "smooth", + "fillOpacity": 0.5, + "stack": "off" + }, + "version": "2.0.0", + "type": "timeseries", + "layout": { + "h": 7, + "w": 6, + "x": 12, + "y": 43, + "i": "8cd76b5f-5bba-421a-9fda-42f406f54ed5" + }, + "id": "8cd76b5f-5bba-421a-9fda-42f406f54ed5" + }, + { + "targets": [ + { + "refId": "A", + "expr": "sum(rate(container_network_transmit_packets_dropped_total{pod=\"$pod_name\"}[1m])) by(name, interface)" + } + ], + "name": "网络发送丢包数", + "description": "网络发送丢包数(1分钟内)", + "options": { + "tooltip": { + "mode": "all", + "sort": "none" + }, + "legend": { + "displayMode": "hidden" + }, + "standardOptions": {}, + "thresholds": {} + }, + "custom": { + "drawStyle": "lines", + "lineInterpolation": "smooth", + "fillOpacity": 0.5, + "stack": "off" + }, + "version": "2.0.0", + "type": "timeseries", + "layout": { + "h": 7, + "w": 6, + "x": 18, + "y": 43, + "i": "58aaebbb-b1cf-4089-bcb5-70b03c05318d" + }, + "id": "58aaebbb-b1cf-4089-bcb5-70b03c05318d" + }, + { + "targets": [ + { + "refId": "A", + "expr": "sum(rate(container_network_receive_bytes_total{pod=\"$pod_name\"}[1m])) by(name, interface)" + } + ], + "name": "网络接收速率", + "description": "容器网络接收的字节数(1 分钟内)", + "options": { + "tooltip": { + "mode": "all", + "sort": "none" + }, + "legend": { + "displayMode": "hidden" + }, + "standardOptions": { + "util": "bytesIEC" + }, + "thresholds": {} + }, + "custom": { + "drawStyle": "lines", + "lineInterpolation": "smooth", + "fillOpacity": 0.5, + "stack": "off" + }, + "version": "2.0.0", + "type": "timeseries", + "layout": { + "h": 7, + "w": 6, + "x": 0, + "y": 45, + "i": "120d3540-cce5-4b08-b596-0ec6a5b2d497" + }, + "id": "120d3540-cce5-4b08-b596-0ec6a5b2d497" + }, + { + "targets": [ + { + "refId": "A", + "expr": "sum(rate(container_network_receive_packets_total{pod=\"$pod_name\"}[1m])) by(name, interface)" + } + ], + "name": "网络接收数据包数", + "description": "网络接收数据包数(1分钟内)", + "options": { + "tooltip": { + "mode": "all", + "sort": "none" + }, + "legend": { + "displayMode": "hidden" + }, + "standardOptions": {}, + "thresholds": {} + }, + "custom": { + "drawStyle": "lines", + "lineInterpolation": "smooth", + "fillOpacity": 0.5, + "stack": "off" + }, + "version": "2.0.0", + "type": "timeseries", + "layout": { + "h": 7, + "w": 6, + "x": 6, + "y": 45, + "i": "8b0bac93-8bd0-4452-a200-a9cea74345b3" + }, + "id": "8b0bac93-8bd0-4452-a200-a9cea74345b3" + }, + { + "targets": [ + { + "refId": "A", + "expr": "sum(rate(container_network_receive_errors_total{pod=\"$pod_name\"}[1m])) by(name, interface)" + } + ], + "name": "网络接收错误数", + "description": "网络接收错误数(1分钟内)", + "options": { + "tooltip": { + "mode": "all", + "sort": "none" + }, + "legend": { + "displayMode": "hidden" + }, + "standardOptions": {}, + "thresholds": {} + }, + "custom": { + "drawStyle": "lines", + "lineInterpolation": "smooth", + "fillOpacity": 0.5, + "stack": "off" + }, + "version": "2.0.0", + "type": "timeseries", + "layout": { + "h": 7, + "w": 6, + "x": 12, + "y": 45, + "i": "271d8ff6-2382-488d-b479-83e38b247012" + }, + "id": "271d8ff6-2382-488d-b479-83e38b247012" + }, + { + "targets": [ + { + "refId": "A", + "expr": "sum(rate(container_network_receive_packets_dropped_total{pod=\"$pod_name\"}[1m])) by(name, interface)" + } + ], + "name": "网络接收丢包数", + "description": "网络接收丢包数(1分钟内)", + "options": { + "tooltip": { + "mode": "all", + "sort": "none" + }, + "legend": { + "displayMode": "hidden" + }, + "standardOptions": {}, + "thresholds": {} + }, + "custom": { + "drawStyle": "lines", + "lineInterpolation": "smooth", + "fillOpacity": 0.5, + "stack": "off" + }, + "version": "2.0.0", + "type": "timeseries", + "layout": { + "h": 7, + "w": 6, + "x": 18, + "y": 45, + "i": "e7a0879b-82a9-4518-8c5c-93bc73548401" + }, + "id": "e7a0879b-82a9-4518-8c5c-93bc73548401" + } + ] + } +}