You need to enable JavaScript to run this app.
导航

获取访问统计的细分数据

最近更新时间2024.04.18 16:04:09

首次发布时间2024.04.16 14:36:30

API 说明

API 描述:基于加速域名收到的请求、指定的统计时间段和时间粒度,对每个指定的加速域名统计指定指标的细分数据。该 API 支持使用用户请求的特征对请求进行过滤。您最多能查询过去 92 天的数据。

数据稳定性:受边缘节点网络波动的影响,监控数据的统计可能会发生变化。大多数情况下,监控数据的统计会在数据产生后的 12 小时内稳定下来。

说明

如果您是刚开始使用数据统计的 API,请务必先阅读以下文档,可以帮助您了解该 API 文档中的描述。

使用限制

节流限制:您每秒最多可以提交 20 个 API 请求。

请求说明

  • 请求方式:POST
  • 请求地址:https://cdn.volcengineapi.com/?Action=DescribeDistrictData&Version=2021-03-01

请求参数

Query

参数名称
数据类型
是否必选
参数说明
Action
String
接口名称。当前 API 的名称为 DescribeDistrictData
Version
String
接口版本。当前 API 的版本为 2021-03-01

Body

参数名称
数据类型
是否必选
参数说明
示例
Metric
String

表示一个统计指标。该参数有以下取值:

  • traffic:表示内容分发网络响应用户请求所消耗的流量,单位是 Byte。
  • bandwidth:表示内容分发网络响应用户请求所消耗的带宽,单位是 bps。
  • requests:表示内容分发网络收到的用户请求数量。
  • qps:表示内容分发网络收到的用户请求的 QPS。
  • response_time:表示内容分发网络响应用户请求所耗费的平均时间,单位是毫秒(ms)。
  • avg_speed:表示内容分发网络在响应用户请求时的数据传输速度,单位是 Byte/s。
  • status_all:表示在内容分发网络对用户请求的响应中,所有状态码的数量、以数字 2、3、4、5 开头的每类状态码的数量、以及每个状态码的数量。
  • status_2xx:表示以数字 2 开头的状态码数量以及以数字 2 开头的每个状态码的数量。
  • status_3xx:表示以数字 3 开头的状态码数量以及以数字 3 开头的每个状态码的数量。
  • status_4xx:表示以数字 4 开头的状态码数量以及以数字 4 开头的每个状态码的数量。
  • status_5xx:表示以数字 5 开头的状态码数量以及以数字 5 开头的每个状态码的数量。
关于每个指标的详情以及统计方式,参见 指标的定义以及统计方式
traffic
StartTime
Long
表示统计时间段的开始时间,格式是 Unix 时间戳,精度是秒。StartTime 必须早于或者等于 EndTime。同时,StartTime 与 EndTime 所表示的统计时间段不能超过 31 天。
1710259200
EndTime
Long
表示统计时间段的结束时间,格式是 Unix 时间戳,精度是秒。
1710836303
Interval
String

表示指标数据的统计时间粒度。该 API 会基于 IntervalStartTimeEndTime 所表示的统计时间段拆分成一系列的时间区间,然后对每个时间区间统计 Metric 数据。

关于该参数对统计结果影响的详细描述,参考 统计时间段说明

该参数有以下取值:

  • 1min:表示时间粒度是 1 分钟。
  • 5min:表示时间粒度是 5 分钟。
  • hour:表示时间粒度是 1 小时。
  • day:表示时间粒度是 1 天。

您可以指定的时间粒度受 StartTime 和 EndTime 所表示的时间范围的影响。

  • 如果时间范围 <= 1 天,您可以指定的时间粒度有 1min5minhour
  • 如果 1 天 < 时间范围 <= 3 天,您可以指定的时间粒度有 5minhourday
  • 如果 3 天 < 时间范围 <= 31 天,您可以指定的时间粒度有 hourday
该参数的默认值是 5min。如果默认值不匹配时间范围,API 请求会失败。
hour
Project
String

表示一个项目,以获取该项目下的所有加速域名,用于对用户请求进行过滤。

如果不指定 Project,表示不使用该参数对请求进行过滤。
my_project
Domain
String

表示一个或多个加速域名,用于对用户请求进行过滤。您最多可以指定 50 个加速域名。多个域名之间使用逗号(,)分隔。如果您不指定 Domaian,表示不使用该参数对请求进行过滤。

如果您指定了 Project,您可以指定的加速域名必须是归属于 Project 所指定项目。

说明

当子用户调用该 API 时,请留意以下说明:

  • 子用户只能指定其有权限访问的加速域名。子用户可以调用 ListCdnDomains 查看其有权限访问的加速域名。
  • 如果不指定该参数,表示所有该子用户有权限访问的那些加速域名。
www.example.com,www.test.com,img.example.com
Location
String

表示国家和地区的代码,用于对用户请求进行过滤。您可以指定一个或者多个代码,内容分发网络对来自这些国家和地区的用户请求统计 Metric 数据。多个国家和地区代码之间使用逗号(,)分隔。您最多可以指定 30 个国家和地区。

  • 如果您指定了 Location,就不能指定 Province,反之亦然。
  • 如果您不指定 Location,表示不使用该参数对请求进行过滤。
您可以调用 DescribeCdnRegionAndIsp 获取代码与国家和地区的对应表。
CHN,AZE
Province
String

表示中国省级行政区的代码,用于对用户请求进行过滤。您可以指定一个或者多个代码,内容分发网络对来自这些省级行政区的用户请求统计 Metric 数据。多个代码之间使用逗号(,)分隔。您最多可以指定 10 个代码。

如果您不指定 Province,表示不使用该参数对请求进行过滤。

您可以调用 DescribeCdnRegionAndIsp 获取代码与中国省级行政区的对应表。
AH,BJ,CQ,FJ
Isp
String

表示请求所使用的中国网络运营商的代码,用于对用户请求进行过滤。例如,CT 表示中国电信。您可以指定一个或者多个代码,内容分发网络对使用这些网络运营商的用户请求统计 Metric 数据。多个代码之间使用逗号(,)分隔。您最多可以指定 5 个代码。

  • Location 是 CHN 或者您指定了 Province 时,您才能指定 Isp

  • 当您不指定 Isp 时,表示不使用该参数对请求进行过滤。

您可以调用 DescribeCdnRegionAndIsp 获取代码与网络运营商的对应表。
CT,CM,CU,GWBN
Protocol
String

表示请求使用的一个应用层协议,用于对用户请求进行过滤。该参数的可用值如下:

  • http:表示 HTTP 协议。
  • https:表示 HTTPS 协议。
  • quic:表示 QUIC 协议。
如果不指定 Protocol,表示不使用该参数对请求进行过滤。
https
IpVersion
String

表示请求使用的一个网络层协议,用于对用户请求进行过滤。该参数的可用值如下:

  • IPv4:表示 IPv4 协议。
  • IPv6:表示 IPv6 协议。
如果不指定 IpVersion,表示不使用该参数对请求进行过滤。
IPv4

返回参数

参数名称
数据类型
参数说明
示例
MetricDataList
Object[]
表示该 API 返回的指标数据。

请求示例

POST https://cdn.volcengineapi.com/?Action=DescribeDistrictData&Version=2021-03-01
{
    "Domain": "www.example.com,www.test.com,img.example.com",
    "StartTime": 1710259200,
    "EndTime": 1710835599,
    "Interval": "day",
    "IpVersion": "IPv4",
    "Isp": "CT,CM,CU,GWBN",
    "Metric": "traffic",
    "Project": "my_project",
    "Protocol": "https",
    "Province": "AH,BJ,CQ,FJ"
}

返回示例

{
    "ResponseMetadata": {
        "RequestId": "2024031916110305F6D27733C2CA667E04",
        "Action": "DescribeDistrictData",
        "Version": "2021-03-01",
        "Service": "CDN",
        "Region": "cn-north-01"
    },
    "Result": {
        "MetricDataList": [
            {
                "Metric": "bandwidth",
                "Values": [
                    {
                        "TimeStamp": 1710259200,
                        "Value": 587
                    },
                    {
                        "TimeStamp": 1710345600,
                        "Value": 6789
                    },
                    {
                        "TimeStamp": 1710432000,
                        "Value": 2346
                    },
                    {
                        "TimeStamp": 1710518400,
                        "Value": 876467
                    },
                    {
                        "TimeStamp": 1710604800,
                        "Value": 151536517
                    },
                    {
                        "TimeStamp": 1710691200,
                        "Value": 44
                    },
                    {
                        "TimeStamp": 1710777600,
                        "Value": 7890
                    }
                ]
            }
        ]
    }
}