监控要覆盖三个层面:基础资源、网络通达性和业务链路。基础资源包括CPU、内存、磁盘IO、磁盘使用率和网络吞吐;网络通达性关注端口连通、延迟(ping/traceroute)和丢包率;业务链路则是代理/隧道的可用性,比如认证握手、流量转发成功率。
推荐使用组合方案:Prometheus + node_exporter 或 Netdata 采集系统指标,使用 Blackbox Exporter 做端口和HTTP/TCP探活,Grafana 做可视化与历史趋势;同时用 Filebeat/ELK 或 Loki 收集代理日志以便定位。告警通过 Alertmanager 推送到钉钉/Telegram/邮件并结合 Webhook 触发自动化脚本。
健康检查应分级:轻量心跳(每10-30s)检测链路是否存活;深度校验(每1-5min)模拟真实请求,验证代理协议、加密协商和目标站点访问。心跳可以用 TCP/ICMP 或 keepalive,深度校验可做 HTTP 请求并检查返回码或内容关键字。
设置阈值时要避免抖动:短时抖动不立即报警,采用连续失败计数(例如连续3次失败触发警报),并结合抑制窗口与恢复阈值。对跨境链路容易出现的短时高丢包、封锁行为,建议用多种探测点(不同出口ISP或不同大陆节点)共同判断。
常见方案包括:1) autossh:用于SSH反向隧道,自动检测连接断开并重建,适合基于SSH的链路。2) systemd 服务:把代理/隧道程序放入 systemd,使用 Restart=always/RestartSec=5 保证进程崩溃自动重启。3) OpenVPN/WireGuard:OpenVPN 可配置 --keepalive/--ping-restart,WireGuard 可用 PersistentKeepalive 保持NAT穿透。
建议组合使用:用 systemd 管理主进程,结合健康脚本(cron或守护进程)做链路检测,检测失败时调用重连逻辑(重启服务、切换配置、触发 autossh 重建)。将重连动作记录到日志并推送到监控平台以便审核。
高可用策略可分为本地冗余与多节点切换。局部方案用 keepalived + VRRP 分配虚拟IP实现同机房内主备切换;跨区域或多ISP方案建议部署多台香港节点并结合智能DNS或DNS API做故障转移(降低TTL,检测到节点宕机后调用API切换解析)。
另一个实用模式是反向代理/负载均衡(如 HAProxy/Nginx),放在边缘节点做健康检查并路由到健康的后端梯子;对于客户端可配置多入口(fallback 列表),并在客户端实现快速重试与轮询,减少单点故障影响。
运维方面要常态化:定期检查日志与指标趋势、容量规划(磁盘与带宽)、流量与连接峰值测试、定期演练切换流程与重连脚本。自动化尽量用 IaC(如 Ansible/Terraform)管理节点配置与部署,保证可重复性。
安全方面包括:使用密钥认证并定期轮换,限制管理接口白名单,启用 Fail2ban 或防暴力策略,流量加密使用成熟协议(V2Ray/Trojan/SSWSS/VMess/VLess),并对入口做速率限制与DDoS防护。遵循所在服务商与地区的合规要求,避免滥用引发封禁,必要时与ISP沟通获取大流量方案。