菜单

管理与监控

相关源文件

本页面介绍 FRP (Fast Reverse Proxy) 的管理和监控功能,涵盖服务器端仪表盘和客户端管理界面。文档解释了如何监控代理状态、查看流量统计信息以及执行配置重载和清除离线代理等管理操作。

有关启用这些接口的详细配置选项,请参阅 配置

概述

FRP 通过服务器 (frps) 和客户端 (frpc) 组件上的基于 Web 的仪表盘和 API 提供全面的管理和监控功能。这些接口允许管理员:

  1. 监控代理状态和连接
  2. 查看流量统计信息
  3. 重载配置
  4. 执行维护操作

来源:server/dashboard_api.go client/admin_api.go

服务器仪表盘

服务器仪表盘为监控和管理 frps 提供了一个基于 Web 的界面和 API。

启用仪表盘

要启用仪表盘,请在 frps 配置文件中配置以下内容:

仪表盘 API 端点

服务器仪表盘公开了多个 API 端点,用于检索信息和执行管理操作。

端点方法描述
/healthzGET简单的健康检查
/metricsGETPrometheus 指标(启用时)
/api/serverinfoGET获取服务器配置和统计信息
/api/proxy/{type}GET列出指定类型的代理
/api/proxy/{type}/{name}GET获取特定代理的详细信息
/api/traffic/{name}GET获取特定代理的流量统计信息
/api/proxiesDELETE清除离线代理(使用查询参数 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

Prometheus 集成

FRP 服务器提供 Prometheus 指标集成,用于高级监控和告警。要启用 Prometheus 指标:

启用后,指标可通过仪表盘上的 /metrics 端点访问。

来源:server/dashboard_api.go46-49

客户端管理界面

客户端组件 (frpc) 也提供了一个基于 Web 的管理界面和 API,用于管理和监控。

启用管理界面

要启用客户端管理界面,请在 frpc 配置文件中配置以下内容:

管理 API 端点

客户端管理界面公开了以下 API 端点:

端点方法描述
/healthzGET简单的健康检查
/api/reloadGET重载配置
/api/stopPOST优雅地停止客户端
/api/statusGET获取所有代理的状态
/api/configGET获取当前配置
/api/configPUT更新配置

来源:client/admin_api.go42-63

代理状态监控

客户端管理界面允许监控所有代理的状态:

  • 连接状态(运行中、已停止、错误)
  • 本地地址
  • 远程地址
  • 错误消息(如果有)
  • 插件信息

来源:client/admin_api.go161-195

配置管理

客户端管理界面允许通过 API 检索和更新 frpc 配置。

  • GET /api/config - 检索当前配置文件内容
  • PUT /api/config - 更新配置文件
  • GET /api/reload - 从磁盘重载配置

重载操作包含验证,以确保新配置在应用前是有效的。

来源:client/admin_api.go client/admin_api.go197-262

优雅停机

客户端管理界面提供了一个 API 来优雅地停止 frpc 服务。

这允许对客户端进行受控关闭,确保资源的正确清理。

来源:client/admin_api.go111-125

监控最佳实践

以下是一些有效监控 frp 部署的推荐实践:

  1. 仪表盘安全:始终更改默认凭据,并限制对管理界面的访问。

  2. 定期监控:定期检查代理状态,确保所有连接正常工作。

  3. Prometheus 集成:对于生产环境,启用 Prometheus 指标并设置告警,以应对异常情况,例如:

    • 意外的连接中断
    • 高流量峰值
    • 错误率增加
  4. 日志监控:仪表盘 API 会记录所有请求,这对于审计目的很有用。

  5. 定期维护:使用“清除离线代理”功能删除过时的代理条目。

仪表盘和 API 身份验证

服务器仪表盘和客户端管理界面均支持基本身份验证。强烈建议:

  1. 使用复杂密码
  2. 使用防火墙规则限制访问
  3. 考虑将管理界面置于 HTTPS 反向代理之后

常见监控任务

任务服务器仪表盘客户端管理界面
检查代理状态/api/proxy/{type}/api/status
查看流量统计信息/api/traffic/{name}不可用
重载配置不可用/api/reload
查看服务器信息/api/serverinfo不可用
清理资源/api/proxies?status=offline/api/stop