本文為您介紹容器集群可觀測現狀、多云容器集群可觀測挑戰、以及應對這些挑戰可選的實現方案,并且以具體多云容器集群場景案例為您介紹如何使用阿里云可觀測監控 Prometheus 版和阿里云注冊集群的結合實現多云容器集群的納管監控。
容器集群可觀測現狀
隨著Kubernetes(K8s)容器編排工具已經成為事實上行業通用技術底座,容器集群監控經歷多種方案實踐后,Prometheus最終成為容器集群監控的事實標準。
Prometheus可有效監控系統層指標、應用層指標、業務層指標等,采集監控指標后進行存儲,同時結合Grafana可實現監控指標的展示和告警等。Prometheus和Grafana結合的方案可有效進行容器集群監控指標采集、存儲、展示、告警等,能夠有效幫助業務發現和定位問題,為云原生下的應用保駕護航,已經成為業內容器集群監控標準組合方案。
目前企業運維容器集群,有以下兩種方案可以選擇:
方案一:自建監控體系
需要您結合Prometheus和Grafana自行搭建整套監控體系,且需達到生產可用水平。該方案前期不僅需要投入大量的人員成本,而且需要關注監控體系中各部分的協作,例如指標采集配置、指標存儲、指標展示、有效大盤配置、告警配置、無效告警過濾等,后期也會產生極大的運維成本。
方案二:使用云廠商提供的監控產品
其中阿里云提供的可觀測監控 Prometheus 版服務,有包年包月和按量付費兩種計費方式,可減少自行搭建告警體系的前期投入成本,同時提供后續的技術運維支持,可以極大地降低運維成本。
多云容器集群可觀測挑戰
隨著企業云上業務的多樣化和復雜化,不可避免地出現了跨區跨云廠商容器集群混用的形態,進而從以往單一容器集群運維變成多云容器集群運維。
對于多云混合的容器集群監控,有以下兩種方案可以選擇:
方案一:采用自建Prometheus和Grafana結合的監控體系
使用該方案您將面臨以下幾點挑戰:
自建完備的監控體系,需要打通采集、存儲、展示、告警等各個部分,后期需要持續的運維人員投入,導致運維成本上升。
開源Prometheus對應的TSDB采用SSD存儲模式,數據單點分散存儲,存在數據丟失風險。
開源Prometheus采集能力存在一定的瓶頸,且為單點運行無法做到彈性伸縮,業務高峰時可能出現監控數據采集性能瓶頸。
方案二:采用云廠商提供的Prometheus產品
使用該方案您將面臨以下幾點挑戰:
跨云廠商:不同云廠商提供的Prometheus產品能力和使用方式大不相同,需要您投入一定的學習成本。
分散管理:不同云廠商監控產品混用情況下,無法進行統一管理,容易造成管理低效和混亂,導致運維上的重復,且無法及時發現業務問題。
無論您使用上述哪種方案,都將會面臨一個共同的問題,即監控指標分散,無法做到統一查詢、聯合分析展示、統一告警等。
可觀測監控 Prometheus 版優勢
為了解決上述問題,阿里云注冊集群提供納管能力,可將非阿里云容器集群進行統一管理,并有效解決了多云容器集群管理分散的問題。阿里云可觀測監控 Prometheus 版服務,提供包括指標采集、Grafana 展示、告警等整套的容器監控體系,支持按量計費和包年包月兩種計費方式,可有效提升容器集群監控效率,極大地減少自建監控體系所面臨的運維成本。
阿里云注冊集群和可觀測監控 Prometheus 版服務的結合,將多云容器集群監控變得簡單且高效,同時能夠解決上述所述的諸多問題。具體優勢如下:
能力較強:可有效解決多云容器集群監控面臨的管理分散、監控體系搭建困難、運維效率低下、指標無法聯合查詢、告警無法統一等問題,將多云分散的容器集群監控進行統一管理、統一配置、統一查詢、統一告警等,極大地提升多云容器集群監控的效率,節省運維人員的投入成本,減少其重復性勞動,使運維人員更加聚焦于業務。
費用低廉:阿里云可觀測監控 Prometheus 版提供免費的基礎指標采集,可覆蓋容器集群的基礎監控需求。對于小規模容器集群,則可采用按量計費方式,這樣在保證您的業務得到有效監控的同時,能最大程度降低監控費用支出。阿里云可觀測監控 Prometheus 版按量計費的具體計費說明,請參見按量計費;對于大規模集群,您可采用包年包月的計費方式,相比于按量計費,包年包月計費方式可有效減少約67%的成本,極大地降低了大規模集群監控成本。阿里云可觀測監控 Prometheus 版包年包月的具體計費說明,請參見包年包月概述。
資源占用較少:阿里云可觀測監控 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小時的無間斷事件處理服務。
處理海量事件數據時可以保證低延時。
及時準確地將告警通知給聯系人
配置通知規則,對事件合并后再發送告警通知,減少運維人員出現通知疲勞的情況。
根據告警的緊急程度選擇郵件、短信、電話、釘釘等不同的通知方式,來提醒聯系人處理告警。
通過升級通知對于長時間沒有處理的告警進行多次提醒,保證告警及時解決。
快速管理告警
聯系人能通過釘釘隨時處理告警。
使用通用告警格式,使聯系人能更好地分析告警。
支持多個聯系人通過釘釘協同處理。
告警事件再加工
通過事件處理流編排簡單的處理流程,對任意告警源上報的告警事件進行再加工,以滿足差異化的事件數據處理需求。
事件管理支持對任意告警源上報的告警事件去重、壓縮、降噪、靜默,從而收斂告警,減少告警風暴的產生。
告警配置管理
提供容器集群常見核心指標監控模板,同時提供告警模板功能可自行生成和下發告警模板,實現快速批量化配置告警。
提供頁面化告警配置引導和預覽,可實時查看告警條件匹配事件,并進行精細化配置。
統計告警數據,實時分析處理情況,改進告警處理效率,分析業務運行情況。
示例:將多云容器集群接入可觀測監控 Prometheus 版
前提條件
支持通過公網和內網接入。更多信息,請參見接入注冊集群的目標集群對于網絡連通性有什么要求?。
步驟一:創建阿里云注冊集群
登錄阿里云容器服務管理控制臺。
在控制臺左側導航欄中,單擊集群。
在集群列表頁面,單擊頁面右上角的創建集群。
在注冊集群頁簽,配置相關參數。配置參數的具體說明,請參見創建注冊集群。
在頁面右側,單擊創建集群,完成集群創建。您可以在集群列表頁面查看您創建的registCluster注冊集群。
步驟二:將多云集群納管到阿里云注冊集群
這里以騰訊云的Kubernetes為例,介紹如何將騰訊云的Kubernetes集群通過阿里云的注冊集群進行統一納管,實現使用可觀測監控 Prometheus 版進行指標抓取和展示。
在阿里云容器服務集群列表頁面,找到上文步驟一:創建阿里云注冊集群中創建的registCluster注冊集群,然后單擊其操作列的詳情。
單擊連接信息頁簽,然后在公網訪問頁簽選擇公網集群導入方式并單擊右側的復制。
登錄騰訊云容器服務控制臺,在集群頁面單擊目標集群名稱,然后單擊右上角的YAML創建資源,將上一步驟中復制的公網集群連接信息粘貼至編輯區域,然后單擊完成進行代理安裝。然后在騰訊云集群頁面查看Deployment、ack-cluster-agent的運行狀態,若處于正常運行狀態,則代表代理安裝成功。
登錄阿里云容器服務管理控制臺。在集群列表頁面查看上文步驟一:創建阿里云注冊集群創建的registCluster注冊集群的狀態,若處于運行中狀態,則代表納管成功。
步驟三:安裝Prometheus組件
登錄阿里云容器服務管理控制臺。
在控制臺左側導航欄,單擊集群,然后在集群列表頁面,單擊目標集群。
在左側導航欄選擇
。在組件管理頁面的日志與監控區域,單擊ack-arms-prometheus組件卡片下方的安裝,安裝ack-arms-prometheus組件。
登錄騰訊云容器服務控制臺,在集群頁面單擊目標集群名稱,然后在左側導航欄選擇
,然后選擇arms-prom命名空間,查看arms-prometheus-ack-arms-prometheus的狀態,若處于運行狀態則表示組件安裝成功。登錄ARMS控制臺。
在左側導航欄選擇
,進入可觀測監控 Prometheus 版的實例列表頁面。單擊上文步驟一:創建阿里云注冊集群中創建的registCluster注冊集群Prometheus實例。
在左側導航欄單擊服務發現,然后在Targets頁簽查看默認配置的Targets狀態,若處于采集狀態,則表示ARMS Prometheus組件正在采集 Metrics指標數據,單擊Targets名稱可查看具體源數據。
步驟四:查看監控數據
可觀測監控 Prometheus 版默認集成常用的Grafana大盤供您查看監控數據,包括Deployment大盤、Daemonset大盤等,通過大盤查看監控數據的具體操作如下:
登錄ARMS控制臺。
在左側導航欄選擇
,進入可觀測監控 Prometheus 版的實例列表頁面。單擊上文步驟一:創建阿里云注冊集群中創建的registCluster注冊集群Prometheus實例。
在左側導航欄單擊大盤列表,在大盤列表頁面您可以單擊任一大盤名稱超鏈接查看具體的Metrics指標數據。
步驟五:查看告警
可觀測監控 Prometheus 版默認開啟多種容器集群核心指標監控,無需您自行開啟,避免了您自行開啟監控可能會產生遺漏的問題。同時默認集成多種核心指標告警模板,您可根據需要進行開啟,無需您自行編寫PromQL的步驟。查看ARMS 可觀測監控 Prometheus 版告警的具體操作如下:
登錄ARMS控制臺。
在左側導航欄選擇
,進入可觀測監控 Prometheus 版的實例列表頁面。單擊上文步驟一:創建阿里云注冊集群中創建的registCluster注冊集群Prometheus實例。
在左側導航欄單擊告警規則,在告警規則頁面您可以查看具體的告警信息。