WAF3.0 API¶
POST 查询攻击数据¶
POST /prod-api/waf/wafv3/statistic/describeAttackData
按时间维度聚合 WAF 访问日志,返回 攻击量 / 拦截量趋势(折线图数据)。与 查询高级监控数据(Top 排行)不同,本接口返回的是 时间序列 objectArrayList,而非 list 排行。
metricName |
含义 | 统计范围 |
|---|---|---|
attack_thread |
攻击量 | 满足 otherFilter 与时间范围内的全部日志 |
block_thread |
拦截量 | 在同样条件下,且响应状态为 拦截状态码(服务端自动追加 status eq 417,与 WafConfigEnums.DENY_STATUS 一致) |
Body 请求参数
{
"action": [
{
"metricName": "attack_thread",
"pageNo": 1,
"pageSize": 5
},
{
"metricName": "block_thread",
"pageNo": 1,
"pageSize": 5
}
],
"otherFilter": [],
"params": {
"beginTime": "2026-05-20 16:49:02",
"endTime": "2026-05-20 17:49:02"
}
}
Body 字段说明¶
| 字段 | 类型 | 必选 | 说明 |
|---|---|---|---|
action |
array | 是 | 趋势指标列表;一般同时传 attack_thread 与 block_thread |
otherFilter |
array | 否 | 日志筛选,规则同 describeMostData;block_thread 会额外叠加拦截状态条件 |
params |
object | 是 | 时间范围:beginTime、endTime(yyyy-MM-dd HH:mm:ss) |
action[] 单项¶
| 字段 | 类型 | 必选 | 说明 |
|---|---|---|---|
metricName |
string | 是 | 仅支持 attack_thread(攻击量)、block_thread(拦截量) |
pageNo |
integer | 否 | 本接口为趋势聚合,不参与计算;控制台沿用统一结构可传 1 |
pageSize |
integer | 否 | 同上,不参与计算 |
查询限制与 describeMostData 相同:仅最近 180 天,单次跨度不超过 180 天。
请求参数¶
| 名称 | 位置 | 类型 | 必选 | 中文名 | 说明 |
|---|---|---|---|---|---|
| Authorization | header | string | 是 | 鉴权 | Bearer Token |
| body | body | object | 是 | 请求体 | 见上文 |
返回示例
200 Response
无数据时:
{
"msg": "成功",
"code": 200,
"data": [
{
"metricName": "attack_thread",
"objectArrayList": [],
"total": 0
},
{
"metricName": "block_thread",
"objectArrayList": [],
"total": 0
}
]
}
有数据时(趋势点示例):
{
"msg": "成功",
"code": 200,
"data": [
{
"metricName": "attack_thread",
"objectArrayList": [
[1747738142000, 120],
[1747738202000, 85]
],
"total": 205
},
{
"metricName": "block_thread",
"objectArrayList": [
[1747738142000, 30],
[1747738202000, 12]
],
"total": 42
}
]
}
返回结果¶
| 状态码 | 状态码含义 | 说明 |
|---|---|---|
| 200 | OK | 成功 |
| 401 | Unauthorized | 未授权 |
| 403 | Forbidden | 无权限 |
返回数据结构¶
状态码 200
| 名称 | 类型 | 说明 |
|---|---|---|
code |
integer | 200 表示成功 |
msg |
string | 提示信息 |
data |
array | 与请求 action 中每个 metricName 对应一条 |
data[] 单项¶
| 字段 | 类型 | 说明 |
|---|---|---|
metricName |
string | attack_thread 或 block_thread |
objectArrayList |
array | 趋势图数据:二维数组,每个点为 [时间戳毫秒, 请求数] |
total |
integer | 该指标在时间范围内的 请求总数(各时间点 value 之和) |
objectArrayList 绘图说明¶
- 横轴:
[i][0],Unix 时间戳(毫秒)。 - 纵轴:
[i][1],该时间桶内的日志条数(攻击量或拦截量)。 - 前端将
attack_thread、block_thread两条序列画在同一折线图(攻击量 / 拦截量对比)。 - 无日志时
objectArrayList为空数组,total为0。
与 describeMostData 的区别¶
| 项目 | describeMostData |
describeAttackData |
|---|---|---|
| 返回主字段 | list(Top 排行) |
objectArrayList(时间趋势) |
| 典型指标 | client_ip、domain 等 |
仅 attack_thread、block_thread |
| 分页 | pageNo / pageSize 生效 |
趋势接口,分页字段无效 |
相关接口¶
| 操作 | 接口 |
|---|---|
| Top 排行 | 查询高级监控数据 |