forked from public/stack
1171 lines
34 KiB
JSON
1171 lines
34 KiB
JSON
|
{
|
||
|
"__inputs": [],
|
||
|
"__elements": {},
|
||
|
"__requires": [
|
||
|
{
|
||
|
"type": "grafana",
|
||
|
"id": "grafana",
|
||
|
"name": "Grafana",
|
||
|
"version": "9.0.5"
|
||
|
},
|
||
|
{
|
||
|
"type": "datasource",
|
||
|
"id": "prometheus",
|
||
|
"name": "Prometheus",
|
||
|
"version": "1.0.0"
|
||
|
},
|
||
|
{
|
||
|
"type": "panel",
|
||
|
"id": "stat",
|
||
|
"name": "Stat",
|
||
|
"version": ""
|
||
|
},
|
||
|
{
|
||
|
"type": "panel",
|
||
|
"id": "timeseries",
|
||
|
"name": "Time series",
|
||
|
"version": ""
|
||
|
}
|
||
|
],
|
||
|
"annotations": {
|
||
|
"list": [
|
||
|
{
|
||
|
"builtIn": 1,
|
||
|
"datasource": {
|
||
|
"type": "grafana",
|
||
|
"uid": "-- Grafana --"
|
||
|
},
|
||
|
"enable": true,
|
||
|
"hide": true,
|
||
|
"iconColor": "rgba(0, 211, 255, 1)",
|
||
|
"name": "Annotations & Alerts",
|
||
|
"target": {
|
||
|
"limit": 100,
|
||
|
"matchAny": false,
|
||
|
"tags": [],
|
||
|
"type": "dashboard"
|
||
|
},
|
||
|
"type": "dashboard"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"editable": true,
|
||
|
"fiscalYearStartMonth": 0,
|
||
|
"graphTooltip": 1,
|
||
|
"id": null,
|
||
|
"links": [],
|
||
|
"liveNow": false,
|
||
|
"panels": [
|
||
|
{
|
||
|
"collapsed": false,
|
||
|
"gridPos": {
|
||
|
"h": 1,
|
||
|
"w": 24,
|
||
|
"x": 0,
|
||
|
"y": 0
|
||
|
},
|
||
|
"id": 14,
|
||
|
"panels": [],
|
||
|
"title": "General",
|
||
|
"type": "row"
|
||
|
},
|
||
|
{
|
||
|
"datasource": {
|
||
|
"type": "prometheus",
|
||
|
"uid": "${DS_PROMETHEUS}"
|
||
|
},
|
||
|
"fieldConfig": {
|
||
|
"defaults": {
|
||
|
"color": {
|
||
|
"mode": "thresholds"
|
||
|
},
|
||
|
"mappings": [],
|
||
|
"thresholds": {
|
||
|
"mode": "absolute",
|
||
|
"steps": [
|
||
|
{
|
||
|
"color": "green",
|
||
|
"value": null
|
||
|
},
|
||
|
{
|
||
|
"color": "red",
|
||
|
"value": 80
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"unit": "reqps"
|
||
|
},
|
||
|
"overrides": []
|
||
|
},
|
||
|
"gridPos": {
|
||
|
"h": 5,
|
||
|
"w": 8,
|
||
|
"x": 0,
|
||
|
"y": 1
|
||
|
},
|
||
|
"id": 16,
|
||
|
"options": {
|
||
|
"colorMode": "value",
|
||
|
"graphMode": "area",
|
||
|
"justifyMode": "auto",
|
||
|
"orientation": "auto",
|
||
|
"reduceOptions": {
|
||
|
"calcs": [
|
||
|
"lastNotNull"
|
||
|
],
|
||
|
"fields": "",
|
||
|
"values": false
|
||
|
},
|
||
|
"textMode": "auto"
|
||
|
},
|
||
|
"pluginVersion": "9.0.5",
|
||
|
"targets": [
|
||
|
{
|
||
|
"datasource": {
|
||
|
"type": "prometheus",
|
||
|
"uid": "${DS_PROMETHEUS}"
|
||
|
},
|
||
|
"expr": "round(sum(rate(hubble_http_requests_total{reporter=~\"${reporter}\", destination_namespace=~\"${destination_namespace}\", destination_workload=~\"${destination_workload}\"}[$__rate_interval])), 0.001)",
|
||
|
"refId": "A"
|
||
|
}
|
||
|
],
|
||
|
"title": "Incoming Request Volume",
|
||
|
"type": "stat"
|
||
|
},
|
||
|
{
|
||
|
"datasource": {
|
||
|
"type": "prometheus",
|
||
|
"uid": "${DS_PROMETHEUS}"
|
||
|
},
|
||
|
"fieldConfig": {
|
||
|
"defaults": {
|
||
|
"color": {
|
||
|
"mode": "thresholds"
|
||
|
},
|
||
|
"mappings": [],
|
||
|
"min": 0,
|
||
|
"thresholds": {
|
||
|
"mode": "absolute",
|
||
|
"steps": [
|
||
|
{
|
||
|
"color": "green",
|
||
|
"value": null
|
||
|
},
|
||
|
{
|
||
|
"color": "red",
|
||
|
"value": 80
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"unit": "percentunit"
|
||
|
},
|
||
|
"overrides": []
|
||
|
},
|
||
|
"gridPos": {
|
||
|
"h": 5,
|
||
|
"w": 8,
|
||
|
"x": 8,
|
||
|
"y": 1
|
||
|
},
|
||
|
"id": 17,
|
||
|
"options": {
|
||
|
"colorMode": "value",
|
||
|
"graphMode": "area",
|
||
|
"justifyMode": "auto",
|
||
|
"orientation": "auto",
|
||
|
"reduceOptions": {
|
||
|
"calcs": [
|
||
|
"lastNotNull"
|
||
|
],
|
||
|
"fields": "",
|
||
|
"values": false
|
||
|
},
|
||
|
"textMode": "auto"
|
||
|
},
|
||
|
"pluginVersion": "9.0.5",
|
||
|
"targets": [
|
||
|
{
|
||
|
"datasource": {
|
||
|
"type": "prometheus",
|
||
|
"uid": "${DS_PROMETHEUS}"
|
||
|
},
|
||
|
"editorMode": "code",
|
||
|
"exemplar": false,
|
||
|
"expr": "sum(rate(hubble_http_requests_total{cluster=~\"${cluster}\", destination_namespace=~\"${destination_namespace}\", destination_workload=~\"${destination_workload}\", reporter=\"${reporter}\", status!~\"5.*\"}[$__rate_interval]))\n/\nsum(rate(hubble_http_requests_total{cluster=~\"${cluster}\", destination_namespace=~\"${destination_namespace}\", destination_workload=~\"${destination_workload}\", reporter=\"${reporter}\"}[$__rate_interval]))",
|
||
|
"interval": "",
|
||
|
"legendFormat": "{{ cluster }} {{ method }} {{ source_namespace }}/{{ source_workload }}",
|
||
|
"range": true,
|
||
|
"refId": "A"
|
||
|
}
|
||
|
],
|
||
|
"title": "Incoming Request Success Rate (non-5xx responses)",
|
||
|
"type": "stat"
|
||
|
},
|
||
|
{
|
||
|
"datasource": {
|
||
|
"type": "prometheus",
|
||
|
"uid": "${DS_PROMETHEUS}"
|
||
|
},
|
||
|
"fieldConfig": {
|
||
|
"defaults": {
|
||
|
"color": {
|
||
|
"mode": "palette-classic"
|
||
|
},
|
||
|
"custom": {
|
||
|
"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"
|
||
|
},
|
||
|
"showPoints": "auto",
|
||
|
"spanNulls": false,
|
||
|
"stacking": {
|
||
|
"group": "A",
|
||
|
"mode": "none"
|
||
|
},
|
||
|
"thresholdsStyle": {
|
||
|
"mode": "off"
|
||
|
}
|
||
|
},
|
||
|
"mappings": [],
|
||
|
"min": 0,
|
||
|
"thresholds": {
|
||
|
"mode": "absolute",
|
||
|
"steps": [
|
||
|
{
|
||
|
"color": "green",
|
||
|
"value": null
|
||
|
},
|
||
|
{
|
||
|
"color": "red",
|
||
|
"value": 80
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"unit": "s"
|
||
|
},
|
||
|
"overrides": []
|
||
|
},
|
||
|
"gridPos": {
|
||
|
"h": 5,
|
||
|
"w": 8,
|
||
|
"x": 16,
|
||
|
"y": 1
|
||
|
},
|
||
|
"id": 18,
|
||
|
"options": {
|
||
|
"legend": {
|
||
|
"calcs": [
|
||
|
"lastNotNull"
|
||
|
],
|
||
|
"displayMode": "list",
|
||
|
"placement": "bottom"
|
||
|
},
|
||
|
"tooltip": {
|
||
|
"mode": "single",
|
||
|
"sort": "none"
|
||
|
}
|
||
|
},
|
||
|
"pluginVersion": "9.0.5",
|
||
|
"targets": [
|
||
|
{
|
||
|
"datasource": {
|
||
|
"type": "prometheus",
|
||
|
"uid": "${DS_PROMETHEUS}"
|
||
|
},
|
||
|
"editorMode": "code",
|
||
|
"exemplar": false,
|
||
|
"expr": "histogram_quantile(0.50, sum(rate(hubble_http_request_duration_seconds_bucket{cluster=~\"${cluster}\", destination_namespace=~\"${destination_namespace}\", destination_workload=~\"${destination_workload}\", reporter=\"${reporter}\"}[$__rate_interval])) by (le))",
|
||
|
"interval": "",
|
||
|
"legendFormat": "P50",
|
||
|
"range": true,
|
||
|
"refId": "A"
|
||
|
},
|
||
|
{
|
||
|
"datasource": {
|
||
|
"type": "prometheus",
|
||
|
"uid": "${DS_PROMETHEUS}"
|
||
|
},
|
||
|
"editorMode": "code",
|
||
|
"exemplar": false,
|
||
|
"expr": "histogram_quantile(0.95, sum(rate(hubble_http_request_duration_seconds_bucket{cluster=~\"${cluster}\", destination_namespace=~\"${destination_namespace}\", destination_workload=~\"${destination_workload}\", reporter=\"${reporter}\"}[$__rate_interval])) by (le))",
|
||
|
"hide": false,
|
||
|
"interval": "",
|
||
|
"legendFormat": "P95",
|
||
|
"range": true,
|
||
|
"refId": "B"
|
||
|
},
|
||
|
{
|
||
|
"datasource": {
|
||
|
"type": "prometheus",
|
||
|
"uid": "${DS_PROMETHEUS}"
|
||
|
},
|
||
|
"editorMode": "code",
|
||
|
"exemplar": false,
|
||
|
"expr": "histogram_quantile(0.99, sum(rate(hubble_http_request_duration_seconds_bucket{cluster=~\"${cluster}\", destination_namespace=~\"${destination_namespace}\", destination_workload=~\"${destination_workload}\", reporter=\"${reporter}\"}[$__rate_interval])) by (le))",
|
||
|
"hide": false,
|
||
|
"interval": "",
|
||
|
"legendFormat": "P99",
|
||
|
"range": true,
|
||
|
"refId": "C"
|
||
|
}
|
||
|
],
|
||
|
"title": "Request Duration",
|
||
|
"type": "timeseries"
|
||
|
},
|
||
|
{
|
||
|
"collapsed": false,
|
||
|
"gridPos": {
|
||
|
"h": 1,
|
||
|
"w": 24,
|
||
|
"x": 0,
|
||
|
"y": 6
|
||
|
},
|
||
|
"id": 6,
|
||
|
"panels": [],
|
||
|
"title": "Requests by Source",
|
||
|
"type": "row"
|
||
|
},
|
||
|
{
|
||
|
"datasource": {
|
||
|
"type": "prometheus",
|
||
|
"uid": "${DS_PROMETHEUS}"
|
||
|
},
|
||
|
"fieldConfig": {
|
||
|
"defaults": {
|
||
|
"color": {
|
||
|
"mode": "palette-classic"
|
||
|
},
|
||
|
"custom": {
|
||
|
"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"
|
||
|
},
|
||
|
"showPoints": "auto",
|
||
|
"spanNulls": false,
|
||
|
"stacking": {
|
||
|
"group": "A",
|
||
|
"mode": "none"
|
||
|
},
|
||
|
"thresholdsStyle": {
|
||
|
"mode": "off"
|
||
|
}
|
||
|
},
|
||
|
"mappings": [],
|
||
|
"min": 0,
|
||
|
"thresholds": {
|
||
|
"mode": "absolute",
|
||
|
"steps": [
|
||
|
{
|
||
|
"color": "green",
|
||
|
"value": null
|
||
|
},
|
||
|
{
|
||
|
"color": "red",
|
||
|
"value": 80
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"unit": "reqps"
|
||
|
},
|
||
|
"overrides": []
|
||
|
},
|
||
|
"gridPos": {
|
||
|
"h": 10,
|
||
|
"w": 12,
|
||
|
"x": 0,
|
||
|
"y": 7
|
||
|
},
|
||
|
"id": 3,
|
||
|
"options": {
|
||
|
"legend": {
|
||
|
"calcs": [
|
||
|
"max",
|
||
|
"mean",
|
||
|
"sum",
|
||
|
"lastNotNull"
|
||
|
],
|
||
|
"displayMode": "table",
|
||
|
"placement": "bottom"
|
||
|
},
|
||
|
"tooltip": {
|
||
|
"mode": "single",
|
||
|
"sort": "none"
|
||
|
}
|
||
|
},
|
||
|
"targets": [
|
||
|
{
|
||
|
"datasource": {
|
||
|
"type": "prometheus",
|
||
|
"uid": "${DS_PROMETHEUS}"
|
||
|
},
|
||
|
"editorMode": "code",
|
||
|
"exemplar": false,
|
||
|
"expr": "round(sum(rate(hubble_http_requests_total{cluster=~\"${cluster}\", destination_namespace=~\"${destination_namespace}\", destination_workload=~\"${destination_workload}\", reporter=\"${reporter}\", source_namespace=~\"${source_namespace}\", source_workload=~\"${source_workload}\"}[$__rate_interval])) by (cluster, source_namespace, source_workload, status), 0.001)",
|
||
|
"interval": "",
|
||
|
"legendFormat": "{{ cluster }} {{ method }} {{ source_namespace }}/{{ source_workload }}: {{ status }}",
|
||
|
"range": true,
|
||
|
"refId": "A"
|
||
|
}
|
||
|
],
|
||
|
"title": "Incoming Requests by Source and Response Code",
|
||
|
"type": "timeseries"
|
||
|
},
|
||
|
{
|
||
|
"datasource": {
|
||
|
"type": "prometheus",
|
||
|
"uid": "${DS_PROMETHEUS}"
|
||
|
},
|
||
|
"fieldConfig": {
|
||
|
"defaults": {
|
||
|
"color": {
|
||
|
"mode": "palette-classic"
|
||
|
},
|
||
|
"custom": {
|
||
|
"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"
|
||
|
},
|
||
|
"showPoints": "auto",
|
||
|
"spanNulls": false,
|
||
|
"stacking": {
|
||
|
"group": "A",
|
||
|
"mode": "none"
|
||
|
},
|
||
|
"thresholdsStyle": {
|
||
|
"mode": "off"
|
||
|
}
|
||
|
},
|
||
|
"mappings": [],
|
||
|
"min": 0,
|
||
|
"thresholds": {
|
||
|
"mode": "absolute",
|
||
|
"steps": [
|
||
|
{
|
||
|
"color": "green",
|
||
|
"value": null
|
||
|
},
|
||
|
{
|
||
|
"color": "red",
|
||
|
"value": 80
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"unit": "percentunit"
|
||
|
},
|
||
|
"overrides": []
|
||
|
},
|
||
|
"gridPos": {
|
||
|
"h": 10,
|
||
|
"w": 12,
|
||
|
"x": 12,
|
||
|
"y": 7
|
||
|
},
|
||
|
"id": 7,
|
||
|
"options": {
|
||
|
"legend": {
|
||
|
"calcs": [
|
||
|
"mean",
|
||
|
"min",
|
||
|
"max",
|
||
|
"lastNotNull"
|
||
|
],
|
||
|
"displayMode": "table",
|
||
|
"placement": "bottom"
|
||
|
},
|
||
|
"tooltip": {
|
||
|
"mode": "single",
|
||
|
"sort": "none"
|
||
|
}
|
||
|
},
|
||
|
"targets": [
|
||
|
{
|
||
|
"datasource": {
|
||
|
"type": "prometheus",
|
||
|
"uid": "${DS_PROMETHEUS}"
|
||
|
},
|
||
|
"editorMode": "code",
|
||
|
"exemplar": false,
|
||
|
"expr": "sum(rate(hubble_http_requests_total{cluster=~\"${cluster}\", destination_namespace=~\"${destination_namespace}\", destination_workload=~\"${destination_workload}\", reporter=\"${reporter}\", source_namespace=~\"${source_namespace}\", source_workload=~\"${source_workload}\",status!~\"5.*\"}[$__rate_interval])) by (cluster, source_namespace, source_workload)\n/\nsum(rate(hubble_http_requests_total{cluster=~\"${cluster}\", destination_namespace=~\"${destination_namespace}\", destination_workload=~\"${destination_workload}\", reporter=\"${reporter}\", source_namespace=~\"${source_namespace}\", source_workload=~\"${source_workload}\"}[$__rate_interval])) by (cluster, source_namespace, source_workload)",
|
||
|
"interval": "",
|
||
|
"legendFormat": "{{ cluster }} {{ method }} {{ source_namespace }}/{{ source_workload }}",
|
||
|
"range": true,
|
||
|
"refId": "A"
|
||
|
}
|
||
|
],
|
||
|
"title": "Incoming Request Success Rate (non-5xx responses) By Source",
|
||
|
"type": "timeseries"
|
||
|
},
|
||
|
{
|
||
|
"datasource": {
|
||
|
"type": "prometheus",
|
||
|
"uid": "${DS_PROMETHEUS}"
|
||
|
},
|
||
|
"fieldConfig": {
|
||
|
"defaults": {
|
||
|
"color": {
|
||
|
"mode": "palette-classic"
|
||
|
},
|
||
|
"custom": {
|
||
|
"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"
|
||
|
},
|
||
|
"showPoints": "auto",
|
||
|
"spanNulls": false,
|
||
|
"stacking": {
|
||
|
"group": "A",
|
||
|
"mode": "none"
|
||
|
},
|
||
|
"thresholdsStyle": {
|
||
|
"mode": "off"
|
||
|
}
|
||
|
},
|
||
|
"mappings": [],
|
||
|
"min": 0,
|
||
|
"thresholds": {
|
||
|
"mode": "absolute",
|
||
|
"steps": [
|
||
|
{
|
||
|
"color": "green",
|
||
|
"value": null
|
||
|
},
|
||
|
{
|
||
|
"color": "red",
|
||
|
"value": 80
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"unit": "s"
|
||
|
},
|
||
|
"overrides": []
|
||
|
},
|
||
|
"gridPos": {
|
||
|
"h": 10,
|
||
|
"w": 12,
|
||
|
"x": 0,
|
||
|
"y": 17
|
||
|
},
|
||
|
"id": 4,
|
||
|
"options": {
|
||
|
"legend": {
|
||
|
"calcs": [
|
||
|
"min",
|
||
|
"max",
|
||
|
"mean",
|
||
|
"lastNotNull"
|
||
|
],
|
||
|
"displayMode": "table",
|
||
|
"placement": "bottom"
|
||
|
},
|
||
|
"tooltip": {
|
||
|
"mode": "single",
|
||
|
"sort": "none"
|
||
|
}
|
||
|
},
|
||
|
"targets": [
|
||
|
{
|
||
|
"datasource": {
|
||
|
"type": "prometheus",
|
||
|
"uid": "${DS_PROMETHEUS}"
|
||
|
},
|
||
|
"editorMode": "code",
|
||
|
"exemplar": true,
|
||
|
"expr": "histogram_quantile(0.50, sum(rate(hubble_http_request_duration_seconds_bucket{cluster=~\"${cluster}\", destination_namespace=~\"${destination_namespace}\", destination_workload=~\"${destination_workload}\", reporter=\"${reporter}\", source_namespace=~\"${source_namespace}\", source_workload=~\"${source_workload}\"}[$__rate_interval])) by (cluster, source_namespace, source_workload, le))",
|
||
|
"interval": "",
|
||
|
"legendFormat": "{{ cluster }} {{ source_namespace }}/{{ source_workload }} P50",
|
||
|
"range": true,
|
||
|
"refId": "A"
|
||
|
},
|
||
|
{
|
||
|
"datasource": {
|
||
|
"type": "prometheus",
|
||
|
"uid": "${DS_PROMETHEUS}"
|
||
|
},
|
||
|
"editorMode": "code",
|
||
|
"exemplar": true,
|
||
|
"expr": "histogram_quantile(0.95, sum(rate(hubble_http_request_duration_seconds_bucket{cluster=~\"${cluster}\", destination_namespace=~\"${destination_namespace}\", destination_workload=~\"${destination_workload}\", reporter=\"${reporter}\", source_namespace=~\"${source_namespace}\", source_workload=~\"${source_workload}\"}[$__rate_interval])) by (cluster, source_namespace, source_workload, le))",
|
||
|
"hide": false,
|
||
|
"interval": "",
|
||
|
"legendFormat": "{{ cluster }} {{ source_namespace }}/{{ source_workload }} P95",
|
||
|
"range": true,
|
||
|
"refId": "B"
|
||
|
},
|
||
|
{
|
||
|
"datasource": {
|
||
|
"type": "prometheus",
|
||
|
"uid": "${DS_PROMETHEUS}"
|
||
|
},
|
||
|
"editorMode": "code",
|
||
|
"exemplar": true,
|
||
|
"expr": "histogram_quantile(0.99, sum(rate(hubble_http_request_duration_seconds_bucket{cluster=~\"${cluster}\", destination_namespace=~\"${destination_namespace}\", destination_workload=~\"${destination_workload}\", reporter=\"${reporter}\", source_namespace=~\"${source_namespace}\", source_workload=~\"${source_workload}\"}[$__rate_interval])) by (cluster, source_namespace, source_workload, le))",
|
||
|
"hide": false,
|
||
|
"interval": "",
|
||
|
"legendFormat": "{{ cluster }} {{ source_namespace }}/{{ source_workload }} P99",
|
||
|
"range": true,
|
||
|
"refId": "C"
|
||
|
}
|
||
|
],
|
||
|
"title": "HTTP Request Duration by Source",
|
||
|
"type": "timeseries"
|
||
|
},
|
||
|
{
|
||
|
"collapsed": false,
|
||
|
"gridPos": {
|
||
|
"h": 1,
|
||
|
"w": 24,
|
||
|
"x": 0,
|
||
|
"y": 27
|
||
|
},
|
||
|
"id": 9,
|
||
|
"panels": [],
|
||
|
"title": "Requests by Destination",
|
||
|
"type": "row"
|
||
|
},
|
||
|
{
|
||
|
"datasource": {
|
||
|
"type": "prometheus",
|
||
|
"uid": "${DS_PROMETHEUS}"
|
||
|
},
|
||
|
"fieldConfig": {
|
||
|
"defaults": {
|
||
|
"color": {
|
||
|
"mode": "palette-classic"
|
||
|
},
|
||
|
"custom": {
|
||
|
"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"
|
||
|
},
|
||
|
"showPoints": "auto",
|
||
|
"spanNulls": false,
|
||
|
"stacking": {
|
||
|
"group": "A",
|
||
|
"mode": "none"
|
||
|
},
|
||
|
"thresholdsStyle": {
|
||
|
"mode": "off"
|
||
|
}
|
||
|
},
|
||
|
"mappings": [],
|
||
|
"min": 0,
|
||
|
"thresholds": {
|
||
|
"mode": "absolute",
|
||
|
"steps": [
|
||
|
{
|
||
|
"color": "green",
|
||
|
"value": null
|
||
|
},
|
||
|
{
|
||
|
"color": "red",
|
||
|
"value": 80
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"unit": "reqps"
|
||
|
},
|
||
|
"overrides": []
|
||
|
},
|
||
|
"gridPos": {
|
||
|
"h": 10,
|
||
|
"w": 12,
|
||
|
"x": 0,
|
||
|
"y": 28
|
||
|
},
|
||
|
"id": 10,
|
||
|
"options": {
|
||
|
"legend": {
|
||
|
"calcs": [
|
||
|
"max",
|
||
|
"mean",
|
||
|
"sum",
|
||
|
"lastNotNull"
|
||
|
],
|
||
|
"displayMode": "table",
|
||
|
"placement": "bottom"
|
||
|
},
|
||
|
"tooltip": {
|
||
|
"mode": "single",
|
||
|
"sort": "none"
|
||
|
}
|
||
|
},
|
||
|
"targets": [
|
||
|
{
|
||
|
"datasource": {
|
||
|
"type": "prometheus",
|
||
|
"uid": "${DS_PROMETHEUS}"
|
||
|
},
|
||
|
"editorMode": "code",
|
||
|
"exemplar": false,
|
||
|
"expr": "round(sum(rate(hubble_http_requests_total{cluster=~\"${cluster}\", destination_namespace=~\"${destination_namespace}\", destination_workload=~\"${destination_workload}\", reporter=\"${reporter}\", source_namespace=~\"${source_namespace}\", source_workload=~\"${source_workload}\"}[$__rate_interval])) by (cluster, destination_namespace, destination_workload, status), 0.001)",
|
||
|
"interval": "",
|
||
|
"legendFormat": "{{ cluster }} {{ method }} {{ destination_namespace }}/{{ destination_workload }}: {{ status }}",
|
||
|
"range": true,
|
||
|
"refId": "A"
|
||
|
}
|
||
|
],
|
||
|
"title": "Incoming Requests by Destination and Response Code",
|
||
|
"type": "timeseries"
|
||
|
},
|
||
|
{
|
||
|
"datasource": {
|
||
|
"type": "prometheus",
|
||
|
"uid": "${DS_PROMETHEUS}"
|
||
|
},
|
||
|
"fieldConfig": {
|
||
|
"defaults": {
|
||
|
"color": {
|
||
|
"mode": "palette-classic"
|
||
|
},
|
||
|
"custom": {
|
||
|
"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"
|
||
|
},
|
||
|
"showPoints": "auto",
|
||
|
"spanNulls": false,
|
||
|
"stacking": {
|
||
|
"group": "A",
|
||
|
"mode": "none"
|
||
|
},
|
||
|
"thresholdsStyle": {
|
||
|
"mode": "off"
|
||
|
}
|
||
|
},
|
||
|
"mappings": [],
|
||
|
"min": 0,
|
||
|
"thresholds": {
|
||
|
"mode": "absolute",
|
||
|
"steps": [
|
||
|
{
|
||
|
"color": "green",
|
||
|
"value": null
|
||
|
},
|
||
|
{
|
||
|
"color": "red",
|
||
|
"value": 80
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"unit": "percentunit"
|
||
|
},
|
||
|
"overrides": []
|
||
|
},
|
||
|
"gridPos": {
|
||
|
"h": 10,
|
||
|
"w": 12,
|
||
|
"x": 12,
|
||
|
"y": 28
|
||
|
},
|
||
|
"id": 11,
|
||
|
"options": {
|
||
|
"legend": {
|
||
|
"calcs": [
|
||
|
"mean",
|
||
|
"min",
|
||
|
"max",
|
||
|
"lastNotNull"
|
||
|
],
|
||
|
"displayMode": "table",
|
||
|
"placement": "bottom"
|
||
|
},
|
||
|
"tooltip": {
|
||
|
"mode": "single",
|
||
|
"sort": "none"
|
||
|
}
|
||
|
},
|
||
|
"targets": [
|
||
|
{
|
||
|
"datasource": {
|
||
|
"type": "prometheus",
|
||
|
"uid": "${DS_PROMETHEUS}"
|
||
|
},
|
||
|
"editorMode": "code",
|
||
|
"exemplar": false,
|
||
|
"expr": "sum(rate(hubble_http_requests_total{cluster=~\"${cluster}\", destination_namespace=~\"${destination_namespace}\", destination_workload=~\"${destination_workload}\", reporter=\"${reporter}\", source_namespace=~\"${source_namespace}\", source_workload=~\"${source_workload}\",status!~\"5.*\"}[$__rate_interval])) by (cluster, destination_namespace, destination_workload)\n/\nsum(rate(hubble_http_requests_total{cluster=~\"${cluster}\", destination_namespace=~\"${destination_namespace}\", destination_workload=~\"${destination_workload}\", reporter=\"${reporter}\", source_namespace=~\"${source_namespace}\", source_workload=~\"${source_workload}\"}[$__rate_interval])) by (cluster, destination_namespace, destination_workload)",
|
||
|
"interval": "",
|
||
|
"legendFormat": "{{ cluster }} {{ method }} {{ destination_namespace }}/{{ destination_workload }}",
|
||
|
"range": true,
|
||
|
"refId": "A"
|
||
|
}
|
||
|
],
|
||
|
"title": "Incoming Request Success Rate (non-5xx responses) By Destination",
|
||
|
"type": "timeseries"
|
||
|
},
|
||
|
{
|
||
|
"datasource": {
|
||
|
"type": "prometheus",
|
||
|
"uid": "${DS_PROMETHEUS}"
|
||
|
},
|
||
|
"fieldConfig": {
|
||
|
"defaults": {
|
||
|
"color": {
|
||
|
"mode": "palette-classic"
|
||
|
},
|
||
|
"custom": {
|
||
|
"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"
|
||
|
},
|
||
|
"showPoints": "auto",
|
||
|
"spanNulls": false,
|
||
|
"stacking": {
|
||
|
"group": "A",
|
||
|
"mode": "none"
|
||
|
},
|
||
|
"thresholdsStyle": {
|
||
|
"mode": "off"
|
||
|
}
|
||
|
},
|
||
|
"mappings": [],
|
||
|
"min": 0,
|
||
|
"thresholds": {
|
||
|
"mode": "absolute",
|
||
|
"steps": [
|
||
|
{
|
||
|
"color": "green"
|
||
|
},
|
||
|
{
|
||
|
"color": "red",
|
||
|
"value": 80
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"unit": "s"
|
||
|
},
|
||
|
"overrides": []
|
||
|
},
|
||
|
"gridPos": {
|
||
|
"h": 10,
|
||
|
"w": 12,
|
||
|
"x": 0,
|
||
|
"y": 38
|
||
|
},
|
||
|
"id": 12,
|
||
|
"options": {
|
||
|
"legend": {
|
||
|
"calcs": [
|
||
|
"min",
|
||
|
"max",
|
||
|
"mean",
|
||
|
"lastNotNull"
|
||
|
],
|
||
|
"displayMode": "table",
|
||
|
"placement": "bottom"
|
||
|
},
|
||
|
"tooltip": {
|
||
|
"mode": "single",
|
||
|
"sort": "none"
|
||
|
}
|
||
|
},
|
||
|
"targets": [
|
||
|
{
|
||
|
"datasource": {
|
||
|
"type": "prometheus",
|
||
|
"uid": "${DS_PROMETHEUS}"
|
||
|
},
|
||
|
"editorMode": "code",
|
||
|
"exemplar": true,
|
||
|
"expr": "histogram_quantile(0.50, sum(rate(hubble_http_request_duration_seconds_bucket{cluster=~\"${cluster}\", destination_namespace=~\"${destination_namespace}\", destination_workload=~\"${destination_workload}\", reporter=\"${reporter}\", source_namespace=~\"${source_namespace}\", source_workload=~\"${source_workload}\"}[$__rate_interval])) by (cluster, destination_namespace, destination_workload, le))",
|
||
|
"interval": "",
|
||
|
"legendFormat": "{{ cluster }} {{ destination_namespace }}/{{ destination_workload }} P50",
|
||
|
"range": true,
|
||
|
"refId": "A"
|
||
|
},
|
||
|
{
|
||
|
"datasource": {
|
||
|
"type": "prometheus",
|
||
|
"uid": "${DS_PROMETHEUS}"
|
||
|
},
|
||
|
"editorMode": "code",
|
||
|
"exemplar": true,
|
||
|
"expr": "histogram_quantile(0.95, sum(rate(hubble_http_request_duration_seconds_bucket{cluster=~\"${cluster}\", destination_namespace=~\"${destination_namespace}\", destination_workload=~\"${destination_workload}\", reporter=\"${reporter}\", source_namespace=~\"${source_namespace}\", source_workload=~\"${source_workload}\"}[$__rate_interval])) by (cluster, destination_namespace, destination_workload, le))",
|
||
|
"hide": false,
|
||
|
"interval": "",
|
||
|
"legendFormat": "{{ cluster }} {{ destination_namespace }}/{{ destination_workload }} P95",
|
||
|
"range": true,
|
||
|
"refId": "B"
|
||
|
},
|
||
|
{
|
||
|
"datasource": {
|
||
|
"type": "prometheus",
|
||
|
"uid": "${DS_PROMETHEUS}"
|
||
|
},
|
||
|
"editorMode": "code",
|
||
|
"exemplar": true,
|
||
|
"expr": "histogram_quantile(0.99, sum(rate(hubble_http_request_duration_seconds_bucket{cluster=~\"${cluster}\", destination_namespace=~\"${destination_namespace}\", destination_workload=~\"${destination_workload}\", reporter=\"${reporter}\", source_namespace=~\"${source_namespace}\", source_workload=~\"${source_workload}\"}[$__rate_interval])) by (cluster, destination_namespace, destination_workload, le))",
|
||
|
"hide": false,
|
||
|
"interval": "",
|
||
|
"legendFormat": "{{ cluster }} {{ destination_namespace }}/{{ destination_workload }} P99",
|
||
|
"range": true,
|
||
|
"refId": "C"
|
||
|
}
|
||
|
],
|
||
|
"title": "HTTP Request Duration by Destination",
|
||
|
"type": "timeseries"
|
||
|
}
|
||
|
],
|
||
|
"refresh": "30s",
|
||
|
"schemaVersion": 36,
|
||
|
"style": "dark",
|
||
|
"tags": [],
|
||
|
"templating": {
|
||
|
"list": [
|
||
|
{
|
||
|
"current": {},
|
||
|
"hide": 0,
|
||
|
"includeAll": false,
|
||
|
"label": "Prometheus",
|
||
|
"multi": false,
|
||
|
"name": "DS_PROMETHEUS",
|
||
|
"options": [],
|
||
|
"query": "prometheus",
|
||
|
"queryValue": "",
|
||
|
"refresh": 1,
|
||
|
"regex": "",
|
||
|
"skipUrlSync": false,
|
||
|
"type": "datasource"
|
||
|
},
|
||
|
{
|
||
|
"current": {},
|
||
|
"datasource": {
|
||
|
"type": "prometheus",
|
||
|
"uid": "${DS_PROMETHEUS}"
|
||
|
},
|
||
|
"definition": "label_values(hubble_http_requests_total, cluster)",
|
||
|
"hide": 0,
|
||
|
"includeAll": false,
|
||
|
"label": "Cluster",
|
||
|
"multi": false,
|
||
|
"name": "cluster",
|
||
|
"options": [],
|
||
|
"query": {
|
||
|
"query": "label_values(hubble_http_requests_total, cluster)",
|
||
|
"refId": "StandardVariableQuery"
|
||
|
},
|
||
|
"refresh": 1,
|
||
|
"regex": "",
|
||
|
"skipUrlSync": false,
|
||
|
"sort": 2,
|
||
|
"type": "query"
|
||
|
},
|
||
|
{
|
||
|
"current": {},
|
||
|
"datasource": {
|
||
|
"type": "prometheus",
|
||
|
"uid": "${DS_PROMETHEUS}"
|
||
|
},
|
||
|
"definition": "label_values(hubble_http_requests_total{cluster=~\"${cluster}\"}, destination_namespace)",
|
||
|
"description": "",
|
||
|
"hide": 0,
|
||
|
"includeAll": false,
|
||
|
"label": "Destination Namespace",
|
||
|
"multi": false,
|
||
|
"name": "destination_namespace",
|
||
|
"options": [],
|
||
|
"query": {
|
||
|
"query": "label_values(hubble_http_requests_total{cluster=~\"${cluster}\"}, destination_namespace)",
|
||
|
"refId": "StandardVariableQuery"
|
||
|
},
|
||
|
"refresh": 2,
|
||
|
"regex": "",
|
||
|
"skipUrlSync": false,
|
||
|
"sort": 2,
|
||
|
"type": "query"
|
||
|
},
|
||
|
{
|
||
|
"current": {},
|
||
|
"datasource": {
|
||
|
"type": "prometheus",
|
||
|
"uid": "${DS_PROMETHEUS}"
|
||
|
},
|
||
|
"definition": "label_values(hubble_http_requests_total{cluster=~\"${cluster}\", destination_namespace=~\"${destination_namespace}\"}, destination_workload)",
|
||
|
"hide": 0,
|
||
|
"includeAll": false,
|
||
|
"label": "Destination Workload",
|
||
|
"multi": false,
|
||
|
"name": "destination_workload",
|
||
|
"options": [],
|
||
|
"query": {
|
||
|
"query": "label_values(hubble_http_requests_total{cluster=~\"${cluster}\", destination_namespace=~\"${destination_namespace}\"}, destination_workload)",
|
||
|
"refId": "StandardVariableQuery"
|
||
|
},
|
||
|
"refresh": 1,
|
||
|
"regex": "",
|
||
|
"skipUrlSync": false,
|
||
|
"sort": 2,
|
||
|
"type": "query"
|
||
|
},
|
||
|
{
|
||
|
"current": {},
|
||
|
"datasource": {
|
||
|
"type": "prometheus",
|
||
|
"uid": "${DS_PROMETHEUS}"
|
||
|
},
|
||
|
"definition": "label_values(hubble_http_requests_total, reporter)",
|
||
|
"hide": 0,
|
||
|
"includeAll": false,
|
||
|
"label": "Reporter",
|
||
|
"multi": false,
|
||
|
"name": "reporter",
|
||
|
"options": [],
|
||
|
"query": {
|
||
|
"query": "label_values(hubble_http_requests_total, reporter)",
|
||
|
"refId": "StandardVariableQuery"
|
||
|
},
|
||
|
"refresh": 1,
|
||
|
"regex": "",
|
||
|
"skipUrlSync": false,
|
||
|
"sort": 0,
|
||
|
"type": "query"
|
||
|
},
|
||
|
{
|
||
|
"current": {},
|
||
|
"datasource": {
|
||
|
"type": "prometheus",
|
||
|
"uid": "${DS_PROMETHEUS}"
|
||
|
},
|
||
|
"definition": "label_values(hubble_http_requests_total{cluster=~\"${cluster}\", destination_namespace=~\"${destination_namespace}\", destination_workload=~\"${destination_workload}\"}, source_namespace)",
|
||
|
"hide": 0,
|
||
|
"includeAll": true,
|
||
|
"label": "Source Namespace",
|
||
|
"multi": true,
|
||
|
"name": "source_namespace",
|
||
|
"options": [],
|
||
|
"query": {
|
||
|
"query": "label_values(hubble_http_requests_total{cluster=~\"${cluster}\", destination_namespace=~\"${destination_namespace}\", destination_workload=~\"${destination_workload}\"}, source_namespace)",
|
||
|
"refId": "StandardVariableQuery"
|
||
|
},
|
||
|
"refresh": 1,
|
||
|
"regex": "",
|
||
|
"skipUrlSync": false,
|
||
|
"sort": 0,
|
||
|
"type": "query"
|
||
|
},
|
||
|
{
|
||
|
"current": {},
|
||
|
"datasource": {
|
||
|
"type": "prometheus",
|
||
|
"uid": "${DS_PROMETHEUS}"
|
||
|
},
|
||
|
"definition": "label_values(hubble_http_requests_total{cluster=~\"${cluster}\", destination_namespace=~\"${destination_namespace}\", destination_workload=~\"${destination_workload}\", source_namespace=~\"${source_namespace}\"}, source_workload)",
|
||
|
"hide": 0,
|
||
|
"includeAll": true,
|
||
|
"label": "Source Workload",
|
||
|
"multi": true,
|
||
|
"name": "source_workload",
|
||
|
"options": [],
|
||
|
"query": {
|
||
|
"query": "label_values(hubble_http_requests_total{cluster=~\"${cluster}\", destination_namespace=~\"${destination_namespace}\", destination_workload=~\"${destination_workload}\", source_namespace=~\"${source_namespace}\"}, source_workload)",
|
||
|
"refId": "StandardVariableQuery"
|
||
|
},
|
||
|
"refresh": 1,
|
||
|
"regex": "",
|
||
|
"skipUrlSync": false,
|
||
|
"sort": 0,
|
||
|
"type": "query"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"time": {
|
||
|
"from": "now-6h",
|
||
|
"to": "now"
|
||
|
},
|
||
|
"timepicker": {},
|
||
|
"timezone": "",
|
||
|
"title": "Hubble L7 HTTP Metrics by Workload",
|
||
|
"uid": "3g264CZVz",
|
||
|
"version": 2,
|
||
|
"weekStart": ""
|
||
|
}
|