查询攻击流量时序数据,攻击请求指的是命中规则并且被判定为有风险的请求。
接口说明
攻击流量指的是命中规则并且被判定为有风险的请求。如下三种数据不包含:
命中“白名单规则”的请求。
命中 bot 规则,但是规则动作为“回源标记”的请求。
命中规则并且规则动作为“动态令牌”/“滑块”/“严格滑块”/“js 验证”,但是用户校验通过并放行的请求。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

授权信息
操作 |
访问级别 |
资源类型 |
条件关键字 |
关联操作 |
yundun-waf:DescribeSecurityEventTimeSeriesMetric |
get |
*全部资源
|
无 | 无 |
请求参数
名称 |
类型 |
必填 |
描述 |
示例值 |
InstanceId |
string |
是 |
要操作的 WAF 实例 ID。 说明
您可以调用 DescribeInstance 查询 WAF 实例的 ID。 |
waf-cn-tl32ast**** |
Filter |
object |
是 |
查询过滤条件,多个过滤条件之间是逻辑与的关系。 |
|
DateRange |
object |
是 |
查询时间范围。 |
|
StartDate |
integer |
是 |
查询的数据范围不超过过去 30 天。查询数据时使用的开始时间,使用 UNIX 时间戳表示,单位:秒。 说明
开始时间必须晚于当前时间减去 30 天。 |
1713888000 |
EndDate |
integer |
是 |
查询数据时使用的结束时间,使用 UNIX 时间戳表示,单位:秒。 |
1713888600 |
Conditions |
array |
否 |
过滤条件列表,每一个节点描述一个过滤条件。 |
|
object |
否 |
单个查询条件配置,查询条件由字段名称、操作符和过滤内容组成。关于查询条件中支持的字段名称以及操作符请参见请求参数补充说明。 |
||
Key |
string |
否 |
执行过滤操作的字段名称,该接口支持所有字段。 |
matched_host |
OpValue |
string |
否 |
操作符。 |
eq |
Values |
any |
否 |
过滤值。 |
test.waf-top |
Metric |
string |
是 |
用于区分返回的数据内容,不同的 Metric 对应不同的数据内容,该接口支持的 Metric 如下:
|
mitigated_requests |
RegionId |
string |
否 |
WAF 实例所属地域。取值:
|
cn-hangzhou |
ResourceManagerResourceGroupId |
string |
否 |
阿里云资源组 ID。 |
rg-acfm***q |
操作符说明
操作符 | 含义 | 说明 |
all-not-match | 不等于任一值 | 字段值和数据集合中的任意数据都不相等,例如过滤 real_client_ip 不等于集合中任一值:{"Key":"real_client_ip","OpValue":"all-not-match","Values":["1.1.1.1","2.2.2.2","3.3.3.3"]} |
contain | 包含 | 字段值包含某个字符串,例如过滤 URL 包含"test"的数据:{"Key":"request_path","OpValue":"contain","Values":"test"} |
eq | 等于 | 字段值等于某个字符串,例如过滤 URL 等于"/testcase"的数据:{"Key":"request_path","OpValue":"eq","Values":"/testcase"} |
match-one | 等于多值之一 | 字段值和数据集合中的任意一数据相等,例如过滤 real_client_ip 等于集合中任一值:{"Key":"real_client_ip","OpValue":"match-one","Values":["1.1.1.1","2.2.2.2","3.3.3.3"]} |
ne | 不等于 | 字段值不等于某个字符串,例如过滤 URL 不等于"/testcase"的统计数据:{"Key":"request_path","OpValue":"ne","Values":"/testcase"} |
not-contain | 不包含 | 字段值不包含某个字符串,例如过滤 URL 不包含"test"的数据:{"Key":"request_path","OpValue":"not-contain","Values":"test"} |
prefix-match | 前缀匹配 | 字段值以某个字符串作为前缀,例如滤 URL 前缀是"/testcase"的数据:{"Key":"request_path","OpValue":"prefix-match","Values":"/testcase"} |
suffix-match | 后缀匹配 | 字段值以某个字符串作为后缀,例如过滤 URL 后缀是"/testcase"的数据:{"Key":"request_path","OpValue":"suffix-match","Values":"/testcase"} |
过滤条件支持的 Key
字段名称 | 字段含义 | 支持的操作符 |
action | 防护动作,即该请求最终被处置的动作。 | ne、eq |
cluster | 防护集群。 | ne、eq、 match-one、 all-not-match |
defense_scene | 防护模块,一条请求可能命中多个防护模块,使用该字段过滤出的请求可能也会同时命中其它模块。 | ne、eq |
host | http 头部的 host。 | contain、 not-contain、ne、eq、match-one、all-not-match、prefix-match、suffix-match |
http_cookie | http 头部的 cookie。 | contain、 not-contain、ne、eq、match-one、 all-not-match、prefix-match、suffix-match |
http_user_agent | http 头部获取的 User-Agent。 | contain、 not-contain、ne、eq、match-one、 all-not-match、prefix-match、suffix-match |
matched_host | 防护对象。 | ne、eq、 match-one、 all-not-match |
real_client_ip | 请求源 IP,操作符后跟随的参数只能是 IP 地址字符串或者 IP 地址字符串列表,不支持网段查询。 | ne、eq、 match-one、 all-not-match |
remote_country_id | http 请求源 IP 归属国家。 | ne、eq、 match-one、 all-not-match |
remote_region_id | http 请求源 IP 省市。 | ne、eq、 match-one、 all-not-match |
request_method | http 请求方法。 | ne、eq、 match-one、 all-not-match |
request_path | http 请求 URL,不包含 query。 | contain、 not-contain、ne、eq、match-one、 all-not-match、prefix-match、suffix-match |
request_traceid | 标识请求的唯一 ID。 | ne、eq、 match-one、 all-not-match |
rule_id | 规则 ID,一条请求可能命中多条规则,使用该字段过滤出的请求可能也会同时命中其它规则。 | ne、eq |
返回参数
名称 |
类型 |
描述 |
示例值 |
object |
返回的数据结果,格式样例参见示例。 |
||
RequestId |
string |
请求 ID。 |
D827FCFE-90A7-4330-9326-*****4C7726 |
SecurityEventTimeSeries |
array<object> |
返回的时间序列数据,支持返回多个值的时间序列数据。 |
|
object |
单个时间序列数据,时间序列数据主要包含两个数组,分别对应 Timestamps 和 Values 数组,Timestamps 数组中包含了固定时间间隔的时间序列,Values 数组中包含了每个固定时间间隔内的统计计数,这两个数组包含的节点个数是一样的,两者的数据点是一一对应的关系。 |
||
Metric |
string |
返回的数据内容,跟入参中的 Metric 含义保持一致。 |
monitored_requests |
Timestamps |
array |
时间序列,每个点代表一个时间范围的起始时间。 |
|
string |
每个数据统计点的起始统计时间,使用 UNIX 时间戳字符串表示。 |
[] |
|
Values |
array |
数据序列,每个点代表一定时间范围内的统计计数。 |
|
integer |
当前时间范围的统计计数。 |
[] |
|
TimeSeriesMetaData |
object |
返回数据的元信息。 |
|
DateRange |
object |
查询时使用的时间范围。 |
|
StartDate |
integer |
查询数据时使用的开始时间,使用 UNIX 时间戳表示,单位:秒。该值和入参数重的 StartDate 一致。 |
1713888000 |
EndDate |
integer |
查询数据时使用的结束时间,使用 UNIX 时间戳表示,单位:秒。该值和入参数重的 EndDate 一致。 |
1713888600 |
AggregateInterval |
string |
返回的时间序列数据中,每个数据点的统计时间粒度,比如"15m"则表示返回的每个数据点是每 15 分钟的统计数据。返回数据的时间粒度参见时间序列数据点时间粒度说明。 |
1m |
Units |
string |
返回的统计数据的单位。 |
requests |
时间序列数据点时间粒度说明
查询数据时选择不同的时间范围,返回的数据的统计时间粒度不一样。
查询时间范围小于 3 小时,返回的数据点的统计时间粒度为 1m(1 分钟)。
查询时间范围大于等于 3 小时小于 6 小时,返回的数据点的统计时间粒度为 5m(5 分钟)。
查询时间范围大于等于 6 小时小于 24 小时,返回的数据点的统计时间粒度为 15m(15 分钟)。
查询时间范围大于等于 24 小时小于 7 天,返回的数据点的统计时间粒度为 1h(1 小时)。
查询时间范围大于等于 7 天小于 30 天,返回的数据点的统计时间粒度为 1d(1 天)。
示例
正常返回示例
JSON
格式
{
"RequestId": "D827FCFE-90A7-4330-9326-*****4C7726\n",
"SecurityEventTimeSeries": [
{
"Metric": "monitored_requests",
"Timestamps": [
"[]"
],
"Values": [
0
]
}
],
"TimeSeriesMetaData": {
"DateRange": {
"StartDate": 1713888000,
"EndDate": 1713888600
},
"AggregateInterval": "1m",
"Units": "requests\n"
}
}
错误码
HTTP status code |
错误码 |
错误信息 |
描述 |
---|---|---|---|
400 | Waf.Report.%s | Invalid parameter:%s. | 无效的参数:%s |
400 | Waf.Report.InternalError | Server error occurred in report service. | 报表服务内部错误 |
访问错误中心查看更多错误码。
变更历史
更多信息,参考变更详情。