如何监控防火墙后面的内部应用程序

最后更新:
IT operations team monitoring internal applications on dashboards inside a corporate network protected by a firewall
内部应用程序运行在公众互联网无法访问的私有地址上——因此监控必须从内部进行。[ /caption]

您的监控仪表板显示全为绿色,但公司一半的人仍无法打开ERP系统。这就是外部监控的盲点:检查从公共互联网运行,而您的CRM、HR门户、内联网和帮助台运行在互联网无法访问的私有地址上。当其中一个系统宕机时,仪表板没有任何显示。帮助台排队则说明了很多问题。

解决方案不是第二个工具或自制脚本集,而是从您的网络内部通过防火墙后的私有代理运行您已经信任用于公共站点的合成监控。代理是简单部分,难的决定是它应代表哪个员工体验——总部、分支办公室、VPN用户——因为一旦把防火墙内视为一处,内部监控就会失败。本指南介绍该架构如何运作,随后逐步讲解六个端到端内部应用监控步骤:清单、代理部署、合成检查、网络检查、依赖检查以及告警。

为什么外部监控无法访问内部应用

公共监控节点可以测试任何拥有公共地址的目标。内部应用没有公共地址。它们解析于内部DNS,位于私有地址空间,且常只能通过VPN访问。若外部检测点指向您的内联网,最好的结果也是连接超时;检查失败不是因为应用宕机,而是因为检测点位置错误。

因此,大多数团队不得不依赖两种最差的监控策略:等待投诉,或者当感觉异常时由系统管理员从工作站ping测试。这两种方法都无法为您提供基线、告警、响应时间历史,或证据。且内部系统承担真实责任——IT团队为这些应用签订内部SLA和运营协议,正如无法衡量的SLA无法证明其有效

风险与面向客户的站点相同,只是目标是向内。ERP中断会阻碍订单处理,帮助台门户宕机会瘫痪处理其他问题的团队,工资门户在截止日宕机则是全公司范围的事件。这些系统值得像收入页面那样接受持续检查。

私有监控代理如何工作

私有代理是您安装在自有网络内主机上的监控软件。它运行与公共监控节点相同类型的检查——HTTP(S)请求、浏览器脚本流程、API调用、网络探测——但从员工实际所在位置发起,检测只有您的网络能访问的地址。

Architecture diagram of a private monitoring agent inside a corporate firewall checking internal applications and sending results outbound to a monitoring platform 代理在本地检测内部应用并将结果推送出去——无需打开防火墙入站端口。

此架构关键在于其不需要的条件。私有代理采用仅出站连接模式:代理发起加密连接到监控平台获取任务列表并传送结果——与防火墙已允许任何工作站访问网页的出站流量方向相同。在防火墙端,通常只需将出站流量允许到平台端点即可。您无需开放入站端口、将内部主机发布到互联网,或在边界打洞。在封闭环境中,比架构更常导致代理故障的三件无趣事件是:代理的代理认证、TLS检查及证书信任,以及代理是否以与员工相同方式解析内部DNS。在责怪其他因素前请先验证这三点。您的应用、凭证和测试目标都留在内部;只有监控结果传出。

Dotcom-Monitor私有代理基于此模型覆盖整个平台:您从其全球网络运行的合成检查、脚本用户流程和告警,全部从防火墙内部执行,结果汇集在与公共监控相同的仪表板中。一窗通览两端。

如何通过六个步骤监控内部应用

架构清晰后,流程如下。每步建立在前一步基础上,您可根据环境需要决定深度。

步骤1:清点并优先排序内部应用

列出实际使用的应用:ERP、CRM、会计及工资门户、HR系统、帮助台、协作与消息工具、文件共享和连接它们的内部API。不要只看CMDB:交叉验证工单历史、SSO应用启动日志以及反复出现的“是不是挂了”的聊天记录,这些揭示人们实际依赖什么,而非文档中记录了什么。有一条捷径总管用:问高级工程师哪次故障会让他们取消假期。然后按影响范围分层:什么故障会阻断整个公司运营?什么只影响某个部门?什么能拖到第二天早上?

并非所有应用都需持续检测。经常作为其他故障“汇流点”的IT帮助台应全天候覆盖;而季度末使用的报告门户则不需。为每层指定检测频率和正常运行目标,记录下来——这些目标成为后续监控所验证的内部SLA。

步骤2:在用户所在位置部署私有代理

将代理安装在网络内专用且受控的主机上——稳定的虚拟机或长期存在的容器,不是会被无预警重启的共享工具机——确认其出站路径可通达监控平台,并将首批检查指向第一层优先列表,覆盖总部。但不止于总部。

按故障域而非组织架构布置代理:一个靠近用户测量员工体验,一个靠近应用层测量应用健康,一个处于VPN后测量远程访问。当三个检测结果不一致时,分歧即诊断依据。如果有分支机构或区域站点,每处都部署一个代理。总部响应迅速的应用,在拥堵的广域网或VPN链路尽头的分支可能极慢,单点检测无法发现。每站点一个代理,将“丹佛办公室总是慢”从道听途说变成可操作的地点图表。把代理主机视为生产基础设施:保持打补丁、供电、并避免被激进的桌面清理策略干扰。

步骤3:对关键用户流程运行合成检查

单靠登录页加载的ping告诉您的信息几乎为零。合成检查应模拟人们实际使用的流程:登录、打开记录、执行搜索、提交事务、确认结果。用如EveryStep这样的工具脚本编写,流程按计划由私有代理重放,每步测时。脚本设计须长远安全运行:专用测试身份、多因素认证妥善处理避免检查失败、种子测试记录,且不产生需别人清理的事务。

逐步计时隐藏着价值。当流程变慢时,您不仅知道应用变慢,还可发现搜索步骤从2秒变12秒,登录保持不变,事先指向数据库,免去开工单。一切健康时建立基线,遇异常偏差就告警而非仅失败。此方法适用重量级内部平台——SharePointSAP ERP部署皆属经典案例。各流程运行频率则因需而异,权衡见监控频率和地点指南

步骤4:添加网络和基础设施检查

内部应用很少单独故障——往往是底层网络。缓慢的内部DNS让所有应用同时感觉宕机。网络段间拥塞导致延迟,看似应用问题。VPN隧道丢包会让分支办公室惨成幻灯片。

从同一个私有代理,运行基础设施检查,涵盖应用层下:ICMP和TCP探针测试关键主机、针对内部解析器的DNS检查、以及网络段和办公地点间的延迟测量。关注已知峰值时段的带宽余量。一项不显眼的检查却价值非凡:查询域控制器响应时间,因为当Active Directory或LDAP变慢时,所有集成应用都感到“宕机”,而应用自有指标依然绿灯。应用检查与网络检查同时失败时,配对本身即诊断——您可在一周期内判断该找应用团队还是网络团队。

步骤5:从防火墙内部验证第三方依赖

内部应用暗中依赖外部服务:单点登录背后的身份提供商、支付处理商、许可服务器、供应商API。供应商状态页通过遗漏撒谎:它们仅确认供应商端正常运行,无法说明您的网络是否可达它们——通过您的代理服务器、防火墙规则、DNS。过时的出站规则可能导致集成系统掉线,而所有网络状态页依然绿灯。对关键依赖,从公共互联网和正常出站路径内部运行配对检查:公网通过私网失败指向出站或DNS问题,双失败则是供应商问题。

因此,对防火墙内部的依赖运行API检查,同时对自身核心功能运行健康检查。对内部计费系统,这意味着定时测试登录、数据检索和事务处理——那些失败会让人一小时内报修的功能,如今可在几分钟内捕获。

步骤6:自动化告警和响应

检测有效前提是正确人员收到通知。将每个应用的告警发送给拥有该应用的团队,而非公共邮箱。对性能下降设阈值告警而非仅故障,确保十二秒的搜索慢查询得到关注,不至于变成中断。告警级别要实际:凌晨3点内部报告门户宕机不是唤醒某人的事件,因为目标是保护工作时间内的生产力而非实现99.999%可用。关闭非工作时间政策保护团队休息。对无人响应的事件加设升级通知,将告警推入团队常用的渠道——聊天、工单、值班工具。

再自动化常规结束环节。例如,资源占用超标时能安全重启的已知易故障服务,脚本自动触发修复;将人工保留给需要判断的故障。避免误报——一次代理检测失败需确认后再唤醒团队。实用的告警调优模式见网站监控告警指南

外部监控与私有代理监控比较

两种方法非竞争,彼此覆盖防火墙两侧,大多数组织都需要两者。

因素 外部监控 私有代理监控
视角点 公共互联网,全球节点 网络内部,员工所在位置
可访问私有地址
防火墙更改 无(目标为公共地址) 仅出站白名单;无入站端口
验证内容 面向客户的可用性和性能 员工体验与内部系统
敏感目标位置 设计上暴露于公共检查 驻留内部;只有结果出去
最适用 网站、公共API、SaaS前端 ERP、CRM、内联网、内部API、分支连接

决定性问题是视角点:从客户所在处测量面向客户系统,从员工所在处测量内部系统。一个平台涵盖两端,可在一个仪表板中显示两种视图,免去切换多个工具。

总结

内部应用的故障与公共应用一样,但发生在黑暗中:外部检查无法触及,因此第一个告警往往来自用户。私有代理通过仅出站架构弥合此差距,无需修改防火墙入站规则,上述六步将其转为可操作方案——清单并分级应用、在用户处部署代理、脚本关键流程、监控底层网络、从内侧验证依赖,并将告警自动分发给负责人,例行修复自动处理。

从一个代理和五个最关键的内部系统开始。不到一周您将拥有团队前所未见的基线,下一次ERP故障将是您的团队提工单,而非用户投诉。

监控互联网看不到的部分

使用真实浏览器合成监控监控您的内部应用,搭配Dotcom-Monitor私有代理——同一平台,同一仪表板,在您的防火墙内部。开始免费试用

常见问题

外部监控工具能看到防火墙后的应用程序吗?
否。外部监控从公共互联网运行检查,而内部应用位于这些检查无法访问的私有地址。监控它们需要在网络内部安装代理,该代理本地运行检查并报告结果。
私人代理是否需要打开入站防火墙端口?
一般情况下不会。私有代理使用仅出站模式:代理发起加密连接到监控平台以获取任务并报告结果。您将出站流量列入平台端点的允许列表,而不是通过入站连接暴露任何内部内容。
你应优先监控哪些内部应用?
从故障最常发生的地方开始:身份和单点登录,ERP或订单处理系统,IT帮助台,以及接近截止日期的薪资或会计门户。从那里延伸到协作工具、文件共享和连接系统的内部API。
内部应用检查应多久运行一次?
将频率与影响半径相匹配。全公司范围的系统应每几分钟检查一次,以确保在一个周期内发现故障;较低级别的工具可以每小时或每天运行几次。权衡取舍很直接:间隔越长,未检测到的停机时间越长。
如何监控跨多个办公室的内部应用?
在每个办公室或网络段部署私有代理。在总部即时响应的应用程序,在通过慢速WAN或VPN连接访问的分支机构可能会变得缓慢,只有从该站点运行的检查才能显示这一点。每个站点的代理将区域性投诉转换为可比较的每个位置的数据。
Matthew Schmitz
About the Author
Matthew Schmitz
Dotcom-Monitor 负载与性能测试总监

作为 Dotcom-Monitor 的负载与性能测试总监,Matt 目前领导着一支由优秀工程师和开发人员组成的团队,共同为最严苛的企业需求打造先进的负载与性能测试解决方案。

Latest Web Performance Articles​

如何监控电话号码

防止电话线路无声中断。了解运营团队如何使用SIP检查和内部拨号测试来保持客户线路的顺畅运行。

立即免费启动Dotcom-Monitor

无需信用卡