API
所有文档

          天工通用功能

          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"
          }
          上一篇
          物解析的告警处理
          下一篇
          日志服务