如何列出Azure应用服务实例并识别重启无响应/冻结实例?
识别并重启Azure应用服务中无响应/冻结的实例
一、识别异常实例
1. 通过Azure CLI查看实例状态
运行az webapp list-instances --name <你的应用名> --resource-group <资源组名>,返回的JSON结果里,每个实例的state字段会显示当前状态:
- 正常实例状态为
Running - 冻结/无响应的实例可能显示
Stopped、Starting或其他异常状态,同时可结合lastModifiedTime判断是否长时间未更新状态。
2. 定向测试单个实例可用性
应用服务流量由ARR(Application Request Routing)分发,你可以通过亲和性Cookie定向请求到特定实例,验证其是否响应:
- 先发送普通请求到应用,从响应头提取
ARRAffinity的Cookie值 - 修改Cookie为
ARRAffinity=<对应实例的亲和性值>(也可通过实例名称构造,比如实例名为myapp_2,亲和性Cookie值通常包含该标识),再发送请求测试 - 示例
curl命令:curl -H "Cookie: ARRAffinity=<实例亲和性Cookie值>" https://<你的应用域名>
3. 查看实例日志与诊断数据
- 用
az webapp log tail --name <你的应用名> --resource-group <资源组名>查看实时日志,筛选特定实例的条目,排查报错或无输出情况 - 在Azure门户进入应用服务>左侧菜单「诊断并解决问题」>选择「可用性和性能」类诊断工具,查看单个实例的CPU、内存使用率及请求响应情况
二、重启异常实例
1. 重启单个指定实例
确认异常实例的名称(来自az webapp list-instances返回的name字段,比如myapp_3),运行命令:
az webapp restart --name <你的应用名> --resource-group <资源组名> --instance <异常实例名称>
2. 批量重启所有实例(多实例异常时)
若多个实例出现问题,可直接重启整个应用服务(会重启所有实例):
az webapp restart --name <你的应用名> --resource-group <资源组名>
验证重启结果
重启后再次运行az webapp list-instances查看实例状态,确认异常实例恢复为Running,再通过定向请求验证可用性。
内容的提问来源于stack exchange,提问作者Sarah
相关产品推荐
相关产品推荐

