diff --git a/backend/console/src/main/resources/dashboard/ai.json b/backend/console/src/main/resources/dashboard/ai.json index e0b13228..f5c13910 100644 --- a/backend/console/src/main/resources/dashboard/ai.json +++ b/backend/console/src/main/resources/dashboard/ai.json @@ -88,7 +88,6 @@ "y": 1 }, "id": 4, - "links": [], "maxDataPoints": 100, "options": { "colorMode": "none", @@ -102,9 +101,11 @@ "fields": "", "values": false }, - "textMode": "auto" + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true }, - "pluginVersion": "9.3.6", + "pluginVersion": "10.4.2", "targets": [ { "datasource": { @@ -171,7 +172,6 @@ "y": 1 }, "id": 6, - "links": [], "maxDataPoints": 100, "options": { "colorMode": "none", @@ -185,9 +185,11 @@ "fields": "", "values": false }, - "textMode": "auto" + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true }, - "pluginVersion": "9.3.6", + "pluginVersion": "10.4.2", "targets": [ { "datasource": { @@ -237,13 +239,12 @@ }, "lines": true, "linewidth": 1, - "links": [], "nullPointMode": "null", "options": { "alertThreshold": true }, "percentage": false, - "pluginVersion": "9.3.6", + "pluginVersion": "10.4.2", "pointradius": 5, "points": false, "renderer": "flot", @@ -380,7 +381,6 @@ "y": 1 }, "id": 10, - "links": [], "maxDataPoints": 100, "options": { "colorMode": "none", @@ -394,9 +394,11 @@ "fields": "", "values": false }, - "textMode": "auto" + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true }, - "pluginVersion": "9.3.6", + "pluginVersion": "10.4.2", "targets": [ { "datasource": { @@ -460,7 +462,6 @@ "y": 5 }, "id": 18, - "links": [], "maxDataPoints": 100, "options": { "colorMode": "none", @@ -474,9 +475,11 @@ "fields": "", "values": false }, - "textMode": "auto" + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true }, - "pluginVersion": "9.3.6", + "pluginVersion": "10.4.2", "targets": [ { "datasource": { @@ -543,7 +546,6 @@ "y": 5 }, "id": 19, - "links": [], "maxDataPoints": 100, "options": { "colorMode": "none", @@ -557,9 +559,11 @@ "fields": "", "values": false }, - "textMode": "auto" + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true }, - "pluginVersion": "9.3.6", + "pluginVersion": "10.4.2", "targets": [ { "datasource": { @@ -586,6 +590,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -599,6 +604,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -640,7 +646,6 @@ "y": 5 }, "id": 16, - "links": [], "options": { "legend": { "calcs": [], @@ -753,7 +758,6 @@ "y": 5 }, "id": 12, - "links": [], "maxDataPoints": 100, "options": { "colorMode": "none", @@ -767,9 +771,11 @@ "fields": "", "values": false }, - "textMode": "auto" + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true }, - "pluginVersion": "9.3.6", + "pluginVersion": "10.4.2", "targets": [ { "datasource": { @@ -788,7 +794,7 @@ "type": "stat" }, { - "collapsed": false, + "collapsed": true, "gridPos": { "h": 1, "w": 24, @@ -796,227 +802,228 @@ "y": 9 }, "id": 21, - "panels": [], - "title": "Workload", - "type": "row" - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": { - "type": "prometheus", - "uid": "${datasource.id}" - }, - "fieldConfig": { - "defaults": { - "unit": "percent" - }, - "overrides": [] - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 7, - "w": 11, - "x": 0, - "y": 10 - }, - "hiddenSeries": false, - "id": 34, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null", - "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "9.3.6", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ + "panels": [ { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, "datasource": { "type": "prometheus", "uid": "${datasource.id}" }, - "editorMode": "code", - "expr": "100 * sum(irate(container_cpu_usage_seconds_total{container=\"higress-gateway\", namespace=\"$namespace\"}[1m]))by(pod)", - "format": "time_series", - "hide": false, - "intervalFactor": 2, - "legendFormat": "{{pod}}", - "range": true, - "refId": "B", - "step": 2 - } - ], - "thresholds": [], - "timeRegions": [], - "title": "CPU", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": true, - "values": [] - }, - "yaxes": [ - { - "$$hashKey": "object:1997", - "format": "percent", - "logBase": 1, - "show": true - }, - { - "$$hashKey": "object:1998", - "format": "short", - "logBase": 1, - "show": true - } - ], - "yaxis": { - "align": false - } - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource.id}" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" + "fieldConfig": { + "defaults": { + "unit": "percent" }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 7, + "w": 11, + "x": 0, + "y": 10 + }, + "hiddenSeries": false, + "id": 34, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "10.4.2", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${datasource.id}" + }, + "editorMode": "code", + "expr": "100 * sum(irate(container_cpu_usage_seconds_total{container=\"higress-gateway\", namespace=\"$namespace\"}[1m]))by(pod)", + "format": "time_series", + "hide": false, + "intervalFactor": 2, + "legendFormat": "{{pod}}", + "range": true, + "refId": "B", + "step": 2 + } + ], + "thresholds": [], + "timeRegions": [], + "title": "CPU", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "mode": "time", + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:1997", + "format": "percent", + "logBase": 1, + "show": true }, - "thresholdsStyle": { - "mode": "off" + { + "$$hashKey": "object:1998", + "format": "short", + "logBase": 1, + "show": true } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - }, - "unit": "bytes" - }, - "overrides": [] - }, - "gridPos": { - "h": 7, - "w": 12, - "x": 11, - "y": 10 - }, - "id": 23, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true + ], + "yaxis": { + "align": false + } }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ { "datasource": { "type": "prometheus", "uid": "${datasource.id}" }, - "editorMode": "code", - "exemplar": false, - "expr": "max(container_memory_working_set_bytes{container=\"higress-gateway\", namespace=\"$namespace\"}) by (pod)", - "interval": "", - "legendFormat": "{{pod}}-envoy", - "range": true, - "refId": "A" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource.id}" + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "bytes" + }, + "overrides": [] }, - "editorMode": "code", - "expr": "max(container_memory_working_set_bytes{container=\"discovery\", namespace=\"$namespace\"}) by (pod)", - "hide": false, - "legendFormat": "{{pod}}-istio", - "range": true, - "refId": "B" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource.id}" + "gridPos": { + "h": 7, + "w": 12, + "x": 11, + "y": 10 }, - "editorMode": "code", - "expr": "max(container_memory_working_set_bytes{container=\"higress-core\", namespace=\"$namespace\"}) by (pod)", - "hide": false, - "legendFormat": "{{pod}}-core", - "range": true, - "refId": "C" + "id": 23, + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${datasource.id}" + }, + "editorMode": "code", + "exemplar": false, + "expr": "max(container_memory_working_set_bytes{container=\"higress-gateway\", namespace=\"$namespace\"}) by (pod)", + "interval": "", + "legendFormat": "{{pod}}-envoy", + "range": true, + "refId": "A" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource.id}" + }, + "editorMode": "code", + "expr": "max(container_memory_working_set_bytes{container=\"discovery\", namespace=\"$namespace\"}) by (pod)", + "hide": false, + "legendFormat": "{{pod}}-istio", + "range": true, + "refId": "B" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource.id}" + }, + "editorMode": "code", + "expr": "max(container_memory_working_set_bytes{container=\"higress-core\", namespace=\"$namespace\"}) by (pod)", + "hide": false, + "legendFormat": "{{pod}}-core", + "range": true, + "refId": "C" + } + ], + "title": "Memory", + "type": "timeseries" } ], - "title": "Memory", - "type": "timeseries" + "title": "Workload", + "type": "row" }, { "collapsed": false, @@ -1024,7 +1031,7 @@ "h": 1, "w": 24, "x": 0, - "y": 17 + "y": 10 }, "id": 47, "panels": [], @@ -1042,6 +1049,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -1055,6 +1063,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -1090,9 +1099,9 @@ }, "gridPos": { "h": 8, - "w": 11, + "w": 12, "x": 0, - "y": 18 + "y": 11 }, "id": 45, "options": { @@ -1134,6 +1143,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -1147,6 +1157,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -1183,8 +1194,8 @@ "gridPos": { "h": 8, "w": 12, - "x": 11, - "y": 18 + "x": 12, + "y": 11 }, "id": 49, "options": { @@ -1216,16 +1227,16 @@ "type": "timeseries" }, { - "collapsed": true, + "collapsed": false, "gridPos": { "h": 1, "w": 24, "x": 0, - "y": 26 + "y": 19 }, - "id": 52, + "id": 58, "panels": [], - "title": "WAF", + "title": "Token", "type": "row" }, { @@ -1239,6 +1250,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -1252,6 +1264,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -1289,9 +1302,9 @@ "h": 8, "w": 8, "x": 0, - "y": 27 + "y": 20 }, - "id": 54, + "id": 57, "options": { "legend": { "calcs": [], @@ -1311,13 +1324,26 @@ "uid": "${datasource.id}" }, "editorMode": "code", - "expr": "sum(irate(waf_filter_tx_total{higress=\"$gateway\"}[1m]))", - "legendFormat": "qps", + "expr": "sum(irate(route_upstream_model_consumer_metric_input_token{}[2m]))", + "legendFormat": "input token", "range": true, "refId": "A" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource.id}" + }, + "editorMode": "code", + "expr": "sum(irate(route_upstream_model_consumer_metric_output_token{}[2m]))", + "hide": false, + "instant": false, + "legendFormat": "output token", + "range": true, + "refId": "B" } ], - "title": "WAF Processed", + "title": "Token Per Second", "type": "timeseries" }, { @@ -1331,6 +1357,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -1344,6 +1371,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -1381,9 +1409,9 @@ "h": 8, "w": 8, "x": 8, - "y": 27 + "y": 20 }, - "id": 55, + "id": 59, "options": { "legend": { "calcs": [], @@ -1403,13 +1431,13 @@ "uid": "${datasource.id}" }, "editorMode": "code", - "expr": "sum(irate(waf_filter_tx_interruptions{higress=\"$gateway\"}[1m])) by (phase)", - "legendFormat": "{{phase}}", + "expr": "sum(irate(route_upstream_model_consumer_metric_input_token{}[2m])) by (ai_model)", + "legendFormat": "{{ai_model}}", "range": true, "refId": "A" } ], - "title": "WAF Denied by Phase", + "title": "Input Token Per Second(Model Level)", "type": "timeseries" }, { @@ -1423,6 +1451,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -1436,6 +1465,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -1473,9 +1503,9 @@ "h": 8, "w": 8, "x": 16, - "y": 27 + "y": 20 }, - "id": 56, + "id": 62, "options": { "legend": { "calcs": [], @@ -1495,371 +1525,320 @@ "uid": "${datasource.id}" }, "editorMode": "code", - "expr": "sum(irate(waf_filter_tx_interruptions{higress=\"$gateway\"}[1m])) by (ruleid)", - "legendFormat": "{{ruleid}}", + "expr": "sum(irate(route_upstream_model_consumer_metric_output_token{}[2m])) by (ai_model)", + "hide": false, + "instant": false, + "legendFormat": "{{ai_model}}", "range": true, - "refId": "A" + "refId": "B" } ], - "title": "WAF Denied by RuleID", + "title": "Output Token Per Second(Model Level)", "type": "timeseries" }, { - "collapsed": false, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 35 + "datasource": { + "type": "prometheus", + "uid": "${datasource.id}" }, - "id": 26, - "panels": [], - "title": "XDS", - "type": "row" - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": { - "type": "prometheus", - "uid": "${datasource.id}" + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + } + }, + "overrides": [] }, - "description": "Shows details about Envoy proxies in the mesh", - "fill": 1, - "fillGradient": 0, "gridPos": { "h": 8, - "w": 8, + "w": 12, "x": 0, - "y": 36 - }, - "hiddenSeries": false, - "id": 28, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": true, - "total": false, - "values": false + "y": 28 }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null", + "id": 61, "options": { - "alertThreshold": true + "cellHeight": "sm", + "footer": { + "countRows": false, + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": true, + "sortBy": [ + { + "desc": true, + "displayName": "Provider" + } + ] }, - "percentage": false, - "pluginVersion": "9.3.6", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, + "pluginVersion": "10.4.2", "targets": [ { "datasource": { "type": "prometheus", "uid": "${datasource.id}" }, - "expr": "sum(irate(envoy_cluster_upstream_cx_total{cluster_name=\"xds-grpc\"}[1m]))", - "format": "time_series", - "hide": false, - "intervalFactor": 1, - "legendFormat": "XDS Connections", - "refId": "C" + "editorMode": "code", + "exemplar": false, + "expr": "label_replace(sum by(ai_cluster) (increase(route_upstream_model_consumer_metric_input_token{}[$__range])), \"provider\", \"$1\", \"ai_cluster\", \".*-(.*).internal.*\")", + "format": "table", + "instant": true, + "interval": "", + "legendFormat": "input_token", + "range": false, + "refId": "A" }, { "datasource": { "type": "prometheus", "uid": "${datasource.id}" }, - "expr": "sum(irate(envoy_cluster_upstream_cx_connect_fail{cluster_name=\"xds-grpc\"}[1m]))", - "format": "time_series", + "editorMode": "code", + "exemplar": false, + "expr": "label_replace(sum by(ai_cluster) (increase(route_upstream_model_consumer_metric_output_token{}[$__range])), \"provider\", \"$1\", \"ai_cluster\", \".*-(.*).internal.*\")", + "format": "table", "hide": false, - "intervalFactor": 1, - "legendFormat": "XDS Connection Failures", - "refId": "A" + "instant": true, + "legendFormat": "output_token", + "range": false, + "refId": "B" }, { "datasource": { "type": "prometheus", "uid": "${datasource.id}" }, - "expr": "sum(increase(envoy_server_hot_restart_epoch[1m]))", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "Envoy Restarts", - "refId": "B" + "editorMode": "code", + "exemplar": false, + "expr": "label_replace(sum by(ai_cluster) (increase(route_upstream_model_consumer_metric_input_token{}[$__range])) + sum by(ai_cluster) (increase(route_upstream_model_consumer_metric_output_token{}[$__range])), \"provider\", \"$1\", \"ai_cluster\", \".*-(.*).internal.*\")", + "format": "table", + "hide": false, + "instant": true, + "legendFormat": "total_token", + "range": false, + "refId": "C" } ], - "thresholds": [], - "timeRegions": [], - "title": "Envoy Details", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": true, - "values": [] - }, - "yaxes": [ + "title": "Provider Usage", + "transformations": [ { - "$$hashKey": "object:2269", - "format": "ops", - "logBase": 1, - "show": true + "id": "joinByField", + "options": { + "byField": "provider", + "mode": "inner" + } }, { - "$$hashKey": "object:2270", - "format": "ops", - "logBase": 1, - "show": false + "id": "filterFieldsByName", + "options": { + "byVariable": false, + "include": { + "names": [ + "Value #A", + "Value #B", + "Value #C", + "provider" + ] + } + } + }, + { + "id": "organize", + "options": { + "excludeByName": {}, + "includeByName": {}, + "indexByName": { + "Time": 0, + "Value": 2, + "ai_model": 1 + }, + "renameByName": { + "Time": "", + "Value": "Input Token Usage", + "Value #A": "Input Token", + "Value #B": "Output Token", + "Value #C": "Total Token", + "ai_cluster": "Cluster", + "ai_model": "Model", + "provider": "Provider", + "provider 1": "Provider" + } + } } ], - "yaxis": { - "align": false - } + "type": "table" }, { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, "datasource": { "type": "prometheus", "uid": "${datasource.id}" }, - "fill": 1, - "fillGradient": 0, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + } + }, + "overrides": [] + }, "gridPos": { "h": 8, - "w": 8, - "x": 8, - "y": 36 - }, - "hiddenSeries": false, - "id": 30, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": true, - "total": false, - "values": false + "w": 12, + "x": 12, + "y": 28 }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null", + "id": 60, "options": { - "alertThreshold": true + "cellHeight": "sm", + "footer": { + "countRows": false, + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": true, + "sortBy": [] }, - "percentage": false, - "pluginVersion": "9.3.6", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, + "pluginVersion": "10.4.2", "targets": [ { "datasource": { "type": "prometheus", "uid": "${datasource.id}" }, - "expr": "sum(envoy_cluster_upstream_cx_active{cluster_name=\"xds-grpc\"})", - "format": "time_series", - "intervalFactor": 2, - "legendFormat": "XDS Active Connections", - "refId": "C", - "step": 2 - } - ], - "thresholds": [], - "timeRegions": [], - "title": "XDS Active Connections", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": true, - "values": [] - }, - "yaxes": [ + "editorMode": "code", + "exemplar": false, + "expr": "sum by(ai_model) (increase(route_upstream_model_consumer_metric_input_token{}[$__range]))", + "format": "table", + "instant": true, + "interval": "", + "legendFormat": "input_token", + "range": false, + "refId": "A" + }, { - "$$hashKey": "object:309", - "format": "short", - "logBase": 1, - "show": true - }, - { - "$$hashKey": "object:310", - "format": "short", - "logBase": 1, - "show": true - } - ], - "yaxis": { - "align": false - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": { - "type": "prometheus", - "uid": "${datasource.id}" - }, - "description": "Shows the size of XDS requests and responses", - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 8, - "w": 8, - "x": 16, - "y": 36 - }, - "hiddenSeries": false, - "id": 32, - "legend": { - "avg": false, - "current": false, - "hideEmpty": false, - "hideZero": false, - "max": false, - "min": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null", - "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "9.3.6", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${datasource.id}" - }, - "expr": "max(rate(envoy_cluster_upstream_cx_rx_bytes_total{cluster_name=\"xds-grpc\"}[1m]))", - "format": "time_series", - "hide": false, - "intervalFactor": 1, - "legendFormat": "XDS Response Bytes Max", - "refId": "D" + "datasource": { + "type": "prometheus", + "uid": "${datasource.id}" + }, + "editorMode": "code", + "exemplar": false, + "expr": "sum by(ai_model) (increase(route_upstream_model_consumer_metric_output_token{}[$__range]))", + "format": "table", + "hide": false, + "instant": true, + "legendFormat": "output_token", + "range": false, + "refId": "B" }, { "datasource": { "type": "prometheus", "uid": "${datasource.id}" }, - "expr": "quantile(0.5, rate(envoy_cluster_upstream_cx_rx_bytes_total{cluster_name=\"xds-grpc\"}[1m]))", - "format": "time_series", + "editorMode": "code", + "exemplar": false, + "expr": "sum by(ai_model) (increase(route_upstream_model_consumer_metric_input_token{}[$__range])) + sum by(ai_model) (increase(route_upstream_model_consumer_metric_output_token{}[$__range]))", + "format": "table", "hide": false, - "intervalFactor": 1, - "legendFormat": "XDS Response Bytes Average", - "refId": "B" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource.id}" - }, - "expr": "max(rate(envoy_cluster_upstream_cx_tx_bytes_total{cluster_name=\"xds-grpc\"}[1m]))", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "XDS Request Bytes Max", - "refId": "A" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource.id}" - }, - "expr": "quantile(.5, rate(envoy_cluster_upstream_cx_tx_bytes_total{cluster_name=\"xds-grpc\"}[1m]))", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "XDS Request Bytes Average", + "instant": true, + "legendFormat": "total_token", + "range": false, "refId": "C" } ], - "thresholds": [], - "timeRegions": [], - "title": "XDS Requests Size", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": true, - "values": [] - }, - "yaxes": [ + "title": "Model Usage", + "transformations": [ { - "$$hashKey": "object:398", - "format": "Bps", - "logBase": 1, - "show": true + "id": "joinByField", + "options": { + "byField": "ai_model", + "mode": "inner" + } }, { - "$$hashKey": "object:399", - "format": "ops", - "logBase": 1, - "show": false + "id": "filterFieldsByName", + "options": { + "byVariable": false, + "include": { + "names": [ + "ai_model", + "Value #A", + "Value #B", + "Value #C" + ] + } + } + }, + { + "id": "organize", + "options": { + "excludeByName": {}, + "includeByName": {}, + "indexByName": { + "Time": 0, + "Value": 2, + "ai_model": 1 + }, + "renameByName": { + "Time": "", + "Value": "Input Token Usage", + "Value #A": "Input Token", + "Value #B": "Output Token", + "Value #C": "Total Token", + "ai_model": "Model" + } + } } ], - "yaxis": { - "align": false - } - }, - { - "collapsed": false, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 44 - }, - "id": 38, - "panels": [], - "title": "Service Top", - "type": "row" + "type": "table" }, { "datasource": { @@ -1873,7 +1852,9 @@ }, "custom": { "align": "auto", - "displayMode": "auto", + "cellOptions": { + "type": "auto" + }, "inspect": false }, "mappings": [], @@ -1897,20 +1878,23 @@ "h": 8, "w": 12, "x": 0, - "y": 45 + "y": 36 }, - "id": 40, + "id": 63, "options": { + "cellHeight": "sm", "footer": { + "countRows": false, "fields": "", "reducer": [ "sum" ], "show": false }, - "showHeader": true + "showHeader": true, + "sortBy": [] }, - "pluginVersion": "9.3.6", + "pluginVersion": "10.4.2", "targets": [ { "datasource": { @@ -1919,22 +1903,65 @@ }, "editorMode": "code", "exemplar": false, - "expr": "label_replace(label_replace(topk(10, sum(irate(envoy_cluster_upstream_rq_total{higress=\"$gateway\", cluster_name!=\"xds-grpc\", cluster_name!=\"prometheus_stats\", cluster_name!=\"agent\", cluster_name!=\"BlackHoleCluster\", cluster_name!=\"sds-grpc\"}[5m])) by (cluster_name)), \"service\", \"$3\", \"cluster_name\", \"outbound_([0-9]+)_(.*)_(.*)$\"), \"port\", \"$1\", \"cluster_name\", \"outbound_([0-9]+)_(.*)_(.*)$\")", + "expr": "sum by(ai_consumer) (increase(route_upstream_model_consumer_metric_input_token{}[$__range]))", "format": "table", "instant": true, "interval": "", - "legendFormat": "__auto", + "legendFormat": "input_token", "range": false, "refId": "A" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource.id}" + }, + "editorMode": "code", + "exemplar": false, + "expr": "sum by(ai_consumer) (increase(route_upstream_model_consumer_metric_output_token{}[$__range]))", + "format": "table", + "hide": false, + "instant": true, + "legendFormat": "output_token", + "range": false, + "refId": "B" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource.id}" + }, + "editorMode": "code", + "exemplar": false, + "expr": "sum by(ai_consumer) (increase(route_upstream_model_consumer_metric_input_token{}[$__range])) + sum by(ai_consumer) (increase(route_upstream_model_consumer_metric_output_token{}[$__range]))", + "format": "table", + "hide": false, + "instant": true, + "legendFormat": "total_token", + "range": false, + "refId": "C" } ], - "title": "QPS Top 10", + "title": "Consumer Usage", "transformations": [ + { + "id": "joinByField", + "options": { + "byField": "ai_consumer", + "mode": "inner" + } + }, { "id": "filterFieldsByName", "options": { + "byVariable": false, "include": { - "pattern": "" + "names": [ + "Value #A", + "Value #B", + "Value #C", + "ai_consumer" + ] } } }, @@ -1942,19 +1969,42 @@ "id": "organize", "options": { "excludeByName": {}, + "includeByName": {}, "indexByName": { + "Time": 0, "Value": 2, - "port": 1, - "service": 0 + "ai_model": 1 }, "renameByName": { - "Value": "QPS" + "Time": "", + "Value": "Input Token Usage", + "Value #A": "Input Token", + "Value #B": "Output Token", + "Value #C": "Total Token", + "ai_cluster": "Cluster", + "ai_consumer": "Consumer", + "ai_model": "Model", + "provider": "Provider", + "provider 1": "Provider" } } } ], "type": "table" }, + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 44 + }, + "id": 52, + "panels": [], + "title": "WAF", + "type": "row" + }, { "datasource": { "type": "prometheus", @@ -1963,20 +2013,46 @@ "fieldConfig": { "defaults": { "color": { - "mode": "thresholds" + "mode": "palette-classic" }, "custom": { - "align": "auto", - "displayMode": "auto", - "inspect": false + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { - "color": "green", - "value": null + "color": "green" }, { "color": "red", @@ -1989,22 +2065,23 @@ }, "gridPos": { "h": 8, - "w": 12, - "x": 12, + "w": 8, + "x": 0, "y": 45 }, - "id": 50, + "id": 54, "options": { - "footer": { - "fields": "", - "reducer": [ - "sum" - ], - "show": false + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true }, - "showHeader": true + "tooltip": { + "mode": "single", + "sort": "none" + } }, - "pluginVersion": "9.3.6", "targets": [ { "datasource": { @@ -2012,42 +2089,14 @@ "uid": "${datasource.id}" }, "editorMode": "code", - "exemplar": false, - "expr": "label_replace(label_replace(topk(10, sum(irate(envoy_cluster_upstream_rq{response_code_class=~\"(4|5)xx\",higress=\"$gateway\", cluster_name!=\"xds-grpc\", cluster_name!=\"prometheus_stats\", cluster_name!=\"agent\", cluster_name!=\"BlackHoleCluster\", cluster_name!=\"sds-grpc\"}[5m])) by (cluster_name)), \"service\", \"$3\", \"cluster_name\", \"outbound_([0-9]+)_(.*)_(.*)$\"), \"port\", \"$1\", \"cluster_name\", \"outbound_([0-9]+)_(.*)_(.*)$\")", - "format": "table", - "instant": true, - "interval": "", - "legendFormat": "__auto", - "range": false, + "expr": "sum(irate(waf_filter_tx_total{higress=\"$gateway\"}[1m]))", + "legendFormat": "qps", + "range": true, "refId": "A" } ], - "title": "Failure Requests Top 10", - "transformations": [ - { - "id": "filterFieldsByName", - "options": { - "include": { - "pattern": "" - } - } - }, - { - "id": "organize", - "options": { - "excludeByName": {}, - "indexByName": { - "Value": 2, - "port": 1, - "service": 0 - }, - "renameByName": { - "Value": "QPS" - } - } - } - ], - "type": "table" + "title": "WAF Processed", + "type": "timeseries" }, { "datasource": { @@ -2057,20 +2106,46 @@ "fieldConfig": { "defaults": { "color": { - "mode": "thresholds" + "mode": "palette-classic" }, "custom": { - "align": "auto", - "displayMode": "auto", - "inspect": false + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { - "color": "green", - "value": null + "color": "green" }, { "color": "red", @@ -2083,22 +2158,23 @@ }, "gridPos": { "h": 8, - "w": 12, - "x": 0, - "y": 53 + "w": 8, + "x": 8, + "y": 45 }, - "id": 41, + "id": 55, "options": { - "footer": { - "fields": "", - "reducer": [ - "sum" - ], - "show": false + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true }, - "showHeader": true + "tooltip": { + "mode": "single", + "sort": "none" + } }, - "pluginVersion": "9.3.6", "targets": [ { "datasource": { @@ -2106,43 +2182,14 @@ "uid": "${datasource.id}" }, "editorMode": "code", - "exemplar": false, - "expr": "label_replace(label_replace(topk(10, sum(envoy_cluster_upstream_cx_active{higress=\"$gateway\", cluster_name!=\"xds-grpc\", cluster_name!=\"prometheus_stats\", cluster_name!=\"agent\", cluster_name!=\"BlackHoleCluster\", cluster_name!=\"sds-grpc\"}) by (cluster_name)), \"service\", \"$3\", \"cluster_name\", \"outbound_([0-9]+)_(.*)_(.*)$\"), \"port\", \"$1\", \"cluster_name\", \"outbound_([0-9]+)_(.*)_(.*)$\")", - "format": "table", - "instant": true, - "interval": "", - "legendFormat": "__auto", - "range": false, + "expr": "sum(irate(waf_filter_tx_interruptions{higress=\"$gateway\"}[1m])) by (phase)", + "legendFormat": "{{phase}}", + "range": true, "refId": "A" } ], - "title": "Active Connection Top 10", - "transformations": [ - { - "id": "filterFieldsByName", - "options": { - "include": { - "pattern": "" - } - } - }, - { - "id": "organize", - "options": { - "excludeByName": {}, - "indexByName": { - "Value": 2, - "port": 1, - "service": 0 - }, - "renameByName": { - "Value": "Connections", - "cluster_name": "" - } - } - } - ], - "type": "table" + "title": "WAF Denied by Phase", + "type": "timeseries" }, { "datasource": { @@ -2152,20 +2199,46 @@ "fieldConfig": { "defaults": { "color": { - "mode": "thresholds" + "mode": "palette-classic" }, "custom": { - "align": "auto", - "displayMode": "auto", - "inspect": false + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { - "color": "green", - "value": null + "color": "green" }, { "color": "red", @@ -2178,22 +2251,23 @@ }, "gridPos": { "h": 8, - "w": 12, - "x": 12, - "y": 53 + "w": 8, + "x": 16, + "y": 45 }, - "id": 42, + "id": 56, "options": { - "footer": { - "fields": "", - "reducer": [ - "sum" - ], - "show": false + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true }, - "showHeader": true + "tooltip": { + "mode": "single", + "sort": "none" + } }, - "pluginVersion": "9.3.6", "targets": [ { "datasource": { @@ -2201,43 +2275,774 @@ "uid": "${datasource.id}" }, "editorMode": "code", - "exemplar": false, - "expr": "label_replace(label_replace(topk(10, sum(irate(envoy_cluster_upstream_rq_time_sum{higress=\"$gateway\", cluster_name!=\"xds-grpc\", cluster_name!=\"prometheus_stats\", cluster_name!=\"agent\", cluster_name!=\"BlackHoleCluster\", cluster_name!=\"sds-grpc\"}[5m])) by (cluster_name) / sum(irate(envoy_cluster_upstream_rq_time_count{higress=\"$gateway\",cluster_name!=\"xds-grpc\", cluster_name!=\"prometheus_stats\", cluster_name!=\"agent\", cluster_name!=\"BlackHoleCluster\", cluster_name!=\"sds-grpc\"}[5m])) by (cluster_name)), \"service\", \"$3\", \"cluster_name\", \"outbound_([0-9]+)_(.*)_(.*)$\"), \"port\", \"$1\", \"cluster_name\", \"outbound_([0-9]+)_(.*)_(.*)$\")", - "format": "table", - "instant": true, - "interval": "", - "legendFormat": "__auto", - "range": false, + "expr": "sum(irate(waf_filter_tx_interruptions{higress=\"$gateway\"}[1m])) by (ruleid)", + "legendFormat": "{{ruleid}}", + "range": true, "refId": "A" } ], - "title": "RT Top 10(Slow)", - "transformations": [ + "title": "WAF Denied by RuleID", + "type": "timeseries" + }, + { + "collapsed": true, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 53 + }, + "id": 26, + "panels": [ { - "id": "filterFieldsByName", + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": { + "type": "prometheus", + "uid": "${datasource.id}" + }, + "description": "Shows details about Envoy proxies in the mesh", + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 8, + "x": 0, + "y": 13 + }, + "hiddenSeries": false, + "id": 28, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", "options": { - "include": { - "pattern": "" + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "10.4.2", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${datasource.id}" + }, + "expr": "sum(irate(envoy_cluster_upstream_cx_total{cluster_name=\"xds-grpc\"}[1m]))", + "format": "time_series", + "hide": false, + "intervalFactor": 1, + "legendFormat": "XDS Connections", + "refId": "C" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource.id}" + }, + "expr": "sum(irate(envoy_cluster_upstream_cx_connect_fail{cluster_name=\"xds-grpc\"}[1m]))", + "format": "time_series", + "hide": false, + "intervalFactor": 1, + "legendFormat": "XDS Connection Failures", + "refId": "A" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource.id}" + }, + "expr": "sum(increase(envoy_server_hot_restart_epoch[1m]))", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "Envoy Restarts", + "refId": "B" + } + ], + "thresholds": [], + "timeRegions": [], + "title": "Envoy Details", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "mode": "time", + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:2269", + "format": "ops", + "logBase": 1, + "show": true + }, + { + "$$hashKey": "object:2270", + "format": "ops", + "logBase": 1, + "show": false } + ], + "yaxis": { + "align": false } }, { - "id": "organize", + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": { + "type": "prometheus", + "uid": "${datasource.id}" + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 8, + "x": 8, + "y": 13 + }, + "hiddenSeries": false, + "id": 30, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", "options": { - "excludeByName": {}, - "indexByName": { - "Value": 2, - "port": 1, - "service": 0 + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "10.4.2", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${datasource.id}" + }, + "expr": "sum(envoy_cluster_upstream_cx_active{cluster_name=\"xds-grpc\"})", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "XDS Active Connections", + "refId": "C", + "step": 2 + } + ], + "thresholds": [], + "timeRegions": [], + "title": "XDS Active Connections", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "mode": "time", + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:309", + "format": "short", + "logBase": 1, + "show": true }, - "renameByName": { - "Value": "RT", - "service": "" + { + "$$hashKey": "object:310", + "format": "short", + "logBase": 1, + "show": true + } + ], + "yaxis": { + "align": false + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": { + "type": "prometheus", + "uid": "${datasource.id}" + }, + "description": "Shows the size of XDS requests and responses", + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 8, + "x": 16, + "y": 13 + }, + "hiddenSeries": false, + "id": 32, + "legend": { + "avg": false, + "current": false, + "hideEmpty": false, + "hideZero": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "10.4.2", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${datasource.id}" + }, + "expr": "max(rate(envoy_cluster_upstream_cx_rx_bytes_total{cluster_name=\"xds-grpc\"}[1m]))", + "format": "time_series", + "hide": false, + "intervalFactor": 1, + "legendFormat": "XDS Response Bytes Max", + "refId": "D" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource.id}" + }, + "expr": "quantile(0.5, rate(envoy_cluster_upstream_cx_rx_bytes_total{cluster_name=\"xds-grpc\"}[1m]))", + "format": "time_series", + "hide": false, + "intervalFactor": 1, + "legendFormat": "XDS Response Bytes Average", + "refId": "B" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource.id}" + }, + "expr": "max(rate(envoy_cluster_upstream_cx_tx_bytes_total{cluster_name=\"xds-grpc\"}[1m]))", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "XDS Request Bytes Max", + "refId": "A" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource.id}" + }, + "expr": "quantile(.5, rate(envoy_cluster_upstream_cx_tx_bytes_total{cluster_name=\"xds-grpc\"}[1m]))", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "XDS Request Bytes Average", + "refId": "C" + } + ], + "thresholds": [], + "timeRegions": [], + "title": "XDS Requests Size", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "mode": "time", + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:398", + "format": "Bps", + "logBase": 1, + "show": true + }, + { + "$$hashKey": "object:399", + "format": "ops", + "logBase": 1, + "show": false } + ], + "yaxis": { + "align": false } } ], - "type": "table" + "title": "XDS", + "type": "row" + }, + { + "collapsed": true, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 54 + }, + "id": 38, + "panels": [ + { + "datasource": { + "type": "prometheus", + "uid": "${datasource.id}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + } + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "QPS" + }, + "properties": [ + { + "id": "custom.width", + "value": 152 + } + ] + } + ] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 39 + }, + "id": 40, + "options": { + "cellHeight": "sm", + "footer": { + "countRows": false, + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": true, + "sortBy": [] + }, + "pluginVersion": "10.4.2", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${datasource.id}" + }, + "editorMode": "code", + "exemplar": false, + "expr": "label_replace(label_replace(topk(10, sum(irate(envoy_cluster_upstream_rq_total{higress=\"$gateway\", cluster_name!=\"xds-grpc\", cluster_name!=\"prometheus_stats\", cluster_name!=\"agent\", cluster_name!=\"BlackHoleCluster\", cluster_name!=\"sds-grpc\"}[5m])) by (cluster_name)), \"service\", \"$3\", \"cluster_name\", \"outbound_([0-9]+)_(.*)_(.*)$\"), \"port\", \"$1\", \"cluster_name\", \"outbound_([0-9]+)_(.*)_(.*)$\")", + "format": "table", + "instant": true, + "interval": "", + "legendFormat": "__auto", + "range": false, + "refId": "A" + } + ], + "title": "QPS Top 10", + "transformations": [ + { + "id": "filterFieldsByName", + "options": { + "include": { + "pattern": "" + } + } + }, + { + "id": "organize", + "options": { + "excludeByName": {}, + "indexByName": { + "Value": 2, + "port": 1, + "service": 0 + }, + "renameByName": { + "Value": "QPS" + } + } + } + ], + "type": "table" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource.id}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 39 + }, + "id": 50, + "options": { + "cellHeight": "sm", + "footer": { + "countRows": false, + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": true + }, + "pluginVersion": "10.4.2", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${datasource.id}" + }, + "editorMode": "code", + "exemplar": false, + "expr": "label_replace(label_replace(topk(10, sum(irate(envoy_cluster_upstream_rq{response_code_class=~\"(4|5)xx\",higress=\"$gateway\", cluster_name!=\"xds-grpc\", cluster_name!=\"prometheus_stats\", cluster_name!=\"agent\", cluster_name!=\"BlackHoleCluster\", cluster_name!=\"sds-grpc\"}[5m])) by (cluster_name)), \"service\", \"$3\", \"cluster_name\", \"outbound_([0-9]+)_(.*)_(.*)$\"), \"port\", \"$1\", \"cluster_name\", \"outbound_([0-9]+)_(.*)_(.*)$\")", + "format": "table", + "instant": true, + "interval": "", + "legendFormat": "__auto", + "range": false, + "refId": "A" + } + ], + "title": "Failure Requests Top 10", + "transformations": [ + { + "id": "filterFieldsByName", + "options": { + "include": { + "pattern": "" + } + } + }, + { + "id": "organize", + "options": { + "excludeByName": {}, + "indexByName": { + "Value": 2, + "port": 1, + "service": 0 + }, + "renameByName": { + "Value": "QPS" + } + } + } + ], + "type": "table" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource.id}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 47 + }, + "id": 41, + "options": { + "cellHeight": "sm", + "footer": { + "countRows": false, + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": true + }, + "pluginVersion": "10.4.2", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${datasource.id}" + }, + "editorMode": "code", + "exemplar": false, + "expr": "label_replace(label_replace(topk(10, sum(envoy_cluster_upstream_cx_active{higress=\"$gateway\", cluster_name!=\"xds-grpc\", cluster_name!=\"prometheus_stats\", cluster_name!=\"agent\", cluster_name!=\"BlackHoleCluster\", cluster_name!=\"sds-grpc\"}) by (cluster_name)), \"service\", \"$3\", \"cluster_name\", \"outbound_([0-9]+)_(.*)_(.*)$\"), \"port\", \"$1\", \"cluster_name\", \"outbound_([0-9]+)_(.*)_(.*)$\")", + "format": "table", + "instant": true, + "interval": "", + "legendFormat": "__auto", + "range": false, + "refId": "A" + } + ], + "title": "Active Connection Top 10", + "transformations": [ + { + "id": "filterFieldsByName", + "options": { + "include": { + "pattern": "" + } + } + }, + { + "id": "organize", + "options": { + "excludeByName": {}, + "indexByName": { + "Value": 2, + "port": 1, + "service": 0 + }, + "renameByName": { + "Value": "Connections", + "cluster_name": "" + } + } + } + ], + "type": "table" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource.id}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 47 + }, + "id": 42, + "options": { + "cellHeight": "sm", + "footer": { + "countRows": false, + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": true + }, + "pluginVersion": "10.4.2", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${datasource.id}" + }, + "editorMode": "code", + "exemplar": false, + "expr": "label_replace(label_replace(topk(10, sum(irate(envoy_cluster_upstream_rq_time_sum{higress=\"$gateway\", cluster_name!=\"xds-grpc\", cluster_name!=\"prometheus_stats\", cluster_name!=\"agent\", cluster_name!=\"BlackHoleCluster\", cluster_name!=\"sds-grpc\"}[5m])) by (cluster_name) / sum(irate(envoy_cluster_upstream_rq_time_count{higress=\"$gateway\",cluster_name!=\"xds-grpc\", cluster_name!=\"prometheus_stats\", cluster_name!=\"agent\", cluster_name!=\"BlackHoleCluster\", cluster_name!=\"sds-grpc\"}[5m])) by (cluster_name)), \"service\", \"$3\", \"cluster_name\", \"outbound_([0-9]+)_(.*)_(.*)$\"), \"port\", \"$1\", \"cluster_name\", \"outbound_([0-9]+)_(.*)_(.*)$\")", + "format": "table", + "instant": true, + "interval": "", + "legendFormat": "__auto", + "range": false, + "refId": "A" + } + ], + "title": "RT Top 10(Slow)", + "transformations": [ + { + "id": "filterFieldsByName", + "options": { + "include": { + "pattern": "" + } + } + }, + { + "id": "organize", + "options": { + "excludeByName": {}, + "indexByName": { + "Value": 2, + "port": 1, + "service": 0 + }, + "renameByName": { + "Value": "RT", + "service": "" + } + } + } + ], + "type": "table" + } + ], + "title": "Service Top", + "type": "row" } ], "schemaVersion": 37,