塊存儲監(jiān)控與服務(wù)壓測調(diào)優(yōu)利器 - EBS Lens 發(fā)布
EBS監(jiān)控現(xiàn)狀
塊存儲是阿里云為云服務(wù)器ECS提供的塊設(shè)備產(chǎn)品,具有高性能和低時延的特點。臨近雙十一,在大促的時候,磁盤IO往往是運維的重點,如果磁盤被打爆了,那么關(guān)鍵的業(yè)務(wù)可能會停滯甚至崩潰。EBS監(jiān)控目前存在幾個問題
1.塊存儲提供的原生監(jiān)控僅限制在單實例級別,只能查看單個云盤的性能監(jiān)控,缺少對全局云盤狀態(tài)的監(jiān)控,如果云盤數(shù)量很多,那么云盤狀態(tài)的監(jiān)控就非常麻煩
2.通過SLS Logtail, Telegraf或者云監(jiān)控agent等,可以實現(xiàn)對單個ECS實例所有云盤的狀態(tài)的監(jiān)控。但是這些監(jiān)控方式都是侵入式的,agent的安裝、監(jiān)控大盤的維護、云盤實例監(jiān)控精細化控制、以及跨ECS實例的監(jiān)控,對于用戶來說,都有很大的學(xué)習(xí)成本和代價
3.分析維度單一,以上場景下,對云盤的監(jiān)控和分析還是基于云盤id的,而云盤資產(chǎn)本身的屬性也包含很多信息。比如用戶想看到一個自己所有云盤資產(chǎn)的大圖、各個地域的云盤分布、各個云盤類型的比例等信息,都是很難做到的。
正是考慮到用戶對EBS監(jiān)控的使用有如上的痛點,SLS團隊聯(lián)合EBS團隊發(fā)布了EBS Lens(Lens, 透鏡的意思,取名為Lens意味著洞察云產(chǎn)品細微的變化),針對塊存儲提供數(shù)據(jù)分析、資源監(jiān)控的功能,可以幫助用戶獲取云上塊存儲資源信息與性能監(jiān)控數(shù)據(jù)、提升云上塊存儲資源的管理效率、高效分析業(yè)務(wù)波動與資源性能消耗情況。
EBS Lens產(chǎn)品特點
自動化數(shù)據(jù)采集
EBS Lens開啟后,SLS會自動從用戶的EBS資產(chǎn)中拉取云盤列表。進入APP后首先展示的就是接入管理頁面,在這個頁面,可以看到EBS云盤全局的一個管理視圖,包含以下信息:
展示當(dāng)前接入的云盤總量、數(shù)據(jù)采集的云盤數(shù)量、云盤的地域和目標(biāo)存儲庫的數(shù)量。
展示EBS實例信息。例如,實例ID、標(biāo)簽、云盤種類、云盤類型、可用區(qū)信息、采集狀態(tài)、采集操作等信息。如果用戶在開啟EBS Lens之后,對EBS云盤有新建、更新和刪除操作的話,SLS會自動更新這里的云盤列表
采集配置
EBS云盤資產(chǎn)同步過來之后,需要用戶開啟云盤資產(chǎn)的監(jiān)控數(shù)據(jù)采集。在這里,我們提供兩種采集方式,一種是供用戶進行精細化管理的手動采集,還有一種是在EBS云盤數(shù)量過多的情況下,方便用戶全局管理的自動化采集。
手動采集
支持對單個實例的采集狀態(tài)進行管理
考慮到EBS實例數(shù)量會比較多,這里支持在單個分頁下面進行批量開啟/批量關(guān)閉操作
自動化采集
當(dāng)用戶云盤有幾百甚至上千個的時候,手動采集的管理方式顯然不能滿足需求,因此我們還提供了一個自動化采集的功能。自動化采集提供了圖形化的配置界面:
可以使用地域、實例ID、付費類型、磁盤類型、標(biāo)簽等屬性設(shè)置采集條件。
標(biāo)準(zhǔn)模式下各個條件之間為且關(guān)系。高級模式下,您可以靈活組合與嵌套條件。
配置保存之后,自動化采集立刻開啟。所有滿足條件的云盤,都會自動打開日志采集,從而省去了手動操作的步驟,另外當(dāng)實例有所增減的時候,自動化采集也能夠感知實例的變化,進行相應(yīng)的調(diào)整。
存儲庫信息展示
開啟云盤監(jiān)控數(shù)據(jù)采集之后,SLS會從EBS云盤上拉取監(jiān)控數(shù)據(jù),然后投遞到用戶配置的目標(biāo)存儲庫里,以時序數(shù)據(jù)的形式進行存儲,在目標(biāo)存儲庫這個tab里,支持的功能有:
支持查看存儲目標(biāo)庫的地域、數(shù)據(jù)保存時間
支持數(shù)據(jù)保存時間的調(diào)整
點擊目標(biāo)庫,可以進入SLS的project頁面,查看原始監(jiān)控數(shù)據(jù)
EBS云盤資產(chǎn)同步、日志采集開啟之后,EBS Lens就有了EBS云盤資產(chǎn)和云盤的監(jiān)控數(shù)據(jù)了,基于這兩個數(shù)據(jù),EBS Lens做了兩個監(jiān)控大盤,資源概覽和性能分析頁面。
多維度數(shù)據(jù)聚合與豐富的數(shù)據(jù)指標(biāo)類型
資源概覽頁面,提供一個全局的資產(chǎn)大盤,默認按照用戶維度,提供用戶賬號下所有云盤的統(tǒng)計信息,包括:
- 云盤總數(shù)量
- 云盤總?cè)萘?/li>
- 云盤實例所屬地域個數(shù)
- 云盤實例所屬可用區(qū)個數(shù)
- 啟用快照云盤占比
- 加密云盤占比
- TOP10容量的區(qū)域
- TOP10容量的可用區(qū)
- 云盤類型容量分布
- 付費類型容量分布
除了賬號的維度外,還支持對地域、付費類型、磁盤類型進行篩選,充分滿足用戶的各種統(tǒng)計需求
高精度的數(shù)據(jù)監(jiān)控粒度
性能分析頁面提供了一個全局的云盤監(jiān)控大盤,默認會統(tǒng)計用戶賬號下所有磁盤關(guān)鍵指標(biāo)的監(jiān)控,包括
吞吐量
總的吞吐量變化曲線
讀/寫吞吐存儲TOP100的實例,以及吞吐變化曲線
IOPS
總的IOPS變化曲線
讀寫IOPS TOP100的實例,以及IOPS變化曲線
性能分析頁面還支持對地域、付費類型、云盤類型、云盤id進行篩選,滿足用戶精細化監(jiān)控的需求
云盤監(jiān)控粒度為10s,監(jiān)控延遲為10s內(nèi),對于抖動類場景可以有效進行監(jiān)控
使用場景
EBS Lens有這么便捷的管理方式以及豐富、多維度的監(jiān)控指標(biāo),下面我們列舉了幾個常用的場景,來詳細說明下EBS Lens的功能:
監(jiān)控場景
下面我們模擬日常常見的磁盤IO異常的場景,展示下EBS Lens的在監(jiān)控場景下的應(yīng)用。
環(huán)境準(zhǔn)備
首先我們創(chuàng)建一個云盤,或者使用已有的云盤,掛載到ECS實例上。掛載云盤的操作參見:https://help.aliyun.com/document_detail/25446.html?spm=a2c6h.13066369.0.0.57b1e42fgsiBLE&source=5176.11533457&userCode=ffsbbyn0&type=copy,注意云盤掛載到ECS實例后,必須創(chuàng)建分區(qū)和文件系統(tǒng),使云盤變?yōu)榭捎谩?br /> 將賬號下所有云盤通過自動化采集配置,打開監(jiān)控數(shù)據(jù)采集
3.打開性能分析頁面,確認云盤監(jiān)控數(shù)據(jù)已接入進來
異常模擬
我們進入ECS實例中,使用dd來模擬一個對磁盤的異常寫入的操作:
EBS Lens監(jiān)控結(jié)果
在EBS Lens性能分析頁面,從大盤里,我們發(fā)現(xiàn)有一塊磁盤的吞吐量和IOPS迅速提升到TOP1。為了查看磁盤的詳細指標(biāo),我們在過濾框內(nèi)輸入磁盤id,可以看到這個磁盤在選定時間范圍內(nèi)吞吐量和IOPS的變化。而該實例id,正是我們模擬的寫入異常的磁盤。在線上,如果出現(xiàn)類似的問題,那么接下來我們就該去進行詳細的問題定位,比如異常的服務(wù)日志打印、不合理的數(shù)據(jù)落盤等。通過調(diào)整時間范圍,對于設(shè)置ttl范圍內(nèi)的數(shù)據(jù),EBS Lens都支持在該頁面進行展示,對于故障的復(fù)盤和分析也是有非常大的幫助的。
配合SLS的告警功能https://help.aliyun.com/document_detail/207608.html,用戶完全可以自動化的監(jiān)控云盤的性能,準(zhǔn)確定位異常云盤。
服務(wù)壓測和性能調(diào)優(yōu)
除了監(jiān)控場景,EBS Lens在服務(wù)壓測和性能調(diào)優(yōu)的場景,同樣有非常大的作用。所有關(guān)于性能方面的測試,最關(guān)鍵的基礎(chǔ)設(shè)施就是監(jiān)控指標(biāo)。EBS Lens性能分析大盤就可以提供云盤實時的性能指標(biāo),這可以有效的幫助用戶快速定位云盤是否存在性能瓶頸。我們模擬一個簡單的寫入場景:大量級的數(shù)據(jù)要以最快的速度寫到磁盤上。
環(huán)境準(zhǔn)備
1.我們采用跟上面環(huán)境一樣的ECS環(huán)境,在這個場景下我們指定一個固定的云盤做測試
2.在EBS Lens的頁面打開該云盤的監(jiān)控數(shù)據(jù)采集
場景模擬
第一版本,這里使用FIO模擬性能比較差的一個隨機寫的實現(xiàn)場景:
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的監(jiān)控,我們發(fā)現(xiàn)云盤的吞吐和IO比較低,遠遠沒有達到云盤的性能上限,分別為15MB/s,900。參考塊存儲性能指標(biāo)文檔:參考https://help.aliyun.com/document_detail/25382.html
因此我們再對寫入腳本進行優(yōu)化,把隨機寫的實現(xiàn)改成了比較好的順序?qū)懙膶崿F(xiàn):
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的監(jiān)控,吞吐達到了47MB/s,而IOPS達到了3000左右。
通過塊存儲性能指標(biāo)文檔我們得知,SSD云盤的性能因數(shù)據(jù)塊大小而異,數(shù)據(jù)塊越小,吞吐量越小,IOPS越高。因此為了提高吞吐量,我們考慮提高單次寫入的數(shù)據(jù)塊大小:
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的監(jiān)控,吞吐達到了143MB/s,而IOPS下降到了2300左右。由此可以看到有了EBS Lens之后,對于磁盤IO的性能測試和調(diào)優(yōu),是多么的方便。
附錄
說明
EBS Lens目前處于公測期灰度開放中,如果有興趣要試用,可以通過工單聯(lián)系我們https://selfservice.console.aliyun.com/ticket/category/sls/recommend/3868,試用過程中有任何問題也可以直接聯(lián)系到我們
EBS Lens公測期相關(guān)功能全部免費,公測期結(jié)束前會提前進行公示,公測結(jié)束后,費用計算可以參考https://help.aliyun.com/document_detail/31694.html
參考文檔
EBS Lens幫助文檔:https://help.aliyun.com/document_detail/338394.html
EBS Lens前端入口:https://sls.console.aliyun.com/lognext/profile