跳转到内容

统计仪表盘

CLI 客户端可以内置提供统计仪表盘 —— 一个自包含的 HTML 页面,带有 MRTG/RRD 风格的实时图表,以及用于脚本调用的 JSON API。它与客户端一同运行,无需额外依赖,默认关闭。


  • 吞吐量 —— 持续采样的接收/发送速率图表
  • 连接数 —— 已接受、活跃、已完成、走隧道、直连绕行与被拦截的计数
  • 历史 —— 内存中保留最近 24 小时(重启后清零)

页面每 30 秒自动刷新。所有图表均以内联 SVG 渲染 —— 不依赖 JavaScript 框架,也不发起任何外部请求。


命令行临时启用:

Terminal window
rvpn -c ~/.config/rvpn/client.toml --dashboard-listen 127.0.0.1:9800

或在 client.toml 中永久启用:

[dashboard]
enabled = true
listen_address = "127.0.0.1:9800"

然后在浏览器打开 http://127.0.0.1:9800。


如果客户端运行在网关或其他机器上,绑定局域网网卡地址并扩展 allow_cidrs:

[dashboard]
enabled = true
listen_address = "0.0.0.0:9800"
allow_cidrs = ["127.0.0.0/8", "192.168.10.0/24"]

来自允许范围之外的请求会返回 403 Forbidden。


GET /api/stats.json 返回原始计数器和最近的历史数据桶(30 分钟),适合接入你自己的监控系统:

Terminal window
curl -s http://127.0.0.1:9800/api/stats.json | jq

字段包括 bytes_up、bytes_down、conns_accepted、conns_active、conns_tunneled、conns_bypassed 和 conns_blocked。


字段类型默认值说明
enabledboolfalse随客户端一同启动仪表盘 HTTP 监听。
listen_addressstring"127.0.0.1:9800"仪表盘监听的地址与端口。
allow_cidrslist["127.0.0.0/8", "::1/128"]允许访问仪表盘的网段;其余来源一律返回 403。

另见:客户端配置参考