本文為您介紹容器叢集可觀測現狀、多雲容器叢集可觀測挑戰、以及應對這些挑戰可選的實現方案,並且以具體多雲容器叢集情境案例為您介紹如何使用阿里雲可觀測監控 Prometheus 版和阿里雲註冊叢集的結合實現多雲容器叢集的納管監控。
容器叢集可觀測現狀
隨著Kubernetes(K8s)容器編排工具已經成為事實上行業通用技術底座,容器叢集監控經歷多種方案實踐後,Prometheus最終成為容器叢集監控的事實標準。
Prometheus可有效監控系統層指標、應用程式層指標、業務層指標等,採集監控指標後進行儲存,同時結合Grafana可實現監控指標的展示和警示等。Prometheus和Grafana結合的方案可有效進行容器叢集監控指標採集、儲存、展示、警示等,能夠有效協助業務發現和定位問題,為雲原生下的應用保駕護航,已經成為業內容器叢集監控標準組合方案。
目前企業營運容器叢集,有以下兩種方案可以選擇:
方案一:自建監控體系
需要您結合Prometheus和Grafana自行搭建整套監控體系,且需達到生產可用水平。該方案前期不僅需要投入大量的人員成本,而且需要關注監控體系中各部分的協作,例如指標採集配置、指標儲存、指標展示、有效大盤配置、警示配置、無效警示過濾等,後期也會產生極大的營運成本。
方案二:使用雲廠商提供的監控產品
其中阿里雲提供的可觀測監控 Prometheus 版服務,有訂用帳戶和隨用隨付兩種計費方式,可減少自行搭建警示體系的前期投入成本,同時提供後續的技術營運支援,可以極大地降低營運成本。
多雲容器叢集可觀測挑戰
隨著企業雲上業務的多樣化和複雜化,不可避免地出現了跨區跨雲廠商容器叢集混用的形態,進而從以往單一容器叢集營運變成多雲容器叢集營運。
對於多雲混合的容器叢集監控,有以下兩種方案可以選擇:
方案一:採用自建Prometheus和Grafana結合的監控體系
使用該方案您將面臨以下幾點挑戰:
自建完備的監控體系,需要打通採集、儲存、展示、警示等各個部分,後期需要持續的營運人員投入,導致營運成本上升。
開源Prometheus對應的TSDB採用SSD儲存模式,資料單點分散儲存,存在資料丟失風險。
開源Prometheus採集能力存在一定的瓶頸,且為單點運行無法做到Auto Scaling,業務高峰時可能出現監控資料擷取效能瓶頸。
方案二:採用雲廠商提供的Prometheus產品
使用該方案您將面臨以下幾點挑戰:
跨雲廠商:不同雲廠商提供的Prometheus產品能力和使用方式大不相同,需要您投入一定的學習成本。
分散管理:不同雲廠商監控產品混用情況下,無法進行統一管理,容易造成管理低效和混亂,導致營運上的重複,且無法及時發現業務問題。
無論您使用上述哪種方案,都將會面臨一個共同的問題,即監控指標分散,無法做到統一查詢、聯合分析展示、統一警示等。
可觀測監控 Prometheus 版優勢
為瞭解決上述問題,阿里雲註冊叢集提供納管能力,可將非阿里雲容器叢集進行統一管理,並有效解決了多雲Lark分散的問題。阿里雲可觀測監控 Prometheus 版服務,提供包括指標採集、Grafana 展示、警示等整套的容器監控體系,支援隨用隨付和訂用帳戶兩種計費方式,可有效提升容器叢集監控效率,極大地減少自建監控體系所面臨的營運成本。
阿里雲註冊叢集和可觀測監控 Prometheus 版服務的結合,將多雲容器叢集監控變得簡單且高效,同時能夠解決上述所述的諸多問題。具體優勢如下:
能力較強:可有效解決多雲容器叢集監控面臨的管理分散、監控體系搭建困難、營運效率低下、指標無法聯集查詢、警示無法統一等問題,將多雲分散的容器叢集監控進行統一管理、統一配置、統一查詢、統一警示等,極大地提升多雲容器叢集監控的效率,節省營運人員的投入成本,減少其重複性勞動,使營運人員更加聚焦於業務。
費用低廉:阿里雲可觀測監控 Prometheus 版提供免費的基礎指標採集,可覆蓋容器叢集的基礎監控需求。對於小規模容器叢集,則可採用隨用隨付方式,這樣在保證您的業務得到有效監控的同時,能最大程度降低監控費用支出。阿里雲可觀測監控 Prometheus 版隨用隨付的具體計費說明,請參見隨用隨付;對於大規模叢集,您可採用訂用帳戶的計費方式,相比於隨用隨付,訂用帳戶計費方式可有效減少約67%的成本,極大地降低了大規模叢集監控成本。
資源佔用較少:阿里雲可觀測監控 Prometheus 版服務,僅在您的叢集中輕量化部署Agent,且具備自動彈性擴容能力,2核4 GB資源申請量可採集600萬指標。對於開源Prometheus的服務發現模組存在對叢集內APIServer造成較大壓力的問題,阿里雲可觀測監控 Prometheus 版進行了專項最佳化,可有效減輕APIServer的壓力,最終實現最小資源佔用,最大化採集容器叢集監控指標,為您的業務保駕護航。
優勢一:效能提升
對比項 | 可觀測監控 Prometheus 版 | 自建Prometheus監控 |
高可用性 | 支援採集儲存群組件多副本,可水平擴充,可用性高 | 單進程,無法水平擴充,可用性低 |
資料存放區 | 雲端式上儲存,儲存容量無限制 | 受限於儲存容量 |
資料視覺效果 | 內建Grafana,各類常見監控模板開箱即用 | 需要單獨部署Grafana,並自行配置看板 |
警示管理 | 整合ARMS警示中心,全面提升警示效率與精度 | 自行接入AlertManager外掛程式 |
單副本採集效能(2核4 GB) | 600萬資料點 | 100萬資料點 |
資料查詢效能(6億時間點) | 8~10秒 | 180秒 |
其他能力 | 支援預彙總、降採樣、GlobalView等能力 | 不支援 |
優勢二:多叢集Prometheus彙總查詢
提供多個阿里雲Prometheus執行個體或自建Prometheus叢集的虛擬彙總執行個體,針對這個虛擬彙總執行個體您可以實現Prometheus指標的統一查詢,統一Grafana資料來源和統一警示。
解決開源Prometheus資料分散儲存,Grafana中需要配置多個資料來源地址,不同的資料來源無法高效地整合在一起,難以用整體的視角分析應用在全球各個地區的健全狀態。
您無需在每個地區自行部署Prometheus Server,只需要以Remote Write方式將資料上報至阿里雲可觀測監控 Prometheus 版,同時您也無需部署Thanos中的大量組件,無其他組件部署的依賴即可使用GlobalView的功能。
全域查詢基於分布式的查詢,並進行了效能最佳化,針對大量查詢可以隨時實現水平、縱向擴縮,查詢效能、穩定性較好。
開箱即用,基於阿里雲可觀測監控 Prometheus 版服務,您無需額外部署任何其他組件,極大地降低營運成本。
優勢三:輕量化安裝
對比開源Prometheus的安裝方式,阿里雲可觀測監控 Prometheus 版服務,僅需在您的容器叢集內安裝輕量化探針,後端儲存採用託管模式,可節省業務容器叢集資源佔用。
優勢四:整合Grafana服務
阿里雲Grafana服務是雲原生的營運資料視覺效果平台,提供免營運和快速啟動Grafana運行環境的能力,具有以下優勢:
預設整合可觀測監控 Prometheus 版、SLS等多種阿里雲服務資料來源,並支援第三方或自建資料來源,快速建立一體化營運可視化看板。
獨享執行個體與高SLA保障,確保監控體系高可用與彈性,讓營運監控更可靠,維護成本更低。
打通阿里雲帳號SSO與自建帳號體系,在保障資料安全的同時實現資料來源與大盤的精細化管理。
能夠解決以下問題:
資料匯總難:各類雲端服務監控資料難以匯總統一,增加營運難度。
營運監控困難:各類雲端服務核心指標監控圖表需要重複配置。
警示管理難:各類雲端服務的警示規則相互分散,難以統一管理。
能夠提供以下能力:
預設整合:預設整合彈性計算、資料庫等阿里雲核心雲端服務。
統一大盤:建立跨資料來源統一看板體系,讓可視化營運更精細。
統一警示:輕鬆搭建一體化警示體系,提升警示管理效率。
優勢五:整合警示系統
阿里雲可觀測監控 Prometheus 版服務預設對接了阿里雲上的統一警示系統,統一警示具有以下特點:
全球化
警示規則模板全球化,一站式為全球事件配置警示。
連絡人、通知策略全球化,僅需一次配置可全球生效。
整合事件後管理更高效
警示管理預設支援一鍵化整合阿里雲常見的監控工具,並支援更多的監控工具手動接入,方便統一維護。
事件接入模組穩定,能提供7×24小時的無間斷事件處理服務。
處理海量事件數目據時可以保證低延時。
及時準確地將警示通知給連絡人
配置通知規則,對事件彙總後再發送警示通知,減少營運人員出現通知疲勞的情況。
根據警示的緊急程度選擇郵件、簡訊、電話、DingTalk等不同的通知方式,來提醒連絡人處理警示。
通過升級通知對於長時間沒有處理的警示進行多次提醒,保證警示及時解決。
快速管理警示
連絡人能通過DingTalk隨時處理警示。
使用通用警示格式,使連絡人能更好地分析警示。
支援多個連絡人通過DingTalk協同處理。
警示事件再加工
通過事件處理流編排簡單的處理流程,對任意警示源上報的警示事件進行再加工,以滿足差異化的事件數目據處理需求。
事件管理支援對任意警示源上報的警示事件去重、壓縮、降噪、靜默,從而收斂警示,減少警示風暴的產生。
警示組態管理
提供容器叢集常見核心指標監控模板,同時提供警示模板功能可自行產生和下發警示模板,實現快速批量化配置警示。
提供頁面化警示配置引導和預覽,可即時查看警示條件匹配事件,並進行精細化配置。
統計警示資料,即時分析處理情況,改進警示處理效率,分析業務運行情況。
樣本:將多雲容器叢集接入可觀測監控 Prometheus 版
前提條件
支援通過公網和內網接入。更多資訊,請參見註冊叢集FAQ。
步驟一:建立阿里雲註冊叢集
登入Container Service管理主控台,在左側導覽列選擇叢集列表。
在叢集列表頁面,單擊建立叢集。
在ACK One 註冊叢集頁簽,配置相關參數。配置參數的具體說明,請參見建立註冊叢集。
在頁面右側,單擊建立叢集,完成叢集建立。您可以在叢集列表頁面查看您建立的registCluster註冊叢集。
步驟二:將多雲叢集納管到阿里雲註冊叢集
這裡以騰訊雲的Kubernetes為例,介紹如何將騰訊雲的Kubernetes叢集通過阿里雲的註冊叢集進行統一納管,實現使用可觀測監控 Prometheus 版進行指標抓取和展示。
在Container Service管理主控台的叢集列表頁面,單擊步驟一:建立阿里雲註冊叢集中建立的registCluster註冊叢集其操作列的詳情。
單擊串連資訊頁簽,然後在公網訪問頁簽查看公網叢集串連資訊並單擊右側的複製。
登入騰訊雲Container Service控制台,在叢集頁面單擊目的地組群名稱,然後單擊右上方的YAML建立資源,將上一步驟中複製的公網叢集串連資訊粘貼至編輯地區,然後單擊完成進行代理安裝。然後在騰訊雲叢集頁面查看Deployment、ack-cluster-agent的運行狀態,若處於正常運行狀態,則代表代理安裝成功。
登入阿里雲Container Service管理主控台。在叢集列表頁面查看步驟一:建立阿里雲註冊叢集建立的registCluster註冊叢集的狀態,若處於運行中狀態,則代表納管成功。
步驟三:安裝Prometheus組件
具體操作,請參見將阿里雲Prometheus接入註冊叢集。
步驟四:查看監控資料
可觀測監控 Prometheus 版預設整合常用的Grafana大盤供您查看監控資料,包括Deployment大盤、Daemonset大盤等,通過大盤查看監控資料的具體操作如下:
登入ARMS控制台,在左側導覽列選擇。
單擊步驟一:建立阿里雲註冊叢集中建立的registCluster註冊叢集Prometheus執行個體。
在左側導覽列單擊大盤列表,在大盤列表頁面您可以單擊任意大盤名稱超連結查看具體的Metrics指標資料。
步驟五:查看警示
可觀測監控 Prometheus 版預設開啟多種容器叢集核心指標監控,無需您自行開啟,避免了您自行開啟監控可能會產生遺漏的問題。同時預設整合多種核心指標警示模板,您可根據需要進行開啟,無需您自行編寫PromQL的步驟。查看ARMS 可觀測監控 Prometheus 版警示的具體操作如下:
登入ARMS控制台,在左側導覽列選擇。
單擊步驟一:建立阿里雲註冊叢集中建立的registCluster註冊叢集Prometheus執行個體。
在左側導覽列單擊警示規則,在警示規則頁面您可以查看具體的警示資訊。
開通方式
阿里雲註冊叢集開通方式:註冊叢集的開通方式請參見開通註冊叢集。
可觀測監控 Prometheus 版開通方式:可觀測監控 Prometheus 版全新推出訂用帳戶的計費方式,相比隨用隨付方式可以為您至少節省67%成本。