使用SLS统计分析三方CDN回源OSS月95带宽实践

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
对象存储 OSS,内容安全 1000次 1年
简介: 本文介绍通过使用阿里云日志服务SLS,对存储在SLS中的三方CDN回源阿里云OSS的监控日志数据,进行自定义查询分析之后得到按照不同运营商、不同业务类型(CND)纬度下,回源OSS的带宽月95量级数据,用于业务统计分析。

1. SLS介绍

日志服务SLS是云原生观测与分析平台,为Log、Metric、Trace等数据提供大规模、低成本、实时的平台化服务。日志服务一站式提供数据采集、加工、查询与分析、可视化、告警、消费与投递等功能,全面提升研发、运维、运营、安全等场景的数字化能力。

2. 需求场景描述

基于阿里云OSS为源站,并结合三方CDN,可以搭建起对外提供公网的服务。将三方CDN回源阿里云OSS的监控数据存储在日志服务SLS中,需要SLS中获取三方CDN回源OSS的相关监控数据,用于业务统计分析。
相应的监控日志简化样例如下:
image.png
不同业务场景(CDN)、域名和运营商之间的对应关系示例如下:
image.png
具体需求:基于存储在SLS中的三方CDN回源阿里云OSS的监控数据,需要得到按照运营商纬度,来区分不同业务类型(CND)下回源OSS的带宽月95量级数据,用于业务统计分析。

3. SLS解决方案呈现

3.1 前置资源准备

  • 已创建Linux系统ECS服务器
  • 已创建用于存储不同业务场景(CDN)、域名和运营商之间对应关系的CSV格式文件
  • 已创建对象存储OSS,并把CSV文件上传至OSS
  • 已开通SLS服务,创建Project并在该Project下创建Logstore1和Logstore2

3.2 构造模拟日志

为验证基于SLS满足该需求的解决方案可行性,按照日志样例在阿里云Linux服务器上构造模拟日志,在root/usr/local/logs路径下创建cdn.log文件,在文件中输入JSON格式的日志数据如下。
image.png

3.3 Logtail采集日志

在SLS中创建Project,创建Logstore1用来存放采集的Linux服务器模拟日志,Logtail的采集配置如下:日志路径为usr/local/logs/cdn.log,模式为JSON模式。由于构造的模拟日志不是实时产生的,因此在模拟日志接入Logstore1后,需要vim cdn.log打开日志文件编辑并关闭一次之后,数据才会被采集到Logstore1。
image.png
Logstore1中成功采集到的模拟日志数据如下所示:
image.png

3.4 外表数据导入

由于需求是想得到按照运营商纬度,区分不同业务类型(CND)下回源OSS的带宽月95量级数据。因此需要创建一个外表用于存储业务场景(CDN)、域名和运营商之间的对应关系,并把外表数据导入到俞Logstore1相同Project下的Logstore2中,用于跨两个Logstore之间的数据联合查询分析。
首先创建CSV格式文件,用于存储业务场景(CDN)、域名和运营商三者之间的对应关系。并把CSV文件导入到Logstore2中,导入配置中的数据格式选择为CSV。
查询分析配置如下,关闭全文索引。
image.png
Logstore2中查询到的日志数据如下:
image.png

3.5 联合查询分析

通过使用估算函数approx_percentile(x, percentage),对月带宽值进行正序排列,返回大约处于95位置的数值,具体为approx_percentile(get_throughput, 0.95)。
估算函数approx_percentile结合join、group_by、oder_by子句,在Logstore1的查询框里输入如下语句:
image.png
返回如下结果:第一列为不同运营商、第二列为不同业务类型(CDN)、第三列尾运营商纬度下不同业务类型(CDN)的月带宽95量级。
image.png
在统计图表中的运营商列,检索框中输入CMM,即可得到运营商为中国移动情况下,SCDN、TCDN和PCDN三个业务类型下的月带宽95量级数据,从而可满足统计分析的需求。
image.png

4. 解决方案举一反三

若具体需求是想得到按照业务类型(CDN)纬度,区分不同运营商情况下回源OSS的带宽月95量级统计数据。则查询分析的SQL语句修改如下(仅调换字段的顺序即可)。
image.png
返回如下结果:第一列为不同业务类型(CDN)、第二列为不同运营商、第三列尾业务类型(CDN)纬度下不同运营商的月带宽95量级。
image.png
在统计图表中的业务类型列,检索框中输入SCDN,即可得到自建CDN情况下,中国移动、中国电信和中国联通三个运营商的月带宽95量级数据,从而可满足统计分析的需求。
image.png

5. 总结

阿里云SLS支持的SQL语法中的JOIN子句用于连接多个表,支持跨Logstore和MySQL、Logstore和OSS、Logstore和Logstore之间数据的联合查询,以满足不同业务分析统计场景的需求。

目录
相关文章
|
4月前
|
存储 安全 API
利用对象存储(OSS)实现内容分发加速 :高效可靠的解决跨境下载延迟问题
利用对象存储(OSS)实现内容分发加速 :高效可靠的解决跨境下载延迟问题
98 2
|
7月前
|
存储 API 对象存储
使用对象存储OSS实现内容分发加速
通过本教程的操作,您可以在OSS中创建bucket并上传数据,可以开通OSS传输加速对OSS数据进行加速访问,从而为游戏服务器分担下载请求,并为用户带来加速体验。
10889 22
使用对象存储OSS实现内容分发加速
|
3月前
|
存储 监控 BI
OSS日志查询
实时日志查询功能将OSS与日志服务SLS相结合,允许您在OSS控制台直接查询OSS的访问日志
31 1
|
8月前
|
监控 安全 BI
使用日志服务SLS进行OSS可观测分析
本场景主要介绍如何使用SLS提供的CloudLens for OSS功能针对对象存储OSS进行可观测分析,包括资源用量、访问分析、安全分析、异常检测等角度。
363 0
|
5月前
|
缓存 API 对象存储
一看就懂:我是如何使用OSS提供的CDN服务的?
一看就懂:我是如何使用OSS提供的CDN服务的?
185 1
|
5月前
|
对象存储 开发者
【获奖名单公示】1024·云上见 使用对象存储OSS实现内容分发加速
仅展示获取实物奖品用户,公示截止至12月14日。
450 1
|
7月前
|
存储 运维 监控
OSS生命周期管理与访问行为分析实践
认证考试:OSS生命周期管理与访问行为分析实践
|
8月前
|
对象存储
OSS镜像回源不支持HEAD请求吗
OSS镜像回源不支持HEAD请求吗
|
9月前
|
对象存储 索引 消息中间件
备份日志和索引到阿里云OSS
备份日志和索引到阿里云OSS
|
9月前
|
前端开发 API 开发工具
阿里云oss开发实践:大文件分片、断点续传、实时进度 React+Node+Socket.IO
阿里云oss开发实践:大文件分片、断点续传、实时进度 React+Node+Socket.IO
874 1