用 frp、nps 做内网穿透的运维应该都有过这种经历:映射配好了,业务也能正常访问,但服务到底挂没挂、客户端还在不在线,完全靠 "感觉"—— 等发现问题时,往往已经是用户投诉之后的事了。

这不是 frp/nps 不好,而是主流内网穿透工具普遍只解决 "公网可达性" 这一件事:隧道能不能连、流量能不能通,几乎都没有做主动的故障发现与告警。客户端离线、内网应用 404/502、隧道被误删,这些异常发生后通常要等半小时甚至更久才能被发现,排查时还得一层层定位,效率很低。

本文以 ZeroNews 为例,实战演示如何用 Webhook 通知告警补齐这块短板:客户端离线 / 上线实时推送、隧道内网应用周期性探测、关键资源删除即时告警,异常事件直接推送到企业微信、飞书、钉钉群机器人。让运维在 IM 里第一时间收到提醒,从 "等用户投诉" 变成 "异常即通知、尽快定位处理"。

ZeroNews 的 Webhook 通知告警 功能支持平台自动检测客户端离线、内网应用异常、关键资源删除等事件告警通知,采用 webhook 消息推送的方式,将告警事件推送到企业微信、飞书、钉钉等协作渠道,让运维在IM 里就能收到异常事件提醒——从「等业务方投诉才发现」变成「异常发生即通知、尽快定位处理」。

ZeroNews 通知告警解决什么问题

  • 客户端离线导致应用不能访问 — 当客户端所在的设备故障/关机或客户端程序挂了时,不需要用户反馈说不能访问再去控制器查看设备是否在线,ZeroNews 实时感知客户端的在线/离线状态,设备离线第一时间推送告警消息给用户。

  • 隧道内网服务异常导致应用不能访问 — 当出现因为内网应用挂了,导致隧道不能访问时,常见访问异常代码 404/502,往往都是事后半小时或更久才能发现。ZeroNews的内网应用可用性探测功能通过周期性的检测内网服务是否可用,能在应用层出问题时就能即时推送异常告警,减少事故处理的滞后性。
  • 误删隧道导致应用不能访问 — 当隧道出现误删导致的业务入口突然消失,不能访问。ZeroNews的资源删除即时告警可在配置变更发生时立刻提醒,便于止损或快速恢复。

客户端离线 / 上线 告警

ZeroNews 持续感知每台 Client 的在线 / 离线状态,当状态变化时,进行告警通知,用户可以配置告警方式,如总告警次数或周期告警。

  • 离线 — 设备掉线、进程退出、网络中断时实时推送,不必等外网访问失败或用户反馈
  • 上线 — 恢复连接后发送恢复通知,便于确认故障是否已解除

对于关键客户端建议采用周期告警,只要客户端没上线,就会一直告警。

开启 客户端离线告警

当客户端离线后,触发告警

隧道内网应用异常探测

隧道的内网应用是否正常工作,在目前的主流内网穿透平台中,几乎是没有做有效性检测的,所以当隧道应用不能访问时,往往需要多轮排查定位,才能定位出时内网应用异常所导致;

ZeroNews 隧道内网应用探测功能支持对隧道内网应用进行周期性内网应用探测是否正常,可配置探测 URL(如 /health),当应用响应异常时,第一时间通过 Webhook 通知给用户,快速处理应用异常的问题,而不用再做无谓的多轮故障排查

开启隧道应用探测配置

开通隧道告警

当隧道应用异常时,触发告警

对于提供关键服务的隧道,建议都开启隧道应用探测

资源删除

可以通过资源删除告警,当隧道资源被删除时,立即触发即时告警,降低误操作或越权删除后的发现延迟,便于尽快止损或恢复配置。

开启资源删除告警

删除隧道后告警

通知怎么送达: IM 的 Webhook 渠道

ZeroNews 采用 Webhook 方式对外推送告警事件。现阶段支持 企业微信/飞书/钉钉等主流 IM 的 群机器人 webhook 地址,当产生告警时,平台会向该地址发送 POST 事件。

小结

最后总结一下,对内网穿透的告警能力,你可以这样理解:

  1. 主流工具(frp/nps 等)解决的是 "连得上",ZeroNews 这类 Webhook 告警补的是 "叫得应",两者不是替代关系,而是能力互补;
  2. 三类告警各管一类故障:客户端离线告警管设备 / 进程掉线,应用探测管内网服务 404/502,资源删除告警管误删和越权操作 —— 建议对关键隧道全部开启;
  3. 告警渠道直接用企业微信、飞书、钉钉的群机器人 Webhook,无需额外开发,运维日常在 IM 里就能收到并响应。

如果你的业务同样跑在内网穿透上,且还在靠 "用户反馈" 才发现故障,建议把告警能力补上 —— 隧道不仅要连得上,出问题也得第一时间叫得应。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐