如何配置Azure Function停止时触发邮件通知的Azure告警规则
Azure Function 停止/致命错误邮件通知解决方案
你可以通过以下两种原生配置覆盖两种触发场景,无需从零开发完整的自定义告警逻辑,仅特殊错误匹配场景需要编写少量Kusto查询语句:
一、覆盖手动停止、平台异常关停场景的告警配置
你之前配置的内存工作集<=0规则不生效的核心原因是:Function App停止后平台会终止指标上报,告警规则会判定为「指标未采集」而非「指标值为0」,因此不会触发。
正确配置方式如下:
- 进入对应Function App的告警规则创建页,信号类型选择
活动日志 - 信号名称勾选
停止 Web App、停止 Function App两项(Function App底层基于Web App资源实现,两类操作日志覆盖所有主动/被动关停操作) - 告警逻辑设置为「事件计数 >= 1」即可
- 操作组绑定你需要接收通知的邮件地址
二、覆盖运行时致命错误场景的告警配置
方案1:内置指标告警(无额外代码)
- 告警信号类型选择
指标,信号名称选择Function Execution Errors - 告警逻辑按业务需求配置:比如5分钟窗口内错误数>=你设定的阈值即触发
- 也可以搭配
Function Execution Count指标,配置正常业务时段执行数持续为0的告警,作为兜底异常通知
方案2:自定义日志告警(精准匹配特定致命错误)
如果需要过滤非核心错误、只针对特定致命错误触发通知,按以下步骤配置:
- 先开启Function App的Application Insights集成,确保代码中致命异常会通过对应语言的Logger接口以Error级别上报日志
- 告警规则信号类型选择
日志搜索,使用以下示例Kusto查询语句(可根据你的日志格式调整过滤规则):
traces | where severityLevel == 3 // 3对应Error日志级别 | where message has "你定义的致命错误关键字" | where cloud_RoleName == "你的Function App名称"
- 告警逻辑设置为5分钟窗口内查询结果条数>=1即触发,操作组绑定邮件通知即可
内容的提问来源于stack exchange,提问作者abhijat_saxena
相关产品推荐
相关产品推荐

