新手求助:如何为Azure Function创建健康检查并配置告警
为Azure Function配置健康检查与告警步骤
一、创建自定义健康检查端点
Azure Function没有内置健康检查路径,需自行编写HTTP触发函数作为检测端点:
- 新建一个HTTP触发的Function,推荐命名为
HealthCheck - 函数核心逻辑只需返回200 OK状态码及健康状态信息,以下是C#示例代码:
using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Microsoft.Azure.WebJobs; using Microsoft.Azure.WebJobs.Extensions.Http; using Microsoft.Extensions.Logging; using System.Threading.Tasks; namespace YourFunctionAppNamespace { public static class HealthCheck { [FunctionName("HealthCheck")] public static async Task<IActionResult> Run( [HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = "health")] HttpRequest req, ILogger log) { log.LogInformation("Health check endpoint invoked."); return new OkObjectResult(new { Status = "Healthy", Timestamp = System.DateTime.UtcNow }); } } }
- 代码中通过
Route = "health"设置了路径,最终健康检查地址为https://<你的函数应用域名>/api/health
二、启用Azure门户的健康检查功能
在Azure后台完成健康检查的基础配置:
- 进入目标Function应用的资源页面,左侧菜单找到健康检查选项
- 开启健康检查开关,在“健康检查路径”中填入
/api/health - 保存配置后,Azure会定期调用该路径,根据返回状态判断应用健康状态
三、配置健康检查告警规则
基于健康检查状态设置告警,实现问题主动通知:
- 在健康检查页面顶部点击创建告警规则
- 按以下步骤配置:
- 条件设置:选择信号类型为「资源指标」,再选择健康检查状态指标,设置触发阈值(例如:状态为“不健康”持续5分钟)
- 操作组配置:创建或选择已有操作组,配置通知方式(邮件、短信、Webhook等)
- 告警详情:填写告警名称、描述、严重级别等信息
- 保存规则后,当健康检查失败时会自动触发通知
四、用Application Insights补充监控细节
如果需要更深入的故障排查,可结合Application Insights:
- 确保Function应用已启用Application Insights集成
- 在Application Insights中可查看健康检查的请求日志、失败详情,辅助定位问题根源
内容的提问来源于stack exchange,提问作者jch0411
相关产品推荐
相关产品推荐

