跳转至

WAF3.0 API

POST 查询日志(新)

POST /prod-api/waf/wafv3/log/V2/describeLogV2

分页查询 WAF 访问/防护日志。同一接口通过 action[].metricName 区分两种能力:

metricName 用途
logs 日志列表(分页明细)
logTread 日志趋势图(按时间统计日志条数,拼写固定为 logTread,非 logTrend

控制台通常 分两次请求:先 logTread 画趋势图,再 logs 拉列表;也可写在同一 action 数组中一次返回。

Body 请求参数

查询日志趋势图(logTread):

{
  "action": [
    {
      "metricName": "logTread"
    }
  ],

  "otherFilter": [],

  "params": {
    "beginTime": "2026-05-21 00:00:00",
    "endTime": "2026-05-21 23:59:59"
  }
}

logTread 不需要传 pageNopageSize;筛选条件与列表查询相同(otherFiltersearchHeaderparams)。

查询日志列表(logs):

{
  "action": [
    {
      "metricName": "logs",
      "pageNo": 1,
      "pageSize": 15
    }
  ],

  "otherFilter": [],

  "params": {
    "beginTime": "2026-05-21 00:00:00",
    "endTime": "2026-05-21 23:59:59"
  }
}

一次请求同时返回趋势 + 列表(可选):

{
  "action": [
    { "metricName": "logTread" },
    {
      "metricName": "logs",
      "pageNo": 1,
      "pageSize": 15
    }
  ],

  "otherFilter": [],

  "params": {
    "beginTime": "2026-05-21 00:00:00",
    "endTime": "2026-05-21 23:59:59"
  }
}

限定套餐 + 筛选示例:

{
  "action": [
    { "metricName": "logs", "pageNo": 1, "pageSize": 15 }
  ],

  "otherFilter": [
    {
      "oneVal": "oid",
      "twoVal": "eq",
      "threeVal": ["20240412279097884616"]
    },
    {
      "oneVal": "client_ip",
      "twoVal": "eq",
      "threeVal": ["203.0.113.10"]
    }
  ],

  "params": {
    "beginTime": "2026-05-21 00:00:00",
    "endTime": "2026-05-21 23:59:59"
  }
}

Body 字段说明

字段 类型 必选 说明
action array 查询项,见下表
params object beginTimeendTimeyyyy-MM-dd HH:mm:ss
otherFilter array 高级筛选条件,见下表

action[] 单项

字段 类型 必选 说明
metricName string logs:分页日志列表;logTread:日志趋势图数据
pageNo integer 条件 logs 必填,从 1 开始;logTread 不传
pageSize integer 条件 logs 必填,如 15logTread 不传

logTread(日志趋势图)

  • 返回 objectArrayList[[时间戳毫秒, 该时段日志条数], ...],用于折线图/柱状图。
  • 返回 count:所选时间范围内日志 总条数(与图上各点之和一致)。

otherFilter[] 单项

字段 类型 说明
oneVal string 日志字段,与统计接口一致(如 request_Iddomainclient_ipserver_portstatusclient_country_nameURL 。)
twoVal string eqnecontain(模糊)
threeVal string[] 比较值

请求参数

名称 位置 类型 必选 中文名 说明
Authorization header string 鉴权 Bearer Token
body body object 请求体 见上文

返回示例

200 Response

logs 有数据(结构示例,单条完整 + 列表多条):

{
  "msg": "成功",
  "code": 200,
  "data": [
    {
      "metricName": "logs",
      "list": [
        {
          "oid": "202501032327876983",
          "requestId": "e8e2ebbcbc31f910d2fb08b71474fd24",
          "wafId": "148",
          "clientIp": "5.175.189.32",
          "hostPort": 443,
          "timeStamp": "2026-05-21T01:18:25.000Z",
          "severityLevel": "高风险",
          "ua": null,
          "response": { "httpCode": 417 },
          "geoip": {
            "country": "United States",
            "regionName": "Illinois",
            "latitude": 41.8483,
            "longitude": -87.6517,
            "countryCode": "US"
          },
          "request": {
            "method": "GET",
            "uri": "/wp-config.php.bak",
            "headers": {
              "Host": "wap.ca168.com",
              "accept": "*/*",
              "user-agent": "Mozilla/5.0 ..."
            }
          },
          "rules": [
            {
              "match": "Matched \"Operator `Within' with parameter ...",
              "ruleId": "920440",
              "maturity": "0",
              "accuracy": "0",
              "severity": "2",
              "severityLevel": "高风险",
              "ruleMessage": "URL文件扩展名受策略限制",
              "group": "基础防护规则"
            },
            {
              "ruleId": "930130",
              "ruleMessage": "限制文件访问尝试",
              "group": "基础防护规则",
              "severity": "2",
              "severityLevel": "高风险",
              "match": "Matched \"Operator `PmFromFile' ..."
            },
            {
              "ruleId": "949110",
              "ruleMessage": "超过了入站异常分数阈值,拦截请求",
              "group": "基础防护规则",
              "severity": "0",
              "severityLevel": "高风险",
              "match": "Matched \"Operator `Ge' ..."
            }
          ]
        }
      ]
    }
  ]
}

logTread 日志趋势图返回:

{
  "msg": "成功",
  "code": 200,
  "data": [
    {
      "metricName": "logTread",
      "objectArrayList": [
        [1747785600000, 120],
        [1747785900000, 85]
      ],
      "count": 205
    }
  ]
}

返回结果

状态码 状态码含义 说明
200 OK 成功
401 Unauthorized 未授权
403 Forbidden 无权限

返回数据结构

状态码 200

名称 类型 说明
code integer 200 表示成功
msg string 提示信息
data array / null action 中各项对应;无数据时可能为 null

metricName = logs

字段 类型 说明
metricName string 固定 logs
list array 日志明细列表,按时间 降序(最新在前)
list[] 单条日志
字段 类型 说明
oid string 套餐/订单 ID
requestId string 请求唯一 ID;
wafId string 策略组 ID(与域名资源列表 wafAclId 对应)
clientIp string 客户端 IP
hostPort integer 访问端口,如 44380
timeStamp string 请求时间(ISO 8601,如 2026-05-21T01:18:25.000Z
severityLevel string 本条日志 最高 风险等级:高风险 / 中风险 / 低风险(由命中规则聚合)
ua object / null UA 解析结果;无法解析时为 null
response object 响应信息,见下表
geoip object 客户端地理位置,见下表
request object 请求信息,见下表
rules array 本次请求 命中的全部规则,见下表
response
字段 类型 说明
httpCode integer HTTP 状态码。常见:417 WAF 拦截;404200 等表示已放行或未拦截,但仍可能命中规则并记录在 rules
geoip
字段 类型 说明
country string 国家/地区名(英文)
countryCode string 国家代码,如 USCN
regionName string 省/州
latitude number 纬度
longitude number 经度
request
字段 类型 说明
method string 请求方法,如 GETPOST
uri string 请求路径,如 /wp-config.php.bak
headers object 请求头;域名 一般在 Host 字段(如 wap.ca168.com
ua(可为 null
字段 类型 说明
name string 浏览器名称,如 ChromeFirefox
os_name string 操作系统,如 Windows
os string 操作系统(同 os_name
major string 浏览器主版本
minor string 浏览器次版本
device string 设备类型
build string 构建号
patch string 补丁版本(可选)
rules[] 单条命中规则
字段 类型 说明
ruleId string 规则 ID
ruleMessage string 规则说明,如「URL文件扩展名受策略限制」
group string 规则分组,如「基础防护规则」
severity string 严重级别数值(字符串),如 "0""9"
severityLevel string 严重级别文案:高风险 / 中风险 / 低风险
maturity string 成熟度评分
accuracy string 准确度评分
match string ModSecurity 匹配详情(较长,含运算符、变量、匹配值)

metricName = logTread 时(日志趋势图)

字段 类型 说明
metricName string 固定 logTread
objectArrayList array 趋势图数据:[[时间戳毫秒, 该时间点日志条数], ...]
count integer 时间范围内日志总条数(控制台用于展示合计,如 logCount