API

创建告警

方法 URL 说明
POST /v1/alarm 创建告警

请求参数

参数名称 参数类型 是否必须 说明
name String 告警名称
desc String 告警描述
severity String 告警优先级,可能取值:LOW,MIDDLE,HIGH
endpointName String 消息来源的物接入实例名称,如myendpoint
topic String 消息来源的MQTT主题
select String 消息变化的SQL SELECT语句,默认值为:*
condition String 判断消息是否异常的条件,语法同SQL的WHERE子句
alarmTrigger String 触发告警的条件,目前支持COUNT:n语法,默认值:COUNT:1
smsReceiver String 短信接收人(smsReceiver)的uuid,为空,则不发短信告警
smsVars String 从MQTT通知消息中提取短信模板变量值得SQL SELECT语句,例如:lastMsg.temp as temp
smsMsgType String 选择短信接收哪些类型的告警通知,默认值:ALARM_RECOVER,即接受告警发生和告警解除两种通知。可能取值:NOTHING:什么都不接收;ALARM:仅接受告警发生的通知;ALARM_RECOVER:接受告警发生和告警解除的通知;ALL:接受告警发生、告警更新、和告警解除三种通知
mqttMsgType String 选择MQTT接收哪些类型的告警通知,默认值:ALL,即接受告警发生、告警更新、和告警解除三种通知。可能取值:NOTHING:什么都不接收;ALARM:仅接受告警发生的通知;ALARM_RECOVER:接受告警发生和告警解除的通知;ALL:接受告警发生、告警更新、和告警解除三种通知
destTopic String 告警发送MQTT通知的MQTT主题,实例同来源消息的实例。如果该值为空,则不发送MQTT通知

返回参数

参数名称 参数类型 是否必须 说明
result String ok表示成功
uuid String 创建好的告警的uuid

请求示例

{
    "name": "风机工作温度监控",
    "desc": "监控第2厂区2楼风机工作温度不超过60度",
    "severity": "HIGH",
    "endpointName": "myendpoint",
    "topic": "sensor/floor2",
    "select": "*",
    "condition": "temperature > 60",
    "alarmTrigger": "COUNT:1",
    "smsReceiver": "0000000-0000-0000-0000-00000000001",
    "smsVars": " lastMsg.temp as temp, lastMsg.device as devid",
    "smsMsgType": "ALARM_RECOVER",
    "mqttMsgType": "ALL",
    "destTopic": "alarm_out"
}

返回示例

{
    "result": "ok",
    "uuid": "ab13ef935b84173a0f41f90c33daa87"
}

修改告警

方法 URL 说明
PUT /v1/alarm/{alarmid} 修改告警

请求参数

参数名称 参数类型 是否必须 说明
name String 告警名称
desc String 告警描述
severity String 告警优先级,可能取值:LOW,MIDDLE,HIGH
topic String 消息来源的MQTT主题
select String 消息变化的SQL SELECT语句,默认值为:*
condition String 判断消息是否异常的条件,语法同SQL的WHERE子句
alarmTrigger String 触发告警的条件,目前支持COUNT:n语法,默认值:COUNT:1
smsReceiver String 短信接收人(smsReceiver)的uuid,为空,则不发短信告警
smsVars String 从MQTT通知消息中提取短信模板变量值得SQL SELECT语句,例如:lastMsg.temp as temp
smsMsgType String 选择短信接收哪些类型的告警通知,默认值:ALARM_RECOVER,即接受告警发生和告警解除两种通知。可能取值:NOTHING:什么都不接收;ALARM:仅接受告警发生的通知;ALARM_RECOVER:接受告警发生和告警解除的通知;ALL:接受告警发生、告警更新、和告警解除三种通知
mqttMsgType String 选择MQTT接收哪些类型的告警通知,默认值:ALL,即接受告警发生、告警更新、和告警解除三种通知。可能取值:NOTHING:什么都不接收;ALARM:仅接受告警发生的通知;ALARM_RECOVER:接受告警发生和告警解除的通知;ALL:接受告警发生、告警更新、和告警解除三种通知
destTopic String 告警发送MQTT通知的MQTT主题,实例同来源消息的实例。如果该值为空,则不发送MQTT通知

返回参数

参数名称 参数类型 是否必须 说明
result String ok表明修改成功

请求示例

注意:每一个字段都是可选的。但是如果一个都不传,或者传了参数,但值与数据库里面的值相同,会出现错误。

{
    "name": "风机工作温度监控",
    "desc": "监控第2厂区2楼风机工作温度不超过60度",
    "kind": "DATA_STREAM",
    "severity": "HIGH",
    "topic": "sensor/floor2",
    "select": "*",
    "condition": "temperature > 60",
    "alarmTrigger": "COUNT:1",
    "smsReceiver": "0000000-0000-0000-0000-00000000001",
    "smsVars": " lastMsg.temp as temp, lastMsg.device as devid",
    "smsMsgType": "ALARM_RECOVER",
    "mqttMsgType": "ALL",
    "destTopic": "alarm_out"
}

返回示例

{
    "result": "ok"
}

获取告警详情

方法 URL 说明
GET /v1/alarm/{alarmid} 获取告警详情

请求参数

参数名称 参数类型 是否必须 说明
alarmid String 需要获取的告警的uuid

返回参数

参数名称 参数类型 是否必须 说明
uuid String 告警的UUID(唯一)
name String 告警的名称
desc String 告警的描述
kind String 消息源类型,暂无意义
severity String 优先级
accountUuid String 用户账号UUID
endpointName String 消息源的实例名称
topic String 消息源主题
select String 消息变化的SQL SELECT语句
condition String 判断消息是否异常的条件,语法同SQL的WHERE子句
alarmTrigger String 触发告警的条件
smsReceiver String 短信接收人(smsReceiver)的UUID
smsVars String 从MQTT通知消息中提取短信模板变量值得SQL SELECT语句
smsMsgType String 选择短信接收哪些类型的告警通知
mqttMsgType String 选择MQTT接收哪些类型的告警通知
destTopic String 告警发送MQTT通知的MQTT主题
alarmState String 告警状态。NORMAL:正常;ALARMING:异常
startTime Long 最近一次告警发生的时间戳(UNIX时间戳,毫秒) ,-1则表示该告警没有发生过
refreshTime Long 最近一次告警更新的时间戳(UNIX时间戳,毫秒),-1表示该告警没有更新过,告警发生时,会变成与startTime一样
recoverTime Long 最近一次告警恢复的时间戳(UNIX时间戳,毫秒),告警状态为ALARMING时,该值为-1,表示还没有恢复
lastMsg String 告警收到的最后一条影响告警状态的用户消息,JSON格式。具体内容为用户的原始消息经过select字段选择后的结果。告警处于正常状态下的,不符合condition条件的消息,不会存入lastMsg;其他情况均会存进lastMsg。告警刚才创建时,其值为"{}"
disabled String 告警是否被禁用。ENABLED:没有禁用;DISABLED:禁用了。
createTime String 告警创建时间
updateTime String 告警修改时间

返回示例

{
    "uuid": "ab13ef935b84173a0f41f90c33daa87",
    "name": "风机工作温度监控",
    "desc": "监控第2厂区2楼风机工作温度不超过60度",
    "kind": "DATA_STREAM",
    "severity": "HIGH",
    "accountUuid": " ef3de2935b37973a03e5f90c367ba87",
    "endpointName": "myendpoint",
    "topic": "sensor/floor2",
    "select": "*",
    "condition": "temperature > 60",
    "alarmTrigger": "COUNT:1",
    "smsReceiver": "0000000-0000-0000-0000-00000000001",
    "smsVars": " lastMsg.temp as temp, lastMsg.device as devid",
    "smsMsgType": "ALARM_RECOVER",
    "mqttMsgType": "ALL",
    "destTopic": "alarm_out",
    "alarmState": "NORMAL",
    "startTime": 1497244357,
    "refreshTime": 1497244357,
    "recoverTime": 1497244873,
    "lastMsg": "{"temp":58}",
    "disabled": "ENABLED",
    "createTime": "2017-06-13 16:06:34",
    "updateTime": "2017-06-13 16:06:34"
}

列显告警

方法 URL 说明
GET /v1/alarm?pageNo=1&pageSize=20&disabled=ENABLED&alarmState=ALARMING&severity=MIDDLE&orderBy= startTime&order=desc 列显告警

请求参数

参数名称 参数类型 是否必须 说明
pageNo Int 分页显示的第几页,默认为1
pageSize Int 每页的大小,默认50;取值范围[1-50]
disabled String 根据禁用状态来过滤,可能取值:ENABLED,DISABLED
alarmState String 根据告警状态来过滤,可能取值:NORMAL,ALARMING
severity String 根据告警优先级来过滤,可能取值:LOW,MIDDLE,HIGH
orderBy String 根据哪个字段进行排序,可能取值:createtime, severity, alarmState,startTime, refreshTime, recoverTime
order String 排序方式,可能取值:DESC,ASC

返回参数

参数名称 参数类型 是否必须 说明
totalCount Int 符合条件的告警的总数
pageNo Int 当前返回的页码
pageSize Int 分页大小
result Array 返回的告警集合,每个元素的说明,请参考获取告警详情接口

请求示例

/v1/alarm?pageNo=1&pageSize=20&disabled=ENABLED&alarmState=ALARMING&severity=MIDDLE&orderBy= startTime&order=desc

返回示例

{
    "totalCount": 1,
    "pageNo": 1,
    "pageSize": 20,
    "result": [
        {
            "uuid": "ab13ef935b84173a0f41f90c33daa87",
            "name": "风机工作温度监控",
            "desc": "监控第2厂区2楼风机工作温度不超过60度",
            "kind": "DATA_STREAM",
            "severity": "HIGH",
            "accountUuid": " ef3de2935b37973a03e5f90c367ba87",
            "endpointName": "myendpoint",
            "topic": "sensor/floor2",
            "selectStr": "*",
            "condition": "temperature > 60",
            "alarmTrigger": "COUNT:1",
            "smsReceiver": "0000000-0000-0000-0000-00000000001",
            "smsVars": " lastMsg.temp as temp, lastMsg.device as devid",
            "smsMsgType": "ALARM_RECOVER",
            "mqttMsgType": "ALL"
            "destTopic": "alarm_out",
            "alarmState": "NORMAL",
            "startTime": 1497244357,
            "refreshTime": 1497244357,
            "recoverTime": 1497244873,
            "lastMsg": "{"temp":58}",
            "disabled": "ENABLED",
            "createTime": "2017-06-13 16:06:34",
            "updateTime": "2017-06-13 16:06:34"
        }
    ]
}

禁用告警

方法 URL 说明
PUT /v1/alarm/{alarmid}/disable 禁用告警

请求参数

参数名称 参数类型 是否必须 说明
alarmid String 告警的UUID

返回参数

参数名称 参数类型 是否必须 说明
result String ok表示成功

返回示例

{
    "result": "ok"
}

启用告警

方法 URL 说明
PUT /v1/alarm/{alarmid}/enable 启用告警

请求参数

参数名称 参数类型 是否必须 说明
alarmid String 告警的UUID

返回参数

参数名称 参数类型 是否必须 说明
result String ok表示成功

返回示例

{
    "result": "ok"
}

解除告警

方法 URL 说明
PUT /v1/alarm/{alarmid}/recover 解除告警

请求参数

参数名称 参数类型 是否必须 说明
alarmid String 告警的UUID

返回参数

参数名称 参数类型 是否必须 说明
result String ok表示成功

返回示例

{
    "result": "ok"
}

批量解除告警

方法 URL 说明
POST /v1/alarm/batch/recover 批量解除告警

注意:手动解除告警,依旧会发送短信通知和MQTT消息。

请求参数

参数名称 参数类型 是否必须 说明
ids 数组 拟要解除的告警的id列表

返回参数

参数名称 参数类型 是否必须 说明
result String ok表示成功

请求示例

{
    "ids": [
        "43257469-643e-4a1c-81df-8cca28d96dbc",
        "2f74da12-a846-4b70-bf3a-7a22e0c56bc0"
    ]
}

返回示例

{
    "result": "ok"
}

删除告警

方法 URL 说明
DELETE /v1/alarm/{alarmid} 删除告警

请求参数

参数名称 参数类型 是否必须 说明
alarmid String 告警的UUID

返回参数

参数名称 参数类型 是否必须 说明
result String ok表示成功

返回示例

{
    "result": "ok"
}

批量删除告警

方法 URL 说明
POST /v1/alarm/batch/delete 批量删除告警

请求参数

参数名称 参数类型 是否必须 说明
ids 数组 拟要删除的告警的id列表

返回参数

参数名称 参数类型 是否必须 说明
result String ok表示成功

请求示例

{
    "ids": [
        "43257469-643e-4a1c-81df-8cca28d96dbc",
        "2f74da12-a846-4b70-bf3a-7a22e0c56bc0"
    ]
}

返回示例

{
    "result": "ok"
}

创建短信接收人

方法 URL 说明
POST /v1/smsreceiver 创建短信接收人

请求参数

参数名称 参数类型 是否必须 说明
name String 名称
signature String 短信(SMS)签名ID
template String 短信(SMS)模板ID
receivers String 接收人手机号码,多个号码以逗号分隔

返回参数

参数名称 参数类型 是否必须 说明
result String ok表示成功
uuid String 创建的短信接收人UUID

请求示例

{
    "name": "admins",
    "signature": "sig123",
    "template": "temp-456",
    "receivers": "15820201369,17500456789"
}

返回示例

{
    "result": "ok",
    "uuid": "ab13ef935b84173a0f41f90c33daa87"
}

获取短信接收人详情

方法 URL 说明
GET /v1/smsreceiver/{id} 获取短信接收人详情

请求参数

参数名称 参数类型 是否必须 说明
id String 短信接收人(SmsReceiver)的UUID

返回参数

参数名称 参数类型 是否必须 说明
uuid String UUID
accountUuid String 用户的账号UUID
name String 名称
signature String 短信(SMS)签名ID
template String 短信(SMS)模板ID
receivers String 接收人手机号码,多个号码以逗号分隔
createTime String 创建时间
updateTime String 修改时间

返回示例

{
    "uuid": "ab13ef935b84173a0f41f90c33daa87",
    "accountUuid": "a13035a8ef9b817b3a40f41cf933da7",
    "name": "admins",
    "signature": "sig123",
    "template": "temp-456",
    "receivers": "15820201369,17500456789",
    "createTime": "2017-06-43 17:08:01",
    "updateTime": "2017-06-43 17:08:01"
}

修改短信接收人详情

方法 URL 说明
PUT /v1/smsreceiver/{id} 修改短信接收人详情

请求参数

参数名称 参数类型 是否必须 说明
id String 短信接收人(SmsReceiver)的UUID
name String 名称
signature String 短信(SMS)签名ID
template String 短信(SMS)模板ID
receivers String 接收人手机号码,多个号码以逗号分隔

返回参数

参数名称 参数类型 是否必须 说明
result String ok表示成功

请求示例

{
    "name": "admins",
    "signature": "sig123",
    "template": "temp-456",
    "receivers": "15820201369,17500456789"
}

返回示例

{
    "result": "ok"
}

列显短信接收人

方法 URL 说明
GET /v1/smsreceiver?pageNo=1&pageSize=20 列显短信接收人

请求参数

参数名称 参数类型 是否必须 说明
pageNo Int 分页显示的第几页,默认为1
pageSize Int 每页的大小,默认50;取值范围[1-50]

返回参数

参数名称 参数类型 是否必须 说明
totalCount Int 符合条件的短信接收人的总数
pageNo Int 当前返回的页码
pageSize Int 分页大小
result Array 返回的短信接受人集合,每个元素的说明,请参考获取短信接收人详情接口

返回示例

{
    "totalCount": 1,
    "pageNo": 1,
    "pageSize": 20,
    "result": [
        {
            "uuid": "ab13ef935b84173a0f41f90c33daa87",
            "accountUuid": "a13035a8ef9b817b3a40f41cf933da7",
            "name": "admins",
            "signature": "sig123",
            "template": "temp-456",
            "receivers": "15820201369,17500456789",
            "createTime": "2017-06-43 17:08:01",
            "updateTime": "2017-06-43 17:08:01"
        }
    ]
}

删除短信接收人

方法 URL 说明
DELETE /v1/smsreceiver/{id} 删除短信接收人

请求参数

参数名称 参数类型 是否必须 说明
id String 短信接收人(SmsReceiver)的UUID

返回参数

参数名称 参数类型 是否必须 说明
result String ok表示成功

返回示例

{
    "result": "ok"
}