操作指南

使用举例:

某设备温度高于60度时告警,低于60度时解除告警,分别发如下短信通知:

异常:221号设备温度为65度 【百度智能云】

恢复正常:221号设备温度为55度 【百度智能云】

假设收到消息格式为:

{      
     "deviceid":"221",
     "temperature":65,
     "current":1.2,             
    }

短信服务

  1. 用户首先需要开通简单消息服务(SMS),并开通企业认证

  2. 请到短信服务控制台中配置签名和模板,签名配置为:百度智能云,模板配置为: $state: $deviceId号设备为$temeperature度。

  3. 短信的模板签名需要人工审核,在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,但仍记录告警状态。

点击 “解除屏蔽” 按钮,可以解除对告警服务的屏蔽,即告警服务继续按照设定好的逻辑对用户进行信息通知。