WAF3.0 API¶
POST 查询触发的规则¶
POST /prod-api/waf/wafv3/statistic/describeTriggeredRules
统计指定时间范围内 触发次数最多的规则 ID 与 策略组(WAF ACL),用于控制台「触发规则」表格。与 查询高级监控数据 类似,按 metricName 做 Terms 聚合分页,但 list 项会附带规则/策略组 详情对象 data。
本接口 仅支持 以下两个 metricName(大小写不敏感,控制台常写 rule_Id,与 rule_id 等价):
metricName |
含义 |
|---|---|
rule_id |
按 规则 ID 排行触发次数 |
waf_acl_id |
按 策略组 ID(日志字段 waf_id)排行触发次数 |
Body 请求参数
{
"action": [
{
"metricName": "rule_id",
"pageNo": 1,
"pageSize": 5
},
{
"metricName": "waf_acl_id",
"pageNo": 1,
"pageSize": 5
}
],
"otherFilter": [],
"params": {
"beginTime": "2026-05-20 16:57:08",
"endTime": "2026-05-20 17:57:08"
}
}
限定当前套餐(控制台常用):
{
"action": [
{ "metricName": "rule_id", "pageNo": 1, "pageSize": 5 },
{ "metricName": "waf_acl_id", "pageNo": 1, "pageSize": 5 }
],
"otherFilter": [
{
"oneVal": "oid",
"twoVal": "eq",
"threeVal": ["20240412279097884616"]
}
],
"params": {
"beginTime": "2026-05-20 16:57:08",
"endTime": "2026-05-20 17:57:08"
}
}
Body 字段说明¶
| 字段 | 类型 | 必选 | 说明 |
|---|---|---|---|
action |
array | 是 | 统计维度,见下表;一般同时传 rule_id 与 waf_acl_id |
otherFilter |
array | 否 | 日志筛选,规则同 describeMostData |
params |
object | 是 | beginTime、endTime(yyyy-MM-dd HH:mm:ss) |
action[] 单项¶
| 字段 | 类型 | 必选 | 说明 |
|---|---|---|---|
metricName |
string | 是 | 仅 rule_id / waf_acl_id(或控制台写法 rule_Id) |
pageNo |
integer | 是 | 页码,从 1 开始 |
pageSize |
integer | 是 | 每页条数(控制台常用 5) |
时间范围:仅最近 180 天,单次跨度不超过 180 天。
请求参数¶
| 名称 | 位置 | 类型 | 必选 | 中文名 | 说明 |
|---|---|---|---|---|---|
| Authorization | header | string | 是 | 鉴权 | Bearer Token |
| body | body | object | 是 | 请求体 | 见上文 |
返回示例
200 Response
无数据时:
有数据时(结构示例):
{
"msg": "成功",
"code": 200,
"data": [
{
"metricName": "rule_id",
"list": [
{
"id": "901234",
"value": 1280,
"data": {
"ruleId": 901234,
"ruleMessage": "SQL Injection Attack",
"group": "OWASP CRS",
"showMatch": true
}
}
],
"total": 5000,
"termsCount": 42
},
{
"metricName": "waf_acl_id",
"list": [
{
"id": "149",
"value": 3200,
"data": {
"id": 149,
"aclName": "默认策略组",
"aclStatus": "ON"
}
}
],
"total": 5000,
"termsCount": 3
}
]
}
返回结果¶
| 状态码 | 状态码含义 | 说明 |
|---|---|---|
| 200 | OK | 成功 |
| 401 | Unauthorized | 未授权 |
| 403 | Forbidden | 无权限 |
返回数据结构¶
状态码 200
| 名称 | 类型 | 说明 |
|---|---|---|
code |
integer | 200 表示成功 |
msg |
string | 提示信息 |
data |
array | 与 action 中每个 metricName 对应一项 |
data[] 单项¶
| 字段 | 类型 | 说明 |
|---|---|---|
metricName |
string | rule_id 或 waf_acl_id |
list |
array | 当前页触发排行 |
total |
integer | 该维度下日志总条数 |
termsCount |
integer | 不同 id 个数(分页 total 常用此值) |
list[] 单项¶
| 字段 | 类型 | 说明 |
|---|---|---|
id |
string | 聚合键:规则 ID 或策略组 ID 字符串 |
value |
integer | 触发次数(文档数) |
data |
object | 详情;无法匹配库表时仍有占位对象 |
metricName = rule_id 时 data(规则信息,字段以实现为准):
| 字段 | 说明 |
|---|---|
ruleId |
规则 ID |
ruleMessage |
规则描述 |
group |
规则组/分类 |
showMatch |
是否展示匹配信息 |
未知规则 ID 时服务端按 ID 区间填充默认 ruleMessage、group。
metricName = waf_acl_id 时 data(策略组信息):
| 字段 | 说明 |
|---|---|
id |
策略组 ID |
aclName |
策略组名称 |
aclStatus |
策略组状态 |