如何监控Azure WebApp是否正常响应?指标选择及告警配置方法
仅使用Application Insight指标是否足够
完全够用。你要监测的「WebApp是否正常运行、可正常响应」属于核心可用性监控范畴,Application Insight的原生能力已经可以100%覆盖这个需求,不需要额外接入其他监控服务。如果后续你需要排查底层App Service Plan资源瓶颈、依赖资源(比如数据库、缓存)故障这类深层问题,可以搭配Azure Monitor内置的WebApp平台指标做补充,不影响核心监控逻辑。
推荐的核心监控指标
主要分为两类,分别对应外部可访问性和内部运行状态:
- 可用性测试类指标(直接反映服务是否可对外正常响应)
Availability:可用性测试返回的可用比例,正常业务场景下应维持在100%,低于阈值直接说明服务无法正常访问Availability test duration:可用性测试的请求响应耗时,持续超出业务阈值(比如普通Web业务设为5s)说明服务响应异常Failed availability tests:可用性测试失败的次数,排除临时网络波动的连续失败即可判定服务故障
- 服务运行状态类指标(反映服务本身运行是否正常)
Requests:服务接收到的请求总次数,排除业务低峰场景的突然跌零,基本可以判定服务宕机无法接收请求Request failed rate:请求失败率,5xx类服务端错误占比突然升高说明服务内部出现异常Server response time:服务端处理请求的平均耗时,持续超出阈值说明服务运行负载异常Exceptions:服务未捕获的异常总数,短时间内突增通常是服务出现大面积故障的前兆
WebApp宕机告警规则配置步骤
按照以下步骤操作即可完成高准确率的宕机告警配置:
- 先给WebApp配置至少1条可用性测试规则:选择URL ping测试(有复杂校验需求可以选自定义多步测试),填入你的WebApp公网访问地址,选择3个及以上不同地域的测试节点,设置测试频率为1分钟/次,判定失败条件设为「至少2个测试节点同时返回非2xx响应/响应超时超过30s」,避免单节点网络波动导致误报
- 进入Application Insight的
告警页面,选择创建告警规则 - 信号选择:优先选
可用性测试失败次数作为触发信号,也可以搭配请求总次数做双重校验,进一步降低误报概率 - 阈值逻辑配置:设置统计周期为5分钟,聚合方式为总和,阈值大于等于3,即5分钟内出现3次及以上可用性测试失败就触发告警
- 动作组配置:添加你需要的通知渠道,比如邮件、短信、WebHook回调等
- 告警细节配置:填写告警名称,将宕机类告警的严重等级设为最高级P0,完成创建即可
如果需要覆盖底层资源耗尽导致的宕机场景,可以额外增加一条信号为WebApp HTTP 5xx错误数的规则,和可用性测试告警做组合触发即可。
内容的提问来源于stack exchange,提问作者Kenny_I
相关产品推荐
相关产品推荐

