点击上方蓝字关注“汪宇杰博客”
原文:Jason Freeberg, Suwat Bodin
翻译:汪宇杰
导语
通过App Service,可以在流量增加时自动将应用程序自动扩展到多个实例。这样可以提高您应用的吞吐量,但是如果其中一个实例发生未捕获的异常怎么办?为了解决这种情况,我们从去年开始推出健康检查与预览版。运行状况检查功能使您可以在应用程序上指定用于ping的App Service路径。如果实例无法响应ping,则说明系统会确定实例不正常,并将其从负载平衡器旋转中删除。这样可以提高您应用程序的平均可用性和弹性。
健康检查现已全面推出,并已准备好用于生产环境应用程序。现在起可在Azure门户中对您的应用程序设置运行状况检查。转到您的Web应用,然后在左侧导航菜单中的“监视”下找到“运行状况检查”。您可能会在Azure管理页面上看到“(预览)”。这是因为门户网站使用最新的React库,但是该功能本身是正式版的。
行为
在网站上指定路径后,App Service 会每两分钟ping它一次。如果路径以200到299之外的状态代码响应5次ping(或根本不响应),则该实例被确定为不正常,并将其从负载均衡器旋转中删除。这将阻止负载均衡器将请求路由到不正常的实例。
当实例运行状况不佳并从负载均衡器中删除时,服务将继续对其执行ping操作。如果它开始以成功的响应代码(200到299)进行响应,则该实例将返回到负载均衡器。如果继续失败,App Service 将重新启动后台VM,以使实例恢复正常状态。
详情请参考健康检查功能文档:
健康检查路径
路径必须在两分钟内以200到299之间的状态代码响应。如果该路径在两分钟内未响应,或者返回的状态码超出范围,则该实例被视为“不正常”。Health Check与App Service的身份验证和授权功能集成在一起,即使启用了这些安全功能,系统也将到达端点。如果您使用自己的身份验证系统,则运行状况检查路径必须允许匿名访问。如果站点启用了HTTPS,则运行状况检查将接受HTTPS并使用该协议发送请求。
健康检查路径应检查应用程序的关键组件。例如,如果您的应用程序依赖于数据库和消息传递系统,则运行状况检查端点应连接到这些组件。如果应用程序无法连接到关键组件,则该路径应返回500响应代码,以指示该应用程序不正常。
警报
提供应用程序的运行状况检查路径后,您可以使用Azure Monitor监视网站的运行状况。在门户网站的“运行状况”检查页面中,单击顶部工具栏中的“指标”。这将打开一个新页面,您可以在其中查看该站点的历史健康状态并创建新的警报规则。有关监视站点的更多信息,请参见 Azure Monitor 上的指南。
汪宇杰博客
Azure | .NET | 微软 MVP
无广告,不卖课,做纯粹的技术公众号
喜欢本篇内容请点个在看