Azure Function应用健康检查状态显示0%健康,请求解决方法
Azure Function健康检查状态异常的排查与解决
你遇到的问题是创建了健康检查Http端点且指标显示端点正常,但健康检查状态始终显示Health Check:0.00% (Healthy 0 / Degraded 1),可以从以下几个方面排查解决:
1. 确认健康检查基础配置正确性
- 登录Azure门户,进入你的Function应用,打开健康检查配置页
- 检查健康检查路径是否和你的Http触发器路由完全匹配,比如你的函数路由是
/api/healthcheck,这里就必须填对应路径,注意大小写和前缀是否一致 - 确保健康检查的启用开关处于打开状态
2. 检查运行计划兼容性
- 健康检查功能仅在高级计划或专用(App服务)计划下完全支持,如果你用的是消费计划,健康检查无法正常工作——因为消费计划的实例会动态休眠、缩放,不满足健康检查的持续检测要求
3. 验证端点的可访问性
- 通过Kudu工具或门户内的控制台,在Function实例内部直接调用健康检查端点,比如执行
curl http://localhost:7071/api/healthcheck(端口根据实际配置调整),确认能返回200状态码 - 检查Function应用的访问限制设置,是否阻止了Azure健康检查服务的IP段,需要允许Azure数据中心IP访问你的端点
4. 确认函数本身的状态与配置
- 在Function应用的函数列表中,确认你的健康检查函数处于启用状态,没有被禁用
- 查看
host.json配置,如果设置了routePrefix参数(比如设为""),要对应调整健康检查路径,避免路由前缀不匹配导致无法访问
5. 查看日志定位问题
- 打开Function应用的日志流,过滤健康检查路径的请求,查看是否有请求到达、返回的状态码是否正常,是否存在报错信息
- 在Application Insights中查看请求日志,确认健康检查请求的执行情况
内容的提问来源于stack exchange,提问作者prajwal rao
相关产品推荐
相关产品推荐

