块存储监控与服务压测调优利器-EBS Lens发布
简介:SLS团队联合EBS团队发布了EBS Lens,针对块存储提供数据分析、资源监控的功能,可以帮助用户获取云上块存储资源信息与性能监控数据、提升云上块存储资源的管理效率、高效分析业务波动与资源性能消耗情况。
EBS监控现状
块存储是阿里云为云服务器ECS提供的块设备产品,具有高性能和低时延的特点。临近双十一,在大促的时候,磁盘IO往往是运维的重点,如果磁盘被打爆了,那么关键的业务可能会停滞甚至崩溃。EBS监控目前存在几个问题
- 块存储提供的原生监控仅限制在单实例级别,只能查看单个云盘的性能监控,缺少对全局云盘状态的监控,如果云盘数量很多,那么云盘状态的监控就非常麻烦
- 通过SLS Logtail, Telegraf或者云监控agent等,可以实现对单个ECS实例所有云盘的状态的监控。但是这些监控方式都是侵入式的,agent的安装、监控大盘的维护、云盘实例监控精细化控制、以及跨ECS实例的监控,对于用户来说,都有很大的学习成本和代价
- 分析维度单一,以上场景下,对云盘的监控和分析还是基于云盘id的,而云盘资产本身的属性也包含很多信息。比如用户想看到一个自己所有云盘资产的大图、各个地域的云盘分布、各个云盘类型的比例等信息,都是很难做到的。
正是考虑到用户对EBS监控的使用有如上的痛点,SLS团队联合EBS团队发布了EBS Lens(Lens, 透镜的意思,取名为Lens意味着洞察云产品细微的变化),针对块存储提供数据分析、资源监控的功能,可以帮助用户获取云上块存储资源信息与性能监控数据、提升云上块存储资源的管理效率、高效分析业务波动与资源性能消耗情况。
EBS Lens产品特点
自动化数据采集
EBS Lens开启后,SLS会自动从用户的EBS资产中拉取云盘列表。进入APP后首先展示的就是接入管理页面,在这个页面,可以看到EBS云盘全局的一个管理视图,包含以下信息:
- 展示当前接入的云盘总量、数据采集的云盘数量、云盘的地域和目标存储库的数量。
- 展示EBS实例信息。例如,实例ID、标签、云盘种类、云盘类型、可用区信息、采集状态、采集操作等信息。如果用户在开启EBS Lens之后,对EBS云盘有新建、更新和删除操作的话,SLS会自动更新这里的云盘列表
采集配置
EBS云盘资产同步过来之后,需要用户开启云盘资产的监控数据采集。在这里,我们提供两种采集方式,一种是供用户进行精细化管理的手动采集,还有一种是在EBS云盘数量过多的情况下,方便用户全局管理的自动化采集。
手动采集
- 支持对单个实例的采集状态进行管理
- 考虑到EBS实例数量会比较多,这里支持在单个分页下面进行批量开启/批量关闭操作
自动化采集
- 可以使用地域、实例ID、付费类型、磁盘类型、标签等属性设置采集条件。
- 标准模式下各个条件之间为且关系。高级模式下,您可以灵活组合与嵌套条件。
配置保存之后,自动化采集立刻开启。所有满足条件的云盘,都会自动打开日志采集,从而省去了手动操作的步骤,另外当实例有所增减的时候,自动化采集也能够感知实例的变化,进行相应的调整。
存储库信息展示
开启云盘监控数据采集之后,SLS会从EBS云盘上拉取监控数据,然后投递到用户配置的目标存储库里,以时序数据的形式进行存储,在目标存储库这个tab里,支持的功能有:
- 支持查看存储目标库的地域、数据保存时间
- 支持数据保存时间的调整
- 点击目标库,可以进入SLS的project页面,查看原始监控数据
EBS云盘资产同步、日志采集开启之后,EBS Lens就有了EBS云盘资产和云盘的监控数据了,基于这两个数据,EBS Lens做了两个监控大盘,资源概览和性能分析页面。
多维度数据聚合与丰富的数据指标类型
- 资源概览页面,提供一个全局的资产大盘,默认按照用户维度,提供用户账号下所有云盘的统计信息,包括:
- 云盘总数量
- 云盘总容量
- 云盘实例所属地域个数
- 云盘实例所属可用区个数
- 启用快照云盘占比
- 加密云盘占比
- Top10容量的区域
- Top10容量的可用区
- 云盘类型容量分布
- 付费类型容量分布
- 除了账号的维度外,还支持对地域、付费类型、磁盘类型进行筛选,充分满足用户的各种统计需求
高精度的数据监控粒度
- 性能分析页面提供了一个全局的云盘监控大盘,默认会统计用户账号下所有磁盘关键指标的监控,包括
- 吞吐量
- 总的吞吐量变化曲线
- 读/写吞吐存储Top100的实例,以及吞吐变化曲线
- IOPS
- 总的IOPS变化曲线
- 读写IOPS Top100的实例,以及IOPS变化曲线
- 性能分析页面还支持对地域、付费类型、云盘类型、云盘id进行筛选,满足用户精细化监控的需求
- 云盘监控粒度为10s,监控延迟为10s内,对于抖动类场景可以有效进行监控
使用场景
EBS Lens有这么便捷的管理方式以及丰富、多维度的监控指标,下面我们列举了几个常用的场景,来详细说明下EBS Lens的功能:
监控场景
下面我们模拟日常常见的磁盘IO异常的场景,展示下EBS Lens的在监控场景下的应用。
环境准备
- 首先我们创建一个云盘,或者使用已有的云盘,挂载到ECS实例上。挂载云盘的操作参见:
- 将账号下所有云盘通过自动化采集配置,打开监控数据采集
- 打开性能分析页面,确认云盘监控数据已接入进来
异常模拟
我们进入ECS实例中,使用dd来模拟一个对磁盘的异常写入的操作:
EBS Lens监控结果
配合SLS的告警功能
服务压测和性能调优
除了监控场景,EBS Lens在服务压测和性能调优的场景,同样有非常大的作用。所有关于性能方面的测试,最关键的基础设施就是监控指标。EBS Lens性能分析大盘就可以提供云盘实时的性能指标,这可以有效的帮助用户快速定位云盘是否存在性能瓶颈。我们模拟一个简单的写入场景:大量级的数据要以最快的速度写到磁盘上。
环境准备
- 我们采用跟上面环境一样的ECS环境,在这个场景下我们指定一个固定的云盘做测试
- 在EBS Lens的页面打开该云盘的监控数据采集
场景模拟
第一版本,这里使用FIO模拟性能比较差的一个随机写的实现场景:
fio -filename=/mnt/test1 -direct=1 -iodepth 1 -thread -rw=randwrite -ioengine=psync -bs=16k -size=2G -numjobs=10 -runtime=60 -group_reporting -name=mytest
通过EBS Lens的监控,我们发现云盘的吞吐和IO比较低,远远没有达到云盘的性能上限,分别为15MB/s,900。参考块存储性能指标文档:参考
fio -filename=/mnt/test2 -direct=1 -iodepth 1 -thread -rw=write -ioengine=psync -bs=16k -size=2G -numjobs=10 -runtime=60 -group_reporting -name=mytest
通过EBS Lens的监控,吞吐达到了47MB/s,而IOPS达到了3000左右。
fio -filename=/mnt/test2 -direct=1 -iodepth 1 -thread -rw=write -ioengine=psync -bs=64k -size=2G -numjobs=10 -runtime=60 -group_reporting -name=mytest
通过EBS Lens的监控,吞吐达到了143MB/s,而IOPS下降到了2300左右。由此可以看到有了EBS Lens之后,对于磁盘IO的性能测试和调优,是多么的方便。
附录
说明
- EBS Lens目前处于公测期灰度开放中,如果有兴趣要试用,可以通过工单联系我们
- EBS Lens公测期相关功能全部免费,公测期结束前会提前进行公示,公测结束后,费用计算可以参考
参考文档
- EBS Lens帮助文档:
- EBS Lens前端入口:
- SLS各个云产品日志应用文档列表:
原文链接
本文为阿里云原创内容,未经允许不得转载。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2020-11-26 深度解读 MongoDB 最全面的增强版本 4.4 新特性
2019-11-26 阿里云基于OSS的云上统一数据保护方案2.0正式发布
2018-11-26 阿里工业互联网平台“思考”:一场从0到1的蜕变
2018-11-26 关于Flutter初始化流程,我必须告诉你的是...
2018-11-26 用深度学习预测专业棋手走法
2018-11-26 阿里AI设计师一秒出图,小撒连连惊呼,真相是...
2018-11-26 想成为数据科学家?先做到这6点吧!