CDN 访问日志分析

最近更新时间:2025-07-09 19:04:32

我的收藏

简介

内容分发网络(Content Delivery Network,CDN) 是非常重要的互联网基础设施,用户可以通过 CDN,快速地访问网络中各种图片,视频等资源。在访问过程中,CDN 会产生大量的访问日志数据。这些日志详细记录了用户的访问请求,包括访问时间访问的资源用户的地理位置设备信息以及请求的状态等信息(完整日志字段说明请参见 日志字段说明)。CLS 日志服务联合 CDN,支持将 CDN 域名访问日志实时采集至 CLS,并基于 CLS 的日志分析能力,帮助您完成 CDN 的质量和性能的分析错误诊断客户端分布用户行为分析等。通过本篇实践,您可以详细的了解如下内容:
您也可通过以下 Demo,快速体验 CLS 与 CDN 的强大结合。

功能优势

日志实时分析:
CLS 实时采集 CDN 的域名访问日志,日志数据延迟不超过3分钟。而传统 CDN 日志分析场景中,往往需要下载日志进行离线分析,延迟通常在24小时以内。
分析报表开箱即用:
CLS 为 CDN 访问日志分析场景提供了开箱即用的访问分析仪表盘,仪表中包含 CDN 质量和性能错误诊断客户端分布,以及用户行为等分析看板。 而在传统 CDN 日志分析场景中,需下载日志至离线,再上传至数据仓库,然后在数据仓库进行一系列的数据清洗和数据模型定义。这一过程繁琐又消耗较多人力成本。




采集 CDN 域名访问日志

步骤1:进入 CDN 云产品中心

2. 在左侧导航栏中,单击云产品中心,进入云产品中心页面。
3. 云产品日志中,选择并单击内容分发网络 CDN


步骤2:开启域名访问日志采集

1. 在上方Tab 页选择接入管理 > 实例接入

2. 域名/ID 列表中,勾选一个或多个目标域名。

3. 单击开启日志采集,在下拉选项中选择开启境内或境外域名的访问日志。

注意:
ECDN 域名与境内域名不支持开启境外访问日志采集。
境外域名不支持开启境内访问日志采集。
4. 在开启日志采集弹窗中,选择已有日志主题创建目标日志主题,并单击确认



注意:
CDN 日志主题默认投递到cloud_cdn_logset_cn 日志集中统一管理。

查看 CDN 域名访问分析仪表盘

完成 开启域名访问日志采集 后,CLS 提供两款开箱即用的预置仪表盘。
访问质量监控分析仪表盘:可视化展示 CDN 域名的访问质量情况(如缓存命中率、延时等),助力运维排障场景。



用户行为分析仪表盘:可视化展示用户的访问行为(如 PV、UV 等),助力运营分析场景。



您可通过以下操作操作查看以上 CDN 预置仪表盘:
1. 页面上方 Tab 页单击仪表盘,选择质量监控分析仪表盘用户行为分析仪表盘。

2. 在CDN 域名处选择已开启投递的域名


检索分析 CDN 域名访问日志

完成开启内容分发网络访问日志采集后,在实例列表中,找到已开启访问日志采集的实例,然后跳转日志检索页,即可检索分析访问日志。日志字段的详细介绍请参见 日志字段说明
1. 完成开启域名访问日志采集后,在域名列表中,找到已开启访问日志采集的域名,单击日志检索

2. 单击后将跳转至日志检索页,即可检索分析访问日志。日志字段的详细介绍请参见 日志字段说明


日志字段说明

针对 CDN 访问日志中的字段解释,可参见下表:
字段名
说明
app_id
腾讯云账号 APPID
client_ip
客户端 IP
file_size
文件大小
hit
缓存 HIT / MISS,在 CDN 边缘节点命中、父节点命中均标记为 HIT
host
域名
http_code
HTTP 状态码
isp
运营商
method
HTTP Method
param
URL 携带的参数
proto
HTTP 协议标识
prov
运营商省份
referer
Referer 信息,HTTP 来源地址
request_range
Range 参数,请求范围
request_time
响应时间(毫秒),指节点从收到请求后响应回包所花费的时间
request_port
客户端与 CDN 节点建立连接的端口。若无,则为 -
rsp_size
返回字节数
time
请求时间,UNIX 时间戳,单位为:秒
ua
User-Agent 信息
url
请求路径
uuid
请求的唯一标识
version
CDN 实时日志版本

实践场景案例

您可以基于 CDN 访问日志配置异常监控告警,实时监控 CDN 访问流量中发生的异常。以下提供了两个案例。

案例1:针对99%的延时大于100ms进行告警,并且在告警信息中展示受影响域名、url、client_ip,以便快速判断错误情况。

1. 登录 日志服务控制台,并进入 告警策略 管理页面,单击新建,进入告警策略创建页。



2. 在告警策略页中,配置如下内容:
基本信息
告警策略名称:CDN 访问延迟告警。
启用状态:启用。
监控对象:选中在 采集 CDN 访问日志 步骤中创建的日志主题。
监控任务
执行语句:输入以下语句,时间范围选择15分钟,统计近15分钟内的99%延时。
* | select approx_percentile(request_time, 0.99) as p99
触发条件: 配置如下,即99%延时大于100ms 时,满足告警条件。
$1.p99 > 100
执行周期:固定频率,每1分钟执行一次。
多维分析:在告警信息中展示受影响的域名、客户端 IP、url,帮助开发人员快速定位问题。



通知渠道组: 通过关联通知渠道组,设置发送通知的方式及对象,支持短信、邮件、电话、微信、企业微信、钉钉、飞书、自定义接口回调(webhook)等通知方式。详情参见 管理通知渠道组
3. 告警触发后,将通过微信、企业微信、短信第一时间获取关键信息。




案例2:资源访问错误激增告警,当同比增数超过一定阈值时,触发告警通知。

1. 参见 案例1,登录 日志服务控制台,并进入 告警策略 管理页面,单击新建,进入告警策略创建页。
2. 在执行语句中输入以下语句,时间范围选择1分钟,统计最近1分钟相比上1分钟的错误数增量。
http_code:>=400 | select compare[1]-compare[2] as errorCNTRise from (select compare(errorCNT,60) as compare from(select count(*) as errorCNT))
3. 触发条件如下,即错误数增量大于100时,满足告警条件。
$1.errorCNTRise > 100