操作场景
通过接口回调,您的企业微信群或自建系统可以直接收到告警通知。接口回调具备将告警信息通过 HTTP 的 POST 请求推送到可访问公网 URL 的功能,您可基于接口回调推送的告警信息做进一步的处理。如需通过企业微信群接收告警通知,请参见 配置企业微信群接收告警通知。
说明
当前告警回调没有认证机制,不支持 HTTP 认证。
告警推送失败最多重试3次,每次推送请求的超时等待时间为5秒。
当用户创建的告警策略被触发或恢复时,均会通过接口回调推送告警消息。接口回调也支持重复告警。
回调 API 出方向 IP 为动态随机分配,无法将具体的 IP 信息提供给您,但 IP 端口固定为80端口,建议您根据80端口在安全组上配置加全放通策略。
告警回调暂不支持按通知时段推送告警通知,后续会支持,敬请期待。
操作步骤
创建接口回调
1. 进入 腾讯云可观测平台 - 通知模板。
2. 单击新建通知模板,进入新建通知模板页。
3. 在新建通知模板页配置完基础信息后,在接口回调模块中填写公网可访问到的 URL 作为回调接口地址(例如
域名或IP[:端口][/path]
),将及时把告警信息推送到该地址。4. 进入 告警策略列表,单击需要绑定告警回调的策略名称,进入管理告警策略页,并在告警策略页绑定通知模板。
5. 腾讯云可观测平台会将告警消息通过 HTTP 的 POST 请求推送您系统的 URL 地址,您可以参见 告警回调参数说明,对推送的告警信息做进一步的处理。
告警回调鉴权
接口回调支持基于 BasicAuth 的用户安全验证。如果您想将告警信息回调发送到需要用户验证的服务时,可以在接口回调 URL 中使用 HTTP 身份验证来实现。
例如将
http://my.service.example.com
改成 http://{USERNAME}:{PASSWORD}@my.service.example.com
。
将告警消息投递到云函数(SCF)
填写格式:SCF:$region/$namespace/$functionName/$version
说明:
SCF:固定形式,表示云函数。
region:表示云函数所在地域,例如广州为:gz。
namespace:表示云函数命名空间。
functionName:表示云函数名称。
version:非必填,表示云函数版本。若不填写则默认为最新版本。
具体操作步骤:
您可以参见上述填写格式,在通知模板-告警回调填入云函数信息,例如
SCF:gz/default/example-alarm-callback/$LATEST
。
告警参数示例
当告警规则被触发时,腾讯云可观测平台会将告警消息发送到您系统的 URL 地址。接口回调通过 HTTP 的 POST 请求发送 JSON 格式的数据,您可以根据下列参数说明对告警信息做进一步的处理。
指标告警
{"sessionId": "xxxxxxxx", //会话 ID"alarmStatus": "1", // 1为告警,0为恢复"alarmType": "metric", // 告警类型("metric": 指标告警,"event": 事件告警)"alarmObjInfo": {"region": "gz", // 无地域属性的产品不返回该字段"namespace": "qce/cvm", // 产品的名字空间"appId": "xxxxxxxx", //当前腾讯云账号下的账号 ID"uin": "xxxxxxxx", //当前腾讯云账号下的账号 ID"dimensions": { // dimensions字段里的内容不同产品有差异,请参见下文指标告警 dimensions 示例"deviceName": "xxxxxxxx","objId": "xxxxxxxx","objName": "xxxxxxxx","unInstanceId": "xxxxxxxx"}},"alarmPolicyInfo": {"policyId": "xxxxxxxx", // 告警策略组ID"policyType": "cvm_device", // 告警策略类型名,产品策略类型和维度信息文档中的策略类型英文"policyName": "xxxxxxxx", // 告警策略组名称"policyTypeCName": "云服务器-基础监控", // 告警策略类型展示名称"policyTypeEname": "","conditions": {"metricName": "qemu_vcpu_usage", // 指标名称"metricShowName": "基础CPU利用率", // 指标展示名称(中文名)"calcType": ">", // 比较方式(无阈值的指标不返回该字段)"calcValue": "xxxxxxxx", // 告警阈值(无阈值的指标不返回该字段)"currentValue": "xxxxxxxx", // 当前告警值(无阈值的指标不返回该字段)"historyValue": "", //历史告警值(无阈值的指标不返回该字段)"unit": "%", // 单位(无阈值的指标不返回该字段)"calcUnit": "%", // 告警阈值单位(无阈值的指标不返回该字段)"period": "60", // 统计粒度(单位:s;无阈值的指标不返回该字段)"periodNum": "1", // 持续周期(无阈值的指标不返回该字段)"alarmNotifyType": "continuousAlarm", // 是否支持重复告警("singleAlarm": 不重复告警,"exponentialAlarm": 指数周期告警,"continuousAlarm": 持续告警,无阈值的指标不返回该字段)"alarmNotifyPeriod": 3600 // 重复告警的频率(单位: s;无阈值的指标不返回该字段)},"tag": [ //告警策略中选择告警对象时绑定的标签],"policyTags": [ //告警策略中策略所属标签{"key": "xxxxxxxx","value": "xxxxxxxx"},{"key": "xxxxxxxx","value": "xxxxxxxx"}]},"firstOccurTime": "2024-03-07 18:12:00", // 第一次触发告警的时间"durationTime": 0, // 告警持续时间(单位:s;未恢复时为第一次触发告警后截止到此次发送告警的时间)"recoverTime": "0", // 告警恢复时间(单位:s;未恢复时为0;恢复将会显示具体时间,例如:2017-03-09 07:50:00)"policyDetailURL": "xxxxxxxx" //策略详情页面地址}
说明
大部分指标的 durationTime 和 alarmStatus 数据类型为 string,云服务器的网络类型告警指标的 namespace 为 “qce/lb”。
云产品告警回调示例和 Prometheus 监控服务、APM、RUM 回调示例请参见 告警回调示例。
事件告警
{"sessionId":"xxxxxxxxxxxx", //会话 ID"alarmStatus":"0", // 1为告警,0为恢复"alarmType":"event", // 告警类型("metric": 指标告警,"event": 事件告警)"alarmObjInfo":{"region":"sh", // 无地域属性的产品不返回该字段"appId":"xxxxxxxxxxxx", //当前腾讯云账号下的账号 ID"uin":"xxxxxxxxxxxx", //当前腾讯云账号下的账号 ID"dimensions":{"unInstanceId":"ins-o9p3rg3m" //告警实例id}},"alarmPolicyInfo":{"policyName":"CVM单机事件监控", // 告警策略组名称"conditions":{"productName":"cvm", // 告警策略类型展示名称"productShowName":"云服务器", // 告警策略类型展示名称(中文)"eventName":"cvm:ErrorEvent:GuestCoreError", // 事件告警名称"eventShowName":"内核故障" // 事件告警名称(中文名)}},"firstOccurTime":"2023-10-31 15:46:34", // 第一次触发告警的时间"durationTime": 500, // 告警持续时间(单位:s;未恢复时为第一次触发告警后截止到此次发送告警的时间)"recoverTime": "2023-10-31 15:50:00" // 告警恢复时间(单位:s;未恢复时为0;恢复将会显示具体时间,例如:2023-10-31 15:50:00)}
说明: