# 自定义告警Api
适用范围
博灵A4
系列支持通过IP地址直接调用该章节功能
博灵A3
系列仅能通过云服务使用该章节功能
# 什么时候使用自定义Api?
- 当需要与现有的监控系统对接,虽然该系统支持HTTP回调/WebHook,但厂家已经制定好了接口规范(例如腾讯云 云监控告警回调),此时需要告警终端适配对方发送的数据结构,并以对方数据结构作为依据进行告警。
- 现有监控系统支持HTTP回调/WebHook,也支持发送数据结构自定义,但无法适配常规Api接口的数据结构。
# 配置实战
# 情景假设
首先我们先假定一个使用情景,假设监控平台告警时使用WebHook通过HTTP发送的回调数据结构如下:
请求方式:Post
数据类型:
x-www-form-urlencoded
form-data
请求结构体:
参数名 | 说明 |
---|---|
host | 告警主机名 |
serv | 告警的监控项 |
level | 告警级别,1为严重,2为警告,3为恢复 |
time | 告警发生时间 |
预期效果:
当发生严重告警时,报警灯红灯转亮、警告时,黄灯转亮、恢复时,绿灯转亮
期待的播报内容如下(以下粗体下划线中内容为实际播报时的请求传来的动态值):
主机名:核心服务器,监控项:CPU使用率,级别:严重
# 配置流程
首先配置点亮灯时所使用的的通知组,分别为红色转亮,黄色转亮,绿色转亮。 进入
待机与通知组设置
,点击添加。设定声光告警配置,见下图
以此类推分别设定黄色转亮、绿色转亮,最后结果见下图。
进入
Api
->自定义Api接口
页面,点击添加。- 路径名可以自定义,本案例填写
alarm
,最终的请求路径为http://192.168.0.66/api/api/user_msg/alarm
- 请求类型选择Post
- 数据类型选择form-data
语音播报模板添加内容见下图,详细说明见语音播报模板功能说明。
LED规则配置部分见下图,详细说明见LED规则字段配置说明
- 路径名可以自定义,本案例填写
# 语音播报模板功能说明
语音播报模板会按照列表顺序,依次对字段内容进行拼接,最后拼接成完整的播报内容。
字段类型:
固定文本
:拼接时,直接将字段名作为播报内容参与拼接。
普通字段
:拼接时,去HTTP请求参数中,获取该字段名的内容作为拼接内容。例如本案例中host
字段是post请求中的一个字段, 则模板普通字段的host
意味着,在拼接播报内容时,从HTTP Api Post请求中获取host字段作为拼接时的内容。
解析字段
:使用时需要用户提前设定规则映射表,映射表对应的字段值->播报内容。当需要对请求内容中的一些字段需要按照规则进行替换时需要使用该功能。
举例:本案例请求内容中,level
的值为1
,2
,3
,播报时需要将1
替换成严重
,2
替换成警告
,3
替换成恢复。
配置好的效果见下图:
整体配置效果:
点击确定保存即可。
# 联动调试
与常规Api调试方式相同,本案例中同样使用PostMan进行测试。
请求地址:http://192.168.0.66/api/api/user_msg/alarm
其中地址中下划线部分的
alarm
为添加Api时的路径名。请求方式:Post
数据类型:form-data
其他测试数据以及发送结果见下图
# LED规则字段功能说明
类似于语音播报模板的解析字段,预先设置LED映射字段名,当存在告警信息时,设备会从请求中获取LED规则字段名对应的值。
本案例中为level。也就意味着,每次请求该接口时,设备会获取level的值作为判断led的点亮依据。
当获取到led字段值时,则会按照LED的映射表,根据对应的字段值所对应的通知组来点亮LED。