当您已创建报警规则,但未收到报警通知时,请按照以下方法逐步排查,并进行处理。
问题排查
确认阈值报警规则触发是否有延迟。
具体原因,请参见为什么阈值报警规则触发延迟。
在报警历史页面,根据规则名称、云产品、报警时间范围等筛选出报警历史记录,确认报警是否触发。
关于如何查看报警历史,请参见查看报警历史。
如果找不到报警历史记录,则说明监控指标不满足报警条件,不会发送报警通知。排查方法,请参见如何处理监控指标满足报警条件但未触发报警问题?。
如果能找到报警历史记录,则查看报警历史的状态列。
当报警历史的状态为报警发生和恢复正常时,一般会发送报警通知。当出现以下两种特殊情况时,不会发送报警:
如果状态列同时出现命中黑名单,说明该实例配置了报警黑名单,不会发送报警通知。
如果是容器服务Kubernetes版的报警,在一个通道沉默周期内按照报警规则的报警级别静默,即多个实例发生报警,也只发送一次报警通知。
当报警历史的状态如下时,不发送报警通知是符合预期的,具体报警历史状态及其含义如下:
不在生效期:不在报警规则配置的生效时间范围内。
通道沉默周期:发生报警后进入沉默周期未恢复。
不发送:报警规则配置了报警恢复时不发送恢复通知。
确认报警联系人和报警通知渠道是否正确。
在报警联系人的报警联系组页签,先查找报警规则中配置的报警联系人组,再单击其对应的图标,确认是否有排班。
如果有排班,则需要根据排班表确定具体报警联系人及其值班时间。
如果没有排班,则单击报警联系人组,查看报警联系人及其通知地址。
确定报警联系人后,并非所有报警渠道都会有报警通知。
不同报警级别的报警通知渠道不同,例如:触发了普通(Info)报警,一定不会有短信和电话通知。报警级别与报警渠道的具体关系如下:
紧急(Critical):电话、短信、邮件、WebHook、报警回调
警告(Warn):短信、邮件、WebHook、报警回调
普通(Info):邮件、WebHook、报警回调
通过以上步骤确定某个报警联系人的报警通知地址应该收到报警通知,但未收到报警通知的情况下,需要查看报警通知详情。
在报警历史页面,单击目标报警历史通知对象列的报警联系人组。
在通知对象页签,显示该报警联系人组中所有报警联系人的报警通知渠道。
将鼠标悬浮在报警通知结果图标上,可以看到各个报警通知渠道返回的通知详情。
问题处理
当您通过以上问题排查均正常,但仍未收到报警通知时,不同报警通知渠道的可能原因和处理方法如下:
电话、短信、邮件
移动、联动和电信等运营商的电话或短信返回失败,具体失败原因请查看报警历史的通知对象中的通知详情。
报警通知超过了每天发送限制的数量,超过后当天无法通知。
同一手机号码每天最多可接收1000条短信和200通电话。
同一邮箱每天最多可接收邮件1000封。
云监控额度不足导致未收到报警通知。
WebHook
根据报警历史的通知对象的通知详情中的错误码,在各通讯软件文档中查询错误码的具体含义或直接给各通讯软件提工单。
例如:钉钉通知失败详情为
{"messageType":"DING","httpResponse":"{\"errcode\":90030,\"errmsg\":\"webhook over limit\"}","httpStatusCode":200}
,经过查找钉钉文档,得知原因为Webhook免费转商业化。报警回调
根据报警历史的通知对象的通知详情中的错误码判断原因。常见可能原因为安全拦截、参数格式不正确等。排查方法,请参见如何排查收不到报警回调的问题?