Grafana dashboard
rustproxy-overview.json is a provisioning/import dashboard for the dedicated
RustProxy Prometheus exporter. It covers global traffic, status classes, vhost
latency, backend health/latency, upstream-client generation/retry/rotation diagnostics,
a dedicated Docker-vhost section, hot/cold/transient cache memory, Linux process and cgroup diagnostics, HTTP/2/HTTP/3/TLS/WebSocket
counters, Layer-4 streams, structured-log sink health, configuration inventory and bounded Traffic analytics.
The Docker vhosts row uses only the dedicated rust_proxy_docker_* metric
families and includes configured/enabled counts, request/error rates, p95 exchange
latency, backend health/EWMA latency/active work, traffic, probe age and upstream-client lifecycle/retry panels. Dashboard
variables Docker agent and Docker service filter only this section, which keeps
multi-agent installations readable without changing the ordinary vhost panels.
The 0.33.0 Web Server row adds header-ready request rates, status-class and static/PHP/other donut breakdowns, error percentage, response-header latency, payload byte rates, and downstream compression by codec. PHP-FPM / FastCGI adds request activity, RustProxy PHP permit capacity, and errors grouped by finite reason. Per Web Service shows top service rates, HTTP methods and selected status codes, while WWW / PHP correlation compares PHP load and Web Server errors with cache activity. Use the Web service variable to filter the new panels by configured Web Service ID. All new panels are added to the existing dashboard without changing the legacy rows.
The Traffic analytics and Web Server row uses the rust_proxy_traffic_* families.
The Traffic vhost variable filters that row and exposes Web Server request rate,
serving-source rate, top countries, fixed User-Agent families, HTTP methods, status
classes, cache outcomes, capture-state gauges and configured-route traffic. Raw IP addresses, request paths and full User-Agent strings
are intentionally absent from Prometheus labels.
Import the JSON in Grafana and select a Prometheus datasource when prompted. The dashboard expects RustProxy 0.33.0 for its newest Web Server metric names (and also retains the older panels); a scrape interval around 15s is suitable. Collectors can be disabled in RustProxy settings; panels for disabled collectors will simply show no series.
Recommended scrape job:
scrape_configs:
- job_name: rustproxy
scrape_interval: 15s
metrics_path: /metrics
static_configs:
- targets: ['rustproxy-host:9191']
When the exporter is protected with a bearer token, configure Prometheus
authorization.credentials_file. For a private monitoring VLAN, RustProxy can
instead explicitly allow actual peers from configured trusted CIDRs to scrape
without a token. Forwarded client-IP headers never satisfy that trust check.