文档中心 CDN Pro 实时日志

实时日志

更新时间:2023-09-20 14:01:59

实时日志概述

当您通过CDN Pro平台分发内容资源时,CDN Pro平台会产生大量的日志数据。通过开启实时日志服务,可将这些日志数据实时流式传输到您指定的日志存储服务器端点。您可对上报的日志进行日志分析和数据挖掘,以快速发现和定位问题,提高数据的决策能力,快速洞察业务情况。以下将为您介绍如何配置上报CDN Pro实时日志。

前提条件:实时日志是CDN Pro的高级日志功能,使用实时日志前您需要联系网宿技术支持为您开通权限。

配置上报实时日志

点击加速项目【实时日志】页签,进行实时日志传输参数配置。您可根据您的需要进行如下配置:

中国品牌日丨网宿科技获百亿级品牌价值评估

上报URL:配置您接收实时日志的地址,CDN Pro将采用https/https的方式将实时日志流式投递到您指定的地址目录下。填写完上报URL后,点击输入框后面的【验证】按钮,系统将自动检测上报URL的服务器IP连通性,以确保您填写了一个有效的日志接收地址。

采样率:当实时日志条数太多,您想对日志进行抽样以减少日志条数的时候,您可以配置采用率参数。配置值为N表示每N个请求上报一条日志;配置值为0表示关闭日志上报;配置值为空则默认值为10。其中,抽样率配置项对应nginx配置指令realtime_log_downsample,您也可以通过在边缘逻辑中使用该指令来进行采样率配置,通过界面配置和指令配置,均会在nginx的指定位置(location)下生效。

转义方式:配置实时日志上报的转义格式。若您希望通过Json格式来传输日志,则此处请选择“JSON”选项。如果您对日志传输没有格式转义要求,请直接选择“None”选项。

格式:自定义配置您需要上报的日志变量(即日志字段)。如果转义方式选择了"JSON”,请按照JSON格式配置日志变量;如果转义方式选择了“None”,每个字段采用空格分隔。CDN Pro支持配置的实施日志变量,请参阅读本文实时日志变量列表

上报请求头和值:您可在此处定义一些实时日志上报的请求头部及其头部值,便于您的上报URL端点服务器识别CDN Pro上报的实时日志。例如,处于服务器访问安全性考虑,若您希望对上报URL所在服务器进行访问鉴权,您就可以在此处定义一些鉴权头部,CDN pro将在上报实时日志的时候带上这些鉴权头部。

实时日志变量列表

变量 说明
$body_bytes_sent 响应体的大小(body)。
$bytes_sent 响应的大小,包括响应体、响应头部和响应行(body、headers、line)。
$client_country_code 请求客户端所在的国家/地区,国家/地区编码遵循国际标准 ISO 3166-1 (例如美国是 US ,中国是 CN )。如果是未知国家或地区,则返回 ZZ 。
$client_real_ip 请求客户端的 IP 。
$content_code 为日志标记内容代码,用于按照自定义内容代码维度进行报表分类统计。只能写入文本字符串,不允许写入变量。
$cookie_x 从原始请求中获取命名为 x 的 cookie 参数值。例如,变量名配置为 $cookie_account ,则检索名为 account 的 cookie 参数的值。
$http_x 从原始请求中获取命名为 x 的 HTTP 头部值。HTTP头部名称需转换为小写,使用下划线替代破折号。例如,变量名配置为 $http_user_agent ,则检索名为 User-Agent 的 HTTP 头部值。
$msec 当前 Unix时间戳(包含毫秒的小数部分),单位:秒。
$qtl_req_id 表示请求的唯一标识符。
$request_uri HTTP 请求的 URI。
$request_method 回源请求的 HTTP 请求方法(method)。
$request_time 响应时间,单位:毫秒。从接收到请求的第一个字节开始到提供响应的最后一个字节结束之间的时间。
$sc_completed 1 表示对象的最后一个字节已提供给用户;否则为 0。
$sc_initial 1 表示对象的第一个字节已提供给用户;否则为 0。
$scheme 用户请求的协议(http或https)。
$sent_http_content_length 原始文件大小。
$sent_http_x 从给客户端的请求响应中获取命名为 x的 HTTP 头部值。HTTP头部名称需转换为小写,使用下划线替代破折号。例如,变量名为 $sent_http_etag ,则检索名为 ETag 的 HTTP 头部值。
$server_addr 服务的边缘节点 IP 。
$server_protocol 用户请求使用的 HTTP 版本( HTTP/1.0、HTTP/1.1 或 HTTP/2.0 )。
$ssl_cipher 客户端请求和边缘节点进行 TLS/SSL 连接的密码套件。
$ssl_server_name 客户端请求 TLS/SSL 连接尝试访问的主机名。只有支持服务器名称指示 (Server Name Indication,简称SNI)的客户端会发送该变量。
$ssl_protocol 客户端请求和边缘节点进行 TLS/SSL 连接的 TLS 版本(SSLv3、TLSv1、TLSv1.1、TLSv1.2 和 unknown 等)。
$status 用户请求的 HTTP 响应状态码。
$tcpinfo_rtt 数据包到达目的地并返回所用的时间,单位:微秒。

逐条上报VS聚合上报

逐条上报:默认情况下,CDN Pro的全球分布式节点在接收到请求后会将实时日志逐条上报,不会对这些日志数据做聚合及落地。此时,从日志采集到数据上报完成大约是30秒完整性99.9%,特定情况下会超过30秒。若您对日志数据分析时效性要求比较高,您可以使用默认的逐条上报方式。

聚合上报:若您除了对日志时效性有要求之外,还需要CDN Pro日志集群提前为您做一些数据的聚合预处理来降低您的日志处理压力,您可以选择开启聚合上报方式。由于实时日志汇聚需要CDN Pro的数据集群为您做一些预处理,会产生额外的机器及传输消耗,因此我们会向您收取高级日志服务费,您可以联系网宿商务为您开通改服务。

本篇文档内容对您是否有帮助?
有帮助
我要反馈
提交成功!非常感谢您的反馈,我们会继续努力做到更好!