Aggregate Active Alerts

对当前告警进行统计。

请求格式

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

请求参数(URI)

名称

是否必须

数据类型

描述

orgId

true

String

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

请求参数(Body)

名称

是否必须

数据类型

描述

expression

false

String

查询表达式,支持类sql的查询。目前支持查询的字段是modelIdassetIdmeasurepointIdhitRuleIdseverityIdtypeIdsubTypeIdcontentIdeventTypeeventIdtag。支持的算术运算符为=和in,逻辑运算符是and和or。其中 tag 支持等于 比如 tag.FLAG =  '1' 和不等于 比如 (!tag.FLAG  ='1')如何使用查询表达式>>

groupByField

true

String

分组字段:contentIdassetIdmodelIdmeasurepointIdseverityIdtypeIdsubTypeId

startOccurTime

false

String

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

endOccurTime

false

String

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

响应参数

名称

数据类型

描述

data

Map(Key为String,Value为Integer)

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

输入输出示例

请求示例

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

{
    "groupByField": "assetId"
}

返回示例

{
    "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 = "AccessKey of your APP";
       String secretKey = "SecretKey of your APP";
       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);
        }
}