本文介绍如何使用实时日志功能对用户访问日志进行分析。
概述
阿里云CDN产品的实时日志功能是CDN产品与SLS产品联合推出的一项功能,是一种时效性非常高(延迟在3分钟左右)的日志数据处理服务,能够将CDN节点上采集到的用户访问日志实时推送至SLS日志服务,然后可以通过SLS来存储和分析用户访问数据。在使用阿里云CDN产品来加速网站域名访问速度的情况下,用户访问网站的图片、视频等资源时,CDN会记录用户的访问日志,如果您需要对用户访问日志进行分析来了解用户构成、访问质量或者快速定位问题,您可以使用实时日志功能来快速实现。
前提条件
CDN提供的实时日志与离线日志服务的区别
日志延迟
CDN实时日志为实时采集的日志数据,日志数据延迟不超过3分钟,而离线日志的数据延迟通常在24小时之内。
日志分析
CDN实时日志打通了SLS日志服务的日志转存和日志分析能力,预制了CDN基础数据、CDN错误分析、CDN热门资源、CDN用户分析这四张常用分析报表,也支持自定义日志分析策略,可以一站式提供日志存储和日志分析能力,而离线日志目前只支持日志转存OSS云存储,尚未打通日志分析能力。
实时日志服务的优势
日志延迟小
日志数据延迟不超过3分钟,可以帮助用户您快速对访问日志进行分析,及时发现问题和决策应对。
一站式服务
传统的离线日志分析模式,需要用户将日志下载,再重新上传至数据仓库,然后在数据仓库进行一系列的清洗和数据模型定义,这一系列操作处理完以后才能进行数据分析,整个过程需要的人力较多,时间较长;CDN实时日志打通了SLS日志服务的日志转存和日志分析能力,免去传统模式下繁琐的离线日志分析流程。
适用场景
实时日志可以帮助您分析加速域名遇到的异常问题,也可以帮助您了解用户的访问情况。阿里云CDN实时日志在提供预制日志分析报表的同时,还支持自定义日志分析策略,可以满足不同场景下的需求。
预制的日志分析报表
日志分析场景 | 报表作用描述 |
CDN基础数据 | 该数据可以帮助您可以快速了解到CDN整体的服务质量以及终端用户的访问效率(命中率、访问延时、下载速度等),同时也可以在服务质量出现异常情况下及时进行处理。 |
CDN访问错误 | 该数据可以帮助您在应用访问出现异常时,快速定位到CDN服务问题的源头,例如:部分URI问题、源站出现故障、部分节点不可用、部分省份网络问题、部分运营商网络问题等。 |
CDN热门资源 | 该数据可以帮助您更好地了解热门资源情况,分析出热门域名、热门URI、热门省份、热门运营商等,您也可以从热门数据了解到您的运营活动效果是否正常、热点时间内流量的上涨是否符合预期,以帮助您及时调整运营策略。 |
CDN用户构成 | 该数据可以帮助您更好地了解网站的用户构成,包括用户的客户端类型、省份、运营商等,也能够统计出访问TOP用户、下载量TOP用户。 |
在实时日志功能页面找到需要分析日志的Project名称,然后单击查看报表即可进入日志分析报表模板的查看页面。
在数据查询模板页面,默认情况下查询的是全量域名的数据,也可以查询指定域名或者URI的数据。
具体使用方法您可以参考以下几个章节:
自定义日志分析
在预制的日志分析报表无法满足您的需求时,您可以使用SLS产品强大的日志分析能力来实现自定义日志分析。
例如:查看响应状态码为499的域名排行榜、查看响应状态码为502的域名排行榜。
在实时日志功能页面找到需要分析日志的Project名称,然后单击日志分析即可进入自定义日志分析功能的页面。
在自定义分析界面,您可以在搜索框里面输入查询语句直接查询日志数据(通常适用于比较复杂的查询条件),也可以直接单击左侧原始日志栏的日志字段来过滤日志(通常适用于比较简单的过滤条件)。
具体使用方法您可以参考:自定义报表
创建实时日志推送Project
您可以参考配置实时日志推送创建一个SLS日志服务的project,用于存储CDN产品指定域名(例如:aliyun.example.com)推送的实时日志。
创建成功的效果如下图,Project名称为project-example,Logstore名称为project-example,日志存储区域为cn-hangzhou(华东1-杭州)。
预制报表:CDN基础数据
CDN基础数据可以帮助您可以快速了解到CDN整体的服务质量以及终端用户的访问效率(命中率、访问延时、下载速度等),同时也可以在服务质量出现异常情况下及时进行处理。
包括以下数据(可以查看总的数据,也可以按域名或者URI查看):
健康度:响应正常的状态码总数占比。
缓存命中率:资源的平均缓存命中率(按字节数来统计的命中率)。
下载速度:资源的平均下载速度。
访问状态:每一种响应状态码的占比,可以用于快速查看当前异常状态码的占比。
访问延时分布:每一个延时段的占比。
请求带宽:分钟粒度的带宽值。
访问次数/人数:PV、UV值。
请求命中率:按请求数来统计的命中率。
访问延时:用于下载资源的平均访问延时。
预制报表:CDN访问错误
CDN访问错误数据可以帮助您在应用访问出现异常时,快速定位到CDN服务问题的源头,例如:部分URI问题、源站出现故障、部分节点不可用、部分省份网络问题、部分运营商网络问题等。
包括以下数据(可以查看总的数据,也可以按域名或者URI查看):
错误域名访问Top10:按不同域名访问产生的错误占比统计Top域名。
错误URI访问Top10:按不同URI下产生的错误占比统计Top URI。
请求错误百分比:分时间统计4xx、5xx状态码的占比。
错误请求状态分布:统计各个状态码的数量、占比。
错误运营商统计:统计不同运营商的4xx、5xx状态码数量。
错误按省份统计:统计不同省份的4xx、5xx状态码数量。
错误详情(4xx):统计不同省份、运营商的4xx状态码数量、占比。
错误详情(5xx):统计不同省份、运营商的5xx状态码数量、占比。
错误按客户端分布:统计不同的客户端UA(user-agent)对应的4xx、5xx状态码数量、占比。
预制报表:CDN热门资源
CDN热门资源数据可以帮助您更好地了解热门资源情况,分析出热门域名、热门URI、热门省份、热门运营商等,您也可以从热门数据了解到您的运营活动效果是否正常、热点时间内流量的上涨是否符合预期,以帮助您及时调整运营策略。
包括以下数据(可以查看总的数据,也可以按域名或者URI查看):
访问次数Top域名:按总访问次数占比统计Top域名。
下载流量Top域名:按总下载流量占比统计Top域名。
热门访问URI:统计各个URI的访问次数、访问人数、下载总量。
热门访问来源:统计热门Referer来源域名,并且记录访问次数、UV、占比。
全国访问次数统计:分别统计各个省份的平均访问次数。
全国下载网速:分别统计各个省份的平均下载速度。
省份统计:分别统计各个省份的总访问次数、总下载流量、平均下载速度。
运营商流量和速度:分别统计各个运营商的下载总量和平均下载速度。
运营商统计:分别统计各个运营商的总访问次数、总下载流量、平均下载速度。
预制报表:CDN用户构成
CDN用户构成数据可以帮助您更好地了解网站的用户构成,包括用户的客户端类型、省份、运营商等,也能够统计出访问TOP用户、下载量TOP用户。
包括以下数据(可以查看总的数据,也可以按域名或者URI查看):
访问次数:总访问次数,PV。
访问人数:总访问人数,UV。
访问地区分布:分别统计各个省份的访问次数、占比。
访问客户端统计:分别统计各个客户端类型的访问次数、占比。
运营商次数统计:分别统计各个运营商的总访问次数、占比。
下载量Top用户:按IP统计用户的总访问数、错误访问数、下载总量。
有效访问Top用户:按IP统计用户的总访问数、错误访问数、下载总量(去掉4xx、5xx这些无效访问)。
订阅报表模板数据
如果您需要SLS日志服务把报表模板的数据定期发送给您,那么您可以使用订阅功能。
操作步骤
以CDN基础数据页面为例,单击右上角的订阅,然后单击创建。
在侧滑出现的配置窗口中输入订阅名称、频率和全局时间,然后单击下一步。
在通知列表的下拉菜单中选择通知方式并填写相关信息后,单击提交即可创建成功。
通知方式目前支持邮件、WebHook-钉钉机器人、WebHook-飞书机器人、WebHook-企业微信机器人和微信。
自定义报表
示例1:查看最近30天内,响应状态码为499的域名排行榜。
日志分析语句:
return_code = 499| select domain , count(*) as c group by domain order by c desc limit 10
示例2:查看最近30天内,响应状态码为502的域名排行榜。
日志分析语句:
return_code = 502| select domain , count(*) as c group by domain order by c desc limit 10
示例3:查看最近30天内,访问URI为/cpu的日志数据。
可以直接单击左侧原始日志栏的URI字段,然后单击/cpu即可过滤出需要的日志。