5649 lines
133 KiB
JSON
5649 lines
133 KiB
JSON
{
|
|
"annotations": {
|
|
"list": []
|
|
},
|
|
"editable": true,
|
|
"fiscalYearStartMonth": 0,
|
|
"graphTooltip": 1,
|
|
"id": null,
|
|
"links": [],
|
|
"liveNow": false,
|
|
"panels": [
|
|
{
|
|
"id": 1,
|
|
"type": "row",
|
|
"title": "Overview",
|
|
"collapsed": false,
|
|
"gridPos": {
|
|
"h": 1,
|
|
"w": 24,
|
|
"x": 0,
|
|
"y": 0
|
|
},
|
|
"panels": []
|
|
},
|
|
{
|
|
"id": 2,
|
|
"type": "stat",
|
|
"title": "Request rate",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 5,
|
|
"w": 6,
|
|
"x": 0,
|
|
"y": 1
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "reqps",
|
|
"custom": {}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"options": {
|
|
"reduceOptions": {
|
|
"values": false,
|
|
"calcs": [
|
|
"lastNotNull"
|
|
],
|
|
"fields": ""
|
|
},
|
|
"orientation": "auto",
|
|
"textMode": "auto",
|
|
"colorMode": "value",
|
|
"graphMode": "area",
|
|
"justifyMode": "auto"
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "sum(rate(rust_proxy_requests_total[$__rate_interval]))",
|
|
"legendFormat": "req/s",
|
|
"range": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": 3,
|
|
"type": "stat",
|
|
"title": "5xx / errors rate",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 5,
|
|
"w": 6,
|
|
"x": 6,
|
|
"y": 1
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "ops",
|
|
"custom": {}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"options": {
|
|
"reduceOptions": {
|
|
"values": false,
|
|
"calcs": [
|
|
"lastNotNull"
|
|
],
|
|
"fields": ""
|
|
},
|
|
"orientation": "auto",
|
|
"textMode": "auto",
|
|
"colorMode": "value",
|
|
"graphMode": "area",
|
|
"justifyMode": "auto"
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "sum(rate(rust_proxy_errors_total[$__rate_interval]))",
|
|
"legendFormat": "errors/s",
|
|
"range": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": 4,
|
|
"type": "stat",
|
|
"title": "Active exchanges",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 5,
|
|
"w": 6,
|
|
"x": 12,
|
|
"y": 1
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "short",
|
|
"custom": {}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"options": {
|
|
"reduceOptions": {
|
|
"values": false,
|
|
"calcs": [
|
|
"lastNotNull"
|
|
],
|
|
"fields": ""
|
|
},
|
|
"orientation": "auto",
|
|
"textMode": "auto",
|
|
"colorMode": "value",
|
|
"graphMode": "area",
|
|
"justifyMode": "auto"
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "sum(rust_proxy_requests_active)",
|
|
"legendFormat": "active",
|
|
"range": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": 5,
|
|
"type": "stat",
|
|
"title": "Process RSS",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 5,
|
|
"w": 6,
|
|
"x": 18,
|
|
"y": 1
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "bytes",
|
|
"custom": {}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"options": {
|
|
"reduceOptions": {
|
|
"values": false,
|
|
"calcs": [
|
|
"lastNotNull"
|
|
],
|
|
"fields": ""
|
|
},
|
|
"orientation": "auto",
|
|
"textMode": "auto",
|
|
"colorMode": "value",
|
|
"graphMode": "area",
|
|
"justifyMode": "auto"
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "rust_proxy_process_rss_bytes",
|
|
"legendFormat": "RSS",
|
|
"range": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": 6,
|
|
"type": "timeseries",
|
|
"title": "Traffic and responses",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 7,
|
|
"w": 12,
|
|
"x": 0,
|
|
"y": 6
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "ops",
|
|
"custom": {
|
|
"drawStyle": "line",
|
|
"lineInterpolation": "linear",
|
|
"lineWidth": 1,
|
|
"fillOpacity": 10,
|
|
"showPoints": "never",
|
|
"spanNulls": false,
|
|
"axisPlacement": "auto"
|
|
}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"options": {
|
|
"legend": {
|
|
"displayMode": "list",
|
|
"placement": "bottom",
|
|
"calcs": []
|
|
},
|
|
"tooltip": {
|
|
"mode": "multi",
|
|
"sort": "none"
|
|
}
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "sum(rate(rust_proxy_requests_total[$__rate_interval]))",
|
|
"legendFormat": "requests/s",
|
|
"range": true
|
|
},
|
|
{
|
|
"refId": "B",
|
|
"expr": "sum(rate(rust_proxy_requests_completed_total[$__rate_interval]))",
|
|
"legendFormat": "completed/s",
|
|
"range": true
|
|
},
|
|
{
|
|
"refId": "C",
|
|
"expr": "sum(rate(rust_proxy_errors_total[$__rate_interval]))",
|
|
"legendFormat": "errors/s",
|
|
"range": true
|
|
},
|
|
{
|
|
"refId": "D",
|
|
"expr": "sum(rate(rust_proxy_requests_rejected_total[$__rate_interval]))",
|
|
"legendFormat": "rejected/s",
|
|
"range": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": 7,
|
|
"type": "timeseries",
|
|
"title": "Response status classes",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 7,
|
|
"w": 12,
|
|
"x": 12,
|
|
"y": 6
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "ops",
|
|
"custom": {
|
|
"drawStyle": "line",
|
|
"lineInterpolation": "linear",
|
|
"lineWidth": 1,
|
|
"fillOpacity": 10,
|
|
"showPoints": "never",
|
|
"spanNulls": false,
|
|
"axisPlacement": "auto"
|
|
}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"options": {
|
|
"legend": {
|
|
"displayMode": "list",
|
|
"placement": "bottom",
|
|
"calcs": []
|
|
},
|
|
"tooltip": {
|
|
"mode": "multi",
|
|
"sort": "none"
|
|
}
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "sum by (class) (rate(rust_proxy_responses_total[$__rate_interval]))",
|
|
"legendFormat": "{{class}}",
|
|
"range": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": 8,
|
|
"type": "row",
|
|
"title": "Vhosts and backends",
|
|
"collapsed": false,
|
|
"gridPos": {
|
|
"h": 1,
|
|
"w": 24,
|
|
"x": 0,
|
|
"y": 13
|
|
},
|
|
"panels": []
|
|
},
|
|
{
|
|
"id": 9,
|
|
"type": "timeseries",
|
|
"title": "Requests by vhost",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 7,
|
|
"w": 12,
|
|
"x": 0,
|
|
"y": 14
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "reqps",
|
|
"custom": {
|
|
"drawStyle": "line",
|
|
"lineInterpolation": "linear",
|
|
"lineWidth": 1,
|
|
"fillOpacity": 10,
|
|
"showPoints": "never",
|
|
"spanNulls": false,
|
|
"axisPlacement": "auto"
|
|
}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"options": {
|
|
"legend": {
|
|
"displayMode": "list",
|
|
"placement": "bottom",
|
|
"calcs": []
|
|
},
|
|
"tooltip": {
|
|
"mode": "multi",
|
|
"sort": "none"
|
|
}
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "sum by (vhost) (rate(rust_proxy_vhost_requests_total[$__rate_interval]))",
|
|
"legendFormat": "{{vhost}}",
|
|
"range": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": 10,
|
|
"type": "timeseries",
|
|
"title": "Vhost p95 exchange latency",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 7,
|
|
"w": 12,
|
|
"x": 12,
|
|
"y": 14
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "s",
|
|
"custom": {
|
|
"drawStyle": "line",
|
|
"lineInterpolation": "linear",
|
|
"lineWidth": 1,
|
|
"fillOpacity": 10,
|
|
"showPoints": "never",
|
|
"spanNulls": false,
|
|
"axisPlacement": "auto"
|
|
}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"options": {
|
|
"legend": {
|
|
"displayMode": "list",
|
|
"placement": "bottom",
|
|
"calcs": []
|
|
},
|
|
"tooltip": {
|
|
"mode": "multi",
|
|
"sort": "none"
|
|
}
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "histogram_quantile(0.95, sum by (le,vhost) (rate(rust_proxy_vhost_exchange_duration_seconds_bucket[$__rate_interval])))",
|
|
"legendFormat": "{{vhost}}",
|
|
"range": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": 11,
|
|
"type": "timeseries",
|
|
"title": "Backend health",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 7,
|
|
"w": 8,
|
|
"x": 0,
|
|
"y": 21
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "bool",
|
|
"custom": {
|
|
"drawStyle": "line",
|
|
"lineInterpolation": "linear",
|
|
"lineWidth": 1,
|
|
"fillOpacity": 10,
|
|
"showPoints": "never",
|
|
"spanNulls": false,
|
|
"axisPlacement": "auto"
|
|
}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"options": {
|
|
"legend": {
|
|
"displayMode": "list",
|
|
"placement": "bottom",
|
|
"calcs": []
|
|
},
|
|
"tooltip": {
|
|
"mode": "multi",
|
|
"sort": "none"
|
|
}
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "rust_proxy_backend_up",
|
|
"legendFormat": "{{vhost}} / {{backend}}",
|
|
"range": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": 12,
|
|
"type": "timeseries",
|
|
"title": "Backend header latency",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 7,
|
|
"w": 8,
|
|
"x": 8,
|
|
"y": 21
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "s",
|
|
"custom": {
|
|
"drawStyle": "line",
|
|
"lineInterpolation": "linear",
|
|
"lineWidth": 1,
|
|
"fillOpacity": 10,
|
|
"showPoints": "never",
|
|
"spanNulls": false,
|
|
"axisPlacement": "auto"
|
|
}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"options": {
|
|
"legend": {
|
|
"displayMode": "list",
|
|
"placement": "bottom",
|
|
"calcs": []
|
|
},
|
|
"tooltip": {
|
|
"mode": "multi",
|
|
"sort": "none"
|
|
}
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "rust_proxy_backend_latency_seconds",
|
|
"legendFormat": "{{vhost}} / {{backend}}",
|
|
"range": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": 13,
|
|
"type": "timeseries",
|
|
"title": "Backend active exchanges",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 7,
|
|
"w": 8,
|
|
"x": 16,
|
|
"y": 21
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "short",
|
|
"custom": {
|
|
"drawStyle": "line",
|
|
"lineInterpolation": "linear",
|
|
"lineWidth": 1,
|
|
"fillOpacity": 10,
|
|
"showPoints": "never",
|
|
"spanNulls": false,
|
|
"axisPlacement": "auto"
|
|
}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"options": {
|
|
"legend": {
|
|
"displayMode": "list",
|
|
"placement": "bottom",
|
|
"calcs": []
|
|
},
|
|
"tooltip": {
|
|
"mode": "multi",
|
|
"sort": "none"
|
|
}
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "rust_proxy_backend_active_exchanges",
|
|
"legendFormat": "{{vhost}} / {{backend}}",
|
|
"range": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": 14,
|
|
"type": "timeseries",
|
|
"title": "Backend error rate",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 7,
|
|
"w": 12,
|
|
"x": 0,
|
|
"y": 28
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "ops",
|
|
"custom": {
|
|
"drawStyle": "line",
|
|
"lineInterpolation": "linear",
|
|
"lineWidth": 1,
|
|
"fillOpacity": 10,
|
|
"showPoints": "never",
|
|
"spanNulls": false,
|
|
"axisPlacement": "auto"
|
|
}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"options": {
|
|
"legend": {
|
|
"displayMode": "list",
|
|
"placement": "bottom",
|
|
"calcs": []
|
|
},
|
|
"tooltip": {
|
|
"mode": "multi",
|
|
"sort": "none"
|
|
}
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "sum by (vhost,backend) (rate(rust_proxy_backend_errors_total[$__rate_interval]))",
|
|
"legendFormat": "{{vhost}} / {{backend}}",
|
|
"range": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": 15,
|
|
"type": "timeseries",
|
|
"title": "Backend traffic estimate",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 7,
|
|
"w": 12,
|
|
"x": 12,
|
|
"y": 28
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "Bps",
|
|
"custom": {
|
|
"drawStyle": "line",
|
|
"lineInterpolation": "linear",
|
|
"lineWidth": 1,
|
|
"fillOpacity": 10,
|
|
"showPoints": "never",
|
|
"spanNulls": false,
|
|
"axisPlacement": "auto"
|
|
}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"options": {
|
|
"legend": {
|
|
"displayMode": "list",
|
|
"placement": "bottom",
|
|
"calcs": []
|
|
},
|
|
"tooltip": {
|
|
"mode": "multi",
|
|
"sort": "none"
|
|
}
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "rust_proxy_backend_traffic_bytes_per_second",
|
|
"legendFormat": "{{vhost}} / {{backend}}",
|
|
"range": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": 83,
|
|
"type": "timeseries",
|
|
"title": "Backend client generation",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 7,
|
|
"w": 8,
|
|
"x": 0,
|
|
"y": 35
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "short",
|
|
"custom": {
|
|
"drawStyle": "line",
|
|
"lineInterpolation": "linear",
|
|
"lineWidth": 1,
|
|
"fillOpacity": 10,
|
|
"showPoints": "never",
|
|
"spanNulls": false,
|
|
"axisPlacement": "auto"
|
|
}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"options": {
|
|
"legend": {
|
|
"displayMode": "list",
|
|
"placement": "bottom",
|
|
"calcs": []
|
|
},
|
|
"tooltip": {
|
|
"mode": "multi",
|
|
"sort": "none"
|
|
}
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "rust_proxy_backend_upstream_client_generation",
|
|
"legendFormat": "{{vhost}} / {{backend}} generation",
|
|
"range": true
|
|
},
|
|
{
|
|
"refId": "B",
|
|
"expr": "rust_proxy_backend_upstream_client_generation_requests",
|
|
"legendFormat": "{{vhost}} / {{backend}} requests",
|
|
"range": true
|
|
}
|
|
],
|
|
"description": "Current reusable upstream-client generation and the requests served by that generation."
|
|
},
|
|
{
|
|
"id": 84,
|
|
"type": "timeseries",
|
|
"title": "Backend client generation age",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 7,
|
|
"w": 8,
|
|
"x": 8,
|
|
"y": 35
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "s",
|
|
"custom": {
|
|
"drawStyle": "line",
|
|
"lineInterpolation": "linear",
|
|
"lineWidth": 1,
|
|
"fillOpacity": 10,
|
|
"showPoints": "never",
|
|
"spanNulls": false,
|
|
"axisPlacement": "auto"
|
|
}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"options": {
|
|
"legend": {
|
|
"displayMode": "list",
|
|
"placement": "bottom",
|
|
"calcs": []
|
|
},
|
|
"tooltip": {
|
|
"mode": "multi",
|
|
"sort": "none"
|
|
}
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "rust_proxy_backend_upstream_client_generation_age_seconds",
|
|
"legendFormat": "{{vhost}} / {{backend}}",
|
|
"range": true
|
|
}
|
|
],
|
|
"description": "Age of the currently active reusable upstream-client generation."
|
|
},
|
|
{
|
|
"id": 85,
|
|
"type": "timeseries",
|
|
"title": "Backend retries and rotations",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 7,
|
|
"w": 8,
|
|
"x": 16,
|
|
"y": 35
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "ops",
|
|
"custom": {
|
|
"drawStyle": "line",
|
|
"lineInterpolation": "linear",
|
|
"lineWidth": 1,
|
|
"fillOpacity": 10,
|
|
"showPoints": "never",
|
|
"spanNulls": false,
|
|
"axisPlacement": "auto"
|
|
}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"options": {
|
|
"legend": {
|
|
"displayMode": "list",
|
|
"placement": "bottom",
|
|
"calcs": []
|
|
},
|
|
"tooltip": {
|
|
"mode": "multi",
|
|
"sort": "none"
|
|
}
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "sum by (vhost,backend) (rate(rust_proxy_backend_retry_attempts_total[$__rate_interval]))",
|
|
"legendFormat": "{{vhost}} / {{backend}} retry attempts",
|
|
"range": true
|
|
},
|
|
{
|
|
"refId": "B",
|
|
"expr": "sum by (vhost,backend) (rate(rust_proxy_backend_retry_successes_total[$__rate_interval]))",
|
|
"legendFormat": "{{vhost}} / {{backend}} retry successes",
|
|
"range": true
|
|
},
|
|
{
|
|
"refId": "C",
|
|
"expr": "sum by (vhost,backend) (rate(rust_proxy_backend_upstream_client_rotations_total[$__rate_interval]))",
|
|
"legendFormat": "{{vhost}} / {{backend}} client rotations",
|
|
"range": true
|
|
}
|
|
],
|
|
"description": "Backend retry attempts/successes and reusable upstream-client rotations per second."
|
|
},
|
|
{
|
|
"id": 58,
|
|
"type": "row",
|
|
"title": "Docker vhosts",
|
|
"collapsed": false,
|
|
"gridPos": {
|
|
"h": 1,
|
|
"w": 24,
|
|
"x": 0,
|
|
"y": 42
|
|
},
|
|
"panels": []
|
|
},
|
|
{
|
|
"id": 59,
|
|
"type": "stat",
|
|
"title": "Docker agents configured",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 5,
|
|
"w": 6,
|
|
"x": 0,
|
|
"y": 43
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "short",
|
|
"custom": {}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"options": {
|
|
"reduceOptions": {
|
|
"values": false,
|
|
"calcs": [
|
|
"lastNotNull"
|
|
],
|
|
"fields": ""
|
|
},
|
|
"orientation": "auto",
|
|
"textMode": "auto",
|
|
"colorMode": "value",
|
|
"graphMode": "area",
|
|
"justifyMode": "auto"
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "rust_proxy_docker_agents_configured",
|
|
"legendFormat": "value",
|
|
"range": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": 60,
|
|
"type": "stat",
|
|
"title": "Docker vhosts configured",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 5,
|
|
"w": 6,
|
|
"x": 6,
|
|
"y": 43
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "short",
|
|
"custom": {}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"options": {
|
|
"reduceOptions": {
|
|
"values": false,
|
|
"calcs": [
|
|
"lastNotNull"
|
|
],
|
|
"fields": ""
|
|
},
|
|
"orientation": "auto",
|
|
"textMode": "auto",
|
|
"colorMode": "value",
|
|
"graphMode": "area",
|
|
"justifyMode": "auto"
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "rust_proxy_docker_vhosts_configured",
|
|
"legendFormat": "value",
|
|
"range": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": 61,
|
|
"type": "stat",
|
|
"title": "Docker vhosts enabled",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 5,
|
|
"w": 6,
|
|
"x": 12,
|
|
"y": 43
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "short",
|
|
"custom": {}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"options": {
|
|
"reduceOptions": {
|
|
"values": false,
|
|
"calcs": [
|
|
"lastNotNull"
|
|
],
|
|
"fields": ""
|
|
},
|
|
"orientation": "auto",
|
|
"textMode": "auto",
|
|
"colorMode": "value",
|
|
"graphMode": "area",
|
|
"justifyMode": "auto"
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "sum(rust_proxy_docker_vhost_enabled{agent=~\"$docker_agent\",service=~\"$docker_service\"})",
|
|
"legendFormat": "value",
|
|
"range": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": 62,
|
|
"type": "stat",
|
|
"title": "Docker backend pools ready",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 5,
|
|
"w": 6,
|
|
"x": 18,
|
|
"y": 43
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "short",
|
|
"custom": {}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"options": {
|
|
"reduceOptions": {
|
|
"values": false,
|
|
"calcs": [
|
|
"lastNotNull"
|
|
],
|
|
"fields": ""
|
|
},
|
|
"orientation": "auto",
|
|
"textMode": "auto",
|
|
"colorMode": "value",
|
|
"graphMode": "area",
|
|
"justifyMode": "auto"
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "sum(rust_proxy_docker_backend_pool_ready{agent=~\"$docker_agent\",service=~\"$docker_service\"})",
|
|
"legendFormat": "value",
|
|
"range": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": 63,
|
|
"type": "timeseries",
|
|
"title": "Docker request rate",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 7,
|
|
"w": 8,
|
|
"x": 0,
|
|
"y": 48
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "reqps",
|
|
"custom": {
|
|
"drawStyle": "line",
|
|
"lineInterpolation": "linear",
|
|
"lineWidth": 1,
|
|
"fillOpacity": 10,
|
|
"showPoints": "never",
|
|
"spanNulls": false,
|
|
"axisPlacement": "auto"
|
|
}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"options": {
|
|
"legend": {
|
|
"displayMode": "list",
|
|
"placement": "bottom",
|
|
"calcs": []
|
|
},
|
|
"tooltip": {
|
|
"mode": "multi",
|
|
"sort": "none"
|
|
}
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "sum by (agent,service) (rate(rust_proxy_docker_vhost_requests_total{agent=~\"$docker_agent\",service=~\"$docker_service\"}[$__rate_interval]))",
|
|
"legendFormat": "{{agent}} / {{service}}",
|
|
"range": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": 64,
|
|
"type": "timeseries",
|
|
"title": "Docker errors and rejects",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 7,
|
|
"w": 8,
|
|
"x": 8,
|
|
"y": 48
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "ops",
|
|
"custom": {
|
|
"drawStyle": "line",
|
|
"lineInterpolation": "linear",
|
|
"lineWidth": 1,
|
|
"fillOpacity": 10,
|
|
"showPoints": "never",
|
|
"spanNulls": false,
|
|
"axisPlacement": "auto"
|
|
}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"options": {
|
|
"legend": {
|
|
"displayMode": "list",
|
|
"placement": "bottom",
|
|
"calcs": []
|
|
},
|
|
"tooltip": {
|
|
"mode": "multi",
|
|
"sort": "none"
|
|
}
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "sum by (agent,service) (rate(rust_proxy_docker_vhost_errors_total{agent=~\"$docker_agent\",service=~\"$docker_service\"}[$__rate_interval]))",
|
|
"legendFormat": "{{agent}} / {{service}} errors",
|
|
"range": true
|
|
},
|
|
{
|
|
"refId": "B",
|
|
"expr": "sum by (agent,service) (rate(rust_proxy_docker_vhost_rejected_total{agent=~\"$docker_agent\",service=~\"$docker_service\"}[$__rate_interval]))",
|
|
"legendFormat": "{{agent}} / {{service}} rejected",
|
|
"range": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": 65,
|
|
"type": "timeseries",
|
|
"title": "Docker p95 exchange latency",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 7,
|
|
"w": 8,
|
|
"x": 16,
|
|
"y": 48
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "s",
|
|
"custom": {
|
|
"drawStyle": "line",
|
|
"lineInterpolation": "linear",
|
|
"lineWidth": 1,
|
|
"fillOpacity": 10,
|
|
"showPoints": "never",
|
|
"spanNulls": false,
|
|
"axisPlacement": "auto"
|
|
}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"options": {
|
|
"legend": {
|
|
"displayMode": "list",
|
|
"placement": "bottom",
|
|
"calcs": []
|
|
},
|
|
"tooltip": {
|
|
"mode": "multi",
|
|
"sort": "none"
|
|
}
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "histogram_quantile(0.95, sum by (le,agent,service) (rate(rust_proxy_docker_vhost_exchange_duration_seconds_bucket{agent=~\"$docker_agent\",service=~\"$docker_service\"}[$__rate_interval])))",
|
|
"legendFormat": "{{agent}} / {{service}}",
|
|
"range": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": 66,
|
|
"type": "timeseries",
|
|
"title": "Docker backend health",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 7,
|
|
"w": 8,
|
|
"x": 0,
|
|
"y": 55
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "bool",
|
|
"custom": {
|
|
"drawStyle": "line",
|
|
"lineInterpolation": "linear",
|
|
"lineWidth": 1,
|
|
"fillOpacity": 10,
|
|
"showPoints": "never",
|
|
"spanNulls": false,
|
|
"axisPlacement": "auto"
|
|
}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"options": {
|
|
"legend": {
|
|
"displayMode": "list",
|
|
"placement": "bottom",
|
|
"calcs": []
|
|
},
|
|
"tooltip": {
|
|
"mode": "multi",
|
|
"sort": "none"
|
|
}
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "rust_proxy_docker_backend_up{agent=~\"$docker_agent\",service=~\"$docker_service\"}",
|
|
"legendFormat": "{{agent}} / {{service}} / {{backend}}",
|
|
"range": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": 67,
|
|
"type": "timeseries",
|
|
"title": "Docker backend EWMA latency",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 7,
|
|
"w": 8,
|
|
"x": 8,
|
|
"y": 55
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "s",
|
|
"custom": {
|
|
"drawStyle": "line",
|
|
"lineInterpolation": "linear",
|
|
"lineWidth": 1,
|
|
"fillOpacity": 10,
|
|
"showPoints": "never",
|
|
"spanNulls": false,
|
|
"axisPlacement": "auto"
|
|
}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"options": {
|
|
"legend": {
|
|
"displayMode": "list",
|
|
"placement": "bottom",
|
|
"calcs": []
|
|
},
|
|
"tooltip": {
|
|
"mode": "multi",
|
|
"sort": "none"
|
|
}
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "rust_proxy_docker_backend_ewma_latency_seconds{agent=~\"$docker_agent\",service=~\"$docker_service\"}",
|
|
"legendFormat": "{{agent}} / {{service}} / {{backend}}",
|
|
"range": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": 68,
|
|
"type": "timeseries",
|
|
"title": "Docker backend active exchanges",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 7,
|
|
"w": 8,
|
|
"x": 16,
|
|
"y": 55
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "short",
|
|
"custom": {
|
|
"drawStyle": "line",
|
|
"lineInterpolation": "linear",
|
|
"lineWidth": 1,
|
|
"fillOpacity": 10,
|
|
"showPoints": "never",
|
|
"spanNulls": false,
|
|
"axisPlacement": "auto"
|
|
}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"options": {
|
|
"legend": {
|
|
"displayMode": "list",
|
|
"placement": "bottom",
|
|
"calcs": []
|
|
},
|
|
"tooltip": {
|
|
"mode": "multi",
|
|
"sort": "none"
|
|
}
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "rust_proxy_docker_backend_active_exchanges{agent=~\"$docker_agent\",service=~\"$docker_service\"}",
|
|
"legendFormat": "{{agent}} / {{service}} / {{backend}}",
|
|
"range": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": 69,
|
|
"type": "timeseries",
|
|
"title": "Docker backend error rate",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 7,
|
|
"w": 8,
|
|
"x": 0,
|
|
"y": 62
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "ops",
|
|
"custom": {
|
|
"drawStyle": "line",
|
|
"lineInterpolation": "linear",
|
|
"lineWidth": 1,
|
|
"fillOpacity": 10,
|
|
"showPoints": "never",
|
|
"spanNulls": false,
|
|
"axisPlacement": "auto"
|
|
}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"options": {
|
|
"legend": {
|
|
"displayMode": "list",
|
|
"placement": "bottom",
|
|
"calcs": []
|
|
},
|
|
"tooltip": {
|
|
"mode": "multi",
|
|
"sort": "none"
|
|
}
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "sum by (agent,service,backend) (rate(rust_proxy_docker_backend_errors_total{agent=~\"$docker_agent\",service=~\"$docker_service\"}[$__rate_interval]))",
|
|
"legendFormat": "{{agent}} / {{service}} / {{backend}}",
|
|
"range": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": 70,
|
|
"type": "timeseries",
|
|
"title": "Docker backend traffic",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 7,
|
|
"w": 8,
|
|
"x": 8,
|
|
"y": 62
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "Bps",
|
|
"custom": {
|
|
"drawStyle": "line",
|
|
"lineInterpolation": "linear",
|
|
"lineWidth": 1,
|
|
"fillOpacity": 10,
|
|
"showPoints": "never",
|
|
"spanNulls": false,
|
|
"axisPlacement": "auto"
|
|
}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"options": {
|
|
"legend": {
|
|
"displayMode": "list",
|
|
"placement": "bottom",
|
|
"calcs": []
|
|
},
|
|
"tooltip": {
|
|
"mode": "multi",
|
|
"sort": "none"
|
|
}
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "sum by (agent,service,backend) (rate(rust_proxy_docker_backend_bytes_in_total{agent=~\"$docker_agent\",service=~\"$docker_service\"}[$__rate_interval]))",
|
|
"legendFormat": "{{agent}} / {{service}} / {{backend}} in",
|
|
"range": true
|
|
},
|
|
{
|
|
"refId": "B",
|
|
"expr": "sum by (agent,service,backend) (rate(rust_proxy_docker_backend_bytes_out_total{agent=~\"$docker_agent\",service=~\"$docker_service\"}[$__rate_interval]))",
|
|
"legendFormat": "{{agent}} / {{service}} / {{backend}} out",
|
|
"range": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": 71,
|
|
"type": "timeseries",
|
|
"title": "Docker backend probe age",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 7,
|
|
"w": 8,
|
|
"x": 16,
|
|
"y": 62
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "s",
|
|
"custom": {
|
|
"drawStyle": "line",
|
|
"lineInterpolation": "linear",
|
|
"lineWidth": 1,
|
|
"fillOpacity": 10,
|
|
"showPoints": "never",
|
|
"spanNulls": false,
|
|
"axisPlacement": "auto"
|
|
}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"options": {
|
|
"legend": {
|
|
"displayMode": "list",
|
|
"placement": "bottom",
|
|
"calcs": []
|
|
},
|
|
"tooltip": {
|
|
"mode": "multi",
|
|
"sort": "none"
|
|
}
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "time() - rust_proxy_docker_backend_last_probe_timestamp_seconds{agent=~\"$docker_agent\",service=~\"$docker_service\"}",
|
|
"legendFormat": "{{agent}} / {{service}} / {{backend}}",
|
|
"range": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": 86,
|
|
"type": "timeseries",
|
|
"title": "Docker client generation",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 7,
|
|
"w": 8,
|
|
"x": 0,
|
|
"y": 69
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "short",
|
|
"custom": {
|
|
"drawStyle": "line",
|
|
"lineInterpolation": "linear",
|
|
"lineWidth": 1,
|
|
"fillOpacity": 10,
|
|
"showPoints": "never",
|
|
"spanNulls": false,
|
|
"axisPlacement": "auto"
|
|
}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"options": {
|
|
"legend": {
|
|
"displayMode": "list",
|
|
"placement": "bottom",
|
|
"calcs": []
|
|
},
|
|
"tooltip": {
|
|
"mode": "multi",
|
|
"sort": "none"
|
|
}
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "rust_proxy_docker_backend_upstream_client_generation{agent=~\"$docker_agent\",service=~\"$docker_service\"}",
|
|
"legendFormat": "{{agent}} / {{service}} / {{backend}} generation",
|
|
"range": true
|
|
},
|
|
{
|
|
"refId": "B",
|
|
"expr": "rust_proxy_docker_backend_upstream_client_generation_requests{agent=~\"$docker_agent\",service=~\"$docker_service\"}",
|
|
"legendFormat": "{{agent}} / {{service}} / {{backend}} requests",
|
|
"range": true
|
|
}
|
|
],
|
|
"description": "Current reusable upstream-client generation and requests for Docker-discovered backends."
|
|
},
|
|
{
|
|
"id": 87,
|
|
"type": "timeseries",
|
|
"title": "Docker client generation age",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 7,
|
|
"w": 8,
|
|
"x": 8,
|
|
"y": 69
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "s",
|
|
"custom": {
|
|
"drawStyle": "line",
|
|
"lineInterpolation": "linear",
|
|
"lineWidth": 1,
|
|
"fillOpacity": 10,
|
|
"showPoints": "never",
|
|
"spanNulls": false,
|
|
"axisPlacement": "auto"
|
|
}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"options": {
|
|
"legend": {
|
|
"displayMode": "list",
|
|
"placement": "bottom",
|
|
"calcs": []
|
|
},
|
|
"tooltip": {
|
|
"mode": "multi",
|
|
"sort": "none"
|
|
}
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "rust_proxy_docker_backend_upstream_client_generation_age_seconds{agent=~\"$docker_agent\",service=~\"$docker_service\"}",
|
|
"legendFormat": "{{agent}} / {{service}} / {{backend}}",
|
|
"range": true
|
|
}
|
|
],
|
|
"description": "Age of the active reusable upstream-client generation for Docker-discovered backends."
|
|
},
|
|
{
|
|
"id": 88,
|
|
"type": "timeseries",
|
|
"title": "Docker retries and rotations",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 7,
|
|
"w": 8,
|
|
"x": 16,
|
|
"y": 69
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "ops",
|
|
"custom": {
|
|
"drawStyle": "line",
|
|
"lineInterpolation": "linear",
|
|
"lineWidth": 1,
|
|
"fillOpacity": 10,
|
|
"showPoints": "never",
|
|
"spanNulls": false,
|
|
"axisPlacement": "auto"
|
|
}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"options": {
|
|
"legend": {
|
|
"displayMode": "list",
|
|
"placement": "bottom",
|
|
"calcs": []
|
|
},
|
|
"tooltip": {
|
|
"mode": "multi",
|
|
"sort": "none"
|
|
}
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "sum by (agent,service,backend) (rate(rust_proxy_docker_backend_retry_attempts_total{agent=~\"$docker_agent\",service=~\"$docker_service\"}[$__rate_interval]))",
|
|
"legendFormat": "{{agent}} / {{service}} / {{backend}} retry attempts",
|
|
"range": true
|
|
},
|
|
{
|
|
"refId": "B",
|
|
"expr": "sum by (agent,service,backend) (rate(rust_proxy_docker_backend_retry_successes_total{agent=~\"$docker_agent\",service=~\"$docker_service\"}[$__rate_interval]))",
|
|
"legendFormat": "{{agent}} / {{service}} / {{backend}} retry successes",
|
|
"range": true
|
|
},
|
|
{
|
|
"refId": "C",
|
|
"expr": "sum by (agent,service,backend) (rate(rust_proxy_docker_backend_upstream_client_rotations_total{agent=~\"$docker_agent\",service=~\"$docker_service\"}[$__rate_interval]))",
|
|
"legendFormat": "{{agent}} / {{service}} / {{backend}} client rotations",
|
|
"range": true
|
|
}
|
|
],
|
|
"description": "Retry attempts/successes and reusable upstream-client rotations for Docker-discovered backends."
|
|
},
|
|
{
|
|
"id": 16,
|
|
"type": "row",
|
|
"title": "Cache",
|
|
"collapsed": false,
|
|
"gridPos": {
|
|
"h": 1,
|
|
"w": 24,
|
|
"x": 0,
|
|
"y": 76
|
|
},
|
|
"panels": []
|
|
},
|
|
{
|
|
"id": 17,
|
|
"type": "stat",
|
|
"title": "Hot cache RAM",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 5,
|
|
"w": 6,
|
|
"x": 0,
|
|
"y": 77
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "bytes",
|
|
"custom": {}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"options": {
|
|
"reduceOptions": {
|
|
"values": false,
|
|
"calcs": [
|
|
"lastNotNull"
|
|
],
|
|
"fields": ""
|
|
},
|
|
"orientation": "auto",
|
|
"textMode": "auto",
|
|
"colorMode": "value",
|
|
"graphMode": "area",
|
|
"justifyMode": "auto"
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "rust_proxy_cache_resident_bytes",
|
|
"legendFormat": "hot",
|
|
"range": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": 18,
|
|
"type": "stat",
|
|
"title": "Transient cache RAM",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 5,
|
|
"w": 6,
|
|
"x": 6,
|
|
"y": 77
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "bytes",
|
|
"custom": {}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"options": {
|
|
"reduceOptions": {
|
|
"values": false,
|
|
"calcs": [
|
|
"lastNotNull"
|
|
],
|
|
"fields": ""
|
|
},
|
|
"orientation": "auto",
|
|
"textMode": "auto",
|
|
"colorMode": "value",
|
|
"graphMode": "area",
|
|
"justifyMode": "auto"
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "rust_proxy_cache_transient_bytes",
|
|
"legendFormat": "transient",
|
|
"range": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": 19,
|
|
"type": "stat",
|
|
"title": "Cold cache disk",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 5,
|
|
"w": 6,
|
|
"x": 12,
|
|
"y": 77
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "bytes",
|
|
"custom": {}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"options": {
|
|
"reduceOptions": {
|
|
"values": false,
|
|
"calcs": [
|
|
"lastNotNull"
|
|
],
|
|
"fields": ""
|
|
},
|
|
"orientation": "auto",
|
|
"textMode": "auto",
|
|
"colorMode": "value",
|
|
"graphMode": "area",
|
|
"justifyMode": "auto"
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "rust_proxy_cache_cold_bytes",
|
|
"legendFormat": "cold",
|
|
"range": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": 20,
|
|
"type": "stat",
|
|
"title": "Hot objects",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 5,
|
|
"w": 6,
|
|
"x": 18,
|
|
"y": 77
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "short",
|
|
"custom": {}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"options": {
|
|
"reduceOptions": {
|
|
"values": false,
|
|
"calcs": [
|
|
"lastNotNull"
|
|
],
|
|
"fields": ""
|
|
},
|
|
"orientation": "auto",
|
|
"textMode": "auto",
|
|
"colorMode": "value",
|
|
"graphMode": "area",
|
|
"justifyMode": "auto"
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "rust_proxy_cache_entries",
|
|
"legendFormat": "hot objects",
|
|
"range": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": 21,
|
|
"type": "timeseries",
|
|
"title": "Cache decision rate",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 7,
|
|
"w": 12,
|
|
"x": 0,
|
|
"y": 82
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "ops",
|
|
"custom": {
|
|
"drawStyle": "line",
|
|
"lineInterpolation": "linear",
|
|
"lineWidth": 1,
|
|
"fillOpacity": 10,
|
|
"showPoints": "never",
|
|
"spanNulls": false,
|
|
"axisPlacement": "auto"
|
|
}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"options": {
|
|
"legend": {
|
|
"displayMode": "list",
|
|
"placement": "bottom",
|
|
"calcs": []
|
|
},
|
|
"tooltip": {
|
|
"mode": "multi",
|
|
"sort": "none"
|
|
}
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "rate(rust_proxy_cache_hits_total[$__rate_interval])",
|
|
"legendFormat": "HIT/s",
|
|
"range": true
|
|
},
|
|
{
|
|
"refId": "B",
|
|
"expr": "rate(rust_proxy_cache_misses_total[$__rate_interval])",
|
|
"legendFormat": "MISS/s",
|
|
"range": true
|
|
},
|
|
{
|
|
"refId": "C",
|
|
"expr": "rate(rust_proxy_cache_bypasses_total[$__rate_interval])",
|
|
"legendFormat": "BYPASS/s",
|
|
"range": true
|
|
},
|
|
{
|
|
"refId": "D",
|
|
"expr": "rate(rust_proxy_cache_rejected_fills_total[$__rate_interval])",
|
|
"legendFormat": "rejected fills/s",
|
|
"range": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": 22,
|
|
"type": "timeseries",
|
|
"title": "Transient cache breakdown",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 7,
|
|
"w": 12,
|
|
"x": 12,
|
|
"y": 82
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "bytes",
|
|
"custom": {
|
|
"drawStyle": "line",
|
|
"lineInterpolation": "linear",
|
|
"lineWidth": 1,
|
|
"fillOpacity": 10,
|
|
"showPoints": "never",
|
|
"spanNulls": false,
|
|
"axisPlacement": "auto"
|
|
}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"options": {
|
|
"legend": {
|
|
"displayMode": "list",
|
|
"placement": "bottom",
|
|
"calcs": []
|
|
},
|
|
"tooltip": {
|
|
"mode": "multi",
|
|
"sort": "none"
|
|
}
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "rust_proxy_cache_fill_bytes_active",
|
|
"legendFormat": "fill",
|
|
"range": true
|
|
},
|
|
{
|
|
"refId": "B",
|
|
"expr": "rust_proxy_cache_cold_queue_bytes",
|
|
"legendFormat": "cold queue",
|
|
"range": true
|
|
},
|
|
{
|
|
"refId": "C",
|
|
"expr": "rust_proxy_cache_cold_write_bytes_active",
|
|
"legendFormat": "cold write",
|
|
"range": true
|
|
},
|
|
{
|
|
"refId": "D",
|
|
"expr": "rust_proxy_cache_cold_read_bytes_active",
|
|
"legendFormat": "cold read",
|
|
"range": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": 23,
|
|
"type": "timeseries",
|
|
"title": "Cold tier movement",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 7,
|
|
"w": 12,
|
|
"x": 0,
|
|
"y": 89
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "ops",
|
|
"custom": {
|
|
"drawStyle": "line",
|
|
"lineInterpolation": "linear",
|
|
"lineWidth": 1,
|
|
"fillOpacity": 10,
|
|
"showPoints": "never",
|
|
"spanNulls": false,
|
|
"axisPlacement": "auto"
|
|
}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"options": {
|
|
"legend": {
|
|
"displayMode": "list",
|
|
"placement": "bottom",
|
|
"calcs": []
|
|
},
|
|
"tooltip": {
|
|
"mode": "multi",
|
|
"sort": "none"
|
|
}
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "rate(rust_proxy_cache_cold_hits_total[$__rate_interval])",
|
|
"legendFormat": "cold hits/s",
|
|
"range": true
|
|
},
|
|
{
|
|
"refId": "B",
|
|
"expr": "rate(rust_proxy_cache_cold_promotions_total[$__rate_interval])",
|
|
"legendFormat": "cold->hot/s",
|
|
"range": true
|
|
},
|
|
{
|
|
"refId": "C",
|
|
"expr": "rate(rust_proxy_cache_hot_demotions_total[$__rate_interval])",
|
|
"legendFormat": "hot->cold/s",
|
|
"range": true
|
|
},
|
|
{
|
|
"refId": "D",
|
|
"expr": "rate(rust_proxy_cache_cold_evictions_total[$__rate_interval])",
|
|
"legendFormat": "cold evictions/s",
|
|
"range": true
|
|
},
|
|
{
|
|
"refId": "E",
|
|
"expr": "rate(rust_proxy_cache_cold_errors_total[$__rate_interval])",
|
|
"legendFormat": "cold errors/s",
|
|
"range": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": 24,
|
|
"type": "timeseries",
|
|
"title": "Cache domain hit ratio",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 7,
|
|
"w": 12,
|
|
"x": 12,
|
|
"y": 89
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "percentunit",
|
|
"custom": {
|
|
"drawStyle": "line",
|
|
"lineInterpolation": "linear",
|
|
"lineWidth": 1,
|
|
"fillOpacity": 10,
|
|
"showPoints": "never",
|
|
"spanNulls": false,
|
|
"axisPlacement": "auto"
|
|
}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"options": {
|
|
"legend": {
|
|
"displayMode": "list",
|
|
"placement": "bottom",
|
|
"calcs": []
|
|
},
|
|
"tooltip": {
|
|
"mode": "multi",
|
|
"sort": "none"
|
|
}
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "rust_proxy_cache_domain_hit_ratio",
|
|
"legendFormat": "{{vhost}} / {{domain}}",
|
|
"range": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": 25,
|
|
"type": "row",
|
|
"title": "Process and host diagnostics",
|
|
"collapsed": false,
|
|
"gridPos": {
|
|
"h": 1,
|
|
"w": 24,
|
|
"x": 0,
|
|
"y": 96
|
|
},
|
|
"panels": []
|
|
},
|
|
{
|
|
"id": 26,
|
|
"type": "timeseries",
|
|
"title": "Process memory breakdown",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 8,
|
|
"w": 12,
|
|
"x": 0,
|
|
"y": 97
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "bytes",
|
|
"custom": {
|
|
"drawStyle": "line",
|
|
"lineInterpolation": "linear",
|
|
"lineWidth": 1,
|
|
"fillOpacity": 10,
|
|
"showPoints": "never",
|
|
"spanNulls": false,
|
|
"axisPlacement": "auto"
|
|
}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"options": {
|
|
"legend": {
|
|
"displayMode": "list",
|
|
"placement": "bottom",
|
|
"calcs": []
|
|
},
|
|
"tooltip": {
|
|
"mode": "multi",
|
|
"sort": "none"
|
|
}
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "rust_proxy_process_rss_bytes",
|
|
"legendFormat": "RSS total",
|
|
"range": true
|
|
},
|
|
{
|
|
"refId": "B",
|
|
"expr": "rust_proxy_process_rss_anon_bytes",
|
|
"legendFormat": "RSS anon",
|
|
"range": true
|
|
},
|
|
{
|
|
"refId": "C",
|
|
"expr": "rust_proxy_process_rss_file_bytes",
|
|
"legendFormat": "RSS file",
|
|
"range": true
|
|
},
|
|
{
|
|
"refId": "D",
|
|
"expr": "rust_proxy_process_rss_shmem_bytes",
|
|
"legendFormat": "RSS shmem",
|
|
"range": true
|
|
},
|
|
{
|
|
"refId": "E",
|
|
"expr": "rust_proxy_process_data_bytes",
|
|
"legendFormat": "VmData",
|
|
"range": true
|
|
},
|
|
{
|
|
"refId": "F",
|
|
"expr": "rust_proxy_process_swap_bytes",
|
|
"legendFormat": "swap",
|
|
"range": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": 27,
|
|
"type": "timeseries",
|
|
"title": "Cgroup memory",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 8,
|
|
"w": 12,
|
|
"x": 12,
|
|
"y": 97
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "bytes",
|
|
"custom": {
|
|
"drawStyle": "line",
|
|
"lineInterpolation": "linear",
|
|
"lineWidth": 1,
|
|
"fillOpacity": 10,
|
|
"showPoints": "never",
|
|
"spanNulls": false,
|
|
"axisPlacement": "auto"
|
|
}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"options": {
|
|
"legend": {
|
|
"displayMode": "list",
|
|
"placement": "bottom",
|
|
"calcs": []
|
|
},
|
|
"tooltip": {
|
|
"mode": "multi",
|
|
"sort": "none"
|
|
}
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "rust_proxy_cgroup_memory_current_bytes",
|
|
"legendFormat": "current",
|
|
"range": true
|
|
},
|
|
{
|
|
"refId": "B",
|
|
"expr": "rust_proxy_cgroup_memory_max_bytes",
|
|
"legendFormat": "max",
|
|
"range": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": 28,
|
|
"type": "timeseries",
|
|
"title": "CPU",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 7,
|
|
"w": 8,
|
|
"x": 0,
|
|
"y": 105
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "percent",
|
|
"custom": {
|
|
"drawStyle": "line",
|
|
"lineInterpolation": "linear",
|
|
"lineWidth": 1,
|
|
"fillOpacity": 10,
|
|
"showPoints": "never",
|
|
"spanNulls": false,
|
|
"axisPlacement": "auto"
|
|
}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"options": {
|
|
"legend": {
|
|
"displayMode": "list",
|
|
"placement": "bottom",
|
|
"calcs": []
|
|
},
|
|
"tooltip": {
|
|
"mode": "multi",
|
|
"sort": "none"
|
|
}
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "rust_proxy_process_cpu_percent",
|
|
"legendFormat": "process",
|
|
"range": true
|
|
},
|
|
{
|
|
"refId": "B",
|
|
"expr": "rust_proxy_system_cpu_percent",
|
|
"legendFormat": "system",
|
|
"range": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": 29,
|
|
"type": "timeseries",
|
|
"title": "Load average",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 7,
|
|
"w": 8,
|
|
"x": 8,
|
|
"y": 105
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "short",
|
|
"custom": {
|
|
"drawStyle": "line",
|
|
"lineInterpolation": "linear",
|
|
"lineWidth": 1,
|
|
"fillOpacity": 10,
|
|
"showPoints": "never",
|
|
"spanNulls": false,
|
|
"axisPlacement": "auto"
|
|
}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"options": {
|
|
"legend": {
|
|
"displayMode": "list",
|
|
"placement": "bottom",
|
|
"calcs": []
|
|
},
|
|
"tooltip": {
|
|
"mode": "multi",
|
|
"sort": "none"
|
|
}
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "rust_proxy_system_load1",
|
|
"legendFormat": "load1",
|
|
"range": true
|
|
},
|
|
{
|
|
"refId": "B",
|
|
"expr": "rust_proxy_system_load5",
|
|
"legendFormat": "load5",
|
|
"range": true
|
|
},
|
|
{
|
|
"refId": "C",
|
|
"expr": "rust_proxy_system_load15",
|
|
"legendFormat": "load15",
|
|
"range": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": 30,
|
|
"type": "timeseries",
|
|
"title": "Process resources",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 7,
|
|
"w": 8,
|
|
"x": 16,
|
|
"y": 105
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "short",
|
|
"custom": {
|
|
"drawStyle": "line",
|
|
"lineInterpolation": "linear",
|
|
"lineWidth": 1,
|
|
"fillOpacity": 10,
|
|
"showPoints": "never",
|
|
"spanNulls": false,
|
|
"axisPlacement": "auto"
|
|
}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"options": {
|
|
"legend": {
|
|
"displayMode": "list",
|
|
"placement": "bottom",
|
|
"calcs": []
|
|
},
|
|
"tooltip": {
|
|
"mode": "multi",
|
|
"sort": "none"
|
|
}
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "rust_proxy_process_open_fds",
|
|
"legendFormat": "open FDs",
|
|
"range": true
|
|
},
|
|
{
|
|
"refId": "B",
|
|
"expr": "rust_proxy_process_threads",
|
|
"legendFormat": "threads",
|
|
"range": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": 31,
|
|
"type": "timeseries",
|
|
"title": "Network throughput",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 7,
|
|
"w": 12,
|
|
"x": 0,
|
|
"y": 112
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "Bps",
|
|
"custom": {
|
|
"drawStyle": "line",
|
|
"lineInterpolation": "linear",
|
|
"lineWidth": 1,
|
|
"fillOpacity": 10,
|
|
"showPoints": "never",
|
|
"spanNulls": false,
|
|
"axisPlacement": "auto"
|
|
}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"options": {
|
|
"legend": {
|
|
"displayMode": "list",
|
|
"placement": "bottom",
|
|
"calcs": []
|
|
},
|
|
"tooltip": {
|
|
"mode": "multi",
|
|
"sort": "none"
|
|
}
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "rust_proxy_system_network_rx_bytes_per_second",
|
|
"legendFormat": "RX",
|
|
"range": true
|
|
},
|
|
{
|
|
"refId": "B",
|
|
"expr": "rust_proxy_system_network_tx_bytes_per_second",
|
|
"legendFormat": "TX",
|
|
"range": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": 32,
|
|
"type": "timeseries",
|
|
"title": "Process disk I/O",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 7,
|
|
"w": 12,
|
|
"x": 12,
|
|
"y": 112
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "Bps",
|
|
"custom": {
|
|
"drawStyle": "line",
|
|
"lineInterpolation": "linear",
|
|
"lineWidth": 1,
|
|
"fillOpacity": 10,
|
|
"showPoints": "never",
|
|
"spanNulls": false,
|
|
"axisPlacement": "auto"
|
|
}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"options": {
|
|
"legend": {
|
|
"displayMode": "list",
|
|
"placement": "bottom",
|
|
"calcs": []
|
|
},
|
|
"tooltip": {
|
|
"mode": "multi",
|
|
"sort": "none"
|
|
}
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "rate(rust_proxy_process_read_bytes[$__rate_interval])",
|
|
"legendFormat": "read",
|
|
"range": true
|
|
},
|
|
{
|
|
"refId": "B",
|
|
"expr": "rate(rust_proxy_process_write_bytes[$__rate_interval])",
|
|
"legendFormat": "write",
|
|
"range": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": 33,
|
|
"type": "row",
|
|
"title": "Protocols",
|
|
"collapsed": false,
|
|
"gridPos": {
|
|
"h": 1,
|
|
"w": 24,
|
|
"x": 0,
|
|
"y": 119
|
|
},
|
|
"panels": []
|
|
},
|
|
{
|
|
"id": 34,
|
|
"type": "timeseries",
|
|
"title": "HTTP protocol requests",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 7,
|
|
"w": 8,
|
|
"x": 0,
|
|
"y": 120
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "reqps",
|
|
"custom": {
|
|
"drawStyle": "line",
|
|
"lineInterpolation": "linear",
|
|
"lineWidth": 1,
|
|
"fillOpacity": 10,
|
|
"showPoints": "never",
|
|
"spanNulls": false,
|
|
"axisPlacement": "auto"
|
|
}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"options": {
|
|
"legend": {
|
|
"displayMode": "list",
|
|
"placement": "bottom",
|
|
"calcs": []
|
|
},
|
|
"tooltip": {
|
|
"mode": "multi",
|
|
"sort": "none"
|
|
}
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "rate(rust_proxy_http1_requests_total[$__rate_interval])",
|
|
"legendFormat": "HTTP/1.1",
|
|
"range": true
|
|
},
|
|
{
|
|
"refId": "B",
|
|
"expr": "rate(rust_proxy_http2_requests_total[$__rate_interval])",
|
|
"legendFormat": "HTTP/2",
|
|
"range": true
|
|
},
|
|
{
|
|
"refId": "C",
|
|
"expr": "rate(rust_proxy_http3_requests_total[$__rate_interval])",
|
|
"legendFormat": "HTTP/3",
|
|
"range": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": 35,
|
|
"type": "timeseries",
|
|
"title": "Connections",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 7,
|
|
"w": 8,
|
|
"x": 8,
|
|
"y": 120
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "short",
|
|
"custom": {
|
|
"drawStyle": "line",
|
|
"lineInterpolation": "linear",
|
|
"lineWidth": 1,
|
|
"fillOpacity": 10,
|
|
"showPoints": "never",
|
|
"spanNulls": false,
|
|
"axisPlacement": "auto"
|
|
}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"options": {
|
|
"legend": {
|
|
"displayMode": "list",
|
|
"placement": "bottom",
|
|
"calcs": []
|
|
},
|
|
"tooltip": {
|
|
"mode": "multi",
|
|
"sort": "none"
|
|
}
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "rust_proxy_connections_active",
|
|
"legendFormat": "all active",
|
|
"range": true
|
|
},
|
|
{
|
|
"refId": "B",
|
|
"expr": "rust_proxy_http3_active_connections",
|
|
"legendFormat": "H3 active",
|
|
"range": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": 36,
|
|
"type": "timeseries",
|
|
"title": "TLS / H3 rejects",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 7,
|
|
"w": 8,
|
|
"x": 16,
|
|
"y": 120
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "ops",
|
|
"custom": {
|
|
"drawStyle": "line",
|
|
"lineInterpolation": "linear",
|
|
"lineWidth": 1,
|
|
"fillOpacity": 10,
|
|
"showPoints": "never",
|
|
"spanNulls": false,
|
|
"axisPlacement": "auto"
|
|
}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"options": {
|
|
"legend": {
|
|
"displayMode": "list",
|
|
"placement": "bottom",
|
|
"calcs": []
|
|
},
|
|
"tooltip": {
|
|
"mode": "multi",
|
|
"sort": "none"
|
|
}
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "rate(rust_proxy_tls_handshake_errors_total[$__rate_interval])",
|
|
"legendFormat": "TLS handshake errors/s",
|
|
"range": true
|
|
},
|
|
{
|
|
"refId": "B",
|
|
"expr": "rate(rust_proxy_http3_rejected_connections_total[$__rate_interval])",
|
|
"legendFormat": "H3 rejects/s",
|
|
"range": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": 37,
|
|
"type": "timeseries",
|
|
"title": "WebSocket tunnels",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 7,
|
|
"w": 12,
|
|
"x": 0,
|
|
"y": 127
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "short",
|
|
"custom": {
|
|
"drawStyle": "line",
|
|
"lineInterpolation": "linear",
|
|
"lineWidth": 1,
|
|
"fillOpacity": 10,
|
|
"showPoints": "never",
|
|
"spanNulls": false,
|
|
"axisPlacement": "auto"
|
|
}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"options": {
|
|
"legend": {
|
|
"displayMode": "list",
|
|
"placement": "bottom",
|
|
"calcs": []
|
|
},
|
|
"tooltip": {
|
|
"mode": "multi",
|
|
"sort": "none"
|
|
}
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "rust_proxy_websocket_tunnels_active",
|
|
"legendFormat": "active",
|
|
"range": true
|
|
},
|
|
{
|
|
"refId": "B",
|
|
"expr": "rate(rust_proxy_websocket_tunnels_total[$__rate_interval])",
|
|
"legendFormat": "opened/s",
|
|
"range": true
|
|
},
|
|
{
|
|
"refId": "C",
|
|
"expr": "rate(rust_proxy_websocket_errors_total[$__rate_interval])",
|
|
"legendFormat": "errors/s",
|
|
"range": true
|
|
},
|
|
{
|
|
"refId": "D",
|
|
"expr": "rate(rust_proxy_websocket_handshake_errors_total[$__rate_interval])",
|
|
"legendFormat": "handshake errors/s",
|
|
"range": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": 38,
|
|
"type": "timeseries",
|
|
"title": "Compression",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 7,
|
|
"w": 12,
|
|
"x": 12,
|
|
"y": 127
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "ops",
|
|
"custom": {
|
|
"drawStyle": "line",
|
|
"lineInterpolation": "linear",
|
|
"lineWidth": 1,
|
|
"fillOpacity": 10,
|
|
"showPoints": "never",
|
|
"spanNulls": false,
|
|
"axisPlacement": "auto"
|
|
}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"options": {
|
|
"legend": {
|
|
"displayMode": "list",
|
|
"placement": "bottom",
|
|
"calcs": []
|
|
},
|
|
"tooltip": {
|
|
"mode": "multi",
|
|
"sort": "none"
|
|
}
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "rate(rust_proxy_compression_gzip_total[$__rate_interval])",
|
|
"legendFormat": "gzip/s",
|
|
"range": true
|
|
},
|
|
{
|
|
"refId": "B",
|
|
"expr": "rate(rust_proxy_compression_br_total[$__rate_interval])",
|
|
"legendFormat": "br/s",
|
|
"range": true
|
|
},
|
|
{
|
|
"refId": "C",
|
|
"expr": "rate(rust_proxy_compression_zstd_total[$__rate_interval])",
|
|
"legendFormat": "zstd/s",
|
|
"range": true
|
|
},
|
|
{
|
|
"refId": "D",
|
|
"expr": "rate(rust_proxy_compression_deflate_total[$__rate_interval])",
|
|
"legendFormat": "deflate/s",
|
|
"range": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": 39,
|
|
"type": "row",
|
|
"title": "Layer-4 streams and logging",
|
|
"collapsed": false,
|
|
"gridPos": {
|
|
"h": 1,
|
|
"w": 24,
|
|
"x": 0,
|
|
"y": 134
|
|
},
|
|
"panels": []
|
|
},
|
|
{
|
|
"id": 40,
|
|
"type": "timeseries",
|
|
"title": "Stream sessions",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 7,
|
|
"w": 12,
|
|
"x": 0,
|
|
"y": 135
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "short",
|
|
"custom": {
|
|
"drawStyle": "line",
|
|
"lineInterpolation": "linear",
|
|
"lineWidth": 1,
|
|
"fillOpacity": 10,
|
|
"showPoints": "never",
|
|
"spanNulls": false,
|
|
"axisPlacement": "auto"
|
|
}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"options": {
|
|
"legend": {
|
|
"displayMode": "list",
|
|
"placement": "bottom",
|
|
"calcs": []
|
|
},
|
|
"tooltip": {
|
|
"mode": "multi",
|
|
"sort": "none"
|
|
}
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "rust_proxy_stream_active",
|
|
"legendFormat": "{{stream}} active",
|
|
"range": true
|
|
},
|
|
{
|
|
"refId": "B",
|
|
"expr": "sum by (stream) (rate(rust_proxy_stream_errors_total[$__rate_interval]))",
|
|
"legendFormat": "{{stream}} errors/s",
|
|
"range": true
|
|
},
|
|
{
|
|
"refId": "C",
|
|
"expr": "sum by (stream) (rate(rust_proxy_stream_rejected_total[$__rate_interval]))",
|
|
"legendFormat": "{{stream}} rejects/s",
|
|
"range": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": 41,
|
|
"type": "timeseries",
|
|
"title": "Stream throughput",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 7,
|
|
"w": 12,
|
|
"x": 12,
|
|
"y": 135
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "Bps",
|
|
"custom": {
|
|
"drawStyle": "line",
|
|
"lineInterpolation": "linear",
|
|
"lineWidth": 1,
|
|
"fillOpacity": 10,
|
|
"showPoints": "never",
|
|
"spanNulls": false,
|
|
"axisPlacement": "auto"
|
|
}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"options": {
|
|
"legend": {
|
|
"displayMode": "list",
|
|
"placement": "bottom",
|
|
"calcs": []
|
|
},
|
|
"tooltip": {
|
|
"mode": "multi",
|
|
"sort": "none"
|
|
}
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "sum by (stream) (rate(rust_proxy_stream_bytes_in_total[$__rate_interval]))",
|
|
"legendFormat": "{{stream}} in",
|
|
"range": true
|
|
},
|
|
{
|
|
"refId": "B",
|
|
"expr": "sum by (stream) (rate(rust_proxy_stream_bytes_out_total[$__rate_interval]))",
|
|
"legendFormat": "{{stream}} out",
|
|
"range": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": 42,
|
|
"type": "timeseries",
|
|
"title": "Structured log sink",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 7,
|
|
"w": 12,
|
|
"x": 0,
|
|
"y": 142
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "short",
|
|
"custom": {
|
|
"drawStyle": "line",
|
|
"lineInterpolation": "linear",
|
|
"lineWidth": 1,
|
|
"fillOpacity": 10,
|
|
"showPoints": "never",
|
|
"spanNulls": false,
|
|
"axisPlacement": "auto"
|
|
}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"options": {
|
|
"legend": {
|
|
"displayMode": "list",
|
|
"placement": "bottom",
|
|
"calcs": []
|
|
},
|
|
"tooltip": {
|
|
"mode": "multi",
|
|
"sort": "none"
|
|
}
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "rust_proxy_log_sink_queue_capacity",
|
|
"legendFormat": "queue capacity",
|
|
"range": true
|
|
},
|
|
{
|
|
"refId": "B",
|
|
"expr": "rate(rust_proxy_log_sink_queue_dropped_total[$__rate_interval])",
|
|
"legendFormat": "dropped/s",
|
|
"range": true
|
|
},
|
|
{
|
|
"refId": "C",
|
|
"expr": "rate(rust_proxy_log_sink_errors_total[$__rate_interval])",
|
|
"legendFormat": "errors/s",
|
|
"range": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": 43,
|
|
"type": "timeseries",
|
|
"title": "Admin/control plane",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 7,
|
|
"w": 12,
|
|
"x": 12,
|
|
"y": 142
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "short",
|
|
"custom": {
|
|
"drawStyle": "line",
|
|
"lineInterpolation": "linear",
|
|
"lineWidth": 1,
|
|
"fillOpacity": 10,
|
|
"showPoints": "never",
|
|
"spanNulls": false,
|
|
"axisPlacement": "auto"
|
|
}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"options": {
|
|
"legend": {
|
|
"displayMode": "list",
|
|
"placement": "bottom",
|
|
"calcs": []
|
|
},
|
|
"tooltip": {
|
|
"mode": "multi",
|
|
"sort": "none"
|
|
}
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "rate(rust_proxy_admin_requests_total[$__rate_interval])",
|
|
"legendFormat": "admin requests/s",
|
|
"range": true
|
|
},
|
|
{
|
|
"refId": "B",
|
|
"expr": "rust_proxy_request_permits_available",
|
|
"legendFormat": "request permits",
|
|
"range": true
|
|
},
|
|
{
|
|
"refId": "C",
|
|
"expr": "rust_proxy_restart_required",
|
|
"legendFormat": "restart required",
|
|
"range": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": 44,
|
|
"type": "row",
|
|
"title": "Inventory",
|
|
"collapsed": false,
|
|
"gridPos": {
|
|
"h": 1,
|
|
"w": 24,
|
|
"x": 0,
|
|
"y": 149
|
|
},
|
|
"panels": []
|
|
},
|
|
{
|
|
"id": 45,
|
|
"type": "timeseries",
|
|
"title": "Configured objects",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 7,
|
|
"w": 12,
|
|
"x": 0,
|
|
"y": 150
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "short",
|
|
"custom": {
|
|
"drawStyle": "line",
|
|
"lineInterpolation": "linear",
|
|
"lineWidth": 1,
|
|
"fillOpacity": 10,
|
|
"showPoints": "never",
|
|
"spanNulls": false,
|
|
"axisPlacement": "auto"
|
|
}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"options": {
|
|
"legend": {
|
|
"displayMode": "list",
|
|
"placement": "bottom",
|
|
"calcs": []
|
|
},
|
|
"tooltip": {
|
|
"mode": "multi",
|
|
"sort": "none"
|
|
}
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "rust_proxy_vhosts_configured",
|
|
"legendFormat": "vhosts",
|
|
"range": true
|
|
},
|
|
{
|
|
"refId": "B",
|
|
"expr": "rust_proxy_redirect_hosts_configured",
|
|
"legendFormat": "redirects",
|
|
"range": true
|
|
},
|
|
{
|
|
"refId": "C",
|
|
"expr": "rust_proxy_not_found_hosts_configured",
|
|
"legendFormat": "404 hosts",
|
|
"range": true
|
|
},
|
|
{
|
|
"refId": "D",
|
|
"expr": "rust_proxy_stream_hosts_configured",
|
|
"legendFormat": "streams",
|
|
"range": true
|
|
},
|
|
{
|
|
"refId": "E",
|
|
"expr": "rust_proxy_certificates_configured",
|
|
"legendFormat": "certificates",
|
|
"range": true
|
|
},
|
|
{
|
|
"refId": "F",
|
|
"expr": "rust_proxy_acl_profiles_configured",
|
|
"legendFormat": "ACL profiles",
|
|
"range": true
|
|
},
|
|
{
|
|
"refId": "G",
|
|
"expr": "rust_proxy_web_services_configured",
|
|
"legendFormat": "web services",
|
|
"range": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": 46,
|
|
"type": "timeseries",
|
|
"title": "Listener protocols",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 7,
|
|
"w": 12,
|
|
"x": 12,
|
|
"y": 150
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "bool",
|
|
"custom": {
|
|
"drawStyle": "line",
|
|
"lineInterpolation": "linear",
|
|
"lineWidth": 1,
|
|
"fillOpacity": 10,
|
|
"showPoints": "never",
|
|
"spanNulls": false,
|
|
"axisPlacement": "auto"
|
|
}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"options": {
|
|
"legend": {
|
|
"displayMode": "list",
|
|
"placement": "bottom",
|
|
"calcs": []
|
|
},
|
|
"tooltip": {
|
|
"mode": "multi",
|
|
"sort": "none"
|
|
}
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "rust_proxy_listener_protocol_enabled",
|
|
"legendFormat": "{{address}} / {{protocol}}",
|
|
"range": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": 47,
|
|
"type": "row",
|
|
"title": "Certificates and GeoIP",
|
|
"collapsed": false,
|
|
"gridPos": {
|
|
"h": 1,
|
|
"w": 24,
|
|
"x": 0,
|
|
"y": 157
|
|
},
|
|
"panels": []
|
|
},
|
|
{
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "s",
|
|
"custom": {
|
|
"drawStyle": "line",
|
|
"lineInterpolation": "linear",
|
|
"lineWidth": 1,
|
|
"fillOpacity": 10,
|
|
"showPoints": "never",
|
|
"spanNulls": false,
|
|
"axisPlacement": "auto"
|
|
}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"options": {
|
|
"legend": {
|
|
"displayMode": "list",
|
|
"placement": "bottom",
|
|
"calcs": []
|
|
},
|
|
"tooltip": {
|
|
"mode": "multi",
|
|
"sort": "none"
|
|
}
|
|
},
|
|
"id": 48,
|
|
"type": "timeseries",
|
|
"title": "Certificate expiry remaining",
|
|
"gridPos": {
|
|
"h": 7,
|
|
"w": 12,
|
|
"x": 0,
|
|
"y": 158
|
|
},
|
|
"description": "Seconds until the observed certificate notAfter timestamp.",
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "rust_proxy_certificate_renewal_not_after_timestamp_seconds - time()",
|
|
"legendFormat": "{{certificate}}",
|
|
"range": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "short",
|
|
"custom": {
|
|
"drawStyle": "line",
|
|
"lineInterpolation": "linear",
|
|
"lineWidth": 1,
|
|
"fillOpacity": 10,
|
|
"showPoints": "never",
|
|
"spanNulls": false,
|
|
"axisPlacement": "auto"
|
|
}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"options": {
|
|
"legend": {
|
|
"displayMode": "list",
|
|
"placement": "bottom",
|
|
"calcs": []
|
|
},
|
|
"tooltip": {
|
|
"mode": "multi",
|
|
"sort": "none"
|
|
}
|
|
},
|
|
"id": 49,
|
|
"type": "timeseries",
|
|
"title": "Certificate renewal failures",
|
|
"gridPos": {
|
|
"h": 7,
|
|
"w": 6,
|
|
"x": 12,
|
|
"y": 158
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "rust_proxy_certificate_renewal_failures",
|
|
"legendFormat": "{{certificate}}",
|
|
"range": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": 50,
|
|
"type": "stat",
|
|
"title": "GeoIP loaded",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 7,
|
|
"w": 6,
|
|
"x": 18,
|
|
"y": 158
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "bool",
|
|
"custom": {}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"options": {
|
|
"reduceOptions": {
|
|
"values": false,
|
|
"calcs": [
|
|
"lastNotNull"
|
|
],
|
|
"fields": ""
|
|
},
|
|
"orientation": "auto",
|
|
"textMode": "auto",
|
|
"colorMode": "value",
|
|
"graphMode": "area",
|
|
"justifyMode": "auto"
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "rust_proxy_geoip_loaded",
|
|
"legendFormat": "loaded",
|
|
"range": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"collapsed": false,
|
|
"gridPos": {
|
|
"h": 1,
|
|
"w": 24,
|
|
"x": 0,
|
|
"y": 165
|
|
},
|
|
"id": 51,
|
|
"panels": [],
|
|
"title": "Deep backend and certificate diagnostics",
|
|
"type": "row"
|
|
},
|
|
{
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"description": "Smoothed backend latency maintained by the pool.",
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"color": {
|
|
"mode": "palette-classic"
|
|
},
|
|
"custom": {
|
|
"axisCenteredZero": false,
|
|
"axisColorMode": "text",
|
|
"axisLabel": "",
|
|
"axisPlacement": "auto",
|
|
"barAlignment": 0,
|
|
"drawStyle": "line",
|
|
"fillOpacity": 10,
|
|
"gradientMode": "none",
|
|
"hideFrom": {
|
|
"legend": false,
|
|
"tooltip": false,
|
|
"viz": false
|
|
},
|
|
"lineInterpolation": "linear",
|
|
"lineWidth": 1,
|
|
"pointSize": 5,
|
|
"scaleDistribution": {
|
|
"type": "linear"
|
|
},
|
|
"showPoints": "never",
|
|
"spanNulls": false,
|
|
"stacking": {
|
|
"group": "A",
|
|
"mode": "none"
|
|
},
|
|
"thresholdsStyle": {
|
|
"mode": "off"
|
|
}
|
|
},
|
|
"mappings": [],
|
|
"thresholds": {
|
|
"mode": "absolute",
|
|
"steps": [
|
|
{
|
|
"color": "green",
|
|
"value": null
|
|
},
|
|
{
|
|
"color": "red",
|
|
"value": 80
|
|
}
|
|
]
|
|
},
|
|
"unit": "s"
|
|
},
|
|
"overrides": []
|
|
},
|
|
"gridPos": {
|
|
"h": 7,
|
|
"w": 8,
|
|
"x": 0,
|
|
"y": 166
|
|
},
|
|
"id": 52,
|
|
"options": {
|
|
"legend": {
|
|
"calcs": [
|
|
"lastNotNull"
|
|
],
|
|
"displayMode": "list",
|
|
"placement": "bottom",
|
|
"showLegend": true
|
|
},
|
|
"tooltip": {
|
|
"mode": "multi",
|
|
"sort": "none"
|
|
}
|
|
},
|
|
"targets": [
|
|
{
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"editorMode": "code",
|
|
"expr": "rust_proxy_backend_ewma_latency_seconds",
|
|
"legendFormat": "{{vhost}} / {{backend}}",
|
|
"range": true,
|
|
"refId": "A"
|
|
}
|
|
],
|
|
"title": "Backend EWMA latency",
|
|
"type": "timeseries"
|
|
},
|
|
{
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"description": "Passive and consecutive health failure counters/gauges.",
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"color": {
|
|
"mode": "palette-classic"
|
|
},
|
|
"custom": {
|
|
"axisCenteredZero": false,
|
|
"axisColorMode": "text",
|
|
"axisLabel": "",
|
|
"axisPlacement": "auto",
|
|
"barAlignment": 0,
|
|
"drawStyle": "line",
|
|
"fillOpacity": 10,
|
|
"gradientMode": "none",
|
|
"hideFrom": {
|
|
"legend": false,
|
|
"tooltip": false,
|
|
"viz": false
|
|
},
|
|
"lineInterpolation": "linear",
|
|
"lineWidth": 1,
|
|
"pointSize": 5,
|
|
"scaleDistribution": {
|
|
"type": "linear"
|
|
},
|
|
"showPoints": "never",
|
|
"spanNulls": false,
|
|
"stacking": {
|
|
"group": "A",
|
|
"mode": "none"
|
|
},
|
|
"thresholdsStyle": {
|
|
"mode": "off"
|
|
}
|
|
},
|
|
"mappings": [],
|
|
"thresholds": {
|
|
"mode": "absolute",
|
|
"steps": [
|
|
{
|
|
"color": "green",
|
|
"value": null
|
|
},
|
|
{
|
|
"color": "red",
|
|
"value": 80
|
|
}
|
|
]
|
|
},
|
|
"unit": "short"
|
|
},
|
|
"overrides": []
|
|
},
|
|
"gridPos": {
|
|
"h": 7,
|
|
"w": 8,
|
|
"x": 8,
|
|
"y": 166
|
|
},
|
|
"id": 53,
|
|
"options": {
|
|
"legend": {
|
|
"calcs": [
|
|
"lastNotNull"
|
|
],
|
|
"displayMode": "list",
|
|
"placement": "bottom",
|
|
"showLegend": true
|
|
},
|
|
"tooltip": {
|
|
"mode": "multi",
|
|
"sort": "none"
|
|
}
|
|
},
|
|
"targets": [
|
|
{
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"editorMode": "code",
|
|
"expr": "rust_proxy_backend_passive_failures",
|
|
"legendFormat": "{{vhost}} / {{backend}}",
|
|
"range": true,
|
|
"refId": "A"
|
|
},
|
|
{
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"editorMode": "code",
|
|
"expr": "rust_proxy_backend_consecutive_failures",
|
|
"legendFormat": "consecutive {{vhost}} / {{backend}}",
|
|
"range": true,
|
|
"refId": "B"
|
|
}
|
|
],
|
|
"title": "Backend passive failures",
|
|
"type": "timeseries"
|
|
},
|
|
{
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"description": "Seconds since the most recent recorded backend health probe.",
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"color": {
|
|
"mode": "palette-classic"
|
|
},
|
|
"custom": {
|
|
"axisCenteredZero": false,
|
|
"axisColorMode": "text",
|
|
"axisLabel": "",
|
|
"axisPlacement": "auto",
|
|
"barAlignment": 0,
|
|
"drawStyle": "line",
|
|
"fillOpacity": 10,
|
|
"gradientMode": "none",
|
|
"hideFrom": {
|
|
"legend": false,
|
|
"tooltip": false,
|
|
"viz": false
|
|
},
|
|
"lineInterpolation": "linear",
|
|
"lineWidth": 1,
|
|
"pointSize": 5,
|
|
"scaleDistribution": {
|
|
"type": "linear"
|
|
},
|
|
"showPoints": "never",
|
|
"spanNulls": false,
|
|
"stacking": {
|
|
"group": "A",
|
|
"mode": "none"
|
|
},
|
|
"thresholdsStyle": {
|
|
"mode": "off"
|
|
}
|
|
},
|
|
"mappings": [],
|
|
"thresholds": {
|
|
"mode": "absolute",
|
|
"steps": [
|
|
{
|
|
"color": "green",
|
|
"value": null
|
|
},
|
|
{
|
|
"color": "red",
|
|
"value": 80
|
|
}
|
|
]
|
|
},
|
|
"unit": "s"
|
|
},
|
|
"overrides": []
|
|
},
|
|
"gridPos": {
|
|
"h": 7,
|
|
"w": 8,
|
|
"x": 16,
|
|
"y": 166
|
|
},
|
|
"id": 54,
|
|
"options": {
|
|
"legend": {
|
|
"calcs": [
|
|
"lastNotNull"
|
|
],
|
|
"displayMode": "list",
|
|
"placement": "bottom",
|
|
"showLegend": true
|
|
},
|
|
"tooltip": {
|
|
"mode": "multi",
|
|
"sort": "none"
|
|
}
|
|
},
|
|
"targets": [
|
|
{
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"editorMode": "code",
|
|
"expr": "time() - rust_proxy_backend_last_probe_timestamp_seconds",
|
|
"legendFormat": "{{vhost}} / {{backend}}",
|
|
"range": true,
|
|
"refId": "A"
|
|
}
|
|
],
|
|
"title": "Backend probe age",
|
|
"type": "timeseries"
|
|
},
|
|
{
|
|
"collapsed": false,
|
|
"gridPos": {
|
|
"h": 1,
|
|
"w": 24,
|
|
"x": 0,
|
|
"y": 173
|
|
},
|
|
"id": 55,
|
|
"panels": [],
|
|
"title": "Renewal scheduler details",
|
|
"type": "row"
|
|
},
|
|
{
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"description": "Time until next renewal check and time since last check.",
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"color": {
|
|
"mode": "palette-classic"
|
|
},
|
|
"custom": {
|
|
"axisCenteredZero": false,
|
|
"axisColorMode": "text",
|
|
"axisLabel": "",
|
|
"axisPlacement": "auto",
|
|
"barAlignment": 0,
|
|
"drawStyle": "line",
|
|
"fillOpacity": 10,
|
|
"gradientMode": "none",
|
|
"hideFrom": {
|
|
"legend": false,
|
|
"tooltip": false,
|
|
"viz": false
|
|
},
|
|
"lineInterpolation": "linear",
|
|
"lineWidth": 1,
|
|
"pointSize": 5,
|
|
"scaleDistribution": {
|
|
"type": "linear"
|
|
},
|
|
"showPoints": "never",
|
|
"spanNulls": false,
|
|
"stacking": {
|
|
"group": "A",
|
|
"mode": "none"
|
|
},
|
|
"thresholdsStyle": {
|
|
"mode": "off"
|
|
}
|
|
},
|
|
"mappings": [],
|
|
"thresholds": {
|
|
"mode": "absolute",
|
|
"steps": [
|
|
{
|
|
"color": "green",
|
|
"value": null
|
|
},
|
|
{
|
|
"color": "red",
|
|
"value": 80
|
|
}
|
|
]
|
|
},
|
|
"unit": "s"
|
|
},
|
|
"overrides": []
|
|
},
|
|
"gridPos": {
|
|
"h": 7,
|
|
"w": 12,
|
|
"x": 0,
|
|
"y": 174
|
|
},
|
|
"id": 56,
|
|
"options": {
|
|
"legend": {
|
|
"calcs": [
|
|
"lastNotNull"
|
|
],
|
|
"displayMode": "list",
|
|
"placement": "bottom",
|
|
"showLegend": true
|
|
},
|
|
"tooltip": {
|
|
"mode": "multi",
|
|
"sort": "none"
|
|
}
|
|
},
|
|
"targets": [
|
|
{
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"editorMode": "code",
|
|
"expr": "rust_proxy_certificate_renewal_next_check_timestamp_seconds - time()",
|
|
"legendFormat": "next check {{certificate}}",
|
|
"range": true,
|
|
"refId": "A"
|
|
},
|
|
{
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"editorMode": "code",
|
|
"expr": "time() - rust_proxy_certificate_renewal_last_checked_timestamp_seconds",
|
|
"legendFormat": "since check {{certificate}}",
|
|
"range": true,
|
|
"refId": "B"
|
|
}
|
|
],
|
|
"title": "Certificate renewal schedule",
|
|
"type": "timeseries"
|
|
},
|
|
{
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"description": "Latest bounded renewal status and configured auto-renew switch.",
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"color": {
|
|
"mode": "palette-classic"
|
|
},
|
|
"custom": {
|
|
"axisCenteredZero": false,
|
|
"axisColorMode": "text",
|
|
"axisLabel": "",
|
|
"axisPlacement": "auto",
|
|
"barAlignment": 0,
|
|
"drawStyle": "line",
|
|
"fillOpacity": 10,
|
|
"gradientMode": "none",
|
|
"hideFrom": {
|
|
"legend": false,
|
|
"tooltip": false,
|
|
"viz": false
|
|
},
|
|
"lineInterpolation": "linear",
|
|
"lineWidth": 1,
|
|
"pointSize": 5,
|
|
"scaleDistribution": {
|
|
"type": "linear"
|
|
},
|
|
"showPoints": "never",
|
|
"spanNulls": false,
|
|
"stacking": {
|
|
"group": "A",
|
|
"mode": "none"
|
|
},
|
|
"thresholdsStyle": {
|
|
"mode": "off"
|
|
}
|
|
},
|
|
"mappings": [],
|
|
"thresholds": {
|
|
"mode": "absolute",
|
|
"steps": [
|
|
{
|
|
"color": "green",
|
|
"value": null
|
|
},
|
|
{
|
|
"color": "red",
|
|
"value": 80
|
|
}
|
|
]
|
|
},
|
|
"unit": "short"
|
|
},
|
|
"overrides": []
|
|
},
|
|
"gridPos": {
|
|
"h": 7,
|
|
"w": 12,
|
|
"x": 12,
|
|
"y": 174
|
|
},
|
|
"id": 57,
|
|
"options": {
|
|
"legend": {
|
|
"calcs": [
|
|
"lastNotNull"
|
|
],
|
|
"displayMode": "list",
|
|
"placement": "bottom",
|
|
"showLegend": true
|
|
},
|
|
"tooltip": {
|
|
"mode": "multi",
|
|
"sort": "none"
|
|
}
|
|
},
|
|
"targets": [
|
|
{
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"editorMode": "code",
|
|
"expr": "rust_proxy_certificate_renewal_status_info",
|
|
"legendFormat": "{{certificate}} / {{status}}",
|
|
"range": true,
|
|
"refId": "A"
|
|
},
|
|
{
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"editorMode": "code",
|
|
"expr": "rust_proxy_certificate_auto_renew_enabled",
|
|
"legendFormat": "auto renew {{certificate}}",
|
|
"range": true,
|
|
"refId": "B"
|
|
}
|
|
],
|
|
"title": "Certificate renewal status",
|
|
"type": "timeseries"
|
|
},
|
|
{
|
|
"id": 72,
|
|
"type": "row",
|
|
"title": "Traffic analytics and Web Server",
|
|
"collapsed": false,
|
|
"gridPos": {
|
|
"h": 1,
|
|
"w": 24,
|
|
"x": 0,
|
|
"y": 181
|
|
},
|
|
"panels": []
|
|
},
|
|
{
|
|
"id": 73,
|
|
"type": "stat",
|
|
"title": "Web Server request rate",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 7,
|
|
"w": 6,
|
|
"x": 0,
|
|
"y": 182
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "reqps",
|
|
"custom": {}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"options": {
|
|
"reduceOptions": {
|
|
"values": false,
|
|
"calcs": [
|
|
"lastNotNull"
|
|
],
|
|
"fields": ""
|
|
},
|
|
"orientation": "auto",
|
|
"textMode": "auto",
|
|
"colorMode": "value",
|
|
"graphMode": "area",
|
|
"justifyMode": "auto"
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "sum(rate(rust_proxy_traffic_source_requests_total{vhost=~\"$traffic_vhost\",source=\"web_server\"}[$__rate_interval]))",
|
|
"legendFormat": "web server",
|
|
"range": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": 74,
|
|
"type": "stat",
|
|
"title": "Traffic samples dropped",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 7,
|
|
"w": 6,
|
|
"x": 6,
|
|
"y": 182
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "short",
|
|
"custom": {}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"options": {
|
|
"reduceOptions": {
|
|
"values": false,
|
|
"calcs": [
|
|
"lastNotNull"
|
|
],
|
|
"fields": ""
|
|
},
|
|
"orientation": "auto",
|
|
"textMode": "auto",
|
|
"colorMode": "value",
|
|
"graphMode": "area",
|
|
"justifyMode": "auto"
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "rust_proxy_traffic_queue_dropped_total",
|
|
"legendFormat": "dropped",
|
|
"range": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": 75,
|
|
"type": "bargauge",
|
|
"title": "Top countries",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 7,
|
|
"w": 6,
|
|
"x": 12,
|
|
"y": 182
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "short",
|
|
"min": 0,
|
|
"custom": {}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"options": {
|
|
"orientation": "horizontal",
|
|
"displayMode": "basic",
|
|
"showUnfilled": true,
|
|
"reduceOptions": {
|
|
"values": false,
|
|
"calcs": [
|
|
"lastNotNull"
|
|
],
|
|
"fields": ""
|
|
}
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "sum by (country) (rust_proxy_traffic_country_requests{vhost=~\"$traffic_vhost\"})",
|
|
"legendFormat": "{{country}}",
|
|
"range": false,
|
|
"instant": true
|
|
}
|
|
],
|
|
"description": "Bounded Traffic country analytics. Requires country capture in Settings -> Logging; verified Cloudflare uses trusted CF-IPCountry with GeoIP fallback."
|
|
},
|
|
{
|
|
"id": 76,
|
|
"type": "bargauge",
|
|
"title": "User-Agent families",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 7,
|
|
"w": 6,
|
|
"x": 18,
|
|
"y": 182
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "short",
|
|
"min": 0,
|
|
"custom": {}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"options": {
|
|
"orientation": "horizontal",
|
|
"displayMode": "basic",
|
|
"showUnfilled": true,
|
|
"reduceOptions": {
|
|
"values": false,
|
|
"calcs": [
|
|
"lastNotNull"
|
|
],
|
|
"fields": ""
|
|
}
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "sum by (family) (rust_proxy_traffic_user_agent_family_requests_total{vhost=~\"$traffic_vhost\"})",
|
|
"legendFormat": "{{family}}",
|
|
"range": false,
|
|
"instant": true
|
|
}
|
|
],
|
|
"description": "Fixed-cardinality User-Agent families. Full raw User-Agent values are intentionally not exported to Prometheus."
|
|
},
|
|
{
|
|
"id": 77,
|
|
"type": "timeseries",
|
|
"title": "Requests by serving source",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 7,
|
|
"w": 12,
|
|
"x": 0,
|
|
"y": 189
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "reqps",
|
|
"custom": {
|
|
"drawStyle": "line",
|
|
"lineInterpolation": "linear",
|
|
"lineWidth": 1,
|
|
"fillOpacity": 10,
|
|
"showPoints": "never",
|
|
"spanNulls": false,
|
|
"axisPlacement": "auto"
|
|
}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"options": {
|
|
"legend": {
|
|
"displayMode": "list",
|
|
"placement": "bottom",
|
|
"calcs": []
|
|
},
|
|
"tooltip": {
|
|
"mode": "multi",
|
|
"sort": "none"
|
|
}
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "sum by (source) (rate(rust_proxy_traffic_source_requests_total{vhost=~\"$traffic_vhost\"}[$__rate_interval]))",
|
|
"legendFormat": "{{source}}",
|
|
"range": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": 78,
|
|
"type": "timeseries",
|
|
"title": "Requests by HTTP method",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 7,
|
|
"w": 12,
|
|
"x": 12,
|
|
"y": 189
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "reqps",
|
|
"custom": {
|
|
"drawStyle": "line",
|
|
"lineInterpolation": "linear",
|
|
"lineWidth": 1,
|
|
"fillOpacity": 10,
|
|
"showPoints": "never",
|
|
"spanNulls": false,
|
|
"axisPlacement": "auto"
|
|
}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"options": {
|
|
"legend": {
|
|
"displayMode": "list",
|
|
"placement": "bottom",
|
|
"calcs": []
|
|
},
|
|
"tooltip": {
|
|
"mode": "multi",
|
|
"sort": "none"
|
|
}
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "sum by (method) (rate(rust_proxy_traffic_method_requests_total{vhost=~\"$traffic_vhost\"}[$__rate_interval]))",
|
|
"legendFormat": "{{method}}",
|
|
"range": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": 79,
|
|
"type": "timeseries",
|
|
"title": "Traffic status classes",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 7,
|
|
"w": 12,
|
|
"x": 0,
|
|
"y": 196
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "reqps",
|
|
"custom": {
|
|
"drawStyle": "line",
|
|
"lineInterpolation": "linear",
|
|
"lineWidth": 1,
|
|
"fillOpacity": 10,
|
|
"showPoints": "never",
|
|
"spanNulls": false,
|
|
"axisPlacement": "auto"
|
|
}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"options": {
|
|
"legend": {
|
|
"displayMode": "list",
|
|
"placement": "bottom",
|
|
"calcs": []
|
|
},
|
|
"tooltip": {
|
|
"mode": "multi",
|
|
"sort": "none"
|
|
}
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "sum by (class) (rate(rust_proxy_traffic_status_class_requests_total{vhost=~\"$traffic_vhost\"}[$__rate_interval]))",
|
|
"legendFormat": "{{class}}",
|
|
"range": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": 80,
|
|
"type": "timeseries",
|
|
"title": "Traffic cache outcomes",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 7,
|
|
"w": 12,
|
|
"x": 12,
|
|
"y": 196
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "reqps",
|
|
"custom": {
|
|
"drawStyle": "line",
|
|
"lineInterpolation": "linear",
|
|
"lineWidth": 1,
|
|
"fillOpacity": 10,
|
|
"showPoints": "never",
|
|
"spanNulls": false,
|
|
"axisPlacement": "auto"
|
|
}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"options": {
|
|
"legend": {
|
|
"displayMode": "list",
|
|
"placement": "bottom",
|
|
"calcs": []
|
|
},
|
|
"tooltip": {
|
|
"mode": "multi",
|
|
"sort": "none"
|
|
}
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "sum by (cache) (rate(rust_proxy_traffic_cache_requests_total{vhost=~\"$traffic_vhost\"}[$__rate_interval]))",
|
|
"legendFormat": "{{cache}}",
|
|
"range": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": 81,
|
|
"type": "stat",
|
|
"title": "Traffic capture state",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 5,
|
|
"w": 12,
|
|
"x": 0,
|
|
"y": 203
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "short",
|
|
"custom": {},
|
|
"min": 0,
|
|
"max": 1
|
|
},
|
|
"overrides": []
|
|
},
|
|
"options": {
|
|
"reduceOptions": {
|
|
"values": false,
|
|
"calcs": [
|
|
"lastNotNull"
|
|
],
|
|
"fields": ""
|
|
},
|
|
"orientation": "auto",
|
|
"textMode": "auto",
|
|
"colorMode": "value",
|
|
"graphMode": "area",
|
|
"justifyMode": "auto"
|
|
},
|
|
"targets": [
|
|
{
|
|
"expr": "rust_proxy_traffic_country_capture_enabled",
|
|
"legendFormat": "country capture",
|
|
"refId": "A",
|
|
"range": false,
|
|
"instant": true
|
|
},
|
|
{
|
|
"expr": "rust_proxy_traffic_user_agent_capture_enabled",
|
|
"legendFormat": "User-Agent capture",
|
|
"refId": "B",
|
|
"range": false,
|
|
"instant": true
|
|
}
|
|
],
|
|
"description": "Shows whether Traffic country and User-Agent capture are enabled. Country/UA dimension series are populated only when the matching capture setting is enabled."
|
|
},
|
|
{
|
|
"id": 82,
|
|
"type": "bargauge",
|
|
"title": "Top configured routes",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 5,
|
|
"w": 12,
|
|
"x": 12,
|
|
"y": 203
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "short",
|
|
"min": 0,
|
|
"custom": {}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"options": {
|
|
"orientation": "horizontal",
|
|
"displayMode": "basic",
|
|
"showUnfilled": true,
|
|
"reduceOptions": {
|
|
"values": false,
|
|
"calcs": [
|
|
"lastNotNull"
|
|
],
|
|
"fields": ""
|
|
}
|
|
},
|
|
"targets": [
|
|
{
|
|
"expr": "sum by (route) (rust_proxy_traffic_route_requests{vhost=~\"$traffic_vhost\"})",
|
|
"legendFormat": "{{route}}",
|
|
"refId": "A",
|
|
"range": false,
|
|
"instant": true
|
|
}
|
|
],
|
|
"description": "Approximate bounded Traffic request counts by currently configured route ID. Raw request paths are intentionally not Prometheus labels."
|
|
},
|
|
{
|
|
"id": 89,
|
|
"type": "row",
|
|
"title": "Web Server 0.33.0",
|
|
"collapsed": false,
|
|
"gridPos": {
|
|
"h": 1,
|
|
"w": 24,
|
|
"x": 0,
|
|
"y": 208
|
|
},
|
|
"panels": []
|
|
},
|
|
{
|
|
"id": 90,
|
|
"type": "timeseries",
|
|
"title": "Web requests/s",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 7,
|
|
"w": 12,
|
|
"x": 0,
|
|
"y": 209
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "reqps",
|
|
"custom": {
|
|
"drawStyle": "line",
|
|
"lineInterpolation": "smooth",
|
|
"lineWidth": 2,
|
|
"fillOpacity": 10,
|
|
"spanNulls": false,
|
|
"showPoints": "never",
|
|
"axisPlacement": "auto",
|
|
"stacking": {
|
|
"mode": "none",
|
|
"group": "A"
|
|
}
|
|
}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "sum(rate(rust_proxy_web_server_requests_total{web_service=~\"$web_service\"}[$__rate_interval]))",
|
|
"legendFormat": "All WWW",
|
|
"range": true
|
|
},
|
|
{
|
|
"refId": "B",
|
|
"expr": "sum(rate(rust_proxy_php_requests_total{web_service=~\"$web_service\"}[$__rate_interval]))",
|
|
"legendFormat": "PHP",
|
|
"range": true
|
|
}
|
|
],
|
|
"description": "Counts requests handled by the local Web Server, including PHP; labels are configured service IDs.",
|
|
"options": {
|
|
"legend": {
|
|
"showLegend": true,
|
|
"displayMode": "list",
|
|
"placement": "bottom"
|
|
},
|
|
"tooltip": {
|
|
"mode": "multi",
|
|
"sort": "none"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 91,
|
|
"type": "timeseries",
|
|
"title": "Web Server response headers",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 7,
|
|
"w": 12,
|
|
"x": 12,
|
|
"y": 209
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "ms",
|
|
"custom": {
|
|
"drawStyle": "line",
|
|
"lineInterpolation": "smooth",
|
|
"lineWidth": 2,
|
|
"fillOpacity": 10,
|
|
"spanNulls": false,
|
|
"showPoints": "never",
|
|
"axisPlacement": "auto",
|
|
"stacking": {
|
|
"mode": "none",
|
|
"group": "A"
|
|
}
|
|
}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "1e-3 * sum(rate(rust_proxy_web_server_response_header_duration_microseconds_total{web_service=~\"$web_service\"}[$__rate_interval])) / clamp_min(sum(rate(rust_proxy_web_server_requests_total{web_service=~\"$web_service\"}[$__rate_interval])), 1e-9)",
|
|
"legendFormat": "WWW mean",
|
|
"range": true
|
|
},
|
|
{
|
|
"refId": "B",
|
|
"expr": "1e-3 * sum(rate(rust_proxy_php_response_header_duration_microseconds_total{web_service=~\"$web_service\"}[$__rate_interval])) / clamp_min(sum(rate(rust_proxy_php_requests_total{web_service=~\"$web_service\"}[$__rate_interval])), 1e-9)",
|
|
"legendFormat": "PHP mean",
|
|
"range": true
|
|
}
|
|
],
|
|
"description": "Mean time to response headers only. Streaming body transfer is excluded.",
|
|
"options": {
|
|
"legend": {
|
|
"showLegend": true,
|
|
"displayMode": "list",
|
|
"placement": "bottom"
|
|
},
|
|
"tooltip": {
|
|
"mode": "multi",
|
|
"sort": "none"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 92,
|
|
"type": "piechart",
|
|
"title": "WWW HTTP status classes",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 7,
|
|
"w": 8,
|
|
"x": 0,
|
|
"y": 216
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "short",
|
|
"custom": {}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "sum by (class) (rate(rust_proxy_web_server_responses_total{web_service=~\"$web_service\"}[$__rate_interval]))",
|
|
"legendFormat": "{{class}}",
|
|
"range": true
|
|
}
|
|
],
|
|
"description": "",
|
|
"options": {
|
|
"displayLabels": [
|
|
"name",
|
|
"percent"
|
|
],
|
|
"pieType": "donut",
|
|
"tooltip": {
|
|
"mode": "single"
|
|
},
|
|
"legend": {
|
|
"showLegend": true,
|
|
"displayMode": "list",
|
|
"placement": "right",
|
|
"values": [
|
|
"value",
|
|
"percent"
|
|
]
|
|
},
|
|
"reduceOptions": {
|
|
"values": false,
|
|
"calcs": [
|
|
"lastNotNull"
|
|
],
|
|
"fields": ""
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 93,
|
|
"type": "piechart",
|
|
"title": "Static / PHP / other",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 7,
|
|
"w": 8,
|
|
"x": 8,
|
|
"y": 216
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "short",
|
|
"custom": {}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "sum by (kind) (rate(rust_proxy_web_server_request_kind_total{web_service=~\"$web_service\"}[$__rate_interval]))",
|
|
"legendFormat": "{{kind}}",
|
|
"range": true
|
|
}
|
|
],
|
|
"description": "Other includes early rejections; Static means dispatched static files or directory listings.",
|
|
"options": {
|
|
"displayLabels": [
|
|
"name",
|
|
"percent"
|
|
],
|
|
"pieType": "donut",
|
|
"tooltip": {
|
|
"mode": "single"
|
|
},
|
|
"legend": {
|
|
"showLegend": true,
|
|
"displayMode": "list",
|
|
"placement": "right",
|
|
"values": [
|
|
"value",
|
|
"percent"
|
|
]
|
|
},
|
|
"reduceOptions": {
|
|
"values": false,
|
|
"calcs": [
|
|
"lastNotNull"
|
|
],
|
|
"fields": ""
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 94,
|
|
"type": "gauge",
|
|
"title": "WWW 5xx %",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 7,
|
|
"w": 8,
|
|
"x": 16,
|
|
"y": 216
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "percent",
|
|
"custom": {},
|
|
"min": 0,
|
|
"max": 100
|
|
},
|
|
"overrides": []
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "100 * sum(rate(rust_proxy_web_server_responses_total{web_service=~\"$web_service\",class=\"5xx\"}[$__rate_interval])) / clamp_min(sum(rate(rust_proxy_web_server_requests_total{web_service=~\"$web_service\"}[$__rate_interval])), 1e-9)",
|
|
"legendFormat": "5xx share",
|
|
"range": true
|
|
}
|
|
],
|
|
"description": "",
|
|
"options": {
|
|
"reduceOptions": {
|
|
"values": false,
|
|
"calcs": [
|
|
"lastNotNull"
|
|
],
|
|
"fields": ""
|
|
},
|
|
"orientation": "auto",
|
|
"showThresholdLabels": false,
|
|
"showThresholdMarkers": true
|
|
}
|
|
},
|
|
{
|
|
"id": 95,
|
|
"type": "timeseries",
|
|
"title": "Web Server body bytes/s",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 7,
|
|
"w": 12,
|
|
"x": 0,
|
|
"y": 223
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "Bps",
|
|
"custom": {
|
|
"drawStyle": "line",
|
|
"lineInterpolation": "smooth",
|
|
"lineWidth": 2,
|
|
"fillOpacity": 10,
|
|
"spanNulls": false,
|
|
"showPoints": "never",
|
|
"axisPlacement": "auto",
|
|
"stacking": {
|
|
"mode": "none",
|
|
"group": "A"
|
|
}
|
|
}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "sum(rate(rust_proxy_web_server_response_body_bytes_total{web_service=~\"$web_service\"}[$__rate_interval])) - (sum(rate(rust_proxy_php_response_body_bytes_total{web_service=~\"$web_service\"}[$__rate_interval])) or vector(0))",
|
|
"legendFormat": "Non-PHP",
|
|
"range": true
|
|
},
|
|
{
|
|
"refId": "B",
|
|
"expr": "sum(rate(rust_proxy_php_response_body_bytes_total{web_service=~\"$web_service\"}[$__rate_interval]))",
|
|
"legendFormat": "PHP",
|
|
"range": true
|
|
}
|
|
],
|
|
"description": "Source body bytes observed while streaming, prior to any later compression or network transport. Not wire bandwidth.",
|
|
"options": {
|
|
"legend": {
|
|
"showLegend": true,
|
|
"displayMode": "list",
|
|
"placement": "bottom"
|
|
},
|
|
"tooltip": {
|
|
"mode": "multi",
|
|
"sort": "none"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 96,
|
|
"type": "timeseries",
|
|
"title": "Status-class rates",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 7,
|
|
"w": 12,
|
|
"x": 12,
|
|
"y": 223
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "reqps",
|
|
"custom": {
|
|
"drawStyle": "line",
|
|
"lineInterpolation": "smooth",
|
|
"lineWidth": 2,
|
|
"fillOpacity": 10,
|
|
"spanNulls": false,
|
|
"showPoints": "never",
|
|
"axisPlacement": "auto",
|
|
"stacking": {
|
|
"mode": "none",
|
|
"group": "A"
|
|
}
|
|
}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "sum by (class) (rate(rust_proxy_web_server_responses_total{web_service=~\"$web_service\"}[$__rate_interval]))",
|
|
"legendFormat": "{{class}}",
|
|
"range": true
|
|
}
|
|
],
|
|
"description": "",
|
|
"options": {
|
|
"legend": {
|
|
"showLegend": true,
|
|
"displayMode": "list",
|
|
"placement": "bottom"
|
|
},
|
|
"tooltip": {
|
|
"mode": "multi",
|
|
"sort": "none"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 97,
|
|
"type": "row",
|
|
"title": "PHP-FPM / FastCGI",
|
|
"collapsed": false,
|
|
"gridPos": {
|
|
"h": 1,
|
|
"w": 24,
|
|
"x": 0,
|
|
"y": 230
|
|
},
|
|
"panels": []
|
|
},
|
|
{
|
|
"id": 98,
|
|
"type": "stat",
|
|
"title": "PHP requests/s",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 6,
|
|
"w": 6,
|
|
"x": 0,
|
|
"y": 231
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "reqps",
|
|
"custom": {}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "sum(rate(rust_proxy_php_requests_total{web_service=~\"$web_service\"}[$__rate_interval]))",
|
|
"legendFormat": "PHP/s",
|
|
"range": true
|
|
}
|
|
],
|
|
"description": "",
|
|
"options": {
|
|
"reduceOptions": {
|
|
"values": false,
|
|
"calcs": [
|
|
"lastNotNull"
|
|
],
|
|
"fields": ""
|
|
},
|
|
"orientation": "auto",
|
|
"textMode": "auto",
|
|
"colorMode": "value",
|
|
"graphMode": "area",
|
|
"justifyMode": "auto"
|
|
}
|
|
},
|
|
{
|
|
"id": 99,
|
|
"type": "gauge",
|
|
"title": "PHP permit use %",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 6,
|
|
"w": 6,
|
|
"x": 6,
|
|
"y": 231
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "percent",
|
|
"custom": {},
|
|
"min": 0,
|
|
"max": 100
|
|
},
|
|
"overrides": []
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "100 * sum(rust_proxy_php_concurrency_in_use{web_service=~\"$web_service\"}) / clamp_min(sum(rust_proxy_php_concurrency_limit{web_service=~\"$web_service\"}),1)",
|
|
"legendFormat": "RustProxy permits",
|
|
"range": true
|
|
}
|
|
],
|
|
"description": "Concurrency limits are RustProxy request permits, not measured PHP-FPM worker capacity.",
|
|
"options": {
|
|
"reduceOptions": {
|
|
"values": false,
|
|
"calcs": [
|
|
"lastNotNull"
|
|
],
|
|
"fields": ""
|
|
},
|
|
"orientation": "auto",
|
|
"showThresholdLabels": false,
|
|
"showThresholdMarkers": true
|
|
}
|
|
},
|
|
{
|
|
"id": 100,
|
|
"type": "timeseries",
|
|
"title": "PHP concurrency",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 6,
|
|
"w": 12,
|
|
"x": 12,
|
|
"y": 231
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "short",
|
|
"custom": {
|
|
"drawStyle": "line",
|
|
"lineInterpolation": "smooth",
|
|
"lineWidth": 2,
|
|
"fillOpacity": 10,
|
|
"spanNulls": false,
|
|
"showPoints": "never",
|
|
"axisPlacement": "auto",
|
|
"stacking": {
|
|
"mode": "none",
|
|
"group": "A"
|
|
}
|
|
}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "sum(rust_proxy_php_concurrency_in_use{web_service=~\"$web_service\"})",
|
|
"legendFormat": "In use",
|
|
"range": true
|
|
},
|
|
{
|
|
"refId": "B",
|
|
"expr": "sum(rust_proxy_php_concurrency_available{web_service=~\"$web_service\"})",
|
|
"legendFormat": "Available",
|
|
"range": true
|
|
},
|
|
{
|
|
"refId": "C",
|
|
"expr": "sum(rust_proxy_php_concurrency_limit{web_service=~\"$web_service\"})",
|
|
"legendFormat": "Limit",
|
|
"range": true
|
|
}
|
|
],
|
|
"description": "",
|
|
"options": {
|
|
"legend": {
|
|
"showLegend": true,
|
|
"displayMode": "list",
|
|
"placement": "bottom"
|
|
},
|
|
"tooltip": {
|
|
"mode": "multi",
|
|
"sort": "none"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 101,
|
|
"type": "timeseries",
|
|
"title": "FastCGI failures by reason",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 7,
|
|
"w": 12,
|
|
"x": 0,
|
|
"y": 237
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "reqps",
|
|
"custom": {
|
|
"drawStyle": "line",
|
|
"lineInterpolation": "smooth",
|
|
"lineWidth": 2,
|
|
"fillOpacity": 10,
|
|
"spanNulls": false,
|
|
"showPoints": "never",
|
|
"axisPlacement": "auto",
|
|
"stacking": {
|
|
"mode": "none",
|
|
"group": "A"
|
|
}
|
|
}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "sum by (reason) (rate(rust_proxy_php_failures_total{web_service=~\"$web_service\"}[$__rate_interval]))",
|
|
"legendFormat": "{{reason}}",
|
|
"range": true
|
|
}
|
|
],
|
|
"description": "",
|
|
"options": {
|
|
"legend": {
|
|
"showLegend": true,
|
|
"displayMode": "list",
|
|
"placement": "bottom"
|
|
},
|
|
"tooltip": {
|
|
"mode": "multi",
|
|
"sort": "none"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 102,
|
|
"type": "piechart",
|
|
"title": "PHP response classes",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 7,
|
|
"w": 12,
|
|
"x": 12,
|
|
"y": 237
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "short",
|
|
"custom": {}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "sum by (class) (rate(rust_proxy_php_responses_total{web_service=~\"$web_service\"}[$__rate_interval]))",
|
|
"legendFormat": "{{class}}",
|
|
"range": true
|
|
}
|
|
],
|
|
"description": "",
|
|
"options": {
|
|
"displayLabels": [
|
|
"name",
|
|
"percent"
|
|
],
|
|
"pieType": "donut",
|
|
"tooltip": {
|
|
"mode": "single"
|
|
},
|
|
"legend": {
|
|
"showLegend": true,
|
|
"displayMode": "list",
|
|
"placement": "right",
|
|
"values": [
|
|
"value",
|
|
"percent"
|
|
]
|
|
},
|
|
"reduceOptions": {
|
|
"values": false,
|
|
"calcs": [
|
|
"lastNotNull"
|
|
],
|
|
"fields": ""
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 103,
|
|
"type": "row",
|
|
"title": "Per Web Service",
|
|
"collapsed": false,
|
|
"gridPos": {
|
|
"h": 1,
|
|
"w": 24,
|
|
"x": 0,
|
|
"y": 244
|
|
},
|
|
"panels": []
|
|
},
|
|
{
|
|
"id": 104,
|
|
"type": "bargauge",
|
|
"title": "Top Web Services",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 7,
|
|
"w": 12,
|
|
"x": 0,
|
|
"y": 245
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "reqps",
|
|
"custom": {}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "sum by (web_service) (rate(rust_proxy_web_server_requests_total{web_service=~\"$web_service\"}[$__rate_interval]))",
|
|
"legendFormat": "{{web_service}}",
|
|
"range": true
|
|
}
|
|
],
|
|
"description": "",
|
|
"options": {
|
|
"reduceOptions": {
|
|
"values": false,
|
|
"calcs": [
|
|
"lastNotNull"
|
|
],
|
|
"fields": ""
|
|
},
|
|
"orientation": "horizontal",
|
|
"displayMode": "gradient",
|
|
"showUnfilled": true
|
|
}
|
|
},
|
|
{
|
|
"id": 105,
|
|
"type": "timeseries",
|
|
"title": "WWW requests by method",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 7,
|
|
"w": 12,
|
|
"x": 12,
|
|
"y": 245
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "reqps",
|
|
"custom": {
|
|
"drawStyle": "line",
|
|
"lineInterpolation": "smooth",
|
|
"lineWidth": 2,
|
|
"fillOpacity": 10,
|
|
"spanNulls": false,
|
|
"showPoints": "never",
|
|
"axisPlacement": "auto",
|
|
"stacking": {
|
|
"mode": "none",
|
|
"group": "A"
|
|
}
|
|
}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "sum by (method) (rate(rust_proxy_web_server_methods_total{web_service=~\"$web_service\"}[$__rate_interval]))",
|
|
"legendFormat": "{{method}}",
|
|
"range": true
|
|
}
|
|
],
|
|
"description": "",
|
|
"options": {
|
|
"legend": {
|
|
"showLegend": true,
|
|
"displayMode": "list",
|
|
"placement": "bottom"
|
|
},
|
|
"tooltip": {
|
|
"mode": "multi",
|
|
"sort": "none"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 106,
|
|
"type": "timeseries",
|
|
"title": "Selected HTTP status codes",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 7,
|
|
"w": 12,
|
|
"x": 0,
|
|
"y": 252
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "reqps",
|
|
"custom": {
|
|
"drawStyle": "line",
|
|
"lineInterpolation": "smooth",
|
|
"lineWidth": 2,
|
|
"fillOpacity": 10,
|
|
"spanNulls": false,
|
|
"showPoints": "never",
|
|
"axisPlacement": "auto",
|
|
"stacking": {
|
|
"mode": "none",
|
|
"group": "A"
|
|
}
|
|
}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "sum by (status) (rate(rust_proxy_web_server_status_code_total{web_service=~\"$web_service\"}[$__rate_interval]))",
|
|
"legendFormat": "{{status}}",
|
|
"range": true
|
|
}
|
|
],
|
|
"description": "",
|
|
"options": {
|
|
"legend": {
|
|
"showLegend": true,
|
|
"displayMode": "list",
|
|
"placement": "bottom"
|
|
},
|
|
"tooltip": {
|
|
"mode": "multi",
|
|
"sort": "none"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 107,
|
|
"type": "timeseries",
|
|
"title": "PHP errors per service",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 7,
|
|
"w": 12,
|
|
"x": 12,
|
|
"y": 252
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "reqps",
|
|
"custom": {
|
|
"drawStyle": "line",
|
|
"lineInterpolation": "smooth",
|
|
"lineWidth": 2,
|
|
"fillOpacity": 10,
|
|
"spanNulls": false,
|
|
"showPoints": "never",
|
|
"axisPlacement": "auto",
|
|
"stacking": {
|
|
"mode": "none",
|
|
"group": "A"
|
|
}
|
|
}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "sum by (web_service) (rate(rust_proxy_php_failures_total{web_service=~\"$web_service\"}[$__rate_interval]))",
|
|
"legendFormat": "{{web_service}}",
|
|
"range": true
|
|
}
|
|
],
|
|
"description": "",
|
|
"options": {
|
|
"legend": {
|
|
"showLegend": true,
|
|
"displayMode": "list",
|
|
"placement": "bottom"
|
|
},
|
|
"tooltip": {
|
|
"mode": "multi",
|
|
"sort": "none"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 108,
|
|
"type": "row",
|
|
"title": "WWW / PHP correlation",
|
|
"collapsed": false,
|
|
"gridPos": {
|
|
"h": 1,
|
|
"w": 24,
|
|
"x": 0,
|
|
"y": 259
|
|
},
|
|
"panels": []
|
|
},
|
|
{
|
|
"id": 109,
|
|
"type": "timeseries",
|
|
"title": "Cache hits and PHP requests",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 7,
|
|
"w": 12,
|
|
"x": 0,
|
|
"y": 260
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "reqps",
|
|
"custom": {
|
|
"drawStyle": "line",
|
|
"lineInterpolation": "smooth",
|
|
"lineWidth": 2,
|
|
"fillOpacity": 10,
|
|
"spanNulls": false,
|
|
"showPoints": "never",
|
|
"axisPlacement": "auto",
|
|
"stacking": {
|
|
"mode": "none",
|
|
"group": "A"
|
|
}
|
|
}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "sum(rate(rust_proxy_cache_hits_total[$__rate_interval]))",
|
|
"legendFormat": "Cache HIT/s",
|
|
"range": true
|
|
},
|
|
{
|
|
"refId": "B",
|
|
"expr": "sum(rate(rust_proxy_php_requests_total{web_service=~\"$web_service\"}[$__rate_interval]))",
|
|
"legendFormat": "PHP/s",
|
|
"range": true
|
|
}
|
|
],
|
|
"description": "Cache and PHP rates can be compared, but the source groups need not match.",
|
|
"options": {
|
|
"legend": {
|
|
"showLegend": true,
|
|
"displayMode": "list",
|
|
"placement": "bottom"
|
|
},
|
|
"tooltip": {
|
|
"mode": "multi",
|
|
"sort": "none"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 110,
|
|
"type": "timeseries",
|
|
"title": "WWW 5xx and PHP timeout rates",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 7,
|
|
"w": 12,
|
|
"x": 12,
|
|
"y": 260
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "reqps",
|
|
"custom": {
|
|
"drawStyle": "line",
|
|
"lineInterpolation": "smooth",
|
|
"lineWidth": 2,
|
|
"fillOpacity": 10,
|
|
"spanNulls": false,
|
|
"showPoints": "never",
|
|
"axisPlacement": "auto",
|
|
"stacking": {
|
|
"mode": "none",
|
|
"group": "A"
|
|
}
|
|
}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "sum(rate(rust_proxy_web_server_responses_total{web_service=~\"$web_service\",class=\"5xx\"}[$__rate_interval]))",
|
|
"legendFormat": "WWW 5xx/s",
|
|
"range": true
|
|
},
|
|
{
|
|
"refId": "B",
|
|
"expr": "sum(rate(rust_proxy_php_failures_total{web_service=~\"$web_service\",reason=~\".*timeout\"}[$__rate_interval]))",
|
|
"legendFormat": "PHP timeouts/s",
|
|
"range": true
|
|
}
|
|
],
|
|
"description": "",
|
|
"options": {
|
|
"legend": {
|
|
"showLegend": true,
|
|
"displayMode": "list",
|
|
"placement": "bottom"
|
|
},
|
|
"tooltip": {
|
|
"mode": "multi",
|
|
"sort": "none"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 111,
|
|
"type": "timeseries",
|
|
"title": "Web Server compression by codec",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"gridPos": {
|
|
"h": 7,
|
|
"w": 12,
|
|
"x": 0,
|
|
"y": 267
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "reqps",
|
|
"custom": {
|
|
"drawStyle": "line",
|
|
"lineInterpolation": "smooth",
|
|
"lineWidth": 2,
|
|
"fillOpacity": 10,
|
|
"spanNulls": false
|
|
}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"options": {
|
|
"legend": {
|
|
"showLegend": true,
|
|
"displayMode": "list",
|
|
"placement": "bottom"
|
|
}
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"expr": "sum by (encoding) (rate(rust_proxy_web_server_compression_total{web_service=~\"$web_service\"}[$__rate_interval]))",
|
|
"legendFormat": "{{encoding}}",
|
|
"range": true
|
|
}
|
|
],
|
|
"description": "Only downstream compression performed by RustProxy; already precompressed files are not counted."
|
|
}
|
|
],
|
|
"refresh": "15s",
|
|
"schemaVersion": 40,
|
|
"tags": [
|
|
"rustproxy",
|
|
"reverse-proxy",
|
|
"web-server",
|
|
"php-fpm"
|
|
],
|
|
"templating": {
|
|
"list": [
|
|
{
|
|
"name": "DS_PROMETHEUS",
|
|
"label": "Prometheus",
|
|
"type": "datasource",
|
|
"query": "prometheus",
|
|
"current": {},
|
|
"hide": 0,
|
|
"refresh": 1
|
|
},
|
|
{
|
|
"name": "traffic_vhost",
|
|
"label": "Traffic vhost",
|
|
"type": "query",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"query": {
|
|
"query": "label_values(rust_proxy_traffic_requests_total, vhost)",
|
|
"refId": "StandardVariableQuery"
|
|
},
|
|
"definition": "label_values(rust_proxy_traffic_requests_total, vhost)",
|
|
"current": {
|
|
"selected": false,
|
|
"text": "All",
|
|
"value": "$__all"
|
|
},
|
|
"hide": 0,
|
|
"includeAll": true,
|
|
"allValue": ".*",
|
|
"multi": true,
|
|
"options": [],
|
|
"refresh": 1,
|
|
"regex": "",
|
|
"skipUrlSync": false,
|
|
"sort": 1
|
|
},
|
|
{
|
|
"name": "docker_agent",
|
|
"label": "Docker agent",
|
|
"type": "query",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"query": {
|
|
"query": "label_values(rust_proxy_docker_agent_enabled, agent)",
|
|
"refId": "StandardVariableQuery"
|
|
},
|
|
"definition": "label_values(rust_proxy_docker_agent_enabled, agent)",
|
|
"current": {
|
|
"selected": false,
|
|
"text": "All",
|
|
"value": "$__all"
|
|
},
|
|
"hide": 0,
|
|
"includeAll": true,
|
|
"allValue": ".*",
|
|
"multi": true,
|
|
"options": [],
|
|
"refresh": 1,
|
|
"regex": "",
|
|
"skipUrlSync": false,
|
|
"sort": 1
|
|
},
|
|
{
|
|
"name": "docker_service",
|
|
"label": "Docker service",
|
|
"type": "query",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"query": {
|
|
"query": "label_values(rust_proxy_docker_vhost_enabled{agent=~\"$docker_agent\"}, service)",
|
|
"refId": "StandardVariableQuery"
|
|
},
|
|
"definition": "label_values(rust_proxy_docker_vhost_enabled{agent=~\"$docker_agent\"}, service)",
|
|
"current": {
|
|
"selected": false,
|
|
"text": "All",
|
|
"value": "$__all"
|
|
},
|
|
"hide": 0,
|
|
"includeAll": true,
|
|
"allValue": ".*",
|
|
"multi": true,
|
|
"options": [],
|
|
"refresh": 1,
|
|
"regex": "",
|
|
"skipUrlSync": false,
|
|
"sort": 1
|
|
},
|
|
{
|
|
"name": "web_service",
|
|
"label": "Web Service",
|
|
"type": "query",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "${DS_PROMETHEUS}"
|
|
},
|
|
"query": {
|
|
"query": "label_values(rust_proxy_web_server_requests_total, web_service)",
|
|
"refId": "StandardVariableQuery"
|
|
},
|
|
"definition": "label_values(rust_proxy_web_server_requests_total, web_service)",
|
|
"current": {
|
|
"selected": false,
|
|
"text": "All",
|
|
"value": "$__all"
|
|
},
|
|
"hide": 0,
|
|
"includeAll": true,
|
|
"allValue": ".*",
|
|
"multi": true,
|
|
"options": [],
|
|
"refresh": 1,
|
|
"regex": "",
|
|
"skipUrlSync": false,
|
|
"sort": 1
|
|
}
|
|
]
|
|
},
|
|
"time": {
|
|
"from": "now-6h",
|
|
"to": "now"
|
|
},
|
|
"timepicker": {},
|
|
"timezone": "browser",
|
|
"title": "RustProxy 0.33.3 - Operations",
|
|
"uid": "rustproxy-0170",
|
|
"version": 6,
|
|
"weekStart": "",
|
|
"description": "RustProxy 0.29.2 operations dashboard including backend client lifecycle/retry diagnostics, bounded Traffic analytics, country and User-Agent-family visibility, and built-in Web Server traffic."
|
|
}
|