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`、assetId、measurepointId、hitRuleId、severityId、typeId、subTypeId、contentId、eventType、eventId、tag。支持的算术运算符为=和in,逻辑运算符是and和or。其中 tag 同时支持exists和not exists。 如何使用查询表达式>> |
groupByField |
必需 |
String |
分组字段:contentId、assetId、modelId、measurepointId、severityId、typeId、subTypeId |
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);
}
}