1. CloudLens for OSS介绍
日志服务联合阿里云OSS推出CloudLens for OSS,支持Bucket粒度的统一管理视图,支持资源用量、访问分析、异常检测、安全分析等可视化分析能力,提供场景化运维管理,实现Bucket资产的可观测性。
本文介绍通过CloudLens for OSS计量日志的自定义查询分析,来构建不同Bucket之间资产趋势可观测性对比分析。
2. 需求场景描述
通常使用OSS时,不同的Bucket用于存放业务系统中不同应用的数据。需要在一个视图上能够看到OSS中,某一时间段内不同Bucket之间整体存储容量的趋势对比,用于判断不同应用Bucket数据量走势,从而进行相应的业务应用规划操作。
但是在OSS控制台概览的【存储用量】界面,只能看到所有Bucket的总存储容量趋势,无法看到所有单个Bucket纬度的存储容量对比趋势,如下图所示。
在Cloud Lens for OSS【报表中心】中【资源用量】的界面,同样也是只能看到所有Bucket存储容量综合趋势,无法看到各Bucket之间的对比趋势,如下入所示。
3. 解决方案呈现
3.1 前置资源准备
- 已开通阿里云对象存储OSS服务
- 已创建不同的Bucket并上传相应的文件
- 已开通阿里云日志服务SLS
- 已开通SLS的CloudLens for OSS的功能
注:在开通CloudLens for OSS时,会默认开通计量日志和时序监控数据日志的功能,访问明细日志需要手动单独开通。CloudLens for OSS支持计量日志(最近60天免费)、时序监控数据(最近60天免费)、访问明细日志(最近7天免费,限额900GB/天的日志写入额度(如果一条日志为1KB,约为9亿条))的查询分析。超出部分,由日志服务单独收费。
3.2 解决方案内容
由于查看OSS的存储容量趋势,需要对OSS的计量日志进行查询和统计分析,因此需要在Cloud Lens for OSS【查询分析】功能中的【计量日志】界面,对OSS的计量日志进行自定义查询和分析。
可以自定义查询分析所有Bucket或指定Bucket之间的存储容量趋势对比,相应的查询分析语句如下。
返回的结果如下图所示,在统计图表中可以到,在本周内所有Bucket之间存储容量的对比趋势。
返回的结果如下图所示,在统计图表中可以到,在本周内重点关注的4个业务应用的Bucket:bucket1、bucket2、bucket3和bucket4之间的存储容量对比趋势。
以上便通过SLS的Cloud Lens for OSS功能,实现了在一个界面中能够看到OSS,某一时间段内不同Bucket之间存储容量的趋势对比,从而可以以此为依据,对业务系统中不同应用的发展趋势进行对比和分析。
4. 方案推广举一反三
通常除了有分析OSS 不同Bucket存储容量对比趋势的需求之外,用户还比较关心的是各个Bucket的外网流传流量、CDN流出流量和GET请求次数。在OSS计量日志中,上述参数对应的日志字段如下图所示,全部字段详情参考日志字段详情。
只需要在SLS的Cloud Lens for OSS功能中,【计量日志】自定义查询分析的输入框里,把之前查询分析存储容量SQL语句中的round(sum(storage/1024/1024), 2) as "存储容量"修改为查询相应参数的语句即可。如统计分析指定Bucket GET请求的趋势,语句可修改为round(sum(get_request), 2) as "GET请求次数",具体SQL语句如下。
返回的结果即为不同Bucket的GET请求之间的趋势对比。
同样,也可以对OSS不同Bucket的外网流出流量趋势等参数,通过SLS的Cloud Lens for OSS自定义查询分析,进行统计分析和趋势对比,从而能够让日志数据更好地反哺和赋能于业务的发展。
5. 总结
日志服务SLS的CloudLens for OSS,不仅可以通过对【计量日志】进行自定义查询分析(存储容量、流出流量、请求次数等),用来构建Bucket级别资产可观测性;还可以通过对【访问明细日志】进行自定义查询分析(并发请求数,响应延迟,带宽占用等),用来构建服务端性能指标的可观测。