统计查询API

通过API接口查询CDN统计数据,获取流量、请求量、缓存命中率等详细数据

概述

统计查询API提供丰富的CDN使用数据,包括流量统计、请求统计、缓存命中率、错误统计等,帮助您了解CDN服务的使用情况。

数据更新:统计数据实时更新,支持按小时、天、月等时间维度查询

API端点

获取流量统计

GET /domains/{domain_id}/stats/traffic

获取指定域名的流量统计数据

查询参数:

start_time: 2024-01-01T00:00:00Z
end_time: 2024-01-02T00:00:00Z
granularity: hour|day|month

获取请求统计

GET /domains/{domain_id}/stats/requests

获取指定域名的请求统计数据

获取缓存命中率

GET /domains/{domain_id}/stats/cache-hit-rate

获取指定域名的缓存命中率统计

获取错误统计

GET /domains/{domain_id}/stats/errors

获取指定域名的错误统计数据

获取实时统计

GET /domains/{domain_id}/stats/realtime

获取指定域名的实时统计数据

统计指标

流量指标

  • 总流量:CDN传输的总数据量(字节)
  • 下行流量:从CDN到用户的数据量
  • 上行流量:从用户到CDN的数据量
  • 节省流量:通过缓存节省的流量

请求指标

  • 总请求数:CDN处理的请求总数
  • 缓存命中:从缓存返回的请求数
  • 缓存未命中:回源获取的请求数
  • 错误请求:返回错误状态的请求数

性能指标

  • 平均响应时间:请求的平均处理时间
  • 缓存命中率:缓存命中请求的比例
  • 带宽利用率:带宽使用情况
  • 并发连接数:同时处理的连接数

错误指标

  • 4xx错误:客户端错误请求数
  • 5xx错误:服务器错误请求数
  • 超时错误:请求超时数量
  • 连接错误:连接失败数量

时间维度

实时数据(realtime)

获取当前时刻的实时统计数据

granularity: "realtime"
数据更新频率: 实时

小时数据(hour)

按小时聚合的统计数据

granularity: "hour"
数据更新频率: 每小时

天数据(day)

按天聚合的统计数据

granularity: "day"
数据更新频率: 每天

月数据(month)

按月聚合的统计数据

granularity: "month"
数据更新频率: 每月

请求示例

获取流量统计

curl -X GET \
-H "Authorization: Bearer YOUR_API_KEY" \
"https://api.yakcdn.com/v1/domains/domain_123/stats/traffic?start_time=2024-01-01T00:00:00Z&end_time=2024-01-02T00:00:00Z&granularity=hour"

Python示例

import requests
from datetime import datetime, timedelta
def get_traffic_stats(domain_id, days=7):
headers = {
'Authorization': 'Bearer YOUR_API_KEY'
}
end_time = datetime.now()
start_time = end_time - timedelta(days=days)
params = {
'start_time': start_time.isoformat() + 'Z',
'end_time': end_time.isoformat() + 'Z',
'granularity': 'day'
}
response = requests.get(
f'https://api.yakcdn.com/v1/domains/{domain_id}/stats/traffic',
headers=headers,
params=params
)
return response.json()

响应格式

流量统计响应

{
"code": 200,
"data": {
"total_traffic": 1073741824,
"downstream_traffic": 1048576000,
"upstream_traffic": 25165824,
"saved_traffic": 838860800,
"data_points": [
{
"timestamp": "2024-01-01T00:00:00Z",
"traffic": 10485760
}
]
}
}

缓存命中率响应

{
"code": 200,
"data": {
"hit_rate": 0.85,
"total_requests": 1000000,
"hit_requests": 850000,
"miss_requests": 150000
}
}

数据导出

CSV格式导出

GET /domains/{domain_id}/stats/export?format=csv&start_time=...&end_time=...

JSON格式导出

GET /domains/{domain_id}/stats/export?format=json&start_time=...&end_time=...

常见问题

Q: 统计数据延迟多长时间?

A: 实时数据延迟约1-2分钟,历史数据延迟约5-10分钟。

Q: 可以查询多长时间的历史数据?

A: 支持查询最近90天的详细数据,更早的数据可以联系技术支持获取。

Q: 如何提高缓存命中率?

A: 合理设置缓存规则,增加静态资源缓存时间,优化缓存键策略。

Q: 统计数据异常怎么办?

A: 请检查域名配置是否正确,或联系技术支持进行排查。

下一步

统计查询API学习完成后,建议您继续学习: