集成告警
功能介绍
集成告警通过提供统一的WebHook的API,可以将第三方平台系统所发送的告警集成到系统中,实现告警的统一通知,统一分析。
支持可集成的告警源:腾讯云 Prometheus、阿里云 Prometheus、Prometheus、Zabbix、腾讯云、阿里云、华为云、AWS。
操作指南
1、正在告警
1、点击【监控告警】>【集成告警】>【正在告警】。
2、告警历史
1、点击【监控告警】>【集成告警】>【告警历史】。
3、集成配置
1、点击【监控告警】>【集成告警】>【集成配置】。
2、点击某个监控员卡片,添加新的监控源,点击配置后进入配置页面。
4、监控源(第三方)接口配置
腾讯云配置webhook
1、进入告警集成中后,点击添加,选择【腾讯云】应用,获取AppKey生成Webhook URL。
2、在腾讯云中配置SmartOps-Webhook URL回调地址。
(1) 进入云监控控制台>通知模板。
(2) 单击【新建】,创建通知模板。在接口回调模块中填写接口回调 URL。
(3) 进入 告警策略列表,单击需要绑定告警回调的策略名称,进入管理告警策略页,并在告警策略页单击通知模板。
3、配置完成后,当腾讯云发生告警后,告警消息会通过提供的webhook地址推送到SmartOps平台。
阿里云配置webhook
1、进入告警集成中后,点击添加,选择【阿里云】应用,获取AppKey生成Webhook URL。
2、在阿里云中配置SmartOps-Webhook URL回调地址。
(1) 进入云监控控制台>报警服务>报警规则。
(2) 创建报警规则,在高级设置中填写URL报警回调地址。
3、配置完成后,当阿里云发生告警后,告警消息会通过提供的webhook地址推送到SmartOps平台。
华为云配置webhook
1、进入告警集成中后,点击添加,选择【华为云】应用,获取AppKey生成Webhook URL。
2、在华为云配置SmartOps-Webhook URL回调地址。
(1)进入华为云官网,搜索产品“https://console.huaweicloud.com/ces”,点击进入->点击立即使用-> 点击告警规则 -> 创建告警规则在-> 创建告警规则界面,点击发送通知,点击创建主题。
(2)主题创建成功后->点击添加订阅->选择协议https,在终端中添加相应webhook地址->URL。
(3)在列表中点击订阅->请求订阅,SmartOps将自动确认,刷新订阅列表此时订阅列表将变为已确认,此时发生告警就可以推送到添加的webhook。
3、置完成后,当华为云发生告警后,告警消息会通过提供的webhook地址推送到SmartOps平台。
aws配置webhook
1、进入告警集成中后,点击添加,选择【aws】应用,获取AppKey生成Webhook URL。
2、在AWS配置SmartOps-Webhook URL回调地址,打开亚马逊云 https://us-east-2.console.aws.amazon.com/cloudwatch/home?region=us-east-2#home:,进入 https://us-east-2.console.aws.amazon.com/sns/v3/home?region=us-east-2#/topics->主题->新建主题。
(1)创建告警主题。
(2)根据需要选择类型,填写名称,下拉点击创建主题。
(3)为主题创建订阅(增加告警规则),选择HTTPS,在终端节点填入复制的webhook链接,然后点击创建订阅。
回到主题页面,稍等一会订阅状态变成已确认,第一部分工作完成。
3、 第二部分,为实例增加告警规则。
(1) 打开AWS管理控制台,点击 EC2,右击对应实例,点击管理CloudWatch警报。
(2) 选择创建警报或者编辑警报,在警报通知选择前面创建的主题,根据需求配置告警规则,点击创建。
(3)创建完成后,回到实例列表,稍后警报状态将会更新。
(4)点击警报状态可以查看刚刚创建的警报。
4、配置完成后,当aws发生告警后,告警消息会通过提供的webhook地址推送到SmartOps平台。
阿里云-Prometheus 配置webhook
1、创建告警集成。
进入 第三方告警集成 中后,点击添加,选择【阿里云-Prometheus】应用,获取AppKey生成Webhook URL。
2、在阿里云中配置SmartOps-Webhook URL回调地址。
(1)进入Prometheus监控服务>联系人>新建webhook,在模块中填写接口回调 URL和请求方式header。
(2)创建通知策略,单击【创建】,创建通知策略。选择通知人并勾选Webhook通知方式。
(3)创建创建Prometheus告警规则,单击【创建】,指定通知策略。
3、配置完成后,当阿里云-Prometheus发生告警后,告警消息会通过提供的webhook地址推送到SmartOps平台。
腾讯云-Prometheus 配置webhook
1、创建告警集成。
进入 第三方告警集成 中后,点击添加,选择【腾讯云-Prometheus】应用,获取AppKey生成Webhook URL。
2、进入腾讯云云监控控制台配置webhook地址: 云监控——>通知模板——>新建。
输入名称,webhook地址:http://api.aiops.com/alert/api/event/tencentprometheus/{appKey} 点击保存即可。
3、在创建告警策略时选择所创建的通知模板。
4、配置完成后,当腾讯云-Prometheus发生告警后,告警消息会通过提供的webhook地址推送到SmartOps平台。
Prometheus 配置webhook
在Prometheus中配置告警回调地址:
1、修改Alertmanager配置文件以通过Webhook方式发送告警通知:在配置文件中新增webhook_configs并填写告警回调地址。
receivers:
- name: 'webhook-test'
- webhook_configs:
- url: 'https://console.smartcmp.cloud/platform-api/service/event/alarm/prometheus/${AppKey}'
2、重新启动Alertmanager模块,并加载该配置文件。
3、当告警规则被触发时,监控报警系统会将告警消息发送到您指定的URL地址。
Zabbix 配置webhook
在Zabbix中配置告警回调地址:
1、登录Zabbix可视化界面,在左侧导航栏选择管理→报警媒介类型。
2、在报警媒介类型页面,点击创建媒体类型。类型选择Webhook,参考以下参数配置填写:
3、点击Message templates标签页,添加Message type。
脚本模板:
try {
var param = JSON.parse(value);
if (typeof param.URL === "undefined") {
throw 'Incorrect value is given for parameter "Url": parameter is missing';
}
var request = new CurlHttpRequest();
request.AddHeader("Content-Type: application/json");
var data = JSON.stringify(param);
Zabbix.Log(4, "[Webhook] params: " + data);
response = request.Post(param.URL, data);
Zabbix.Log(4, "[Webhook] HTTP code: " + request.Status());
response = JSON.parse(response);
if (response.status !== 200 || response.message !== "success") {
throw JSON.stringify(response); }
return "OK";
} catch(error) {
Zabbix.Log(4, "[Webhook] notification failed: " + error);
throw "Sending failed: " + error + ".";
}
配置Message type:
消息模板:
Problem started at {EVENT.TIME} on {EVENT.DATE},Problem name: {EVENT.NAME},Host: {HOST.NAME},Severity: {EVENT.SEVERITY},Operational,data: {EVENT.OPDATA},Original problem ID:{EVENT.ID},{TRIGGER.URL}
确保报警媒介类型已启用并点击保存。
4、在左侧导航栏选择管理→用户,点击某个用户,在报警媒介标签页添加已创建的报警媒介类型,勾选已启用。
5、当报警规则被触发时,Zabbix会将报警消息发送到您指定的URL地址。