Aggregate Active Alerts

对当前告警进行统计。

请求格式

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

请求参数(URI)

名称

位置(Path/Query)

必需/可选

数据类型

描述

orgId

Query

必需

String

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

请求参数(Body)

名称

必需/可选

数据类型

描述

expression

可选

String

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

groupByField

必需

String

分组字段:contentIdassetIdmodelIdmeasurepointIdseverityIdtypeIdsubTypeId

startOccurTime

可选

String

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

endOccurTime

可选

String

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

响应参数

名称

数据类型

描述

data

Map(Key为String,Value为Integer)

Key为分组字段的取值,value为对应对象在指定时间段内发生告警的数量。

示例

请求示例

url: https://{apigw-address}/event-service/v2.1/active-alerts?action=aggregate&orgId=yourOrgId
method: POST
requestBody:
{
    "groupByField": "assetId",
  "action": "aggregate"
}

返回示例

{
    "code": 0,
    "msg": "OK",
    "requestId": "12995105-514a-4706-9749-5930fd7145f9",
    "data": {
        "uEZPYKL0": 5,
        "J123maMn": 2,
        "Gx5mj2OE": 1,
        "qu5TmJRj": 1,
        "TMET5UCK": 1,
        "IkaNsY3h": 1,
        "L03wWUoU": 1,
        "OAESlCPt": 1
    }
}

Java SDK调用示例

public void testAggregateActiveAlert() {
       String accessKey = "yourAppAccessKey";
       String secretKey = "yourAppSecretKey";
       AggregateActiveAlertRequest request = new AggregateActiveAlertRequest();
       request.setOrgId("yourOrgId");
       request.setGroupByField("assetId");
       try {
               AggregateActiveAlertResponse response = Poseidon.config(PConfig.init().appKey(accessKey).appSecret(secretKey).debug())
                       .url("https://{apigw-address}")
                       .getResponse(request, AggregateActiveAlertResponse.class);
               Gson gson = new Gson();
               System.out.println(gson.toJson(response));
        } catch(Exception e) {
               System.out.print(e);
        }
}