塊存儲監控與服務壓測調優利器 - EBS Lens 發布
EBS監控現狀
塊存儲是阿里云為云服務器ECS提供的塊設備產品,具有高性能和低時延的特點。臨近雙十一,在大促的時候,磁盤IO往往是運維的重點,如果磁盤被打爆了,那么關鍵的業務可能會停滯甚至崩潰。EBS監控目前存在幾個問題
1.塊存儲提供的原生監控僅限制在單實例級別,只能查看單個云盤的性能監控,缺少對全局云盤狀態的監控,如果云盤數量很多,那么云盤狀態的監控就非常麻煩
2.通過SLS Logtail, Telegraf或者云監控agent等,可以實現對單個ECS實例所有云盤的狀態的監控。但是這些監控方式都是侵入式的,agent的安裝、監控大盤的維護、云盤實例監控精細化控制、以及跨ECS實例的監控,對于用戶來說,都有很大的學習成本和代價
3.分析維度單一,以上場景下,對云盤的監控和分析還是基于云盤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實例上。掛載云盤的操作參見:https://help.aliyun.com/document_detail/25446.html?spm=a2c6h.13066369.0.0.57b1e42fgsiBLE&source=5176.11533457&userCode=ffsbbyn0&type=copy,注意云盤掛載到ECS實例后,必須創建分區和文件系統,使云盤變為可用。
將賬號下所有云盤通過自動化采集配置,打開監控數據采集
3.打開性能分析頁面,確認云盤監控數據已接入進來
異常模擬
我們進入ECS實例中,使用dd來模擬一個對磁盤的異常寫入的操作:
EBS Lens監控結果
在EBS Lens性能分析頁面,從大盤里,我們發現有一塊磁盤的吞吐量和IOPS迅速提升到TOP1。為了查看磁盤的詳細指標,我們在過濾框內輸入磁盤id,可以看到這個磁盤在選定時間范圍內吞吐量和IOPS的變化。而該實例id,正是我們模擬的寫入異常的磁盤。在線上,如果出現類似的問題,那么接下來我們就該去進行詳細的問題定位,比如異常的服務日志打印、不合理的數據落盤等。通過調整時間范圍,對于設置ttl范圍內的數據,EBS Lens都支持在該頁面進行展示,對于故障的復盤和分析也是有非常大的幫助的。
配合SLS的告警功能https://help.aliyun.com/document_detail/207608.html,用戶完全可以自動化的監控云盤的性能,準確定位異常云盤。
服務壓測和性能調優
除了監控場景,EBS Lens在服務壓測和性能調優的場景,同樣有非常大的作用。所有關于性能方面的測試,最關鍵的基礎設施就是監控指標。EBS Lens性能分析大盤就可以提供云盤實時的性能指標,這可以有效的幫助用戶快速定位云盤是否存在性能瓶頸。我們模擬一個簡單的寫入場景:大量級的數據要以最快的速度寫到磁盤上。
環境準備
1.我們采用跟上面環境一樣的ECS環境,在這個場景下我們指定一個固定的云盤做測試
2.在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。參考塊存儲性能指標文檔:參考https://help.aliyun.com/document_detail/25382.html
因此我們再對寫入腳本進行優化,把隨機寫的實現改成了比較好的順序寫的實現:
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左右。
通過塊存儲性能指標文檔我們得知,SSD云盤的性能因數據塊大小而異,數據塊越小,吞吐量越小,IOPS越高。因此為了提高吞吐量,我們考慮提高單次寫入的數據塊大?。?/p>
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目前處于公測期灰度開放中,如果有興趣要試用,可以通過工單聯系我們https://selfservice.console.aliyun.com/ticket/category/sls/recommend/3868,試用過程中有任何問題也可以直接聯系到我們
EBS Lens公測期相關功能全部免費,公測期結束前會提前進行公示,公測結束后,費用計算可以參考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