本文档介绍了如何在火山引擎内容分发网络(CDN)中启用实时日志功能。
说明
实时日志投递是白名单功能。如果您需要使用该功能,参见 开通实时日志投递。
对于 CDN 收到的用户请求,也就是加速区域内各 CDN 节点收到用户请求,您可以配置 "实时日志投递",将请求日志投递到您指定的位置。这些请求日志也称为在 CDN 节点上采集的日志。
实时日志从日志生成到日志投递的时间间隔不超过 5 分钟。实时日志可用于监控数据指标、检测安全风险、洞察业务趋势等。关于实时日志中包含的字段,参见 日志字段。
此前,CDN 仅支持将实时日志投递到火山引擎日志服务(TLS)下的 cdn-log
日志项目。在 2025年4月15日的 CDN 更新中,我们拓展了实时日志投递的能力。
在新版实时日志投递中,我们增加了以下功能:
支持将实时日志投递到阿里云日志服务(SLS)中指定的 Logstore 中。
支持将实时日志投递到您指定的 HTTP 服务器。
在配置实时日志投递到 TLS 时,您可以通过 CDN 创建自定义的日志项目并指定该日志项目。
支持指定日志采样率。
参见:
说明
实时日志可以帮助您分析加速域名遇到的问题,也可以帮助您了解用户是如何访问您的加速域名。除了对实时日志进行过滤,您还可以对日志数据进行处理,满足不同场景下的日志分析需求。
日志分析场景 | 作用描述 |
---|---|
过滤指定条件的日志 | 指定一个或者多个条件,查找符合条件的日志。该数据可以帮助您了解某个 URL 或某个用户在指定时间范围内的访问情况,以便及时定位问题。 |
监测 CDN 服务指标 | 该数据可以帮助您了解 CDN 服务的质量以及用户的访问效率,以便您及时发现异常。访问效率包括缓存命中率、CDN 响应耗时、下载速度等。 |
监测 CDN 访问错误 | 如果用户在访问加速域名时出现了问题,该数据可以帮助您定位问题的原因。例如 URL 问题、源站故障、源站文件异常等。 |
获取热门访问 | 该数据可以帮助您了解您站点的热门访问。例如热门域名、热门 URI、热门访客IP、热门 Referer 等。 |
实时日志和日志下载是 CDN 的日志管理功能提供的模块。这两个模块采集的都是加速域名的请求日志。
这两个模块的区别如下。
日志下载 | 实时日志投递 | |
---|---|---|
使用目的 | 离线日志下载。 | 实时日志检索和分析。 |
实时性 | CDN 按小时粒度将采集日志汇总成日志文件供您下载。因此,日志的延时最长会超过 1 个小时。 | CDN 将日志实时投递到日志服务。这样,您就可以对日志进行实时查询。日志的延时在 5 分钟以内。 |
使用成本 | 您需要自行下载和存储离线日志。您还需要有分析工具来帮助您分析日志。日志下载是免费的。 | 实时日志是 CDN 投递到您指定位置的。实时日志虽然是收费的,但是费用很低。 |
实时日志功能是收费的。费用由以下部分组成:
日志投递的费用。CDN 对投递的日志进行计费。计费单位是万条。关于日志投递计费的详细信息,参见 内容分发网络的计费说明。
日志服务的费用。日志服务对日志存储,日志的读写流量等进行计费。关于日志服务计费的详细信息,参见 日志服务的计费说明。
要开通实时日志投递,遵照以下步骤:
打开 内容分发网络控制台的服务概览页面。
在页面右侧的 计费方式 下方,找到 实时日志计费。
点击 开通计费。
CDN 投递的请求日志中包含以下字段:
字段 | 说明 | 示例 |
---|---|---|
time | 表示 CDN 完成响应请求的时间,也就是 CDN 传输完文件最后一个字节的时间。 | 23/Oct/2022:17:48:59 +0800 |
client_ip | 表示发送请求的客户端 IP 地址。 | 116.170.120.238 |
client_ip_country | 表示客户端 IP 地址所归属的国家。 | 中国 |
client_ip_isp | 表示客户端 IP 地址所归属的中国网络运营商。 | 电信 |
client_ip_province | 表示客户端 IP 地址所归属的中国省级行政区。 | 北京 |
client_port | 表示请求使用的客户端端口。 | 37030 |
domain | 表示请求 URL 中的域名,也就是您的加速域名。 | cdn.example.com |
ds_http_bd_status_hit | 表示请求是否命中 CDN 的缓存。该参数的取值如下:
|
|
ds_http_method | 表示请求使用的方法。 | GET |
ds_http_protocol | 表示请求使用的 HTTP 协议版本。 | HTTP/3 |
ds_http_range | 表示请求中的 Range 头部的值。如果请求不包含该头部,该参数值为 - 。 | bytes=200-1000 |
ds_http_referer | 表示请求中的 Referer 头部的值。如果请求不包含该头部,该参数值为 - 。 | https://example.com/index?version=123 |
ds_http_resp_content_length | 表示请求文件的大小。单位是 bytes。 | 500 |
ds_http_resp_content_type | 表示 CDN 响应中 Content-Type 头部的值。如果响应不包含该头部,该参数值为 - 。 | image/jpeg |
ds_http_resp_size | 表示 CDN 向用户传输的数据量,单位是 bytes。 | 573 |
ds_http_scheme | 表示请求 URL 中的 scheme。 | HTTPS |
ds_http_status | 表示 CDN 的响应状态码。 | 200 |
ds_http_ua | 表示请求中的 User-Agent 头部的值。如果请求不包含该头部,该参数值为 - 。 | curl/7.85.0 |
ds_http_uri | 表示请求 URL 中的路径和查询字符串,以斜杠(/)开头。 | /volcano.png?version=1 |
ds_http_uri_path | 表示请求 URL 中的路径,以斜杠(/)开头。 | /img/volcano.png |
ds_http_uri_query | 表示请求 URL 中的查询字符串。 | version=1&colar=red |
ds_req_time | 表示 CDN 响应用户请求所耗费的平均时间,单位是秒。 对于一个用户请求,CDN 的响应耗时是以下两个时间点之间的时间跨度:
|
|