{ "editable": false, "panels": [ { "datasource": { "type": "datasource", "uid": "-- Mixed --" }, "fieldConfig": { "defaults": { "color": { "fixedColor": "green", "mode": "fixed" }, "unit": "Bps" } }, "gridPos": { "h": 9, "w": 12, "x": 0, "y": 0 }, "id": 1, "options": { "displayMode": "basic", "showUnfilled": false }, "pluginVersion": "v11.0.0", "targets": [ { "datasource": { "type": "prometheus", "uid": "${datasource}" }, "expr": "sort_desc(sum(rate(container_network_receive_bytes_total{cluster=\"$cluster\",namespace=\"$namespace\"}[$__rate_interval])\n* on (cluster,namespace,pod) kube_pod_info{host_network=\"false\"}\n* on (cluster,namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=\"$namespace\", workload=~\".+\", workload_type=~\"$type\"}) by (workload))\n", "legendFormat": "__auto" } ], "title": "Current Rate of Bytes Received", "type": "bargauge" }, { "datasource": { "type": "datasource", "uid": "-- Mixed --" }, "fieldConfig": { "defaults": { "color": { "fixedColor": "green", "mode": "fixed" }, "unit": "Bps" } }, "gridPos": { "h": 9, "w": 12, "x": 12, "y": 0 }, "id": 2, "options": { "displayMode": "basic", "showUnfilled": false }, "pluginVersion": "v11.0.0", "targets": [ { "datasource": { "type": "prometheus", "uid": "${datasource}" }, "expr": "sort_desc(sum(rate(container_network_transmit_bytes_total{cluster=\"$cluster\",namespace=\"$namespace\"}[$__rate_interval])\n* on (cluster,namespace,pod) kube_pod_info{host_network=\"false\"}\n* on (cluster,namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=\"$namespace\", workload=~\".+\", workload_type=~\"$type\"}) by (workload))\n", "legendFormat": "__auto" } ], "title": "Current Rate of Bytes Transmitted", "type": "bargauge" }, { "datasource": { "type": "datasource", "uid": "-- Mixed --" }, "fieldConfig": { "overrides": [ { "matcher": { "id": "byRegexp", "options": "/Bytes/" }, "properties": [ { "id": "unit", "value": "binBps" } ] }, { "matcher": { "id": "byRegexp", "options": "/Packets/" }, "properties": [ { "id": "unit", "value": "pps" } ] }, { "matcher": { "id": "byName", "options": "Workload" }, "properties": [ { "id": "links", "value": [ { "title": "Drill down", "url": "/d/728bf77cc1166d2f3133bf25846876cc/kubernetes-networking-workload?${datasource:queryparam}&var-cluster=${cluster}&var-namespace=${namespace}&var-type=${__data.fields.Type}&var-workload=${__data.fields.Workload}" } ] } ] } ] }, "gridPos": { "h": 9, "w": 24, "x": 0, "y": 9 }, "id": 3, "pluginVersion": "v11.0.0", "targets": [ { "datasource": { "type": "prometheus", "uid": "${datasource}" }, "expr": "sort_desc(sum(rate(container_network_receive_bytes_total{cluster=\"$cluster\",namespace=\"$namespace\"}[$__rate_interval])\n* on (namespace,pod) kube_pod_info{cluster=\"$cluster\",namespace=\"$namespace\",host_network=\"false\"}\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=\"$namespace\", workload=~\".+\", workload_type=~\"$type\"}) by (workload, workload_type))\n", "format": "table", "instant": true }, { "datasource": { "type": "prometheus", "uid": "${datasource}" }, "expr": "sort_desc(sum(rate(container_network_transmit_bytes_total{cluster=\"$cluster\",namespace=\"$namespace\"}[$__rate_interval])\n* on (namespace,pod) kube_pod_info{cluster=\"$cluster\",namespace=\"$namespace\",host_network=\"false\"}\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=\"$namespace\", workload=~\".+\", workload_type=~\"$type\"}) by (workload, workload_type))\n", "format": "table", "instant": true }, { "datasource": { "type": "prometheus", "uid": "${datasource}" }, "expr": "sort_desc(avg(rate(container_network_receive_bytes_total{cluster=\"$cluster\",namespace=\"$namespace\"}[$__rate_interval])\n* on (namespace,pod) kube_pod_info{cluster=\"$cluster\",namespace=\"$namespace\",host_network=\"false\"}\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=\"$namespace\", workload=~\".+\", workload_type=~\"$type\"}) by (workload, workload_type))\n", "format": "table", "instant": true }, { "datasource": { "type": "prometheus", "uid": "${datasource}" }, "expr": "sort_desc(avg(rate(container_network_transmit_bytes_total{cluster=\"$cluster\",namespace=\"$namespace\"}[$__rate_interval])\n* on (namespace,pod) kube_pod_info{cluster=\"$cluster\",namespace=\"$namespace\",host_network=\"false\"}\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=\"$namespace\", workload=~\".+\", workload_type=~\"$type\"}) by (workload, workload_type))\n", "format": "table", "instant": true }, { "datasource": { "type": "prometheus", "uid": "${datasource}" }, "expr": "sort_desc(sum(rate(container_network_receive_packets_total{cluster=\"$cluster\",namespace=\"$namespace\"}[$__rate_interval])\n* on (namespace,pod) kube_pod_info{cluster=\"$cluster\",namespace=\"$namespace\",host_network=\"false\"}\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=\"$namespace\", workload=~\".+\", workload_type=~\"$type\"}) by (workload, workload_type))\n", "format": "table", "instant": true }, { "datasource": { "type": "prometheus", "uid": "${datasource}" }, "expr": "sort_desc(sum(rate(container_network_transmit_packets_total{cluster=\"$cluster\",namespace=\"$namespace\"}[$__rate_interval])\n* on (namespace,pod) kube_pod_info{cluster=\"$cluster\",namespace=\"$namespace\",host_network=\"false\"}\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=\"$namespace\", workload=~\".+\", workload_type=~\"$type\"}) by (workload, workload_type))\n", "format": "table", "instant": true }, { "datasource": { "type": "prometheus", "uid": "${datasource}" }, "expr": "sort_desc(sum(rate(container_network_receive_packets_dropped_total{cluster=\"$cluster\",namespace=\"$namespace\"}[$__rate_interval])\n* on (namespace,pod) kube_pod_info{cluster=\"$cluster\",namespace=\"$namespace\",host_network=\"false\"}\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=\"$namespace\", workload=~\".+\", workload_type=~\"$type\"}) by (workload, workload_type))\n", "format": "table", "instant": true }, { "datasource": { "type": "prometheus", "uid": "${datasource}" }, "expr": "sort_desc(sum(rate(container_network_transmit_packets_dropped_total{cluster=\"$cluster\",namespace=\"$namespace\"}[$__rate_interval])\n* on (namespace,pod) kube_pod_info{cluster=\"$cluster\",namespace=\"$namespace\",host_network=\"false\"}\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=\"$namespace\", workload=~\".+\", workload_type=~\"$type\"}) by (workload, workload_type))\n", "format": "table", "instant": true } ], "title": "Current Status", "transformations": [ { "id": "joinByField", "options": { "byField": "workload", "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, "workload_type 2": true, "workload_type 3": true, "workload_type 4": true, "workload_type 5": true, "workload_type 6": true, "workload_type 7": true, "workload_type 8": true }, "indexByName": { "Time 1": 0, "Time 2": 1, "Time 3": 2, "Time 4": 3, "Time 5": 4, "Time 6": 5, "Time 7": 6, "Time 8": 7, "Value #A": 10, "Value #B": 11, "Value #C": 12, "Value #D": 13, "Value #E": 14, "Value #F": 15, "Value #G": 16, "Value #H": 17, "workload": 8, "workload_type 1": 9, "workload_type 2": 18, "workload_type 3": 19, "workload_type 4": 20, "workload_type 5": 21, "workload_type 6": 22, "workload_type 7": 23, "workload_type 8": 24 }, "renameByName": { "Value #A": "Rx Bytes", "Value #B": "Tx Bytes", "Value #C": "Rx Bytes (Avg)", "Value #D": "Tx Bytes (Avg)", "Value #E": "Rx Packets", "Value #F": "Tx Packets", "Value #G": "Rx Packets Dropped", "Value #H": "Tx Packets Dropped", "workload": "Workload", "workload_type 1": "Type" } } } ], "type": "table" }, { "datasource": { "type": "datasource", "uid": "-- Mixed --" }, "fieldConfig": { "defaults": { "custom": { "fillOpacity": 10, "showPoints": "never", "spanNulls": true }, "unit": "Bps" } }, "gridPos": { "h": 9, "w": 12, "x": 0, "y": 18 }, "id": 4, "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": "sort_desc(sum(rate(container_network_receive_bytes_total{cluster=\"$cluster\",namespace=\"$namespace\"}[$__rate_interval])\n* on (cluster,namespace,pod) kube_pod_info{host_network=\"false\"}\n* on (cluster,namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=\"$namespace\", workload=~\".+\", workload_type=~\"$type\"}) by (workload))\n", "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": 9, "w": 12, "x": 12, "y": 18 }, "id": 5, "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": "sort_desc(sum(rate(container_network_transmit_bytes_total{cluster=\"$cluster\",namespace=\"$namespace\"}[$__rate_interval])\n* on (cluster,namespace,pod) kube_pod_info{host_network=\"false\"}\n* on (cluster,namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=\"$namespace\", workload=~\".+\", workload_type=~\"$type\"}) by (workload))\n", "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": 9, "w": 12, "x": 0, "y": 27 }, "id": 6, "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": "sort_desc(avg(rate(container_network_receive_bytes_total{cluster=\"$cluster\",namespace=\"$namespace\"}[$__rate_interval])\n* on (cluster,namespace,pod) kube_pod_info{host_network=\"false\"}\n* on (cluster,namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=\"$namespace\", workload=~\".+\", workload_type=~\"$type\"}) by (workload))\n", "legendFormat": "__auto" } ], "title": "Average Container Bandwidth by Workload: Received", "type": "timeseries" }, { "datasource": { "type": "datasource", "uid": "-- Mixed --" }, "fieldConfig": { "defaults": { "custom": { "fillOpacity": 10, "showPoints": "never", "spanNulls": true }, "unit": "Bps" } }, "gridPos": { "h": 9, "w": 12, "x": 12, "y": 27 }, "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": "sort_desc(avg(rate(container_network_transmit_bytes_total{cluster=\"$cluster\",namespace=\"$namespace\"}[$__rate_interval])\n* on (cluster,namespace,pod) kube_pod_info{host_network=\"false\"}\n* on (cluster,namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=\"$namespace\", workload=~\".+\", workload_type=~\"$type\"}) by (workload))\n", "legendFormat": "__auto" } ], "title": "Average Container Bandwidth by Workload: Transmitted", "type": "timeseries" }, { "datasource": { "type": "datasource", "uid": "-- Mixed --" }, "fieldConfig": { "defaults": { "custom": { "fillOpacity": 10, "showPoints": "never", "spanNulls": true }, "unit": "pps" } }, "gridPos": { "h": 9, "w": 12, "x": 0, "y": 36 }, "id": 8, "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": "sort_desc(sum(rate(container_network_receive_packets_total{cluster=\"$cluster\",namespace=\"$namespace\"}[$__rate_interval])\n* on (cluster,namespace,pod) kube_pod_info{host_network=\"false\"}\n* on (cluster,namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=\"$namespace\", workload=~\".+\", workload_type=~\"$type\"}) by (workload))\n", "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": 9, "w": 12, "x": 12, "y": 36 }, "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": "sort_desc(sum(rate(container_network_transmit_packets_total{cluster=\"$cluster\",namespace=\"$namespace\"}[$__rate_interval])\n* on (cluster,namespace,pod) kube_pod_info{host_network=\"false\"}\n* on (cluster,namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=\"$namespace\", workload=~\".+\", workload_type=~\"$type\"}) by (workload))\n", "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": 9, "w": 12, "x": 0, "y": 45 }, "id": 10, "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": "sort_desc(sum(rate(container_network_receive_packets_dropped_total{cluster=\"$cluster\",namespace=\"$namespace\"}[$__rate_interval])\n* on (cluster,namespace,pod) kube_pod_info{host_network=\"false\"}\n* on (cluster,namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=\"$namespace\", workload=~\".+\", workload_type=~\"$type\"}) by (workload))\n", "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": 9, "w": 12, "x": 12, "y": 45 }, "id": 11, "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": "sort_desc(sum(rate(container_network_transmit_packets_dropped_total{cluster=\"$cluster\",namespace=\"$namespace\"}[$__rate_interval])\n* on (cluster,namespace,pod) kube_pod_info{host_network=\"false\"}\n* on (cluster,namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=\"$namespace\", workload=~\".+\", workload_type=~\"$type\"}) by (workload))\n", "legendFormat": "__auto" } ], "title": "Rate of Transmitted Packets Dropped", "type": "timeseries" } ], "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" }, { "current": { "selected": false, "text": "kube-system", "value": "kube-system" }, "datasource": { "type": "prometheus", "uid": "${datasource}" }, "hide": 0, "label": "namespace", "name": "namespace", "query": "label_values(container_network_receive_packets_total{cluster=\"$cluster\"}, namespace)", "refresh": 2, "sort": 1, "type": "query" }, { "datasource": { "type": "prometheus", "uid": "${datasource}" }, "hide": 0, "includeAll": true, "label": "workload_type", "name": "type", "query": "label_values(namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload=~\".+\"}, workload_type)", "refresh": 2, "sort": 1, "type": "query" } ] }, "time": { "from": "now-1h", "to": "now" }, "timezone": "UTC", "title": "Networking / Namespace (Workload)", "uid": "bbb2a765a623ae38130206c7d94a160f" }