之前有一個系列的文章來講我們多雲系統的設計與落地,多雲系統實現了雲上資源的統一管理,同時基於關聯關係構建了清晰的資源拓撲,其中基於業務的資源拓撲應用最為廣泛,也就是我們通常所屬的服務樹,許多的使用場景都依賴服務樹來提供基礎資料
如何保證多雲系統提供的基礎資料是準確的?其中一個非常有效的方式就是讓上層應用強依賴多雲系統資料,例如服務部署所獲取的伺服器列表來源於多雲系統提供,那麼要想服務部署沒有問題的話就需要首先保證多雲資料準確,再比如我們基於多雲來做的監控告警系統基礎資源資料全都來自於多雲,還有後續一些列新的業務或服務都要基於多雲提供的基礎資料來實現,這篇文章重點介紹下基於多雲的監控告警
之所以會基於多雲來構建監控告警系統,是因為我們很大一部分資源監控是依賴雲上監控告警的,這裡所說的監控告警系統也不是通常理解的Zabbix、Prometheus之類的監控告警系統的構建,更多的應該是雲上監控告警與我們多雲系統的融合,多雲系統的擴充套件功能
我們的監控告警系統主要用來實現基礎資源的監控,同時整合多雲資源、雲上事件、雲上告警等資訊,以業務為維度構建視覺化的監控大盤和告警大盤,提供資源和業務的可觀測性,形成平臺化的運維監控能力。主要包含三大核心功能,分別是資源圖表、監控大盤和告警大盤
資源圖表
資源圖表主要是將資源的監控指標以圖表的形式展示出來,便於觀察指標的變化情況。指標資料本身來自於雲上,所以指標的豐富程度跟準確度與雲上無異。不同雲廠商或者雲資源型別的雲上監控圖表展示甚至是開啟監控的路徑都有不同,我們最佳化了圖表的展示效果,所有資源的所有指標採用統一的樣式進行展示,並對圖表展示做出最佳化,重點資源監控圖表優先展示,資源監控圖表頁面載入最佳化,指標資料併發請求,實測展示速度要比雲上快很多
與多雲服務樹融合,無需配置,使用起來非常方便,想要檢視某個專案下某種資源的效能變化情況,只需要切換到對應的專案檢視服務樹,點選資源列表的監控按鈕即可檢視,無需提前知道專案下的資源ID或名稱再去雲控制檯中檢索檢視,體驗順暢且友好
監控大盤
監控大盤會以專案為維度,結合多雲服務樹,將相關資源、指標匯聚在大盤中便於檢視,同時支援匯出報表。監控大盤與雲監控的Dashboard類似,但會與多雲服務樹深度融合,自動匯聚業務節點下所有例項的監控資料於同一圖表中,同時可以將不同雲廠商不同雲賬號不同資源型別的監控圖表在一個頁面內展示,配置更加簡單,使用更加方便
一個專案下可以按照環境/用途等維度建立多個監控大盤,不同的監控大盤都可以選擇專案下任意個數的關係節點,便於不同人不同時期關注不同的監控內容
一個監控大盤內可以包含多個不同雲廠商下的資源節點,一個大盤內也可以包含多個不同賬號下的資源節點,當然一個監控大盤內也可以包含多個不同資源型別的節點,並且一個監控大盤內的資源節點數量是沒有限制的
節點新增起來也很簡單,只需要填寫顯示名稱,選擇雲廠商、資源型別以及關係節點,確定展示順序即可,其中關係節點就取自於多雲服務樹,選擇某個節點後,會自動聚合這個節點下的所有資源於一個圖表中,可以對比觀察節點下資源監控變化,當節點下資源變更時也無需更新監控大盤的配置。同樣的對於監控大盤的展示我們也做到了統一和最佳化,載入速度快,體驗絲般順滑
監控大盤還可匯出報表,能夠直觀的看到專案下各服務角色的配置、數量以及一段時間內的監控彙總資料,更為重要的是會同時結合費用賬單以月為維度輸出資源費用情況,為資源縮減成本控制提供支援
告警大盤
告警大盤主要用來實現告警資訊統一展示和檢索,整體把控專案的執行狀態。對於告警比較重要的是通知,保證通知及時有效,並能第一時間作出反應,告警大盤將不同雲廠商不同雲賬號下的告警資訊匯聚到一起統一展示,並與多雲相結合,可以快速定位資源所屬專案及服務,加速問題的處理
告警管理還納入了告警策略管理和事件管理,可以將策略和事件分配到專案,細化許可權,並對策略進行狀態變更等
由此基於多雲構建的監控告警系統初步完成