Improve req handling dashboard (#8322)

Display per method/path combos for various metrics, adjust titles, and sort tooltip by decreasing

Signed-off-by: Naseem Ullah <24660299+naseemkullah@users.noreply.github.com>
This commit is contained in:
Naseem Ullah 2022-04-12 17:40:46 -04:00 committed by GitHub
parent 47a266df45
commit ea5a3036bf
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -9,17 +9,18 @@
"pluginName": "Prometheus" "pluginName": "Prometheus"
} }
], ],
"__elements": [],
"__requires": [ "__requires": [
{ {
"type": "grafana", "type": "grafana",
"id": "grafana", "id": "grafana",
"name": "Grafana", "name": "Grafana",
"version": "6.6.0" "version": "8.3.4"
}, },
{ {
"type": "panel", "type": "panel",
"id": "graph", "id": "graph",
"name": "Graph", "name": "Graph (old)",
"version": "" "version": ""
}, },
{ {
@ -38,25 +39,41 @@
"hide": true, "hide": true,
"iconColor": "rgba(0, 211, 255, 1)", "iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations & Alerts", "name": "Annotations & Alerts",
"target": {
"limit": 100,
"matchAny": false,
"tags": [],
"type": "dashboard"
},
"type": "dashboard" "type": "dashboard"
} }
] ]
}, },
"description": "", "description": "",
"editable": true, "editable": true,
"fiscalYearStartMonth": 0,
"gnetId": 9614, "gnetId": 9614,
"graphTooltip": 1, "graphTooltip": 1,
"id": null, "id": null,
"iteration": 1582146566338, "iteration": 1646929474557,
"links": [], "links": [],
"liveNow": false,
"panels": [ "panels": [
{ {
"aliasColors": {}, "aliasColors": {},
"bars": false, "bars": false,
"dashLength": 10, "dashLength": 10,
"dashes": false, "dashes": false,
"datasource": "${DS_PROMETHEUS}", "datasource": {
"description": "Total time taken for nginx and upstream servers to process a request and send a response", "uid": "${DS_PROMETHEUS}"
},
"description": "Total time for NGINX and upstream servers to process a request and send a response",
"fieldConfig": {
"defaults": {
"links": []
},
"overrides": []
},
"fill": 1, "fill": 1,
"fillGradient": 0, "fillGradient": 0,
"gridPos": { "gridPos": {
@ -80,9 +97,10 @@
"linewidth": 1, "linewidth": 1,
"nullPointMode": "null", "nullPointMode": "null",
"options": { "options": {
"dataLinks": [] "alertThreshold": true
}, },
"percentage": false, "percentage": false,
"pluginVersion": "8.3.4",
"pointradius": 2, "pointradius": 2,
"points": false, "points": false,
"renderer": "flot", "renderer": "flot",
@ -92,63 +110,52 @@
"steppedLine": false, "steppedLine": false,
"targets": [ "targets": [
{ {
"expr": "histogram_quantile(\n 0.5,\n sum by (le)(\n rate(\n nginx_ingress_controller_request_duration_seconds_bucket{\n ingress =~ \"$ingress\"\n }[1m]\n )\n )\n)", "expr": "histogram_quantile(\n 0.5,\n sum by (le)(\n rate(\n nginx_ingress_controller_request_duration_seconds_bucket{\n ingress =~ \"$ingress\"\n }[5m]\n )\n )\n)",
"interval": "", "interval": "",
"legendFormat": ".5", "legendFormat": ".5",
"refId": "D" "refId": "D"
}, },
{ {
"expr": "histogram_quantile(\n 0.95,\n sum by (le)(\n rate(\n nginx_ingress_controller_request_duration_seconds_bucket{\n ingress =~ \"$ingress\"\n }[1m]\n )\n )\n)", "expr": "histogram_quantile(\n 0.95,\n sum by (le)(\n rate(\n nginx_ingress_controller_request_duration_seconds_bucket{\n ingress =~ \"$ingress\"\n }[5m]\n )\n )\n)",
"interval": "", "interval": "",
"legendFormat": ".95", "legendFormat": ".95",
"refId": "B" "refId": "B"
}, },
{ {
"expr": "histogram_quantile(\n 0.99,\n sum by (le)(\n rate(\n nginx_ingress_controller_request_duration_seconds_bucket{\n ingress =~ \"$ingress\"\n }[1m]\n )\n )\n)", "expr": "histogram_quantile(\n 0.99,\n sum by (le)(\n rate(\n nginx_ingress_controller_request_duration_seconds_bucket{\n ingress =~ \"$ingress\"\n }[5m]\n )\n )\n)",
"interval": "", "interval": "",
"legendFormat": ".99", "legendFormat": ".99",
"refId": "A" "refId": "A"
} }
], ],
"thresholds": [], "thresholds": [],
"timeFrom": null,
"timeRegions": [], "timeRegions": [],
"timeShift": null, "title": "Request Latency Percentiles",
"title": "Total request handling time",
"tooltip": { "tooltip": {
"shared": true, "shared": true,
"sort": 0, "sort": 2,
"value_type": "individual" "value_type": "individual"
}, },
"type": "graph", "type": "graph",
"xaxis": { "xaxis": {
"buckets": null,
"mode": "time", "mode": "time",
"name": null,
"show": true, "show": true,
"values": [] "values": []
}, },
"yaxes": [ "yaxes": [
{ {
"format": "s", "format": "s",
"label": null,
"logBase": 1, "logBase": 1,
"max": null,
"min": null,
"show": true "show": true
}, },
{ {
"format": "short", "format": "short",
"label": null,
"logBase": 1, "logBase": 1,
"max": null,
"min": null,
"show": true "show": true
} }
], ],
"yaxis": { "yaxis": {
"align": false, "align": false
"alignLevel": null
} }
}, },
{ {
@ -156,8 +163,16 @@
"bars": false, "bars": false,
"dashLength": 10, "dashLength": 10,
"dashes": false, "dashes": false,
"datasource": "${DS_PROMETHEUS}", "datasource": {
"uid": "${DS_PROMETHEUS}"
},
"description": "The time spent on receiving the response from the upstream server", "description": "The time spent on receiving the response from the upstream server",
"fieldConfig": {
"defaults": {
"links": []
},
"overrides": []
},
"fill": 1, "fill": 1,
"fillGradient": 0, "fillGradient": 0,
"gridPos": { "gridPos": {
@ -181,9 +196,10 @@
"linewidth": 1, "linewidth": 1,
"nullPointMode": "null", "nullPointMode": "null",
"options": { "options": {
"dataLinks": [] "alertThreshold": true
}, },
"percentage": false, "percentage": false,
"pluginVersion": "8.3.4",
"pointradius": 2, "pointradius": 2,
"points": false, "points": false,
"renderer": "flot", "renderer": "flot",
@ -193,7 +209,7 @@
"steppedLine": false, "steppedLine": false,
"targets": [ "targets": [
{ {
"expr": "histogram_quantile(\n 0.5,\n sum by (le)(\n rate(\n nginx_ingress_controller_response_duration_seconds_bucket{\n ingress =~ \"$ingress\"\n }[1m]\n )\n )\n)", "expr": "histogram_quantile(\n 0.5,\n sum by (le)(\n rate(\n nginx_ingress_controller_response_duration_seconds_bucket{\n ingress =~ \"$ingress\"\n }[5m]\n )\n )\n)",
"instant": false, "instant": false,
"interval": "", "interval": "",
"intervalFactor": 1, "intervalFactor": 1,
@ -201,57 +217,46 @@
"refId": "D" "refId": "D"
}, },
{ {
"expr": "histogram_quantile(\n 0.95,\n sum by (le)(\n rate(\n nginx_ingress_controller_response_duration_seconds_bucket{\n ingress =~ \"$ingress\"\n }[1m]\n )\n )\n)", "expr": "histogram_quantile(\n 0.95,\n sum by (le)(\n rate(\n nginx_ingress_controller_response_duration_seconds_bucket{\n ingress =~ \"$ingress\"\n }[5m]\n )\n )\n)",
"interval": "", "interval": "",
"legendFormat": ".95", "legendFormat": ".95",
"refId": "B" "refId": "B"
}, },
{ {
"expr": "histogram_quantile(\n 0.99,\n sum by (le)(\n rate(\n nginx_ingress_controller_response_duration_seconds_bucket{\n ingress =~ \"$ingress\"\n }[1m]\n )\n )\n)", "expr": "histogram_quantile(\n 0.99,\n sum by (le)(\n rate(\n nginx_ingress_controller_response_duration_seconds_bucket{\n ingress =~ \"$ingress\"\n }[5m]\n )\n )\n)",
"interval": "", "interval": "",
"legendFormat": ".99", "legendFormat": ".99",
"refId": "A" "refId": "A"
} }
], ],
"thresholds": [], "thresholds": [],
"timeFrom": null,
"timeRegions": [], "timeRegions": [],
"timeShift": null, "title": "Upstream Response Latency Percentiles",
"title": "Upstream response time",
"tooltip": { "tooltip": {
"shared": true, "shared": true,
"sort": 0, "sort": 2,
"value_type": "individual" "value_type": "individual"
}, },
"type": "graph", "type": "graph",
"xaxis": { "xaxis": {
"buckets": null,
"mode": "time", "mode": "time",
"name": null,
"show": true, "show": true,
"values": [] "values": []
}, },
"yaxes": [ "yaxes": [
{ {
"format": "s", "format": "s",
"label": null,
"logBase": 1, "logBase": 1,
"max": null,
"min": null,
"show": true "show": true
}, },
{ {
"format": "short", "format": "short",
"label": null,
"logBase": 1, "logBase": 1,
"max": null,
"min": null,
"show": true "show": true
} }
], ],
"yaxis": { "yaxis": {
"align": false, "align": false
"alignLevel": null
} }
}, },
{ {
@ -259,7 +264,15 @@
"bars": false, "bars": false,
"dashLength": 10, "dashLength": 10,
"dashes": false, "dashes": false,
"datasource": "${DS_PROMETHEUS}", "datasource": {
"uid": "${DS_PROMETHEUS}"
},
"fieldConfig": {
"defaults": {
"links": []
},
"overrides": []
},
"fill": 1, "fill": 1,
"fillGradient": 0, "fillGradient": 0,
"gridPos": { "gridPos": {
@ -285,9 +298,10 @@
"linewidth": 1, "linewidth": 1,
"nullPointMode": "null", "nullPointMode": "null",
"options": { "options": {
"dataLinks": [] "alertThreshold": true
}, },
"percentage": false, "percentage": false,
"pluginVersion": "8.3.4",
"pointradius": 2, "pointradius": 2,
"points": false, "points": false,
"renderer": "flot", "renderer": "flot",
@ -297,52 +311,41 @@
"steppedLine": false, "steppedLine": false,
"targets": [ "targets": [
{ {
"expr": " sum by (path)(\n rate(\n nginx_ingress_controller_request_duration_seconds_count{\n ingress =~ \"$ingress\"\n }[1m]\n )\n )\n", "expr": " sum by (method, host, path)(\n rate(\n nginx_ingress_controller_request_duration_seconds_count{\n ingress =~ \"$ingress\"\n }[5m]\n )\n )\n",
"interval": "", "interval": "",
"intervalFactor": 1, "intervalFactor": 1,
"legendFormat": "{{ path }}", "legendFormat": "{{ method }} {{ host }}{{path }}",
"refId": "A" "refId": "A"
} }
], ],
"thresholds": [], "thresholds": [],
"timeFrom": null,
"timeRegions": [], "timeRegions": [],
"timeShift": null, "title": "Request Rate by Method and Path",
"title": "Request volume by Path",
"tooltip": { "tooltip": {
"shared": true, "shared": true,
"sort": 0, "sort": 2,
"value_type": "individual" "value_type": "individual"
}, },
"type": "graph", "type": "graph",
"xaxis": { "xaxis": {
"buckets": null,
"mode": "time", "mode": "time",
"name": null,
"show": true, "show": true,
"values": [] "values": []
}, },
"yaxes": [ "yaxes": [
{ {
"format": "reqps", "format": "reqps",
"label": null,
"logBase": 1, "logBase": 1,
"max": null,
"min": null,
"show": true "show": true
}, },
{ {
"format": "short", "format": "short",
"label": null,
"logBase": 1, "logBase": 1,
"max": null,
"min": null,
"show": true "show": true
} }
], ],
"yaxis": { "yaxis": {
"align": false, "align": false
"alignLevel": null
} }
}, },
{ {
@ -350,8 +353,16 @@
"bars": false, "bars": false,
"dashLength": 10, "dashLength": 10,
"dashes": false, "dashes": false,
"datasource": "${DS_PROMETHEUS}", "datasource": {
"uid": "${DS_PROMETHEUS}"
},
"description": "For each path observed, its median upstream response time", "description": "For each path observed, its median upstream response time",
"fieldConfig": {
"defaults": {
"links": []
},
"overrides": []
},
"fill": 1, "fill": 1,
"fillGradient": 0, "fillGradient": 0,
"gridPos": { "gridPos": {
@ -377,9 +388,10 @@
"linewidth": 1, "linewidth": 1,
"nullPointMode": "null", "nullPointMode": "null",
"options": { "options": {
"dataLinks": [] "alertThreshold": true
}, },
"percentage": false, "percentage": false,
"pluginVersion": "8.3.4",
"pointradius": 2, "pointradius": 2,
"points": false, "points": false,
"renderer": "flot", "renderer": "flot",
@ -389,52 +401,41 @@
"steppedLine": false, "steppedLine": false,
"targets": [ "targets": [
{ {
"expr": "histogram_quantile(\n .5,\n sum by (le, path)(\n rate(\n nginx_ingress_controller_response_duration_seconds_bucket{\n ingress =~ \"$ingress\"\n }[1m]\n )\n )\n)", "expr": "histogram_quantile(\n .5,\n sum by (le, method, host, path)(\n rate(\n nginx_ingress_controller_response_duration_seconds_bucket{\n ingress =~ \"$ingress\"\n }[5m]\n )\n )\n)",
"interval": "", "interval": "",
"intervalFactor": 1, "intervalFactor": 1,
"legendFormat": "{{ path }}", "legendFormat": "{{ method }} {{ host }}{{path }}",
"refId": "A" "refId": "A"
} }
], ],
"thresholds": [], "thresholds": [],
"timeFrom": null,
"timeRegions": [], "timeRegions": [],
"timeShift": null, "title": "Median Upstream Response Time by Method and Path",
"title": "Median upstream response time by Path",
"tooltip": { "tooltip": {
"shared": true, "shared": true,
"sort": 0, "sort": 2,
"value_type": "individual" "value_type": "individual"
}, },
"type": "graph", "type": "graph",
"xaxis": { "xaxis": {
"buckets": null,
"mode": "time", "mode": "time",
"name": null,
"show": true, "show": true,
"values": [] "values": []
}, },
"yaxes": [ "yaxes": [
{ {
"format": "s", "format": "s",
"label": null,
"logBase": 1, "logBase": 1,
"max": null,
"min": null,
"show": true "show": true
}, },
{ {
"format": "short", "format": "short",
"label": null,
"logBase": 1, "logBase": 1,
"max": null,
"min": null,
"show": true "show": true
} }
], ],
"yaxis": { "yaxis": {
"align": false, "align": false
"alignLevel": null
} }
}, },
{ {
@ -442,8 +443,16 @@
"bars": false, "bars": false,
"dashLength": 10, "dashLength": 10,
"dashes": false, "dashes": false,
"datasource": "${DS_PROMETHEUS}", "datasource": {
"uid": "${DS_PROMETHEUS}"
},
"description": "Percentage of 4xx and 5xx responses among all responses.", "description": "Percentage of 4xx and 5xx responses among all responses.",
"fieldConfig": {
"defaults": {
"links": []
},
"overrides": []
},
"fill": 1, "fill": 1,
"fillGradient": 0, "fillGradient": 0,
"gridPos": { "gridPos": {
@ -469,9 +478,10 @@
"linewidth": 1, "linewidth": 1,
"nullPointMode": "null as zero", "nullPointMode": "null as zero",
"options": { "options": {
"dataLinks": [] "alertThreshold": true
}, },
"percentage": false, "percentage": false,
"pluginVersion": "8.3.4",
"pointradius": 2, "pointradius": 2,
"points": false, "points": false,
"renderer": "flot", "renderer": "flot",
@ -481,52 +491,41 @@
"steppedLine": false, "steppedLine": false,
"targets": [ "targets": [
{ {
"expr": "sum by (path) (rate(nginx_ingress_controller_request_duration_seconds_count{\n ingress =~ \"$ingress\",\n status =~ \"[4-5].*\"\n}[1m])) / sum by (path) (rate(nginx_ingress_controller_request_duration_seconds_count{\n ingress =~ \"$ingress\",\n}[1m]))", "expr": "sum by (method, host, path) (rate(nginx_ingress_controller_request_duration_seconds_count{\n ingress =~ \"$ingress\",\n status =~ \"[4-5].*\"\n}[5m])) / sum by (method, host, path) (rate(nginx_ingress_controller_request_duration_seconds_count{\n ingress =~ \"$ingress\",\n}[5m]))",
"interval": "", "interval": "",
"intervalFactor": 1, "intervalFactor": 1,
"legendFormat": "{{ path }}", "legendFormat": "{{ method }} {{ host }}{{path }}",
"refId": "A" "refId": "A"
} }
], ],
"thresholds": [], "thresholds": [],
"timeFrom": null,
"timeRegions": [], "timeRegions": [],
"timeShift": null, "title": "Response Error Rate by Method and Path",
"title": "Response error rate by Path",
"tooltip": { "tooltip": {
"shared": true, "shared": true,
"sort": 0, "sort": 2,
"value_type": "individual" "value_type": "individual"
}, },
"type": "graph", "type": "graph",
"xaxis": { "xaxis": {
"buckets": null,
"mode": "time", "mode": "time",
"name": null,
"show": true, "show": true,
"values": [] "values": []
}, },
"yaxes": [ "yaxes": [
{ {
"format": "percentunit", "format": "percentunit",
"label": null,
"logBase": 1, "logBase": 1,
"max": null,
"min": null,
"show": true "show": true
}, },
{ {
"format": "short", "format": "short",
"label": null,
"logBase": 1, "logBase": 1,
"max": null,
"min": null,
"show": true "show": true
} }
], ],
"yaxis": { "yaxis": {
"align": false, "align": false
"alignLevel": null
} }
}, },
{ {
@ -534,8 +533,16 @@
"bars": false, "bars": false,
"dashLength": 10, "dashLength": 10,
"dashes": false, "dashes": false,
"datasource": "${DS_PROMETHEUS}", "datasource": {
"uid": "${DS_PROMETHEUS}"
},
"description": "For each path observed, the sum of upstream request time", "description": "For each path observed, the sum of upstream request time",
"fieldConfig": {
"defaults": {
"links": []
},
"overrides": []
},
"fill": 1, "fill": 1,
"fillGradient": 0, "fillGradient": 0,
"gridPos": { "gridPos": {
@ -561,9 +568,10 @@
"linewidth": 1, "linewidth": 1,
"nullPointMode": "null", "nullPointMode": "null",
"options": { "options": {
"dataLinks": [] "alertThreshold": true
}, },
"percentage": false, "percentage": false,
"pluginVersion": "8.3.4",
"pointradius": 2, "pointradius": 2,
"points": false, "points": false,
"renderer": "flot", "renderer": "flot",
@ -573,52 +581,41 @@
"steppedLine": false, "steppedLine": false,
"targets": [ "targets": [
{ {
"expr": "sum by (path) (rate(nginx_ingress_controller_response_duration_seconds_sum{ingress =~ \"$ingress\"}[1m]))", "expr": "sum by (method, host, path) (rate(nginx_ingress_controller_response_duration_seconds_sum{ingress =~ \"$ingress\"}[5m]))",
"interval": "", "interval": "",
"intervalFactor": 1, "intervalFactor": 1,
"legendFormat": "{{ path }}", "legendFormat": "{{ method }} {{ host }}{{path }}",
"refId": "A" "refId": "A"
} }
], ],
"thresholds": [], "thresholds": [],
"timeFrom": null,
"timeRegions": [], "timeRegions": [],
"timeShift": null, "title": "Upstream Response Time by Method and Path",
"title": "Upstream time consumed by Path",
"tooltip": { "tooltip": {
"shared": true, "shared": true,
"sort": 0, "sort": 2,
"value_type": "individual" "value_type": "individual"
}, },
"type": "graph", "type": "graph",
"xaxis": { "xaxis": {
"buckets": null,
"mode": "time", "mode": "time",
"name": null,
"show": true, "show": true,
"values": [] "values": []
}, },
"yaxes": [ "yaxes": [
{ {
"format": "s", "format": "s",
"label": null,
"logBase": 1, "logBase": 1,
"max": null,
"min": null,
"show": true "show": true
}, },
{ {
"format": "short", "format": "short",
"label": null,
"logBase": 1, "logBase": 1,
"max": null,
"min": null,
"show": true "show": true
} }
], ],
"yaxis": { "yaxis": {
"align": false, "align": false
"alignLevel": null
} }
}, },
{ {
@ -626,7 +623,15 @@
"bars": false, "bars": false,
"dashLength": 10, "dashLength": 10,
"dashes": false, "dashes": false,
"datasource": "${DS_PROMETHEUS}", "datasource": {
"uid": "${DS_PROMETHEUS}"
},
"fieldConfig": {
"defaults": {
"links": []
},
"overrides": []
},
"fill": 1, "fill": 1,
"fillGradient": 0, "fillGradient": 0,
"gridPos": { "gridPos": {
@ -652,9 +657,10 @@
"linewidth": 1, "linewidth": 1,
"nullPointMode": "null", "nullPointMode": "null",
"options": { "options": {
"dataLinks": [] "alertThreshold": true
}, },
"percentage": false, "percentage": false,
"pluginVersion": "8.3.4",
"pointradius": 2, "pointradius": 2,
"points": false, "points": false,
"renderer": "flot", "renderer": "flot",
@ -664,52 +670,41 @@
"steppedLine": false, "steppedLine": false,
"targets": [ "targets": [
{ {
"expr": " sum (\n rate(\n nginx_ingress_controller_request_duration_seconds_count{\n ingress =~ \"$ingress\",\n status =~\"[4-5].*\",\n }[1m]\n )\n ) by(path, status)\n", "expr": " sum (\n rate(\n nginx_ingress_controller_request_duration_seconds_count{\n ingress =~ \"$ingress\",\n status =~\"[4-5].*\",\n }[5m]\n )\n ) by(method, host, path, status)\n",
"interval": "", "interval": "",
"intervalFactor": 1, "intervalFactor": 1,
"legendFormat": "{{ path }} {{ status }}", "legendFormat": "{{ method }} {{ host }}{{path }} {{ status }}",
"refId": "A" "refId": "A"
} }
], ],
"thresholds": [], "thresholds": [],
"timeFrom": null,
"timeRegions": [], "timeRegions": [],
"timeShift": null, "title": "Response Error Rate by Method and Path",
"title": "Response error volume by Path",
"tooltip": { "tooltip": {
"shared": true, "shared": true,
"sort": 0, "sort": 2,
"value_type": "individual" "value_type": "individual"
}, },
"type": "graph", "type": "graph",
"xaxis": { "xaxis": {
"buckets": null,
"mode": "time", "mode": "time",
"name": null,
"show": true, "show": true,
"values": [] "values": []
}, },
"yaxes": [ "yaxes": [
{ {
"format": "reqps", "format": "reqps",
"label": null,
"logBase": 1, "logBase": 1,
"max": null,
"min": null,
"show": true "show": true
}, },
{ {
"format": "short", "format": "short",
"label": null,
"logBase": 1, "logBase": 1,
"max": null,
"min": null,
"show": true "show": true
} }
], ],
"yaxis": { "yaxis": {
"align": false, "align": false
"alignLevel": null
} }
}, },
{ {
@ -717,7 +712,15 @@
"bars": false, "bars": false,
"dashLength": 10, "dashLength": 10,
"dashes": false, "dashes": false,
"datasource": "${DS_PROMETHEUS}", "datasource": {
"uid": "${DS_PROMETHEUS}"
},
"fieldConfig": {
"defaults": {
"links": []
},
"overrides": []
},
"fill": 1, "fill": 1,
"fillGradient": 0, "fillGradient": 0,
"gridPos": { "gridPos": {
@ -743,9 +746,10 @@
"linewidth": 1, "linewidth": 1,
"nullPointMode": "null", "nullPointMode": "null",
"options": { "options": {
"dataLinks": [] "alertThreshold": true
}, },
"percentage": false, "percentage": false,
"pluginVersion": "8.3.4",
"pointradius": 2, "pointradius": 2,
"points": false, "points": false,
"renderer": "flot", "renderer": "flot",
@ -755,60 +759,49 @@
"steppedLine": false, "steppedLine": false,
"targets": [ "targets": [
{ {
"expr": "sum (\n rate (\n nginx_ingress_controller_response_size_sum {\n ingress =~ \"$ingress\",\n }[1m]\n )\n) by (path) / sum (\n rate(\n nginx_ingress_controller_response_size_count {\n ingress =~ \"$ingress\",\n }[1m]\n )\n) by (path)\n", "expr": "sum (\n rate (\n nginx_ingress_controller_response_size_sum {\n ingress =~ \"$ingress\",\n }[5m]\n )\n) by (method, host, path) / sum (\n rate(\n nginx_ingress_controller_response_size_count {\n ingress =~ \"$ingress\",\n }[5m]\n )\n) by (method, host, path)\n",
"hide": false, "hide": false,
"instant": false, "instant": false,
"interval": "", "interval": "",
"intervalFactor": 1, "intervalFactor": 1,
"legendFormat": "{{ path }}", "legendFormat": "{{ method }} {{ host }}{{path }}",
"refId": "D" "refId": "D"
}, },
{ {
"expr": " sum (rate(nginx_ingress_controller_response_size_bucket{\n ingress =~ \"$ingress\",\n }[1m])) by (le)\n", "expr": " sum (rate(nginx_ingress_controller_response_size_bucket{\n ingress =~ \"$ingress\",\n }[5m])) by (le)\n",
"hide": true, "hide": true,
"legendFormat": "{{le}}", "legendFormat": "{{le}}",
"refId": "A" "refId": "A"
} }
], ],
"thresholds": [], "thresholds": [],
"timeFrom": null,
"timeRegions": [], "timeRegions": [],
"timeShift": null, "title": "Average Response Size by Method and Path",
"title": "Average response size by Path",
"tooltip": { "tooltip": {
"shared": true, "shared": true,
"sort": 0, "sort": 2,
"value_type": "individual" "value_type": "individual"
}, },
"type": "graph", "type": "graph",
"xaxis": { "xaxis": {
"buckets": null,
"mode": "time", "mode": "time",
"name": null,
"show": true, "show": true,
"values": [] "values": []
}, },
"yaxes": [ "yaxes": [
{ {
"format": "decbytes", "format": "decbytes",
"label": null,
"logBase": 1, "logBase": 1,
"max": null,
"min": null,
"show": true "show": true
}, },
{ {
"format": "short", "format": "short",
"label": null,
"logBase": 1, "logBase": 1,
"max": null,
"min": null,
"show": true "show": true
} }
], ],
"yaxis": { "yaxis": {
"align": false, "align": false
"alignLevel": null
} }
}, },
{ {
@ -816,7 +809,15 @@
"bars": false, "bars": false,
"dashLength": 10, "dashLength": 10,
"dashes": false, "dashes": false,
"datasource": "${DS_PROMETHEUS}", "datasource": {
"uid": "${DS_PROMETHEUS}"
},
"fieldConfig": {
"defaults": {
"links": []
},
"overrides": []
},
"fill": 1, "fill": 1,
"fillGradient": 0, "fillGradient": 0,
"gridPos": { "gridPos": {
@ -840,9 +841,10 @@
"linewidth": 1, "linewidth": 1,
"nullPointMode": "null", "nullPointMode": "null",
"options": { "options": {
"dataLinks": [] "alertThreshold": true
}, },
"percentage": false, "percentage": false,
"pluginVersion": "8.3.4",
"pointradius": 2, "pointradius": 2,
"points": false, "points": false,
"renderer": "flot", "renderer": "flot",
@ -852,7 +854,7 @@
"steppedLine": false, "steppedLine": false,
"targets": [ "targets": [
{ {
"expr": "sum (\n rate(\n nginx_ingress_controller_ingress_upstream_latency_seconds_sum {\n ingress =~ \"$ingress\",\n }[1m]\n)) / sum (\n rate(\n nginx_ingress_controller_ingress_upstream_latency_seconds_count {\n ingress =~ \"$ingress\",\n }[1m]\n )\n)\n", "expr": "sum (\n rate(\n nginx_ingress_controller_ingress_upstream_latency_seconds_sum {\n ingress =~ \"$ingress\",\n }[5m]\n)) / sum (\n rate(\n nginx_ingress_controller_ingress_upstream_latency_seconds_count {\n ingress =~ \"$ingress\",\n }[5m]\n )\n)\n",
"hide": false, "hide": false,
"instant": false, "instant": false,
"interval": "", "interval": "",
@ -862,49 +864,38 @@
} }
], ],
"thresholds": [], "thresholds": [],
"timeFrom": null,
"timeRegions": [], "timeRegions": [],
"timeShift": null, "title": "Upstream Service Latency",
"title": "Upstream service latency",
"tooltip": { "tooltip": {
"shared": true, "shared": true,
"sort": 0, "sort": 2,
"value_type": "individual" "value_type": "individual"
}, },
"type": "graph", "type": "graph",
"xaxis": { "xaxis": {
"buckets": null,
"mode": "time", "mode": "time",
"name": null,
"show": true, "show": true,
"values": [] "values": []
}, },
"yaxes": [ "yaxes": [
{ {
"format": "s", "format": "s",
"label": null,
"logBase": 1, "logBase": 1,
"max": null,
"min": null,
"show": true "show": true
}, },
{ {
"format": "short", "format": "short",
"label": null,
"logBase": 1, "logBase": 1,
"max": null,
"min": null,
"show": true "show": true
} }
], ],
"yaxis": { "yaxis": {
"align": false, "align": false
"alignLevel": null
} }
} }
], ],
"refresh": "30s", "refresh": "30s",
"schemaVersion": 22, "schemaVersion": 34,
"style": "dark", "style": "dark",
"tags": [ "tags": [
"nginx" "nginx"
@ -912,19 +903,29 @@
"templating": { "templating": {
"list": [ "list": [
{ {
"current": {
"selected": false,
"text": "Prometheus",
"value": "Prometheus"
},
"hide": 0, "hide": 0,
"includeAll": false,
"label": "datasource", "label": "datasource",
"multi": false,
"name": "DS_PROMETHEUS", "name": "DS_PROMETHEUS",
"options": [], "options": [],
"query": "prometheus", "query": "prometheus",
"refresh": 1, "refresh": 1,
"regex": "", "regex": "",
"skipUrlSync": false,
"type": "datasource" "type": "datasource"
}, },
{ {
"allValue": ".*", "allValue": ".*",
"current": {}, "current": {},
"datasource": "${DS_PROMETHEUS}", "datasource": {
"uid": "${DS_PROMETHEUS}"
},
"definition": "label_values(nginx_ingress_controller_requests, ingress) ", "definition": "label_values(nginx_ingress_controller_requests, ingress) ",
"hide": 0, "hide": 0,
"includeAll": true, "includeAll": true,
@ -932,13 +933,15 @@
"multi": false, "multi": false,
"name": "ingress", "name": "ingress",
"options": [], "options": [],
"query": {
"query": "label_values(nginx_ingress_controller_requests, ingress) ", "query": "label_values(nginx_ingress_controller_requests, ingress) ",
"refId": "Prometheus-ingress-Variable-Query"
},
"refresh": 1, "refresh": 1,
"regex": "", "regex": "",
"skipUrlSync": false, "skipUrlSync": false,
"sort": 2, "sort": 2,
"tagValuesQuery": "", "tagValuesQuery": "",
"tags": [],
"tagsQuery": "", "tagsQuery": "",
"type": "query", "type": "query",
"useTags": false "useTags": false
@ -977,5 +980,6 @@
"timezone": "browser", "timezone": "browser",
"title": "Request Handling Performance", "title": "Request Handling Performance",
"uid": "4GFbkOsZk", "uid": "4GFbkOsZk",
"version": 1 "version": 1,
"weekStart": ""
} }