Search Active Alerts

查询当前告警。

请求格式

POST https://{apigw-address}/event-service/v2.1/active-alerts?action=search

请求参数(URI)

名称

位置(Path/Query)

必需/可选

数据类型

描述

orgId

Query

必需

String

资产所属的组织ID。如何获取orgId信息>>

请求参数(Body)

名称

必需/可选

数据类型

描述

modelId

可选

String

资产所属模型ID。如何获取modelId信息>>

assetId

可选

String

资产ID。如何获取Asset ID信息>>

measurepointsId

可选

String

资产测点ID。如何获取测点(pointId)信息>>

startOccurTime

可选

String

查询起始时间,与 endOccurTime 配合使用,表示查询该时段内被触发的告警。见 API在使用的时间参数>>

endOccurTime

可选

String

查询结束时间,与 startOccurTime 配合使用,表示查询该时段内被触发的告警。见 API在使用的时间参数>>

expression

可选

String

查询表达式,支持类sql的查询。目前支持查询的字段是 modelIdassetIdmeasurepointIdseverityIdtypeIdsubTypeIdcontentIdeventTypeeventIdtagdeviceStatusassetPath。支持的算术运算符为=和in,逻辑运算符是and和or。其中 tag 同时支持exists和not exists。如何使用查询表达式>>

scope

可选

Scope结构体

查询指定资产树或资产树上某资产节点下的告警,并指定是否返回被屏蔽的衍生告警。该参数不可与rootAlert参数同时使用。见 Scope结构体>>

rootAlert

可选

RootAlert结构体

查询被指定根源告警屏蔽的衍生告警。该参数不可与scope参数同时使用。见 RootAlert结构体>>

pagination

可选

Pagination请求结构体

随机分页。不支持使用 sorters 对结果进行排序,结果按照 occurTime ,新创建的靠前排列。如未指定,默认分页大小为10。见 Pagination请求结构体>>

Scope结构体

名称

必需/可选

数据类型

描述

treeId

必需

String

资产树ID。

fromAssetId

可选

String

资产ID。可选。

当未指定时,返回 treeId 指定的资产树内所有节点的告警; 当指定时,返回该资产节点下(包含该节点)的所有告警。

includeDerivative

可选

Boolean

是否返回衍生告警,默认为 false ,不返回衍生告警。

RootAlert结构体

名称

必需/可选

数据类型

描述

treeId

可选

String

资产树ID。

rootAlertId

必需

String

根源告警ID。

响应参数

名称

数据类型

描述

data

ActiveAlert结构体数组

有关activeAlert结构体的定义,见 ActiveAlert结构体>>

ActiveAlert结构体

名称

数据类型

描述

eventId

String

告警ID。

orgId

String

资产所属的组织ID。

assetId

String

资产ID。

modelId

String

资产所属模型ID。

modelIdPath

String

模型所属路径。

measurepointId

String

资产测点。

deviceStatus

String

设备状态。

hitRuleId

String

触发的告警规则的编号。

value

Integer/Double/Struct

测点值。若告警规则中指定了 triggeringDelayTimer,则测点值为 triggeringDelayTimer 开始计时时测点的值。参照 ThingModel结构体>>

occurTime

Long

告警发生的时间,以UTC时间表示。

localOccurTime

String

告警发生的时间,以本地时间表示。

createTime

Long

该告警记录的入库时间,以UTC时间表示。

updateTime

Long

该告警记录的更新时间,以UTC时间表示。

severityId

String

告警级别标识符。

severityDesc

StringI18n

告警级别描述。

typeId

String

告警类别标识符。

typeDesc

StringI18n

告警类型的具体描述。

subTypeId

String

告警子类型。

subTypeDesc

StringI18n

告警子类型描述。

contentId

String

告警内容标识符。

contentDesc

StringI18n

告警内容描述。

eventType

Integer

事件类型:0:系统恢复的告警;1:系统触发的告警;2:通过API恢复的告警;3:通过API插入的告警。

tag

Map

告警记录标签。

ruleDesc

StringI18n

规则描述

assetPaths

String数组

根据告警规则的作用域,返回告警资产在资产树上的路径列表。

返回格式为:[“treeId1:/assetId1/assetId2/assetIdx”, “treeId2:/assetId3/assetIdx”]。

maskedBy

String数组

如果该告警条目是衍生告警,返回导致该告警被屏蔽的根源告警信息。

返回格式为:[“treeId1:eventId1”, “treeId1:eventId2”]。

示例

请求示例

url: https://{apigw-address}/event-service/v2.1/active-alerts?action=search&orgId=yourOrgId
method: POST
requestBody:
{
    "expression":"eventId='20190531b83331a8549e1e956f2413552eda1ec9'",
    "pagination":{
        "pageNo":1,
        "pageSize":20
    },
  "action": "search"
}

返回示例

{
    "pagination":{
        "pageNo":1,
        "pageSize":20,
        "totalSize":1,
        "sortedBy":[
            {
                "field":"occurTime",
                "order":"DESC"
            },
            {
                "field":"eventId",
                "order":"DESC"
            }
        ]
    },
    "code":0,
    "msg":"OK",
    "requestId":"a9689b9f-0cb6-4e47-a41c-bd459b687309",
    "data":[
        {
            "eventId":"20190531b83331a8549e1e956f2413552eda1ec9",
            "orgId":"yourOrgId",
            "assetId":"qu5TmJRj",
            "modelId":"Inverter_Model",
            "modelIdPath":"/Inverter_Model",
            "measurepointId":"power",
      "deviceStatus": null,
      "hitRuleId": null,
            "value":"3.5559796405967736",
            "occurTime":1559304899404,
            "localOccurTime":"2019-06-01 02:14:59",
            "createTime":1559304899519,
            "updateTime":1560745022684,
            "severityId":"alert_001",
            "severityDesc":{
                "i18nValue":{
                    "en_US":"警告",
                    "zh_CN":"警告"
                }
            },
            "typeId":"errorType",
      "subTypeId": null,
            "typeDesc":{
                "i18nValue":{
                    "en_US":"errorType desc",
                    "zh_CN":""
                }
            },
      "subTypeDesc":{
                "i18nValue":{
                    "en_US":"",
                    "zh_CN":""
                }
            },
            "contentId":"001",
            "contentDesc":{
                "i18nValue":{
                    "en_US":"001",
                    "zh_CN":"001"
                }
            },
            "eventType":1,
            "tag":{
                "Tag999":"999"
            },
      "ruleDesc":{
                "i18nValue":{
                    "en_US":"",
                    "zh_CN":""
                }
            },
      "assetPaths": null,
      "maskedBy": null
        }
    ]
}

Java SDK调用示例

public void testSearchActiveAlerts() {
    String accessKey = "yourAppAccessKey";
    String secretKey = "yourAppSecretKey";
    SearchActiveAlertRequest request = new SearchActiveAlertRequest();
    request.setOrgId("yourOrgId");
    request.setExpression("eventId='yourEventId'");
    Pagination pagination = new Pagination();
    pagination.setPageSize(20);
    pagination.setPageNo(1);
    request.setPagination(pagination);
    try {
        SearchActiveAlertResponse response = Poseidon.config(PConfig.init().appKey(accessKey).appSecret(secretKey).debug())
            .url("https://{apigw-address}")
            .getResponse(request, SearchActiveAlertResponse.class);
        Gson gson = new Gson();
        System.out.println(gson.toJson(response));
    } catch (Exception e) {
        System.out.print(e);
    }
}