DescribeNetworkFlowTopNMetric - 查询网络流量top统计数据

查询所有流量按照不同维度聚合统计并进行排序后的top统计数据,包含恶意请求和正常的业务请求。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

授权信息

下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:

  • 操作:是指具体的权限点。
  • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:
    • 对于必选的资源类型,用前面加 * 表示。
    • 对于不支持资源级授权的操作,用全部资源表示。
  • 条件关键字:是指云产品自身定义的条件关键字。
  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作访问级别资源类型条件关键字关联操作
yundun-waf:DescribeNetworkFlowTopNMetricget
*全部资源
*

请求参数

名称类型必填描述示例值
InstanceIdstring

WAF 实例 ID。

说明 您可以通过调用 DescribeInstance 接口查看当前 WAF 实例 ID。
waf_cdnsdf3****
Filterobject

查询过滤条件,多个过滤条件之间是逻辑与的关系。

DateRangeobject

查询时间范围。

StartDatelong

查询的数据范围不超过过去 30 天。查询数据时使用的开始时间,使用 UNIX 时间戳表示,单位:秒。

说明 开始时间必须晚于当前时间减去 30 天。
1713888000
EndDatelong

查询数据时使用的结束时间,使用 UNIX 时间戳表示,单位:秒。

1713888600
Conditionsarray<object>

过滤条件列表,每一个节点描述一个过滤条件。

object

单个查询条件配置,查询条件由字段名称操作符过滤内容组成。关于查询条件中支持的字段名称以及操作符请参见请求参数补充说明

Keystring

执行过滤操作的字段名称,当前接口的 Key 只支持如下两个字段:

  • matched_host
  • cluster
matched_host
OpValuestring

操作符。

eq
Valuesany

过滤值。

test.waf-top
Limitlong

控制统计数据按照降序排序后返回数据条数,最大值为 10。

10
Metricstring

用于区分返回的数据内容,不同的 Metric 对应不同的数据内容,该接口支持的 Metric 如下:

  • real_client_ip,当前用户所有经过 waf 的请求,按照请求源 IP 聚合统计并降序排序后,返回前 N 条数据。
  • http_user_agent,当前用户所有经过 waf 的请求,按照请求的 user-agent 聚合统计并降序排序后,返回前 N 条数据。
  • request_path,当前用户所有经过 waf 的请求,按照请求的 URL 聚合统计并降序排序后,返回前 N 条数据。
  • matched_host_by_total_requests,返回当前用户请求数最大的 N 个防护对象以及对应的请求数。
  • matched_host_by_qps,返回当前用户 QPS 最大的 N 个防护对象以及对应的 QPS 数据
  • matched_host_by_status,使用该 Metric 时需要在 Filter 的 Conditions 字段指定 status,waf 返回的 HTTP 响应码等于 Conditions 中指定的 status 的数据按照防护对象聚合统计并排序后,返回前 N 条数据。指定 status 的格式如下:
    {"Key":"status","OpValue":"eq","Values":"200"}
  • matched_host_by_upstream_status,使用该 Metric 时需要在 Filter 的 Conditions 字段指定 upstream_status,源站返回的 HTTP 响应码等于 Conditions 中指定的 upstream_status 的数据按照防护对象聚合统计并排序后,返回前 N 条数据。指定 upstream_status 的格式如下:
    {"Key":"upstream_status","OpValue":"eq","Values":"200"}
matched_host_by_upstream_status
RegionIdstring

WAF 实例所属地域。取值:

  • cn-hangzhou:表示中国内地。
  • ap-southeast-1:表示非中国内地。
cn-hangzhou
ResourceManagerResourceGroupIdstring

阿里云资源组 ID。

rg-acfm***q

操作符说明

操作符含义说明
all-not-match不等于任一值字段值和数据集合中的任意数据都不相等,例如过滤 real_client_ip 不等于集合中任一值:
{"Key":"real_client_ip","OpValue":"all-not-match","Values":["1.XX.XX.1","2.XX.XX.2","3.XX.XX.3"]}
eq等于字段值等于某个字符串,例如设置过滤条件为 URL 等于"/testcase"的统计数据:
{"Key":"request_path","OpValue":"eq","Values":"/testcase"}
match-one等于多值之一字段值和数据集合中的任意一数据相等,例如过滤 real_client_ip 等于集合中任一值:
{"Key":"real_client_ip","OpValue":"match-one","Values":["1.XX.XX.1","2.XX.XX.2","3.XX.XX.3"]}
ne不等于字段值不等于某个字符串,例如设置过滤条件为 URL 不等于"/testcase"的统计数据:
{"Key":"request_path","OpValue":"ne","Values":"/testcase"}

过滤条件支持的 Key

字段名称字段含义支持的操作符
cluster防护集群。ne、eq、
match-one、
all-not-match
matched_host防护对象。ne、eq、
match-one、
all-not-match

返回参数

名称类型描述示例值
object

返回的数据结果,格式样例参见示例

RequestIdstring

请求 ID。

D827FCFE-90A7-4330-9326-******4C7726
NetworkFlowTopNValuesarray<object>

返回的 top 统计数据数组。

TopNValueobject

每一个点对应一条 top 统计数据。

Namestring

某个字段的值,根据查询的 Metric 不同,代表不同的含义。

127.0.0.1
Attributestring

用于返回额外的信息,比如返回某个 IP 所属的国家和省市信息。

CN
Valuelong

用于 top 排序的统计计数。

1123
TopNMetaDataobject

返回数据的元信息。

DateRangeobject

查询时使用的时间范围。

StartDatelong

查询数据时使用的开始时间,使用 UNIX 时间戳表示,单位:秒。该值和入参数重的 StartDate 一致。

1713888000
EndDatelong

查询数据时使用的结束时间,使用 UNIX 时间戳表示,单位:秒。该值和入参数重的 EndDate 一致。

1713888600
Unitsstring

返回的统计数据的单位。

requests

示例

正常返回示例

JSON格式

{
  "RequestId": "D827FCFE-90A7-4330-9326-******4C7726",
  "NetworkFlowTopNValues": [
    {
      "Name": "127.0.0.1",
      "Attribute": " CN",
      "Value": 1123
    }
  ],
  "TopNMetaData": {
    "DateRange": {
      "StartDate": 1713888000,
      "EndDate": 1713888600
    },
    "Units": "requests\n"
  }
}

错误码

HTTP status code错误码错误信息描述
400Waf.Report.%sInvalid parameter:%s.无效的参数:%s
400Waf.Report.InternalErrorServer error occurred in report service.报表服务内部错误

访问错误中心查看更多错误码。