报表
站点与四层转发的实时曲线、排行、用量,节点监控曲线与排行,未配置域名 Top、临时白名单与访问日志;租户只见本租户数据。
reports报表鉴权: 用户(部分参数仅管理员)44 个接口查看今天的访问日志下载额度
GET
/api/v2/reports/access-log-export-quota鉴权: 用户
列出访问日志下载申请
GET
/api/v2/reports/access-log-exports鉴权: 用户
查询参数
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| page | integer | — | 页码,从 1 开始。 |
| page_size | integer | — | 每页条数。 |
申请下载访问日志
POST
/api/v2/reports/access-log-exports鉴权: 用户(部分参数仅管理员)
查询参数
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| tenant_id | integer | — | 仅管理员可用:按租户过滤。租户凭据调用时忽略,只返回本租户数据。 |
| start | string | 必填 | 起始时间(含),RFC 3339。 |
| end | string | 必填 | 结束时间(不含),RFC 3339。 |
| site_ids | string | — | 只看这些站点:逗号分隔的正整数,去重后至多 200 个(超了 422);超过 200 个站点时改传 group_id / upid / tenant_ids 等筛选条件。与 group_id、upid、tenant_ids 取交集;租户看不到的站点没有数据。 |
| group_id | integer | — | 只看该站点分组里的站点(服务端展开成站点集合,与其他范围条件取交集;租户只展开自己的站点)。 |
| upid | integer | — | 只看该用户套餐下的站点。 |
| tenant_ids | string | — | 仅管理员:只看这些租户,逗号分隔的正整数,去重后至多 200 个(超了 422);租户凭据带它回 403。 |
| host | string | — | 按请求 Host 精确过滤(不分大小写)。 |
| server_port | integer | — | 按接入端口过滤。 |
| ip | string | — | 按客户端地址精确过滤。 |
| uri | string | — | 按请求 URI 前缀过滤(须以 / 开头)。 |
| referer | string | — | 按来源页(Referer 请求头)精确过滤,区分大小写;给空值(referer=)= 只看没带来源的直接访问。 |
| http_ver | string | — | 按 HTTP 协议版本过滤(与响应的 http_ver 同写法)。 |
| method | string | — | 按请求方法过滤(大写,如 GET、POST)。 |
| status | integer | — | 按状态码过滤。 |
| node_id | integer | — | 按节点过滤。 |
| cache_status | string | — | 按缓存状态过滤。 |
| country | string | — | 按客户端归属国家过滤(ISO 3166-1 两位码,如 CN)。 |
| prov | string | — | 按客户端归属省份过滤(GB/T 2260 前两位,如 44)。 |
| isp | string | — | 按客户端运营商过滤(telecom、unicom、mobile、cbn、edu、cloud、other)。 |
| blocked | boolean | — | true = 只看被拦截的请求(action = block)。 |
| block_reason | string | — | 按拦截原因过滤,口径同日志行的 block_reason:region = 地区限制拦截、region_log = 地区限制只记录(未拦)、acl = ACL 拦截、other = 其他防护拦截。 |
| status_class | string | — | 按状态码类别过滤:1xx / 2xx / 3xx / 4xx / 5xx;error = 出错(状态码 ≥ 400 且不是被拦截的请求)。与 status 同给时取交集。 |
| slow_ms | integer | — | 只看慢请求:请求耗时(request_time_ms)大于该毫秒数。 |
| cache_status_not | string | — | 排除该缓存状态(cache_status 的取反);facets 的 miss 就是 cache_status_not=HIT。与 cache_status 同给时取交集。 |
| q | string | — | 包含搜索:状态码(恰为 3 位数字时按状态码相等;1xx~5xx 按类别)、客户端 IP(包含)、URL(包含)、域名(包含,不分大小写)任一命中即算;与其他条件取交集。 |
查看访问日志下载申请
GET
/api/v2/reports/access-log-exports/{id}鉴权: 用户
下载访问日志文件
GET
/api/v2/reports/access-log-exports/{id}/file鉴权: 用户
列出访问日志
GET
/api/v2/reports/access-logs鉴权: 用户(部分参数仅管理员)
查询参数
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| page | integer | — | 页码,从 1 开始。 |
| page_size | integer | — | 每页条数。 |
| sort | string | — | 排序字段,逗号分隔,前缀 `-` 表示降序,如 `-created_at,id`。 |
| tenant_id | integer | — | 仅管理员可用:按租户过滤。租户凭据调用时忽略,只返回本租户数据。 |
| start | string | 必填 | 起始时间(含),RFC 3339。 |
| end | string | 必填 | 结束时间(不含),RFC 3339。 |
| cursor | string | — | 时间游标:上一页响应的 next_cursor 原样带回(须同一 sort 与筛选),从那条之后续读;带上时忽略 page。 |
| site_ids | string | — | 只看这些站点:逗号分隔的正整数,去重后至多 200 个(超了 422);超过 200 个站点时改传 group_id / upid / tenant_ids 等筛选条件。与 group_id、upid、tenant_ids 取交集;租户看不到的站点没有数据。 |
| group_id | integer | — | 只看该站点分组里的站点(服务端展开成站点集合,与其他范围条件取交集;租户只展开自己的站点)。 |
| upid | integer | — | 只看该用户套餐下的站点。 |
| tenant_ids | string | — | 仅管理员:只看这些租户,逗号分隔的正整数,去重后至多 200 个(超了 422);租户凭据带它回 403。 |
| host | string | — | 按请求 Host 精确过滤(不分大小写)。 |
| server_port | integer | — | 按接入端口过滤。 |
| ip | string | — | 按客户端地址精确过滤。 |
| uri | string | — | 按请求 URI 前缀过滤(须以 / 开头)。 |
| referer | string | — | 按来源页(Referer 请求头)精确过滤,区分大小写;给空值(referer=)= 只看没带来源的直接访问。 |
| http_ver | string | — | 按 HTTP 协议版本过滤(与响应的 http_ver 同写法)。 |
| method | string | — | 按请求方法过滤(大写,如 GET、POST)。 |
| status | integer | — | 按状态码过滤。 |
| node_id | integer | — | 按节点过滤。 |
| cache_status | string | — | 按缓存状态过滤。 |
| country | string | — | 按客户端归属国家过滤(ISO 3166-1 两位码,如 CN)。 |
| prov | string | — | 按客户端归属省份过滤(GB/T 2260 前两位,如 44)。 |
| isp | string | — | 按客户端运营商过滤(telecom、unicom、mobile、cbn、edu、cloud、other)。 |
| blocked | boolean | — | true = 只看被拦截的请求(action = block)。 |
| block_reason | string | — | 按拦截原因过滤,口径同日志行的 block_reason:region = 地区限制拦截、region_log = 地区限制只记录(未拦)、acl = ACL 拦截、other = 其他防护拦截。 |
| status_class | string | — | 按状态码类别过滤:1xx / 2xx / 3xx / 4xx / 5xx;error = 出错(状态码 ≥ 400 且不是被拦截的请求)。与 status 同给时取交集。 |
| slow_ms | integer | — | 只看慢请求:请求耗时(request_time_ms)大于该毫秒数。 |
| cache_status_not | string | — | 排除该缓存状态(cache_status 的取反);facets 的 miss 就是 cache_status_not=HIT。与 cache_status 同给时取交集。 |
| q | string | — | 包含搜索:状态码(恰为 3 位数字时按状态码相等;1xx~5xx 按类别)、客户端 IP(包含)、URL(包含)、域名(包含,不分大小写)任一命中即算;与其他条件取交集。 |
| facets | boolean | — | true / 1 = 响应带 facets(快捷筛选各项的条数)。条数在除快捷筛选(status_class、slow_ms、cache_status_not、blocked、block_reason)外的其余条件下统计,不受快捷筛选影响。 |
| total | boolean | — | false / 0 = 不统计总条数(响应不带 total,省一次全表计数);缺省 true。 |
网站体检总览
GET
/api/v2/reports/checkup鉴权: 用户(部分参数仅管理员)
查询参数
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| tenant_id | integer | — | 仅管理员可用:按租户过滤。租户凭据调用时忽略,只返回本租户数据。 |
| q | string | — | 按网站名称或域名搜索(包含匹配)。 |
| sort | string | — | 排序:score 按得分升序(最差在前,缺省),name 按名称。 |
| page | integer | — | 页码,从 1 开始。 |
| page_size | integer | — | 每页条数。 |
体检历史得分
GET
/api/v2/reports/checkup/history鉴权: 用户(部分参数仅管理员)
查询参数
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| tenant_id | integer | — | 仅管理员可用:按租户过滤。租户凭据调用时忽略,只返回本租户数据。 |
| site_id | integer | — | 按站点过滤。 |
体检忽略项
GET
/api/v2/reports/checkup/ignores鉴权: 用户(部分参数仅管理员)
查询参数
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| tenant_id | integer | — | 仅管理员可用:按租户过滤。租户凭据调用时忽略,只返回本租户数据。 |
| site_id | integer | — | 按站点过滤。 |
批量增减体检忽略项
POST
/api/v2/reports/checkup/ignores/batch鉴权: 用户(部分参数仅管理员)
请求体 application/json
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| keys | string[] | 必填 | 检查项键。 |
| op | string | 必填 | add 补上 keys(已有的不动);remove 去掉 keys。 |
| site_ids | integer[] | 必填 | 要处理的网站,最多 500 个。 |
体检问题汇总
GET
/api/v2/reports/checkup/issues鉴权: 用户(部分参数仅管理员)
查询参数
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| tenant_id | integer | — | 仅管理员可用:按租户过滤。租户凭据调用时忽略,只返回本租户数据。 |
| q | string | — | 按网站名称或域名搜索(包含匹配),汇总只算匹配的网站。 |
受某类体检问题影响的网站
GET
/api/v2/reports/checkup/issues/{key}/sites鉴权: 用户(部分参数仅管理员)
查询参数
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| tenant_id | integer | — | 仅管理员可用:按租户过滤。租户凭据调用时忽略,只返回本租户数据。 |
| q | string | — | 按网站名称或域名搜索(包含匹配)。 |
| sort | string | — | 排序:score 体检得分从低到高(缺省);attacks 近 7 天攻击数从多到少(WAF 类与 CC 默认档的问题带这个数,其余检查项都按 0,同数再按得分)。 |
| type | string | — | 只用于 rec_type:按网站类型筛选;undecided 是判不出类型的网站(体检只给了说明、不算问题,只能在这里列出)。key 不是 rec_type 时给了 422。 |
| page | integer | — | 页码,从 1 开始。 |
| page_size | integer | — | 每页条数。 |
重新体检
POST
/api/v2/reports/checkup/recheck鉴权: 用户(部分参数仅管理员)
请求体 application/json
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| site_ids | integer[] | — | 要处理的网站,最多 500 个。 |
进行中的体检批次
GET
/api/v2/reports/checkup/runs/active鉴权: 用户(部分参数仅管理员)
查询参数
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| tenant_id | integer | — | 仅管理员可用:按租户过滤。租户凭据调用时忽略,只返回本租户数据。 |
体检批次进度
GET
/api/v2/reports/checkup/runs/{id}鉴权: 用户(部分参数仅管理员)
读体检设置
GET
/api/v2/reports/checkup/settings鉴权: 用户(部分参数仅管理员)
保存体检设置
PUT
/api/v2/reports/checkup/settings鉴权: 用户(部分参数仅管理员)
请求体 application/json
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| frequency | string | 必填 | 检查频率:每天 03:00、每周一 03:00、仅手动。 |
| notify_critical | boolean | 必填 | 出现严重问题时告警(用告警设置里的渠道)。 |
网站体检报告
GET
/api/v2/reports/checkup/sites/{id}鉴权: 用户(部分参数仅管理员)
改写网站识别到的程序
PUT
/api/v2/reports/checkup/sites/{id}/app鉴权: 用户(部分参数仅管理员)
请求体 application/json
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| name | string | — | 网站名称。 |
| reset | boolean | — | true = 撤销人工改写、回到自动识别(此时忽略 name 与 version)。 |
| version | string | — | 程序版本;不知道可留空。 |
设置网站的体检忽略项
PUT
/api/v2/reports/checkup/sites/{id}/ignores鉴权: 用户(部分参数仅管理员)
请求体 application/json
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| keys | string[] | 必填 | 检查项键。 |
未配置域名 Top
GET
/api/v2/reports/host-not-found/top鉴权: 仅管理员
查询参数
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| page | integer | — | 页码,从 1 开始。 |
| page_size | integer | — | 每页条数。 |
| start | string | 必填 | 起始时间(含),RFC 3339。 |
| end | string | 必填 | 结束时间(不含),RFC 3339。 |
| node_id | integer | — | 只看这个节点上报的。 |
| domain | string | — | 按 host 子串过滤(不分大小写,字面匹配)。 |
| kind | HostNotFoundKind | — | 只看这一类(类型由主控判定、不在库里:先取次数最高的 500 个域名判定、按类型过滤后再分页,total 为过滤后行数)。 |
| order | string | — | 按次数排序方向,缺省 desc。 |
访客 IP 的首次与最近出现
GET
/api/v2/reports/ip-seen鉴权: 用户(部分参数仅管理员)
查询参数
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| site_ids | string | — | 只看这些站点:逗号分隔的正整数,去重后至多 200 个(超了 422);超过 200 个站点时改传 group_id / upid / tenant_ids 等筛选条件。与 group_id、upid、tenant_ids 取交集;租户看不到的站点没有数据。 |
| group_id | integer | — | 只看该站点分组里的站点(服务端展开成站点集合,与其他范围条件取交集;租户只展开自己的站点)。 |
| upid | integer | — | 只看该用户套餐下的站点。 |
| tenant_ids | string | — | 仅管理员:只看这些租户,逗号分隔的正整数,去重后至多 200 个(超了 422);租户凭据带它回 403。 |
| ip | string | 必填 | 要查的客户端地址(IPv4 或 IPv6)。 |
节点实时曲线
GET
/api/v2/reports/nodes/realtime鉴权: 仅管理员
查询参数
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| start | string | 必填 | 起始时间(含),RFC 3339。 |
| end | string | 必填 | 结束时间(不含),RFC 3339。 |
| node_id | integer | 必填 | 节点。给子 IP 的 id 时取它所属主节点的曲线(指标按主节点采集)。 |
| metric | string | 必填 | 节点指标(同 node_metrics.metric)。tls_hs_reject 为握手洪水防御拦掉的 TLS 握手数;worker_drain_killed 为被强关(SIGTERM)的排空中旧 nginx worker 数。 |
| interval | string | — | 桶宽;缺省按时间跨度自动取。 |
节点实时曲线(多指标一次取)
GET
/api/v2/reports/nodes/realtime-batch鉴权: 仅管理员
查询参数
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| start | string | 必填 | 起始时间(含),RFC 3339。 |
| end | string | 必填 | 结束时间(不含),RFC 3339。 |
| node_id | integer | 必填 | 节点。给子 IP 的 id 时取它所属主节点的曲线(指标按主节点采集)。 |
| metrics | string | 必填 | 节点指标列表,逗号分隔。 |
| interval | string | — | 桶宽;缺省按时间跨度自动取。 |
节点排行总表
GET
/api/v2/reports/nodes/summary鉴权: 仅管理员
查询参数
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| window | integer | — | 取均值的窗口(分钟),缺省 5。 |
节点排行
GET
/api/v2/reports/nodes/top鉴权: 仅管理员
查询参数
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| start | string | 必填 | 起始时间(含),RFC 3339。 |
| end | string | 必填 | 结束时间(不含),RFC 3339。 |
| metric | string | 必填 | 节点指标(同 node_metrics.metric)。tls_hs_reject 为握手洪水防御拦掉的 TLS 握手数;worker_drain_killed 为被强关(SIGTERM)的排空中旧 nginx worker 数。 |
节点访客时延
GET
/api/v2/reports/nodes/visitor-rtt鉴权: 仅管理员
安全总览
GET
/api/v2/reports/security/overview鉴权: 用户(部分参数仅管理员)
查询参数
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| start | string | 必填 | 起始时间(含),RFC 3339。 |
| end | string | 必填 | 结束时间(不含),RFC 3339。 |
| site_id | integer | — | 按站点过滤。 |
| tenant_id | integer | — | 仅管理员可用:按租户过滤。租户凭据调用时忽略,只返回本租户数据。 |
安全大屏聚合
GET
/api/v2/reports/security/screen鉴权: 用户(部分参数仅管理员)
查询参数
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| start | string | 必填 | 起始时间(含),RFC 3339。 |
| end | string | 必填 | 结束时间(不含),RFC 3339。 |
| site_id | integer | — | 按站点过滤。 |
| tenant_id | integer | — | 仅管理员可用:按租户过滤。租户凭据调用时忽略,只返回本租户数据。 |
访问归属地统计
GET
/api/v2/reports/sites/geo鉴权: 用户(部分参数仅管理员)
查询参数
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| start | string | 必填 | 起始时间(含),RFC 3339。 |
| end | string | 必填 | 结束时间(不含),RFC 3339。 |
| site_ids | string | — | 只看这些站点:逗号分隔的正整数,去重后至多 200 个(超了 422);超过 200 个站点时改传 group_id / upid / tenant_ids 等筛选条件。与 group_id、upid、tenant_ids 取交集;租户看不到的站点没有数据。 |
| group_id | integer | — | 只看该站点分组里的站点(服务端展开成站点集合,与其他范围条件取交集;租户只展开自己的站点)。 |
| upid | integer | — | 只看该用户套餐下的站点。 |
| tenant_ids | string | — | 仅管理员:只看这些租户,逗号分隔的正整数,去重后至多 200 个(超了 422);租户凭据带它回 403。 |
| tenant_id | integer | — | 仅管理员可用:按租户过滤。租户凭据调用时忽略,只返回本租户数据。 |
| ip | string | — | 按客户端地址精确过滤。 |
站点流量概览
GET
/api/v2/reports/sites/overview鉴权: 用户(部分参数仅管理员)
查询参数
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| start | string | 必填 | 起始时间(含),RFC 3339。 |
| end | string | 必填 | 结束时间(不含),RFC 3339。 |
| tenant_id | integer | — | 仅管理员可用:按租户过滤。租户凭据调用时忽略,只返回本租户数据。 |
| site_ids | string | — | 只看这些站点:逗号分隔的正整数,去重后至多 200 个(超了 422);超过 200 个站点时改传 group_id / upid / tenant_ids 等筛选条件。与 group_id、upid、tenant_ids 取交集;租户看不到的站点没有数据。 |
| group_id | integer | — | 只看该站点分组里的站点(服务端展开成站点集合,与其他范围条件取交集;租户只展开自己的站点)。 |
| upid | integer | — | 只看该用户套餐下的站点。 |
| tenant_ids | string | — | 仅管理员:只看这些租户,逗号分隔的正整数,去重后至多 200 个(超了 422);租户凭据带它回 403。 |
| interval | string | — | 桶宽;缺省按时间跨度自动取。 |
| include_noconfig | boolean | — | 仅管理员:把未配置流量(site_id = 0)也算上。 |
| compare | string | — | prev = 同时返回上一周期同长度的点列与合计(compare 字段);缺省不返回。 |
站点协议配置分布
GET
/api/v2/reports/sites/protocol-config鉴权: 用户(部分参数仅管理员)
查询参数
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| tenant_id | integer | — | 仅管理员可用:按租户过滤。租户凭据调用时忽略,只返回本租户数据。 |
站点实时曲线
GET
/api/v2/reports/sites/realtime鉴权: 用户(部分参数仅管理员)
查询参数
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| start | string | 必填 | 起始时间(含),RFC 3339。 |
| end | string | 必填 | 结束时间(不含),RFC 3339。 |
| site_ids | string | — | 只看这些站点:逗号分隔的正整数,去重后至多 200 个(超了 422);超过 200 个站点时改传 group_id / upid / tenant_ids 等筛选条件。与 group_id、upid、tenant_ids 取交集;租户看不到的站点没有数据。 |
| group_id | integer | — | 只看该站点分组里的站点(服务端展开成站点集合,与其他范围条件取交集;租户只展开自己的站点)。 |
| upid | integer | — | 只看该用户套餐下的站点。 |
| tenant_ids | string | — | 仅管理员:只看这些租户,逗号分隔的正整数,去重后至多 200 个(超了 422);租户凭据带它回 403。 |
| tenant_id | integer | — | 仅管理员可用:按租户过滤。租户凭据调用时忽略,只返回本租户数据。 |
| metric | string | 必填 | 指标。 |
| interval | string | — | 桶宽;缺省按时间跨度自动取。 |
| include_noconfig | boolean | — | 仅管理员:不带站点范围(site_ids / group_id) 时把未配置流量(site_id = 0)也算上。 |
站点实时曲线(多指标一次取)
GET
/api/v2/reports/sites/realtime-batch鉴权: 用户(部分参数仅管理员)
查询参数
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| start | string | 必填 | 起始时间(含),RFC 3339。 |
| end | string | 必填 | 结束时间(不含),RFC 3339。 |
| site_ids | string | — | 只看这些站点:逗号分隔的正整数,去重后至多 200 个(超了 422);超过 200 个站点时改传 group_id / upid / tenant_ids 等筛选条件。与 group_id、upid、tenant_ids 取交集;租户看不到的站点没有数据。 |
| group_id | integer | — | 只看该站点分组里的站点(服务端展开成站点集合,与其他范围条件取交集;租户只展开自己的站点)。 |
| upid | integer | — | 只看该用户套餐下的站点。 |
| tenant_ids | string | — | 仅管理员:只看这些租户,逗号分隔的正整数,去重后至多 200 个(超了 422);租户凭据带它回 403。 |
| tenant_id | integer | — | 仅管理员可用:按租户过滤。租户凭据调用时忽略,只返回本租户数据。 |
| metrics | string | 必填 | 指标列表,逗号分隔。 |
| interval | string | — | 桶宽;缺省按时间跨度自动取。 |
| include_noconfig | boolean | — | 仅管理员:不带站点范围(site_ids / group_id) 时把未配置流量(site_id = 0)也算上。 |
站点排行
GET
/api/v2/reports/sites/top鉴权: 用户(部分参数仅管理员)
查询参数
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| start | string | 必填 | 起始时间(含),RFC 3339。 |
| end | string | 必填 | 结束时间(不含),RFC 3339。 |
| site_ids | string | — | 只看这些站点:逗号分隔的正整数,去重后至多 200 个(超了 422);超过 200 个站点时改传 group_id / upid / tenant_ids 等筛选条件。与 group_id、upid、tenant_ids 取交集;租户看不到的站点没有数据。 |
| group_id | integer | — | 只看该站点分组里的站点(服务端展开成站点集合,与其他范围条件取交集;租户只展开自己的站点)。 |
| upid | integer | — | 只看该用户套餐下的站点。 |
| tenant_ids | string | — | 仅管理员:只看这些租户,逗号分隔的正整数,去重后至多 200 个(超了 422);租户凭据带它回 403。 |
| tenant_id | integer | — | 仅管理员可用:按租户过滤。租户凭据调用时忽略,只返回本租户数据。 |
| dim | string | — | 排行维度;与 dims 二选一。 |
| dims | string | — | 一次取多个维度的前 limit 名,逗号分隔的维度名(取值同 dim,至多 12 个);与 dim 二选一。 |
| limit | integer | — | 每个维度取前几名,缺省与上限为系统配置 reports.top_size。 |
| metric | string | — | 排序与 value 取哪一项,缺省 count。 |
| action | string | — | 只算该处置动作的请求(pass 放行、challenge 质询、block 拦截)。 |
| server_port | integer | — | 只算该监听端口的请求;prefix 维度不支持(422)。 |
四层转发实时曲线
GET
/api/v2/reports/streams/realtime鉴权: 用户(部分参数仅管理员)
查询参数
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| start | string | 必填 | 起始时间(含),RFC 3339。 |
| end | string | 必填 | 结束时间(不含),RFC 3339。 |
| tenant_id | integer | — | 仅管理员可用:按租户过滤。租户凭据调用时忽略,只返回本租户数据。 |
| port | integer | — | 按四层监听端口过滤。 |
| metric | string | 必填 | 指标。 |
| interval | string | — | 桶宽;缺省按时间跨度自动取。 |
四层转发排行
GET
/api/v2/reports/streams/top鉴权: 用户(部分参数仅管理员)
查询参数
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| start | string | 必填 | 起始时间(含),RFC 3339。 |
| end | string | 必填 | 结束时间(不含),RFC 3339。 |
| tenant_id | integer | — | 仅管理员可用:按租户过滤。租户凭据调用时忽略,只返回本租户数据。 |
| dim | string | — | 排行维度,缺省 port。 |
| metric | string | — | 排序与 value 取哪一项,缺省 count。 |
列出节点临时白名单记录
GET
/api/v2/reports/tmp-whitelist鉴权: 用户(部分参数仅管理员)
查询参数
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| page | integer | — | 页码,从 1 开始。 |
| page_size | integer | — | 每页条数。 |
| tenant_id | integer | — | 仅管理员可用:按租户过滤。租户凭据调用时忽略,只返回本租户数据。 |
| site_id | integer | — | 按站点过滤。 |
| ip | string | — | 按客户端地址精确过滤(IPv6 为 /64 前缀地址)。 |
| active | boolean | — | true = 只看未到期的。 |
用量曲线
GET
/api/v2/reports/usage鉴权: 用户(部分参数仅管理员)
查询参数
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| start | string | 必填 | 起始时间(含),RFC 3339。 |
| end | string | 必填 | 结束时间(不含),RFC 3339。 |
| site_ids | string | — | 只看这些站点:逗号分隔的正整数,去重后至多 200 个(超了 422);超过 200 个站点时改传 group_id / upid / tenant_ids 等筛选条件。与 group_id、upid、tenant_ids 取交集;租户看不到的站点没有数据。 |
| group_id | integer | — | 只看该站点分组里的站点(服务端展开成站点集合,与其他范围条件取交集;租户只展开自己的站点)。 |
| upid | integer | — | 只看该用户套餐下的站点。 |
| tenant_ids | string | — | 仅管理员:只看这些租户,逗号分隔的正整数,去重后至多 200 个(超了 422);租户凭据带它回 403。 |
| tenant_id | integer | — | 仅管理员可用:按租户过滤。租户凭据调用时忽略,只返回本租户数据。 |
| kind | string | — | site(缺省)= 站点;stream = 四层转发。 |
| metric | string | 必填 | 指标。 |
| interval | string | — | auto(缺省)、5m 或 1h。 |
| port | integer | — | 按四层监听端口过滤。 |
| include_noconfig | boolean | — | 仅管理员:不带站点范围(site_ids / group_id) 时把未配置流量(site_id = 0)也算上。 |
列出 WAF 事件
GET
/api/v2/reports/waf-events鉴权: 用户(部分参数仅管理员)
查询参数
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| page | integer | — | 页码,从 1 开始。 |
| page_size | integer | — | 每页条数。 |
| tenant_id | integer | — | 仅管理员可用:按租户过滤。租户凭据调用时忽略,只返回本租户数据。 |
| start | string | — | 起始时间(含),RFC 3339;缺省不限(事件只保留 7 天)。 |
| end | string | — | 结束时间(不含),RFC 3339;缺省不限。 |
| site_id | integer | — | 按站点过滤。 |
| ip | string | — | 按客户端地址过滤:单个 IPv4/IPv6 地址精确匹配,或 CIDR 网段(含 IPv4 映射写法)按地址区间匹配;网段前缀 IPv4 不短于 /8、IPv6 不短于 /32,否则 422。 |
| url | string | — | URL 包含(区分大小写的子串,匹配已脱敏的 路径 + 查询串)。 |
| ja4 | string | — | 按客户端 TLS 指纹 JA4 精确过滤(事件没取到指纹的不匹配)。 |
| rule_id | integer | — | 按命中规则号过滤。 |
| action | string | — | 按处置过滤:block 拦截、log 只记录、challenge 验证、mask 打码、replace 替换。 |
| type | string[] | — | 按事件类型过滤,可重复多选,不给 = 全部。 |
| country | string | — | 按国家过滤(节点归属地库给的名称,精确匹配)。 |
| province | string | — | 按省份过滤(精确匹配)。 |
| node_id | integer | — | 按上报节点过滤;租户看不到节点编号,传了当没传(不报错)。 |
| observe | boolean | — | true = 只看观察期(只记录不处置)的事件;false 或不给 = 不按此过滤。 |
| blocked | boolean | — | true = 只看拦截模式的拦截(action = block 且非观察);false = 只看其余。 |
| disposition | string | — | other = 只看处置不在「已拦截 / 验证 / 仅观察」里的事件(非观察期且 action 不是 block、challenge,即只记录、打码、替换);不给 = 不按此过滤。 |
导出 WAF 事件 CSV
GET
/api/v2/reports/waf-events/export鉴权: 用户(部分参数仅管理员)
查询参数
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| tenant_id | integer | — | 仅管理员可用:按租户过滤。租户凭据调用时忽略,只返回本租户数据。 |
| start | string | — | 起始时间(含),RFC 3339;缺省不限(事件只保留 7 天)。 |
| end | string | — | 结束时间(不含),RFC 3339;缺省不限。 |
| site_id | integer | — | 按站点过滤。 |
| ip | string | — | 按客户端地址过滤:单个 IPv4/IPv6 地址精确匹配,或 CIDR 网段(含 IPv4 映射写法)按地址区间匹配;网段前缀 IPv4 不短于 /8、IPv6 不短于 /32,否则 422。 |
| url | string | — | URL 包含(区分大小写的子串,匹配已脱敏的 路径 + 查询串)。 |
| ja4 | string | — | 按客户端 TLS 指纹 JA4 精确过滤(事件没取到指纹的不匹配)。 |
| rule_id | integer | — | 按命中规则号过滤。 |
| action | string | — | 按处置过滤:block 拦截、log 只记录、challenge 验证、mask 打码、replace 替换。 |
| type | string[] | — | 按事件类型过滤,可重复多选,不给 = 全部。 |
| country | string | — | 按国家过滤(节点归属地库给的名称,精确匹配)。 |
| province | string | — | 按省份过滤(精确匹配)。 |
| node_id | integer | — | 按上报节点过滤;租户看不到节点编号,传了当没传(不报错)。 |
| observe | boolean | — | true = 只看观察期(只记录不处置)的事件;false 或不给 = 不按此过滤。 |
| blocked | boolean | — | true = 只看拦截模式的拦截(action = block 且非观察);false = 只看其余。 |
| disposition | string | — | other = 只看处置不在「已拦截 / 验证 / 仅观察」里的事件(非观察期且 action 不是 block、challenge,即只记录、打码、替换);不给 = 不按此过滤。 |
WAF 事件汇总
GET
/api/v2/reports/waf-events/summary鉴权: 用户(部分参数仅管理员)
查询参数
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| tenant_id | integer | — | 仅管理员可用:按租户过滤。租户凭据调用时忽略,只返回本租户数据。 |
| start | string | 必填 | 时间窗起点(含),RFC 3339。 |
| end | string | 必填 | 时间窗终点(不含),RFC 3339;须晚于 start,跨度最长 31 天。 |
| site_id | integer | — | 按站点过滤。 |
| ip | string | — | 按客户端地址过滤:单个 IPv4/IPv6 地址精确匹配,或 CIDR 网段(含 IPv4 映射写法)按地址区间匹配;网段前缀 IPv4 不短于 /8、IPv6 不短于 /32,否则 422。 |
| url | string | — | URL 包含(区分大小写的子串,匹配已脱敏的 路径 + 查询串)。 |
| ja4 | string | — | 按客户端 TLS 指纹 JA4 精确过滤(事件没取到指纹的不匹配)。 |
| rule_id | integer | — | 按命中规则号过滤。 |
| action | string | — | 按处置过滤:block 拦截、log 只记录、challenge 验证、mask 打码、replace 替换。 |
| type | string[] | — | 按事件类型过滤,可重复多选,不给 = 全部。 |
| country | string | — | 按国家过滤(节点归属地库给的名称,精确匹配)。 |
| province | string | — | 按省份过滤(精确匹配)。 |
| node_id | integer | — | 按上报节点过滤;租户看不到节点编号,传了当没传(不报错)。 |
| observe | boolean | — | true = 只看观察期(只记录不处置)的事件;false 或不给 = 不按此过滤。 |
| blocked | boolean | — | true = 只看拦截模式的拦截(action = block 且非观察);false = 只看其余。 |
| disposition | string | — | other = 只看处置不在「已拦截 / 验证 / 仅观察」里的事件(非观察期且 action 不是 block、challenge,即只记录、打码、替换);不给 = 不按此过滤。 |
获取 WAF 事件详情
GET
/api/v2/reports/waf-events/{event_id}鉴权: 用户(部分参数仅管理员)
查询参数
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| tenant_id | integer | — | 仅管理员可用:按租户过滤。租户凭据调用时忽略,只返回本租户数据。 |
一键加白 WAF 事件
POST
/api/v2/reports/waf-events/{event_id}/allow鉴权: 用户(部分参数仅管理员)
查询参数
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| tenant_id | integer | — | 仅管理员可用:按租户过滤。租户凭据调用时忽略,只返回本租户数据。 |
请求体 application/json
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| param | string | — | 命中的参数名/请求头名/Cookie 名;无名部位为空。 |
| path | string | — | 仅限该路径前缀;须等于事件 URL 路径,或是以 / 结尾的前缀(如 /api/);单独的 / 须同时选规则号或参数。不给 = 不限路径。 |
| rule | boolean | — | 仅跳过事件命中的这条规则(rule_ids);非规则类事件(规则号 0)与语义事件不能勾。 |
报表对象
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| action | string | — | 防护处置:pass 放行、challenge 验证、block 拦截。 |
| advice | integer | — | 建议数。 |
| app | string | — | 识别到的程序名;空串 = 没识别出。 |
| app_manual | boolean | — | 程序是用户人工改写的。 |
| app_version | string | — | 程序版本;读不到时为空串。 |
| approx | boolean | — | 本榜取自节点每分钟前 K(ip、prefix、url、referer),各节点只上报自己的前 K,合计为近似值;带 action 或 server_port 改读访问日志时为 false。 |
| at | string | — | 发生时刻(窗口内最后一次命中)。 |
| attack_types | WafEventCount[] | — | 攻击类型分布(sqli、xss、scanner、rce、traversal、other 与 semantic、bot、upload、tamper、leak),按行数降序;之和等于 total。 |
| attacked_sites | integer | — | 被攻击网站去重数。 |
| ban_hits | integer | — | 封禁 IP 挡下的复访次数:blocked_by_feature 里 auto_ban 与 status_ban 两项之和。节点开始给封禁拦截打标之前恒为 0。 |
| block | integer | — | 拦截模式的拦截(action = block 且非观察)。 |
| block_reason | string | — | 拦截原因:region = 地区限制拦截、region_log = 地区限制只记录(未拦)、acl = ACL 拦截、other = 其他防护拦截;没拦也没命中地区限制不回。 |
| blocked | integer | — | 被拦截(action = block)的请求数。 |
| blocked_acl | integer | — | 被 ACL 拦截的请求数(含不带地区条件的 ACL)。 |
| blocked_by_feature | SecurityFeatureCount[] | — | 按防护功能的拦截次数(被拦截请求按采样权重折算,不含挑战验证)。固定 12 项(只含真拦截类,防泄露、防篡改是换体不在此列,见 handled_by_feature),次数降序、同次数按固定顺序;各项 count 之和等于同一时间窗、同一网站范围的 summary.blocked。功能归类看节点写进访问日志的 rule_ref,旧节点没打标的拦截记在 waf_rule。 |
| blocked_region | integer | — | 被地区限制拦截的请求数。 |
| body_trunc | boolean | — | 请求体超过检查上限,只查了前一段。 |
| bot_score | integer | — | Bot 行为评分 0–100;仅 Bot 事件(type = bot)有,其余类型没有此字段(score 是 WAF 异常分,含义不同)。 |
| bytes_sent | integer | — | 原始下行字节。 |
| cache_status | string | — | 缓存状态,如 HIT、MISS、BYPASS。 |
| category | string | — | 规则分类(sqli xss scanner rce php nodejs java lfi rfi protocol 等);查不到为空。 |
| challenge | integer | — | 非观察的验证(action = challenge)。 |
| checked_at | string | — | 体检时刻。 |
| checkup | object | — | 网站体检接入:防护评分(各网站体检分按流量加权)与待处理建议;随 site_id 过滤,不随时间窗。 |
| client_ip | string | — | 客户端 IP;IPv4 按原样。 |
| combo | object | — | HTTP/2 与 HTTP/3 的组合分布(站点数)。 |
| compare | SitesOverviewCompare | — | 上一周期(compare=prev):窗口 [start, end) 与按桶点列、合计;点列与当前周期逐点对齐。不含 h3_ratio、backend_resp_time_p95、noconfig_req(恒为 null)。 |
| content_encoding | string | — | 响应的 Content-Encoding。 |
| count | integer | — | 时间窗内 530 次数(各节点之和)。 |
| countries | SecurityCountryCount[] | — | 攻击来源国(被拦截与被挑战的请求数,按采样权重折算),次数降序;country 为空串 = 归属地未识别。 |
| country | string | — | 客户端归属国家(ISO 3166-1 两位码);未识别不回。 |
| covered | integer | — | 按识别到的程序对照防护清单,节点内置规则已防护的已知漏洞数;没有识别到程序或清单里没有该产品为 0。 |
| created_at | string | — | 创建时间 |
| critical | integer | — | 严重问题数(不含已忽略与未开通)。 |
| ctype | string | — | 响应的 Content-Type(去参数小写)。 |
| current_site_id | integer | — | 正在保存结果的网站 id;只在阶段 5 有值(阶段 1-4 是整批执行,没有单个当前站),没有时缺省。 |
| cves | SecurityCve[] | — | 最近 7 天命中的 CVE(规则包 meta 节对照),按命中次数降序,最多 50 条;没接入规则包时为空。 |
| dims | object | — | dims 请求的结果:键为维度名,值为该维度的排行(其中不再有 dims);单维度请求不带。 |
| domain | string | — | 第一个域名。 |
| done_rows | integer | — | 已写入文件的行数。 |
| done_site_ids | integer[] | — | 本批次已保存体检结果的网站 id(升序);不在其中的网站还没体检完(或没体检成功)。重试时清空重来。 |
| done_sites | integer | — | 已保存结果的网站数;完成后小于 total_sites 表示有网站没体检成功。 |
| error | string | — | 最近一次失败的原因(重试期间保留,导出成功后清空;failed 时即最终失败原因)。 |
| exception | WafEventAllowException | — | 这次加白写入(或本站已有)的站点例外。 |
| expires_at | string | — | 文件到期被清理的时刻(完成时刻 + 保留小时数)。 |
| extra | integer | — | 同上口径下,开通 WAF 规则更新后可再防护的已知漏洞数。 |
| facets | object | — | 筛选按钮上的分面计数。 |
| file_bytes | integer | — | 压缩后文件大小(字节,完成后才有)。 |
| file_count | integer | — | 本请求已扫的上传文件数。 |
| file_ctype | string | — | 上传文件的 Content-Type(客户端给的)。 |
| file_field | string | — | 上传文件的表单字段名。 |
| file_magic | string | — | 按文件头识别的类型;认不出为空。 |
| file_name | string | — | 上传文件名(客户端给的原名);仅上传事件(type = upload)有。 |
| file_sha256 | string | — | 上传文件 sha256;没算为空。 |
| file_size | integer | — | 上传文件大小(字节);仅上传事件(type = upload)有。 |
| filter | AccessLogExportFilter | — | 申请时的筛选条件(同列表查询参数)。 |
| findings | CheckupFinding[] | — | 有问题的检查项(通过的项不列出),按检查项顺序。 |
| finished_at | string | — | 完成时刻。 |
| first_seen | string | — | 该问题本轮连续出现的起点;首次体检、旧结果没记的不返回。 |
| first_seen_at | string | — | 保留期内最早一条访问日志的时间;没有记录时不回。 |
| flows | SecurityFlow[] | — | 攻击流向 Top 50(来源国 → 节点所在国家/城市,被拦截与被挑战的请求数,按采样权重折算),次数降序;其余与位置未知的节点合并成排在最后的一条 node_country 为空串的「其他」行(不画);总和等于 countries 的总和。属 WAF 增强,未开通时为空数组;只收流向表建好之后写入的数据,更早的时间窗为空。 |
| foreign | integer | — | 中国大陆以外(已识别国家且不是 CN)的请求数;运营商分布不含这部分。 |
| frequency | string | — | 检查频率:每天 03:00、每周一 03:00、仅手动。 |
| geo_summary | TopGeoSummary | — | 地区维度(country、prov、isp)的汇总,按整个时间窗与同样的筛选条件统计,不受榜单行数限制。 |
| handled_by_feature | SecurityHandledCount[] | — | 已处理(替换内容)次数:防泄露、防篡改在响应体上替换内容,状态码不变、记为放行,不算拦截,所以不进 blocked_by_feature 也不进 summary.blocked,也不应算拦截百分比。只列次数大于 0 的功能,次数降序、同次数先 leak 后 tamper;没有数据(含节点尚未给换体打标)返回空数组,前端据此隐藏。同样按采样权重折算,随时间窗与网站范围。 |
| headers | string[] | — | 前 20 个请求头,每个「小写名: 值」,值截取 256 字节;Cookie 与 Authorization 类只留名。 |
| history | CheckupHistoryPoint[] | — | 该网站近 8 周得分。 |
| hit_layer | string | — | 上传扫描命中层;没命中为空。 |
| host | string | — | 请求的 Host。 |
| http2 | ProtocolSwitch | — | 某项协议开关的站点数分布(开启、关闭、未设置)。 |
| http3 | ProtocolSwitch | — | 某项协议开关的站点数分布(开启、关闭、未设置)。 |
| http_ver | string | — | HTTP 协议版本(HTTP/x.y 归一为 1.0、1.1、2、3)。 |
| https_off | integer | — | 未开启 HTTPS 的站点数。 |
| https_on | integer | — | 开启 HTTPS 的站点数。 |
| id | integer | — | 记录 ID |
| intel_hit | boolean | — | 该 IP 当前是否在平台高危 IP 库(按当前库现查);null = 库没在下发,未判定。 |
| interval | integer | — | 桶宽(秒)。 |
| invalid | integer | — | 配置解不开或开关取值不是布尔的站点数。 |
| ip | string | — | 查询的地址(规范写法)。 |
| isp | string | — | 客户端运营商编号;未识别不回。 |
| isps | GeoCount[] | — | 中国大陆各运营商请求数,从多到少(key 为空 = 运营商未识别)。 |
| items | CheckupHistoryPoint[] | — | 本页条目 |
| ja4 | string | — | 客户端 TLS 指纹 JA4(节点在 TLS 握手时算,同连接各请求相同);明文 HTTP 或取不到不回。 |
| keys | string[] | 必填 | 检查项键。 |
| kind | string | — | 站点类型:domain 域名站、ip IP 站(编辑页不同)。 |
| last_seen | string | — | 最近出现的分钟。 |
| last_seen_at | string | — | 保留期内最近一条访问日志的时间;没有记录时不回。 |
| level | string | — | 命中时站点的防护等级:basic / standard / strict。 |
| limit | integer | — | 每天可申请的次数(reports.access_log_export_daily;0 = 不许下载)。 |
| max | number | — | bandwidth、backend_bandwidth:时间窗内 5 分钟带宽峰值。 |
| medium | integer | — | 中等问题数。 |
| message | string | — | 兼容旧版的说明串(处置与累计分),新界面用 type/action/category 自行组文案。 |
| method | string | — | HTTP 请求方法。 |
| metrics | NodeRealtimeMetric[] | — | 各指标的曲线,顺序同请求。 |
| name | string | — | 网站名称。 |
| next_retry_at | string | — | 下次重试时刻(失败后等退避重试的 pending 申请才有)。 |
| node_city | string | — | 上报的节点所在城市名;只知道国家、没有城市或位置未知时为空串。 |
| node_id | integer | — | 处理该请求的节点 ID。 |
| node_ids | integer[] | — | 上报过它的节点(最多 50 个,升序)。 |
| node_ips | string[] | — | 该网站实际调度到的线路分组内节点的对外地址(去重排序,最多 500 个;内网/管理出口地址不出),源站防火墙放行它们即可只允许经 CDN 访问;仅在有「源站可被直连」问题时返回,否则为空数组。 |
| node_lat | number | — | 节点落点纬度,含义同 node_lon。 |
| node_lon | number | — | 节点落点经度(城市坐标,没有城市时为国家质心);位置未知时没有此字段。 |
| node_names | string[] | — | 与 node_ids 同序的节点名;节点没名字或已删为 "#<id>"。 |
| node_spots | SecurityNodeSpot[] | — | 节点落点分布(落点国家/城市 → 在用节点台数),仅管理员返回,租户恒为空数组;口径同 flows 的落点(启用的主节点、位置未知的不计),不随 WAF 增强开通与否、时间窗或 site_id 变化;台数降序,同台数按国家、城市升序。 |
| node_unknown | integer | — | 位置未知的在用节点台数(启用的主节点里国家定不下来的,不在 node_spots 中),仅管理员返回,租户响应不含该字段;不随 WAF 增强开通与否、时间窗或 site_id 变化。 |
| nodes | integer | — | 上报过它的节点数。 |
| notify_critical | boolean | — | 出现严重问题时告警(用告警设置里的渠道)。 |
| observe | boolean | — | 站点当时在观察期(只记录不处置)。 |
| observe_rule | boolean | — | true = 命中的是观察期内的新规则,只记录没有拦(此时 observe 也为 true);应急规则无观察期,恒为 false。 |
| op | string | 必填 | add 补上 keys(已有的不动);remove 去掉 keys。 |
| open_url | string | — | 这条请求的可点开地址(该条日志自己的协议 + 域名 + 非默认端口 + 路径与查询串);只放 http/https、域名或 IP 合法、长度不到 2048 的,否则不回。 |
| other | integer | — | 其余(非观察的 log、mask、replace)。 |
| p95 | number | — | bandwidth、backend_bandwidth:95 值(interval=5m 按 5 分钟带宽、否则按小时峰值;只算有数据的样本,降序第 n×5/100+1 个,n=1 时等于峰值)。 |
| param | string | — | 命中的参数名/请求头名/Cookie 名;无名部位为空。 |
| params | object | — | 展示用的数字与名称,同体检结果里该项的 params(含 open_url)。 |
| path | string | — | 仅限该路径前缀;须等于事件 URL 路径,或是以 / 结尾的前缀(如 /api/);单独的 / 须同时选规则号或参数。不给 = 不限路径。 |
| points | SecurityPoint[] | — | 攻击趋势;桶宽随时间跨度自动取(约 288 个点以内),空桶补 0。 |
| prefix_len | integer | — | 32(IPv4)或 64(IPv6)。 |
| prev_score | integer | — | 上一次体检得分;第一次体检为 null。 |
| previous | object | — | 上一同长时间窗的对照。 |
| probes | CheckupProbeExtra[] | — | 近 7 天被探测里 WAF 事件之外的行(CC 已断开、源站返回 404);已拦截 / 只记录行由面板按 WAF 事件聚合。 |
| progress | integer | — | 进度百分比(已写行数 / 总行数)。 |
| protocol | string | — | HTTP 版本,如 HTTP/2.0。 |
| prov | string | — | 客户端归属省份(GB/T 2260 前两位,仅中国大陆);未识别不回。 |
| province | string | — | 省份;未识别时为空。 |
| provinces | SecurityProvinceCount[] | — | 中国大陆攻击来源省份(被拦截与被挑战的请求数,按采样权重折算),次数降序;省份未识别的不列。 |
| provs | GeoCount[] | — | 中国大陆各省请求数,从多到少(key 为空 = 省份未识别)。 |
| publish_seq | integer | — | 触发的重发布序号(result = added 时)。 |
| reason_args | object | — | 依据文案的参数(id 站点/证书 id、at 删除时间、domain 近似的站点域名、n 相差字符数、names 节点名、cname、ip、nodes、count)。 |
| reason_code | string | — | 判定依据(文案码,面板按语言出文案):site_unsynced 站点仍在但节点没有它的配置、site_disabled 站点已停用、 |
| recent | WafEventRecent | — | 同一 IP 近 1 小时的事件(总数、命中规则分布、最近若干条)。 |
| referer | string | — | 请求的 Referer。 |
| referer_open_url | string | — | 来源页的可点开地址;来源不是 http/https 页面(如 javascript:、android-app://)、地址不合法或长达 2048 字符以上时不回。 |
| region_logged | integer | — | 命中「只记录」地区限制(未拦截)的请求数。 |
| remaining | integer | — | 今天还能申请的次数。 |
| request_id | string | — | 请求 ID。 |
| request_length | integer | — | 请求长度,字节。 |
| request_time_ms | integer | — | 请求处理耗时,毫秒。 |
| reset | boolean | — | true = 撤销人工改写、回到自动识别(此时忽略 name 与 version)。 |
| result | string | — | added 已添加;exists 本站已有相同例外,未重复添加;full 本站例外已满,未添加。 |
| retries | integer | — | 已失败次数;pending/running 且大于 0 即在第 N 次重试。 |
| rule | boolean | — | 仅跳过事件命中的这条规则(rule_ids);非规则类事件(规则号 0)与语义事件不能勾。 |
| rule_id | integer | — | 命中的规则 ID。 |
| rule_name | string | — | 规则短名。 |
| rules_ver | string | — | 规则库版本;空 = 节点内置规则。 |
| run | object | — | 进行中的批次;没有时缺省。 |
| sample_factor | integer | — | 采样倍数 N(所读访问日志的最大 sample_weight);未采样为 1。 |
| sample_weight | integer | — | 采样权重(1 = 未采样)。 |
| sampled | boolean | — | 所读访问日志里有采样行(sample_weight > 1),计数按权重折算、结果不完整。 |
| saved_bytes | integer | — | 省下的回源流量(字节):时间窗内命中缓存、未被拦截的请求发给客户端的字节数,按采样权重折算。 |
| scan_status | string | — | 上传扫描结果(type = upload);其他类型为空。 |
| scan_steps | string[] | — | 上传扫描过程,按序每层一项「层:结果」。 |
| scheme | string | — | 请求协议(http 或 https)。 |
| score | integer | — | 体检得分(满分 100)。 |
| series | LabeledLine[] | — | 按子对象分组的时间序列。 |
| server_port | integer | — | 请求到达的端口。 |
| severity | string | — | 该问题在这个网站上的严重程度。 |
| site_deleted | boolean | — | 这条日志所属的网站已被删除时为 true;网站仍在(或没有所属网站)不回。 |
| site_id | integer | — | 网站 ID |
| site_ids | integer[] | 必填 | 要处理的网站,最多 500 个。 |
| site_name | string | — | 所属站点名称(主域名,没有域名用站点名);站点已删取删除时审计里的域名,审计里没有再取近 7 天访问日志里最常见的域名,都没有则不回。 |
| snippet | string | — | 命中片段(节点已脱敏,命中参数或请求头的值);列表截取前 200 个字符,详情给完整。片段不带命中位置,不能据此定位高亮。Bot 事件为触发的信号名。 |
| source_ips | integer | — | 来源 IP 去重数。 |
| stage | integer | — | 当前阶段:0 排队,1 读取配置,2 统计日志,3 直连探测,4 逐项判定,5 保存并告警。站点多于 200 个时每 200 个一批,阶段号随批循环;逐项判定在后端是瞬时的。 |
| started_at | string | — | 批次建立时刻。 |
| state | string | — | 状态:pending 排队,running 运行,done 完成,failed 重试耗尽失败。 |
| status | string | — | 状态:pending 排队、running 导出中、done 可下载、failed 失败、expired 文件已过保留期被清理。 |
| step | integer | — | series 的桶宽(秒)。 |
| summary | CheckupRunSummary | — | 各阶段的处理量摘要;某阶段还没走到时该键缺省。多批任务按批累加。 |
| target | string | — | 命中位置:uri / query_string / args / args_names / cookies / headers / body 等。 |
| tenant_id | integer | — | 站点所属租户(用户)ID。 |
| top_rules | SecurityRuleCount[] | — | 命中规则 Top 10(按命中次数降序)。 |
| top_sites | SecuritySiteCount[] | — | 被攻击网站 Top 10(按拦截与挑战数降序)。 |
| total | integer | — | 时间窗内请求数(按采样权重折算)。 |
| total_rows | integer | — | 符合筛选的总行数(开始导出时统计)。 |
| total_sites | integer | — | 本批次要体检的网站数;排队中可能还是 0。 |
| totals | SitesOverviewTotals | — | 时间窗内合计。 |
| traffic_month | integer | — | 本月累计流量(出口字节):end 所在月 1 日 0 点(Asia/Shanghai)到 end;已封账的小时取 5 分钟汇总,其后取实时数据。 |
| traffic_today | integer | — | 今日流量(出口字节):end 所在日的 0 点(Asia/Shanghai)到 end;口径同 totals.traffic(含不含未配置流量随 include_noconfig)。 |
| ts | string | — | 请求时刻。 |
| type | string | — | 事件类型:规则 / 语义 / Bot / 上传扫描 / 防篡改 / 防泄露。 |
| types | SecurityTypeCount[] | — | 攻击类型分布(WAF 事件按类型折算命中次数),次数降序。 |
| unavailable | string[] | — | 本次没取到的补充项(规则库或 ClickHouse 暂时读失败时才有;其余内容照常返回,取不到的项按空值给)。coverage = covered / extra,probes = probes,node_ips = node_ips。缺省 = 全部取到。 |
| unknown | integer | — | 归属国家未识别的请求数(无库、内网或库里没有)。 |
| unlimited | boolean | — | true = 不限次数(管理员),此时不给 limit / remaining。 |
| upid | integer | — | 回源的源站 ID。 |
| upstream_addr | string | — | 回源实际连的源站「地址:端口」;换源站重试时逗号分隔多跳;未回源为空。 |
| upstream_bytes | integer | — | 从源站收到的字节数。 |
| upstream_status | string | — | 各跳源站回的状态码,与 upstream_addr 逐跳对应;未回源为空。 |
| upstream_time_ms | integer | — | 源站响应耗时,毫秒;未回源为 null。 |
| uri | string | — | 请求 URI(含查询串)。 |
| url | string | — | 请求路径 + 查询串(已脱敏)。 |
| used | integer | — | 今天已建成的申请数。 |
| user_agent | string | — | 请求的 User-Agent。 |
| version | string | — | 程序版本;不知道可留空。 |
| window_min | integer | — | 本次取均值的窗口(分钟)。 |
| window_s | integer | — | 统计窗口秒数。 |