Files
RustProxy/grafana/rustproxy-overview.json
T
2026-10-27 12:18:20 +01:00

6876 lines
165 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": 112,
"type": "stat",
"title": "RustProxy build version",
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"gridPos": {
"h": 5,
"w": 6,
"x": 0,
"y": 13
},
"fieldConfig": {
"defaults": {
"unit": "none",
"custom": {}
},
"overrides": []
},
"options": {
"reduceOptions": {
"values": false,
"calcs": [
"lastNotNull"
],
"fields": ""
},
"orientation": "auto",
"textMode": "name",
"colorMode": "value",
"graphMode": "none",
"justifyMode": "auto"
},
"targets": [
{
"refId": "A",
"expr": "max by (version) (rust_proxy_build_info)",
"legendFormat": "{{version}}",
"range": true
}
],
"description": "Value from the exporter build_info version label, one entry for each deployed version."
},
{
"id": 113,
"type": "stat",
"title": "Youngest process uptime",
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"gridPos": {
"h": 5,
"w": 6,
"x": 6,
"y": 13
},
"fieldConfig": {
"defaults": {
"unit": "s",
"custom": {}
},
"overrides": []
},
"options": {
"reduceOptions": {
"values": false,
"calcs": [
"lastNotNull"
],
"fields": ""
},
"orientation": "auto",
"textMode": "auto",
"colorMode": "value",
"graphMode": "area",
"justifyMode": "auto"
},
"targets": [
{
"refId": "A",
"expr": "min(rust_proxy_uptime_seconds)",
"legendFormat": "uptime",
"range": true
}
],
"description": "Minimum process uptime across scraped RustProxy instances; identifies a recent restart."
},
{
"id": 114,
"type": "gauge",
"title": "Request capacity in use",
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"gridPos": {
"h": 5,
"w": 6,
"x": 12,
"y": 13
},
"fieldConfig": {
"defaults": {
"unit": "percent",
"custom": {},
"min": 0,
"max": 100,
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "yellow",
"value": 80
},
{
"color": "red",
"value": 95
}
]
}
},
"overrides": []
},
"targets": [
{
"refId": "A",
"expr": "100 * (sum(rust_proxy_request_capacity) - sum(rust_proxy_request_permits_available)) / clamp_min(sum(rust_proxy_request_capacity), 1)",
"legendFormat": "in use",
"range": true
}
],
"description": "Percentage of configured admitted-exchange permits currently in use; not TCP connection capacity.",
"options": {
"reduceOptions": {
"values": false,
"calcs": [
"lastNotNull"
],
"fields": ""
},
"orientation": "auto",
"showThresholdLabels": false,
"showThresholdMarkers": true
}
},
{
"id": 115,
"type": "stat",
"title": "Restart required",
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"gridPos": {
"h": 5,
"w": 6,
"x": 18,
"y": 13
},
"fieldConfig": {
"defaults": {
"unit": "none",
"custom": {},
"mappings": [
{
"type": "value",
"options": {
"0": {
"text": "No",
"color": "green"
},
"1": {
"text": "Yes",
"color": "red"
}
}
}
],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 1
}
]
}
},
"overrides": []
},
"options": {
"reduceOptions": {
"values": false,
"calcs": [
"lastNotNull"
],
"fields": ""
},
"orientation": "auto",
"textMode": "value",
"colorMode": "value",
"graphMode": "none",
"justifyMode": "auto"
},
"targets": [
{
"refId": "A",
"expr": "max(rust_proxy_restart_required)",
"legendFormat": "required",
"range": true
}
],
"description": "1 if a running instance requires restart for listener or exporter changes."
},
{
"id": 8,
"type": "row",
"title": "Vhosts and backends",
"collapsed": false,
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 18
},
"panels": []
},
{
"id": 9,
"type": "timeseries",
"title": "Requests by vhost",
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"gridPos": {
"h": 7,
"w": 12,
"x": 0,
"y": 19
},
"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": 19
},
"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": 26
},
"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": 26
},
"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": 26
},
"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": 33
},
"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": 33
},
"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": 40
},
"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": 40
},
"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": 40
},
"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": 116,
"type": "timeseries",
"title": "Backend queue and capacity rejections",
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"gridPos": {
"h": 7,
"w": 12,
"x": 0,
"y": 47
},
"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,backend) (rate(rust_proxy_backend_queue_timeouts_total[$__rate_interval]))",
"legendFormat": "{{vhost}} / {{backend}} queue timeout",
"range": true
},
{
"refId": "B",
"expr": "sum by (vhost,backend) (rate(rust_proxy_backend_capacity_rejections_total[$__rate_interval]))",
"legendFormat": "{{vhost}} / {{backend}} capacity rejection",
"range": true
}
],
"description": "Failed backend acquisitions per second. Gauges or status flags are not mixed with event rates."
},
{
"id": 117,
"type": "timeseries",
"title": "Backend concurrency utilization",
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"gridPos": {
"h": 7,
"w": 12,
"x": 12,
"y": 47
},
"fieldConfig": {
"defaults": {
"unit": "percent",
"custom": {
"drawStyle": "line",
"lineInterpolation": "linear",
"lineWidth": 1,
"fillOpacity": 10,
"showPoints": "never",
"spanNulls": false,
"axisPlacement": "auto"
},
"min": 0,
"max": 100
},
"overrides": []
},
"options": {
"legend": {
"displayMode": "list",
"placement": "bottom",
"calcs": []
},
"tooltip": {
"mode": "multi",
"sort": "none"
}
},
"targets": [
{
"refId": "A",
"expr": "(100 * rust_proxy_backend_active_exchanges / clamp_min(rust_proxy_backend_max_concurrent_requests,1)) and on(vhost,backend) (rust_proxy_backend_max_concurrent_requests > 0)",
"legendFormat": "{{vhost}} / {{backend}}",
"range": true
}
],
"description": "In-use backend exchanges divided by a positive per-backend concurrency limit; unlimited backends are omitted."
},
{
"id": 58,
"type": "row",
"title": "Docker vhosts",
"collapsed": false,
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 54
},
"panels": []
},
{
"id": 59,
"type": "stat",
"title": "Docker agents configured",
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"gridPos": {
"h": 5,
"w": 6,
"x": 0,
"y": 55
},
"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": 55
},
"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": 55
},
"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": 55
},
"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": 60
},
"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": 60
},
"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": 60
},
"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": 67
},
"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": 67
},
"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": 67
},
"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": 74
},
"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": 74
},
"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": 74
},
"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": 81
},
"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": 81
},
"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": 81
},
"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": 118,
"type": "timeseries",
"title": "Docker backend queue and capacity rejections",
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"gridPos": {
"h": 7,
"w": 12,
"x": 0,
"y": 88
},
"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,backend) (rate(rust_proxy_docker_backend_queue_timeouts_total{agent=~\"$docker_agent\",service=~\"$docker_service\"}[$__rate_interval]))",
"legendFormat": "{{agent}} / {{service}} / {{backend}} queue timeout",
"range": true
},
{
"refId": "B",
"expr": "sum by (agent,service,backend) (rate(rust_proxy_docker_backend_capacity_rejections_total{agent=~\"$docker_agent\",service=~\"$docker_service\"}[$__rate_interval]))",
"legendFormat": "{{agent}} / {{service}} / {{backend}} capacity rejection",
"range": true
}
],
"description": "Docker backend acquisition failures per second; respects Docker agent and service filters."
},
{
"id": 119,
"type": "timeseries",
"title": "Docker backend concurrency utilization",
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"gridPos": {
"h": 7,
"w": 12,
"x": 12,
"y": 88
},
"fieldConfig": {
"defaults": {
"unit": "percent",
"custom": {
"drawStyle": "line",
"lineInterpolation": "linear",
"lineWidth": 1,
"fillOpacity": 10,
"showPoints": "never",
"spanNulls": false,
"axisPlacement": "auto"
},
"min": 0,
"max": 100
},
"overrides": []
},
"options": {
"legend": {
"displayMode": "list",
"placement": "bottom",
"calcs": []
},
"tooltip": {
"mode": "multi",
"sort": "none"
}
},
"targets": [
{
"refId": "A",
"expr": "(100 * rust_proxy_docker_backend_active_exchanges{agent=~\"$docker_agent\",service=~\"$docker_service\"} / clamp_min(rust_proxy_docker_backend_max_concurrent_requests{agent=~\"$docker_agent\",service=~\"$docker_service\"},1)) and on(agent,service,vhost,backend) (rust_proxy_docker_backend_max_concurrent_requests{agent=~\"$docker_agent\",service=~\"$docker_service\"} > 0)",
"legendFormat": "{{agent}} / {{service}} / {{backend}}",
"range": true
}
],
"description": "Percentage of configured positive Docker backend concurrency limit that is in use."
},
{
"id": 16,
"type": "row",
"title": "Cache",
"collapsed": false,
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 95
},
"panels": []
},
{
"id": 17,
"type": "stat",
"title": "Hot cache RAM",
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"gridPos": {
"h": 5,
"w": 6,
"x": 0,
"y": 96
},
"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": 96
},
"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": 96
},
"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": 96
},
"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": 101
},
"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": 101
},
"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": 108
},
"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": 108
},
"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": 120,
"type": "gauge",
"title": "Hot cache usage",
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"gridPos": {
"h": 5,
"w": 6,
"x": 0,
"y": 115
},
"fieldConfig": {
"defaults": {
"unit": "percent",
"custom": {},
"min": 0,
"max": 100,
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "yellow",
"value": 80
},
{
"color": "red",
"value": 95
}
]
}
},
"overrides": []
},
"targets": [
{
"refId": "A",
"expr": "100 * sum(rust_proxy_cache_resident_bytes) / clamp_min(sum(rust_proxy_cache_hot_limit_bytes),1)",
"legendFormat": "used",
"range": true
}
],
"description": "Usage relative to configured limit: rust_proxy_cache_resident_bytes / rust_proxy_cache_hot_limit_bytes.",
"options": {
"reduceOptions": {
"values": false,
"calcs": [
"lastNotNull"
],
"fields": ""
},
"orientation": "auto",
"showThresholdLabels": false,
"showThresholdMarkers": true
}
},
{
"id": 121,
"type": "gauge",
"title": "Transient RAM usage",
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"gridPos": {
"h": 5,
"w": 6,
"x": 6,
"y": 115
},
"fieldConfig": {
"defaults": {
"unit": "percent",
"custom": {},
"min": 0,
"max": 100,
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "yellow",
"value": 80
},
{
"color": "red",
"value": 95
}
]
}
},
"overrides": []
},
"targets": [
{
"refId": "A",
"expr": "100 * sum(rust_proxy_cache_transient_bytes) / clamp_min(sum(rust_proxy_cache_transient_limit_bytes),1)",
"legendFormat": "used",
"range": true
}
],
"description": "Usage relative to configured limit: rust_proxy_cache_transient_bytes / rust_proxy_cache_transient_limit_bytes.",
"options": {
"reduceOptions": {
"values": false,
"calcs": [
"lastNotNull"
],
"fields": ""
},
"orientation": "auto",
"showThresholdLabels": false,
"showThresholdMarkers": true
}
},
{
"id": 122,
"type": "gauge",
"title": "Cold cache usage",
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"gridPos": {
"h": 5,
"w": 6,
"x": 12,
"y": 115
},
"fieldConfig": {
"defaults": {
"unit": "percent",
"custom": {},
"min": 0,
"max": 100,
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "yellow",
"value": 80
},
{
"color": "red",
"value": 95
}
]
}
},
"overrides": []
},
"targets": [
{
"refId": "A",
"expr": "100 * sum(rust_proxy_cache_cold_bytes) / clamp_min(sum(rust_proxy_cache_cold_limit_bytes),1)",
"legendFormat": "used",
"range": true
}
],
"description": "Usage relative to configured limit: rust_proxy_cache_cold_bytes / rust_proxy_cache_cold_limit_bytes.",
"options": {
"reduceOptions": {
"values": false,
"calcs": [
"lastNotNull"
],
"fields": ""
},
"orientation": "auto",
"showThresholdLabels": false,
"showThresholdMarkers": true
}
},
{
"id": 123,
"type": "gauge",
"title": "Cold queue usage",
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"gridPos": {
"h": 5,
"w": 6,
"x": 18,
"y": 115
},
"fieldConfig": {
"defaults": {
"unit": "percent",
"custom": {},
"min": 0,
"max": 100,
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "yellow",
"value": 80
},
{
"color": "red",
"value": 95
}
]
}
},
"overrides": []
},
"targets": [
{
"refId": "A",
"expr": "100 * sum(rust_proxy_cache_cold_queue_bytes) / clamp_min(sum(rust_proxy_cache_cold_queue_limit_bytes),1)",
"legendFormat": "used",
"range": true
}
],
"description": "Usage relative to configured limit: rust_proxy_cache_cold_queue_bytes / rust_proxy_cache_cold_queue_limit_bytes.",
"options": {
"reduceOptions": {
"values": false,
"calcs": [
"lastNotNull"
],
"fields": ""
},
"orientation": "auto",
"showThresholdLabels": false,
"showThresholdMarkers": true
}
},
{
"id": 124,
"type": "timeseries",
"title": "Cache pressure and contention",
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"gridPos": {
"h": 7,
"w": 12,
"x": 0,
"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": "sum(rate(rust_proxy_cache_memory_pressure_rejections_total[$__rate_interval]))",
"legendFormat": "memory pressure rejects/s",
"range": true
},
{
"refId": "B",
"expr": "sum(rate(rust_proxy_cache_hot_eviction_limited_total[$__rate_interval]))",
"legendFormat": "hot eviction limited/s",
"range": true
},
{
"refId": "C",
"expr": "sum(rate(rust_proxy_cache_cold_queue_dropped_total[$__rate_interval]))",
"legendFormat": "cold queue drops/s",
"range": true
},
{
"refId": "D",
"expr": "sum(rate(rust_proxy_cache_collapse_timeouts_total[$__rate_interval]))",
"legendFormat": "collapsed fill timeouts/s",
"range": true
}
],
"description": "Cache pressure, eviction limitations, asynchronous cold-write queue losses and collapsed-fill timeouts (events per second)."
},
{
"id": 125,
"type": "timeseries",
"title": "Cache fill and proactive activity",
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"gridPos": {
"h": 7,
"w": 12,
"x": 12,
"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": "sum(rate(rust_proxy_cache_collapsed_fills_total[$__rate_interval]))",
"legendFormat": "collapsed fills/s",
"range": true
},
{
"refId": "B",
"expr": "sum(rate(rust_proxy_cache_proactive_scheduled_total[$__rate_interval]))",
"legendFormat": "proactive scheduled/s",
"range": true
},
{
"refId": "C",
"expr": "sum(rate(rust_proxy_cache_proactive_started_total[$__rate_interval]))",
"legendFormat": "proactive started/s",
"range": true
},
{
"refId": "D",
"expr": "sum(rate(rust_proxy_cache_proactive_skipped_total[$__rate_interval]))",
"legendFormat": "proactive skipped/s",
"range": true
}
],
"description": "Rate of cache fill collapsing and proactive refresh scheduling, starts and skips."
},
{
"id": 25,
"type": "row",
"title": "Process and host diagnostics",
"collapsed": false,
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 127
},
"panels": []
},
{
"id": 26,
"type": "timeseries",
"title": "Process memory breakdown",
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"gridPos": {
"h": 8,
"w": 12,
"x": 0,
"y": 128
},
"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": 128
},
"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": 136
},
"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": 136
},
"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": 136
},
"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": 143
},
"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": 143
},
"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": "clamp_min(deriv(rust_proxy_process_read_bytes[$__rate_interval]), 0)",
"legendFormat": "read",
"range": true
},
{
"refId": "B",
"expr": "clamp_min(deriv(rust_proxy_process_write_bytes[$__rate_interval]), 0)",
"legendFormat": "write",
"range": true
}
],
"description": "Approximate bytes/second from cumulative process I/O gauges sampled by Linux; negative deltas are clamped to zero."
},
{
"id": 33,
"type": "row",
"title": "Protocols",
"collapsed": false,
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 150
},
"panels": []
},
{
"id": 34,
"type": "timeseries",
"title": "HTTP protocol requests",
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"gridPos": {
"h": 7,
"w": 8,
"x": 0,
"y": 151
},
"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": 151
},
"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": 151
},
"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": "Active WebSocket tunnels",
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"gridPos": {
"h": 7,
"w": 12,
"x": 0,
"y": 158
},
"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": "sum(rust_proxy_websocket_tunnels_active)",
"legendFormat": "active",
"range": true
}
],
"description": "Open HTTP/1.1, HTTP/2 and HTTP/3 WebSocket transports (gauge), not tunnel creation rate."
},
{
"id": 38,
"type": "timeseries",
"title": "Compression",
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"gridPos": {
"h": 7,
"w": 12,
"x": 12,
"y": 158
},
"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": 126,
"type": "timeseries",
"title": "WebSocket tunnel events",
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"gridPos": {
"h": 7,
"w": 12,
"x": 0,
"y": 165
},
"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(rate(rust_proxy_websocket_tunnels_total[$__rate_interval]))",
"legendFormat": "opened/s",
"range": true
},
{
"refId": "B",
"expr": "sum(rate(rust_proxy_websocket_errors_total[$__rate_interval]))",
"legendFormat": "transport errors/s",
"range": true
},
{
"refId": "C",
"expr": "sum(rate(rust_proxy_websocket_handshake_errors_total[$__rate_interval]))",
"legendFormat": "handshake errors/s",
"range": true
}
],
"description": "Rates for established WebSocket tunnels, transport errors and rejected upgrade handshakes."
},
{
"id": 127,
"type": "timeseries",
"title": "Active WebSockets by HTTP version",
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"gridPos": {
"h": 7,
"w": 12,
"x": 12,
"y": 165
},
"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": "sum(rust_proxy_websocket_h1_tunnels_active)",
"legendFormat": "HTTP/1.1",
"range": true
},
{
"refId": "B",
"expr": "sum(rust_proxy_websocket_h2_rfc8441_tunnels_active)",
"legendFormat": "HTTP/2 RFC 8441",
"range": true
},
{
"refId": "C",
"expr": "sum(rust_proxy_websocket_h3_rfc9220_tunnels_active)",
"legendFormat": "HTTP/3 RFC 9220",
"range": true
}
],
"description": "Currently open WebSocket tunnels per public transport protocol, all gauges."
},
{
"id": 39,
"type": "row",
"title": "Layer-4 streams and logging",
"collapsed": false,
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 172
},
"panels": []
},
{
"id": 40,
"type": "timeseries",
"title": "Active stream sessions",
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"gridPos": {
"h": 7,
"w": 12,
"x": 0,
"y": 173
},
"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": "sum by (stream, protocol) (rust_proxy_stream_active)",
"legendFormat": "{{stream}} ({{protocol}})",
"range": true
}
],
"description": "Active Layer-4 TCP/UDP sessions by stream and protocol (gauge)."
},
{
"id": 41,
"type": "timeseries",
"title": "Stream throughput",
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"gridPos": {
"h": 7,
"w": 12,
"x": 12,
"y": 173
},
"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": 128,
"type": "timeseries",
"title": "Stream session event rates",
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"gridPos": {
"h": 7,
"w": 8,
"x": 0,
"y": 180
},
"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 (stream,protocol) (rate(rust_proxy_stream_sessions_total[$__rate_interval]))",
"legendFormat": "{{stream}} ({{protocol}}) started",
"range": true
},
{
"refId": "B",
"expr": "sum by (stream,protocol) (rate(rust_proxy_stream_errors_total[$__rate_interval]))",
"legendFormat": "{{stream}} ({{protocol}}) errors",
"range": true
},
{
"refId": "C",
"expr": "sum by (stream,protocol) (rate(rust_proxy_stream_rejected_total[$__rate_interval]))",
"legendFormat": "{{stream}} ({{protocol}}) rejected",
"range": true
}
],
"description": "Layer-4 TCP/UDP started, failed and rejected sessions per second."
},
{
"id": 129,
"type": "timeseries",
"title": "Stream backend health state",
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"gridPos": {
"h": 7,
"w": 8,
"x": 8,
"y": 180
},
"fieldConfig": {
"defaults": {
"unit": "short",
"custom": {
"drawStyle": "line",
"lineInterpolation": "linear",
"lineWidth": 1,
"fillOpacity": 10,
"showPoints": "never",
"spanNulls": false,
"axisPlacement": "auto"
},
"mappings": [
{
"type": "value",
"options": {
"0": {
"text": "Unverified",
"color": "gray"
},
"1": {
"text": "Checking",
"color": "yellow"
},
"2": {
"text": "Healthy",
"color": "green"
},
"3": {
"text": "Unhealthy",
"color": "red"
},
"4": {
"text": "Disabled",
"color": "gray"
}
}
}
],
"min": 0,
"max": 4,
"decimals": 0
},
"overrides": []
},
"options": {
"legend": {
"displayMode": "list",
"placement": "bottom",
"calcs": []
},
"tooltip": {
"mode": "multi",
"sort": "none"
}
},
"targets": [
{
"refId": "A",
"expr": "rust_proxy_stream_backend_health_state",
"legendFormat": "{{stream}} ({{protocol}}) / {{backend}}",
"range": true
}
],
"description": "Backend health state codes: 0 unverified, 1 checking, 2 healthy, 3 unhealthy, 4 disabled. Available only for configured active stream backends."
},
{
"id": 130,
"type": "timeseries",
"title": "Stream capacity utilization",
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"gridPos": {
"h": 7,
"w": 8,
"x": 16,
"y": 180
},
"fieldConfig": {
"defaults": {
"unit": "percent",
"custom": {
"drawStyle": "line",
"lineInterpolation": "linear",
"lineWidth": 1,
"fillOpacity": 10,
"showPoints": "never",
"spanNulls": false,
"axisPlacement": "auto"
},
"min": 0,
"max": 100
},
"overrides": []
},
"options": {
"legend": {
"displayMode": "list",
"placement": "bottom",
"calcs": []
},
"tooltip": {
"mode": "multi",
"sort": "none"
}
},
"targets": [
{
"refId": "A",
"expr": "100 * rust_proxy_stream_active / clamp_min(rust_proxy_stream_max_connections,1)",
"legendFormat": "{{stream}} ({{protocol}})",
"range": true
}
],
"description": "Active stream sessions relative to its configured maximum connection/session capacity."
},
{
"id": 42,
"type": "timeseries",
"title": "Structured log queue capacity",
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"gridPos": {
"h": 7,
"w": 12,
"x": 0,
"y": 187
},
"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": "sum(rust_proxy_log_sink_queue_capacity)",
"legendFormat": "queue capacity",
"range": true
}
],
"description": "Configured number of log sink queue slots (gauge); log delivery and dropped event rates are shown separately."
},
{
"id": 43,
"type": "timeseries",
"title": "Admin request rate",
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"gridPos": {
"h": 7,
"w": 12,
"x": 12,
"y": 187
},
"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(rate(rust_proxy_admin_requests_total[$__rate_interval]))",
"legendFormat": "admin requests/s",
"range": true
}
],
"description": "Requests to the control plane per second. Request permits and required restarts are shown separately."
},
{
"id": 131,
"type": "timeseries",
"title": "Structured log sink event rates",
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"gridPos": {
"h": 7,
"w": 12,
"x": 0,
"y": 194
},
"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_log_sink_sent_total[$__rate_interval]))",
"legendFormat": "delivered/s",
"range": true
},
{
"refId": "B",
"expr": "sum(rate(rust_proxy_log_sink_queue_dropped_total[$__rate_interval]))",
"legendFormat": "dropped/s",
"range": true
},
{
"refId": "C",
"expr": "sum(rate(rust_proxy_log_sink_errors_total[$__rate_interval]))",
"legendFormat": "delivery errors/s",
"range": true
}
],
"description": "Log delivery, queue overflow and sink failure event rates per second."
},
{
"id": 132,
"type": "timeseries",
"title": "Request permits and limits",
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"gridPos": {
"h": 7,
"w": 12,
"x": 12,
"y": 194
},
"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": "sum(rust_proxy_request_capacity)",
"legendFormat": "capacity",
"range": true
},
{
"refId": "B",
"expr": "sum(rust_proxy_request_permits_available)",
"legendFormat": "available",
"range": true
},
{
"refId": "C",
"expr": "sum(rust_proxy_request_capacity - rust_proxy_request_permits_available)",
"legendFormat": "in use",
"range": true
}
],
"description": "Concurrent request capacity, available permits and in-use permits across scraped instances (gauges)."
},
{
"id": 44,
"type": "row",
"title": "Inventory",
"collapsed": false,
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 201
},
"panels": []
},
{
"id": 45,
"type": "timeseries",
"title": "Configured objects",
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"gridPos": {
"h": 7,
"w": 12,
"x": 0,
"y": 202
},
"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": 202
},
"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": 209
},
"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": 210
},
"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": 210
},
"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": 210
},
"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": 217
},
"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": 218
},
"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": 218
},
"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": 218
},
"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": 225
},
"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": 226
},
"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": 226
},
"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": 233
},
"panels": []
},
{
"id": 73,
"type": "stat",
"title": "Web Server request rate",
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"gridPos": {
"h": 7,
"w": 6,
"x": 0,
"y": 234
},
"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": 234
},
"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": 234
},
"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": 234
},
"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": 241
},
"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": 241
},
"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": 248
},
"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": 248
},
"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": 255
},
"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": 255
},
"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",
"collapsed": false,
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 260
},
"panels": []
},
{
"id": 90,
"type": "timeseries",
"title": "Web requests/s",
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"gridPos": {
"h": 7,
"w": 12,
"x": 0,
"y": 261
},
"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": 261
},
"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": 268
},
"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": 268
},
"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": 268
},
"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": 275
},
"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": 275
},
"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": 282
},
"panels": []
},
{
"id": 98,
"type": "stat",
"title": "PHP requests/s",
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"gridPos": {
"h": 6,
"w": 6,
"x": 0,
"y": 283
},
"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": 283
},
"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": 283
},
"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": 289
},
"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": 289
},
"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": 296
},
"panels": []
},
{
"id": 104,
"type": "bargauge",
"title": "Top Web Services",
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"gridPos": {
"h": 7,
"w": 12,
"x": 0,
"y": 297
},
"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": 297
},
"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": 304
},
"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": 304
},
"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": 311
},
"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": 312
},
"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": 312
},
"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": 319
},
"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",
"prometheus",
"operations"
],
"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": {
"qryType": 1,
"query": "rust_proxy_traffic_requests_total",
"label": "vhost",
"refId": "PrometheusVariableQueryEditor-VariableQuery"
},
"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": {
"qryType": 1,
"query": "rust_proxy_docker_agent_enabled",
"label": "agent",
"refId": "PrometheusVariableQueryEditor-VariableQuery"
},
"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": {
"qryType": 1,
"query": "rust_proxy_docker_vhost_enabled{agent=~\"$docker_agent\"}",
"label": "service",
"refId": "PrometheusVariableQueryEditor-VariableQuery"
},
"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": {
"qryType": 1,
"query": "rust_proxy_web_server_requests_total",
"label": "web_service",
"refId": "PrometheusVariableQueryEditor-VariableQuery"
},
"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.34.15 - Operations",
"uid": "rustproxy-0170",
"version": 7,
"weekStart": "",
"description": "RustProxy 0.34.15 Prometheus operations dashboard: traffic and errors, vhosts and backends, Docker discovery, cache capacity and pressure, process and system diagnostics, HTTP/2, HTTP/3, TLS, WebSockets, Layer-4 streams, log sinks, Web Server and PHP-FPM. Some metrics are optional depending on exporter collector settings and enabled services."
}