操作指南
使用举例:
某设备温度高于60度时告警,低于60度时解除告警,分别发如下短信通知:
异常:221号设备温度为65度 【百度智能云】
恢复正常:221号设备温度为55度 【百度智能云】
假设收到消息格式为:
{
"deviceid":"221",
"temperature":65,
"current":1.2,
}
短信服务
- 用户首先需要开通简单消息服务(SMS),并开通企业认证。
- 请到短信服务控制台中配置签名和模板,签名配置为:百度智能云,模板配置为: $state: $deviceId号设备为$temeperature度。
- 短信的模板需要人工审核,在7个工作日之内完成,请尽早提交。
创建通知
登录百度智能云官网,点击右上角的『管理控制台』,进入控制台界面。选择产品服务->物管理,进入天工新版控制台(后续天工其他产品会陆续移到新版控制台中来),左侧的菜单栏中点击『告警通知』。
点击左上角创建通知按键,即可创建一个新的通知。
填写基本信息,名称要求2-32个字符,描述要求2-32个字符,优先级分为高、中、低三个等级。
填写定义事件,事件源选择消息来自物接入主题。
- 实例:用于可以选择在物接入中已有的实例或创建新的实例。
- 主题:用户需要监听的主题,主题中的消息必须是JSON格式。
- 查询字段:默认展示*,可手动输入查询字段。
- 异常条件:例如设置某设备温度高于60度时告警,低于60解除告警
告警策略
通知类型
例如:基于物接入主题:where temp>60。
告警 | 告警状态 | 详情 |
---|---|---|
触发告警 | 告警时间 | 收到的消息第一次满足异常条件temp>60,作为告警时间 |
告警更新时间 | 告警后,监听的Topic收到的消息仍满足temp>60,作为告警更新时间。 | |
解除告警 | 解除告警时间 | 触发告警后,收到的消息满足!(temp>60),作为解除告警时间。如果收到的消息没有temp字段保持告警状态不变。如果用户手动解除告警,即作为解除告警时间。 |
注意1:对于收到空消息或不存在temp字段的消息,保持原告警或正常状态不变。
注意2:告警条件是 where temp>60 and curr>2等复合条件组成的,将where后看做一个逻辑表达式,告警条件和解除告警条件同上。如果收到的消息不含temp字段或者curr字段,保持原告警状态或正常状态不变
通知方式
1. 短信SMS
通知类型:
- 【首次触发异常告警通知】仅首次收到异常时发送短信,告警更新和告警恢复不发送短信。
- 【首次触发异常事件及恢复正常通知】首次收到异常时发送短信,恢复正常时发送短信,告警更新不发送短信。
- 【每次触发异常事件及恢复正常通知】首次收到异常时发送短信,每次告警更新时也发送短信,恢复正常时也发送短信。
签名和模版:
- 签名和模板可以下拉选择在短信服务SMS中创建的签名和模板。
- 如果签名和模板的列表为空,请到短信SMS服务中添加。
模板变量:
1)假设收到的消息为:
{
"deviceid":"221",
"temperature":65,
"current":1.2,
}
那么,当满足异常条件temperature>60、满足告警更新、告警恢复时,告警服务会产生一条中间消息,该消息中既包含当前的告警状态,也包含触发该告警的信息。
其中lastMsg的字段中,包含了触发该告警的MQTT消息,如下:
{
"uuid": "1234b503-b743-4f6c-8d1f-257979a751b4",
"name": "风机工作温度监控",
"desc": "监控第2厂区2楼风机工作温度不超过60度",
"endpointName": "myendpoint",
"topic": "sensor/floor2",
"select": "*",
"condition": "temperature > 60",
"alarmState": 1/0
"stateDesc": “异常”/“恢复正常",
"notifyType": "ALARM"/ “REFERSH” / “RECOVER”,
"startTime": 1497244107,
"refreshTime": 1497244107,
"recoverTime": 1497244107,
"lastMsg": {
"deviceid": "221",
"temperature": 65,
"current": 1.2,
}
}
2)假设希望收到的异常和恢复正常的短信
异常:221号设备温度为65度 【百度智能云】
恢复正常:221号设备温度为55度 【百度智能云】
3)签名可设置为百度智能云
4)模板可设置为: ${state}:${deviceid}号设备温度为${temp}度
5)模板变量可填写:stateDesc AS state, lastMsg.deviceid AS deviceid,lastMsg.temperature AS temp
用AS语句将原始消息中的字段与短信模板中的额自定义变量联系起来
手机号:填写希望收到短信的手机号
2. 物接入主题
- 物接入实例:只允许转发到数据来源的实例。
- 主题:由用户填写,可以填写一个新的主题。
-
转发到topic的格式由系统定义。格式如下:
{ "uuid": "1234b503-b743-4f6c-8d1f-257979a751b4", "name": "风机工作温度监控", "desc": "监控第2厂区2楼风机工作温度不超过60度", "endpointName": "myendpoint", "topic": "sensor/floor2", "select": "*", "condition": "temperature > 60", "alarmState": 1/0" stateDesc": “异常”/“恢复正常",
"notifyType": "ALARM"/ “REFERSH” / “RECOVER”, "startTime": 1497244107, "refreshTime": 1497244107, "recoverTime": 1497244107, "lastMsg": { "deviceid": "221", "temperature": 65, "current": 1.2 } }
当满足异常条件、满足告警更新、告警恢复时,告警服务会产生一条中间消息,该消息中既包含当前的告警状态,也包含触发该告警的信息。
其中lastMsg的字段中,包含了触发该告警的MQTT消息。
发生告警
{
"uuid": "1234b503-b743-4f6c-8d1f-257979a751b4",
"name": "风机工作温度监控",
"endpointName": "myendpoint",
"topic": "sensor/floor2",
"condition": "temperature > 60",
"alarmState": 1,
"stateDesc": "异常",
"notifyType": "ALARM",
"startTime": 1497244107,
"refreshTime": 1497244107,
"recoverTime": 1497244109,
"lastMsg": {
"deviceId": "221",
"temperature": 65,
"current": 1.2
}
}
告警更新
{
"uuid": "1234b503-b743-4f6c-8d1f-257979a751b4",
"name": "风机工作温度监控",
"endpointName": "myendpoint",
"topic": "sensor/floor2",
"condition": "temperature > 60",
"alarmState": 1,
"stateDesc": "异常",
"notifyType": "REFRESH",
"startTime": 1497244107,
"refreshTime": 1497244107,
"recoverTime": 1497244109,
"lastMsg": {
"deviceId": "221",
"temperature": 65,
"current": 1.2
}
}
告警恢复正常
{
"uuid": "1234b503-b743-4f6c-8d1f-257979a751b4",
"name": "风机工作温度监控",
"endpointName": "myendpoint",
"topic": "sensor/floor2",
"condition": "temperature > 60",
"alarmState": 1,
"stateDesc": "恢复正常",
"notifyType": "RECOVER",
"startTime": 1497244107,
"refreshTime": 1497244107,
"recoverTime": 1497244109,
"lastMsg": {
"deviceId": "221",
"temperature": 65,
"current": 1.2
}
}
在完成以上操作后,点击左下角“保存”,即可以保存以上所有配置。
通知详情
点击 “编辑” 按钮,可以编辑事件的详细信息。
用户可以在告警通知列表页,看到如下图所示的详细信息。
其中,基本信息可以修改,名称可以修改,但名称唯一。
定义事件可以修改,包括事件源、约束条件。
通知策略可以修改,短信:可修改签名、模板、自定义值、手机号;物接入主题:可修改主题。
屏蔽通知
点击 “屏蔽” 按钮,可以屏蔽告警服务通知,处于『屏蔽中』的通知,不再发送短信或MQTT topic,但仍记录告警状态。
点击 “解除屏蔽” 按钮,可以解除对告警服务的屏蔽,即告警服务继续按照设定好的逻辑对用户进行信息通知。