本页面介绍 FRP (Fast Reverse Proxy) 的管理和监控功能,涵盖服务器端仪表盘和客户端管理界面。文档解释了如何监控代理状态、查看流量统计信息以及执行配置重载和清除离线代理等管理操作。
有关启用这些接口的详细配置选项,请参阅 配置。
FRP 通过服务器 (frps) 和客户端 (frpc) 组件上的基于 Web 的仪表盘和 API 提供全面的管理和监控功能。这些接口允许管理员:
来源:server/dashboard_api.go client/admin_api.go
服务器仪表盘为监控和管理 frps 提供了一个基于 Web 的界面和 API。
要启用仪表盘,请在 frps 配置文件中配置以下内容:
服务器仪表盘公开了多个 API 端点,用于检索信息和执行管理操作。
| 端点 | 方法 | 描述 |
|---|---|---|
/healthz | GET | 简单的健康检查 |
/metrics | GET | Prometheus 指标(启用时) |
/api/serverinfo | GET | 获取服务器配置和统计信息 |
/api/proxy/{type} | GET | 列出指定类型的代理 |
/api/proxy/{type}/{name} | GET | 获取特定代理的详细信息 |
/api/traffic/{name} | GET | 获取特定代理的流量统计信息 |
/api/proxies | DELETE | 清除离线代理(使用查询参数 status=offline) |
来源:server/dashboard_api.go40-67
服务器仪表盘提供关于 frps 实例的全面信息,包括:
这些信息可通过 /api/serverinfo 端点获取。
来源:server/dashboard_api.go96-133
仪表盘允许按类型或按名称监控所有代理,显示:
来源:server/dashboard_api.go server/dashboard_api.go348-383
仪表盘提供了一个 API 端点用于清除离线代理,这对于维护很有用。
此操作将移除不再连接的代理的统计信息,有助于保持仪表盘的整洁。
来源:server/dashboard_api.go385-406
FRP 服务器提供 Prometheus 指标集成,用于高级监控和告警。要启用 Prometheus 指标:
启用后,指标可通过仪表盘上的 /metrics 端点访问。
来源:server/dashboard_api.go46-49
客户端组件 (frpc) 也提供了一个基于 Web 的管理界面和 API,用于管理和监控。
要启用客户端管理界面,请在 frpc 配置文件中配置以下内容:
客户端管理界面公开了以下 API 端点:
| 端点 | 方法 | 描述 |
|---|---|---|
/healthz | GET | 简单的健康检查 |
/api/reload | GET | 重载配置 |
/api/stop | POST | 优雅地停止客户端 |
/api/status | GET | 获取所有代理的状态 |
/api/config | GET | 获取当前配置 |
/api/config | PUT | 更新配置 |
客户端管理界面允许监控所有代理的状态:
客户端管理界面允许通过 API 检索和更新 frpc 配置。
GET /api/config - 检索当前配置文件内容PUT /api/config - 更新配置文件GET /api/reload - 从磁盘重载配置重载操作包含验证,以确保新配置在应用前是有效的。
来源:client/admin_api.go client/admin_api.go197-262
客户端管理界面提供了一个 API 来优雅地停止 frpc 服务。
这允许对客户端进行受控关闭,确保资源的正确清理。
以下是一些有效监控 frp 部署的推荐实践:
仪表盘安全:始终更改默认凭据,并限制对管理界面的访问。
定期监控:定期检查代理状态,确保所有连接正常工作。
Prometheus 集成:对于生产环境,启用 Prometheus 指标并设置告警,以应对异常情况,例如:
日志监控:仪表盘 API 会记录所有请求,这对于审计目的很有用。
定期维护:使用“清除离线代理”功能删除过时的代理条目。
服务器仪表盘和客户端管理界面均支持基本身份验证。强烈建议:
| 任务 | 服务器仪表盘 | 客户端管理界面 |
|---|---|---|
| 检查代理状态 | /api/proxy/{type} | /api/status |
| 查看流量统计信息 | /api/traffic/{name} | 不可用 |
| 重载配置 | 不可用 | /api/reload |
| 查看服务器信息 | /api/serverinfo | 不可用 |
| 清理资源 | /api/proxies?status=offline | /api/stop |