上海阿里云代理商:阿里云 ACK 容器服務(wù)生產(chǎn)級(jí)可觀測(cè)體系建設(shè)實(shí)踐
上海阿里云代理商:阿里云 ACK 容器服務(wù)生產(chǎn)級(jí)可觀測(cè)體系建設(shè)實(shí)踐
【聚搜云】(gzjcsc123.com)是上海聚搜信息技術(shù)有限公司旗下品牌,坐落于魔都上海,服務(wù)于全球、2019年成為阿里云代理商生態(tài)合作伙伴。與阿里云代理商、騰訊云、華為云、西部數(shù)碼、美橙互聯(lián)、AWS亞馬遜云國際站代理商、聚搜云,長期戰(zhàn)略合作的計(jì)劃!阿里云國際站代理商專業(yè)的云服務(wù)商!
作者:馮詩淳(行疾)
ACK 可觀測(cè)體系介紹
全景概要介紹
上圖為 ACK 可觀測(cè)體系全景圖金字塔,從上至下可分為四層:
最上層是最接近用戶業(yè)務(wù)的 Business Monitoring,包括用戶業(yè)務(wù)的前端的流量、PV、前端性能、JS 響應(yīng)速度等監(jiān)控。通過容器服務(wù)的 IngressDashboard 來監(jiān)測(cè) Ingress 的請(qǐng)求量以及請(qǐng)求的狀態(tài),用戶可以定制業(yè)務(wù)日志,通過容器服務(wù)的日志監(jiān)控來實(shí)現(xiàn)業(yè)務(wù)的自定義監(jiān)控。
第二層是 Application Performance Monitoring,包括用戶的應(yīng)用監(jiān)控,由 ARMS APM 產(chǎn)品提供用戶Java Profiling 和 Tracing等能力,也支持 OpenTracing和 OpenTelemetric 協(xié)議的多語言監(jiān)控方案。
第三層是 Container Monitoring,包括容器的集群資源、容器 runtime 層、容器引擎以及容器集群的穩(wěn)定性。使用阿里云 Prometheus 在一張 Global view 的大盤中展示不同集群層面的資源應(yīng)用,包括性能、水位、云資源,也包括事件體系和日志體系,由事件中心和日志中心覆蓋。
最下層是 Infrastructure Monitoring,包括不同的云資源、虛擬化層、操作系統(tǒng)內(nèi)核層等。容器層和基礎(chǔ)架構(gòu)層都可以使用基于 eBPF 的無侵入式架構(gòu)和 K8s 監(jiān)控能力做網(wǎng)絡(luò)和調(diào)用的 tracing。
可觀測(cè)體系的每一層都和可觀測(cè)的三大支柱 Logging、Tracing、Metrics 有不同程度的映射。
場(chǎng)景一:異常診斷場(chǎng)景的可觀測(cè)能力實(shí)踐
用戶的異常診斷案例
早上 9 點(diǎn)多業(yè)務(wù)流量激增時(shí)出現(xiàn)了異常診斷,收到容器報(bào)警提示某 Pod Down 影響業(yè)務(wù)流量。用戶收到報(bào)警后快速反應(yīng),對(duì)核心業(yè)務(wù)的 Pod 進(jìn)行重啟或擴(kuò)容,查找問題根因。首先通過 IngressDashboard 從入口流量自上而下分析,發(fā)現(xiàn)對(duì)外業(yè)務(wù)的訪問成功率下降以及出現(xiàn) 4XX 返回碼的請(qǐng)求,說明這次異常影響了用戶業(yè)務(wù)。再從資源以及負(fù)載層面分析,可以發(fā)現(xiàn)是由于朝九晚五的流量導(dǎo)致水位負(fù)載,在當(dāng)天早上 9 點(diǎn)時(shí)存在與故障對(duì)齊的明顯水位飆升,這也是故障所在。
系統(tǒng)第一時(shí)間報(bào)警核心業(yè)務(wù)的 Pod 定位,結(jié)合業(yè)務(wù)日志進(jìn)行分析,加上 ARMS Java 的 APM 應(yīng)用監(jiān)控,定位到產(chǎn)生緩存 bug 是由于早上 9 點(diǎn)鐘業(yè)務(wù)流量飆升引發(fā)了 bug 最后造成頻繁的數(shù)據(jù)庫讀寫,調(diào)用鏈也反映可能出現(xiàn)了數(shù)據(jù)庫的慢查詢,最后通過修復(fù) bug 徹底閉環(huán)整個(gè)異常。
上述流程是非常典型的貫穿了整個(gè) ACK 可觀測(cè)不同能力異常診斷的排查過程,能夠幫助我們更好地理解 ACK 可觀測(cè)體系如何相互協(xié)調(diào)完成工作。
事件體系介紹
社區(qū)的 K8s 中包含了非常成熟的事件體系,提供了應(yīng)用層的事件以及 runtime 層的事件。ACK 可觀測(cè)體系在社區(qū)的事件體系之上,從表層到底層都進(jìn)行了覆蓋和增強(qiáng),做到了可觀測(cè)事件體系的全覆蓋。
? 應(yīng)用異常:對(duì)于 K8s 的應(yīng)用事件提供了用戶灰度發(fā)布以及 HPA 等異常行為的事件監(jiān)控。
? 管控操作事件:增加了集群的管控事件、用戶對(duì)集群的異常操作以及重要變更,甚至包括成本和預(yù)算超標(biāo)等。
? 集群核心組件異常:集群的穩(wěn)定性很大一部分由集群核心組件的健康來保證。對(duì)于集群核心組件包括 API server、ETCD、Scheduler、CCM 等都做了異常事件的增強(qiáng),出現(xiàn)異常事件能夠第一時(shí)間進(jìn)行觸達(dá)。此外,還包括用戶側(cè)核心組件 addon 事件,比如 Terway、存儲(chǔ)等。
? 集群容器引擎層異常:對(duì)集群容器引擎層做了增強(qiáng),包括了 Container Runtime、Kubelet、Cgroup 等異常。
? 節(jié)點(diǎn)異常:包括 OS/內(nèi)核層異常,比如操作系統(tǒng)內(nèi)核宕機(jī)、操作系統(tǒng)配置的異常等,也包括資源層異常比如網(wǎng)絡(luò)資源異常、存儲(chǔ)資源異常、其他云資源異常等,為容器服務(wù)的運(yùn)維保障及功能更強(qiáng)的覆蓋提供了支持。
ACK 提供了開箱即用的事件中心能力,一鍵開啟事件中心,即可享受復(fù)雜的事件體系帶來的強(qiáng)大功能。它提供了預(yù)置的試驗(yàn)中心大盤,能夠?qū)χ匾氖录M(jìn)行突出以及統(tǒng)計(jì),也提供了強(qiáng)大、靈活易用的數(shù)據(jù)分析能力,為后面基于事件驅(qū)動(dòng)的 OPS 體系提供了基礎(chǔ)。ACK K8s 集群更多的是對(duì)資源的生命周期進(jìn)行管控,事件中心也提供了以事件為錨點(diǎn)的資源生命周期的管控能力??梢詫?duì)生命周期中最重要的幾個(gè)時(shí)間點(diǎn)進(jìn)行性能的調(diào)試優(yōu)化以及對(duì)異常 Pod 狀態(tài)快速反應(yīng)。
日志體系介紹
Logging 在 K8s 中的第一個(gè)使用場(chǎng)景是重要流量,如 Ingress 等。ACK 的日志中心默認(rèn)提供了 Ingress 等重要場(chǎng)景的大盤,一鍵接入 Ingress 大盤后即可快速查看集群 Ingress 流量,此外還包括 PV、UV、應(yīng)用的異常狀態(tài)以及統(tǒng)計(jì),快速清晰,易于應(yīng)用。
第二個(gè)日志使用場(chǎng)景是審計(jì)。集群中的資源經(jīng)常被不同的賬號(hào)訪問使用,集群的安全也迫切需要重點(diǎn)關(guān)注。我們提供了審計(jì)日志大盤,可以快速分析集群資源的訪問和使用軌跡,針對(duì)未被授權(quán)的訪問可進(jìn)行報(bào)警和預(yù)警,為集群提供更安全的環(huán)境。
我們提供了云原生無侵入式的日志獲取方式,用戶只需通過簡單的 CRD 或在 Pod 上打 annotation ,即可將日志采集到日志中心,并享受日志中心多維、強(qiáng)大的分析能力。
Metric 體系介紹
Metrics 體系是做穩(wěn)定性保障和性能調(diào)優(yōu)時(shí)最常用的體系,水位等關(guān)鍵指標(biāo)都能通過大盤進(jìn)行直觀展示。產(chǎn)品側(cè)預(yù)置了 ARMS Prometheus 大盤產(chǎn)品,購買了 ACK K8s 集群后,可以一鍵開啟 Prometheus 大盤。此外,體系內(nèi)預(yù)置了重要場(chǎng)景的 Prometheus 大盤,都是經(jīng)過 K8s 上業(yè)務(wù)運(yùn)維成熟經(jīng)驗(yàn)的沉淀。Prometheus 方案涉及到不同的服務(wù),不僅包括容器服務(wù)側(cè)最核心的 K8s 應(yīng)用、網(wǎng)絡(luò)、核心控制面指標(biāo),還包括比如 AI 場(chǎng)景、 GPU 指標(biāo)以及存儲(chǔ) CSI 等外部存儲(chǔ)場(chǎng)景,以及資源的優(yōu)化或成本的優(yōu)化指標(biāo)。
使用統(tǒng)一的 Prometheus 數(shù)據(jù)鏈路方案,不進(jìn)能夠支持容器場(chǎng)景的指標(biāo),也支持不同云產(chǎn)品的指標(biāo)以及云產(chǎn)品上不同中間件的指標(biāo),可以將所有層級(jí)指標(biāo)都在 Prometheus 數(shù)據(jù)鏈路中進(jìn)行統(tǒng)一展示。
ACK 集群控制面的核心組件 API Server、ETCD 、scheduler 、CCM 等也做了指標(biāo)加強(qiáng)。Pro 集群不只負(fù)責(zé)托管這部分核心組件、維護(hù)其 SLA,同時(shí)也會(huì)將透明指標(biāo)性能暴露給用戶,讓用戶使用安心。
? 場(chǎng)景二:穩(wěn)定性保障 - 2022 冬奧會(huì) ACK 助力圓滿平穩(wěn)舉行
指標(biāo)場(chǎng)景是穩(wěn)定性保障的重要支持能力。ACK 非常榮幸地為 2022 年的冬奧會(huì)服務(wù),助力冬奧系統(tǒng)圓滿平穩(wěn)運(yùn)行。
ACK 集群中部署了冬奧會(huì)多個(gè)核心業(yè)務(wù)系統(tǒng),包括冬奧的國際官網(wǎng)、比賽場(chǎng)館、票務(wù)系統(tǒng)等,為多個(gè)核心系統(tǒng)保駕護(hù)航。核心系統(tǒng)多為 Java 系微服務(wù)架構(gòu),實(shí)際使用時(shí)有近千個(gè) Deployment 實(shí)例。我們通過引入壓測(cè)的方式進(jìn)行容量評(píng)估,同時(shí)配合為冬奧定制的首屏運(yùn)維大盤,實(shí)時(shí)進(jìn)行應(yīng)用和集群穩(wěn)定性的保障,保證了冬奧訪系統(tǒng)訪問的順滑。
? 場(chǎng)景三:生產(chǎn)級(jí)規(guī)模集群穩(wěn)定性保障實(shí)踐
很多用戶的生產(chǎn)系統(tǒng)規(guī)模很大,到達(dá)千級(jí)別節(jié)點(diǎn)的集群規(guī)模后,用戶在集群上會(huì)進(jìn)行密集、大規(guī)模的集群資源訪問,極易出現(xiàn)集群穩(wěn)定性問題。
比如,用戶在大規(guī)模集群中頻繁密集地訪問集群資源,首先會(huì)使 API Server 的請(qǐng)求數(shù)較高,API ServerMutating 請(qǐng)求數(shù)也會(huì)處于高位。API Server 負(fù)載過高會(huì)導(dǎo)致出現(xiàn)丟棄請(qǐng)求的情況,這也是 API Server 的降級(jí)特性,會(huì)影響用戶業(yè)務(wù)的發(fā)布或用戶的變更。
再比如,密集的集群資源訪問也可能打滿 API Server 帶寬,API Server 的請(qǐng)求延時(shí) RT 會(huì)升至高位,一次 API 的訪問可能需要幾十秒,會(huì)嚴(yán)重影響用戶的業(yè)務(wù),API Server 的只讀請(qǐng)求數(shù)也會(huì)飆升。
我們提供了 control plane 核心組件的監(jiān)控大盤,可以快速發(fā)現(xiàn) API Server 的水位和請(qǐng)求響應(yīng)時(shí)間的延時(shí)問題,然后根據(jù) API Server 的訪問日志快速定位是哪個(gè)應(yīng)用的什么動(dòng)作導(dǎo)致 API Server 的水位和資源請(qǐng)求高,最終找到具體應(yīng)用進(jìn)行止血,解決問題。
Prometheus For ACK Pro
阿里云近期推出了 Prometheus for ACK Pro ,它是 Prometheus 的升級(jí)服務(wù),能夠在同一張大盤上看到多個(gè)數(shù)據(jù)源,包括集群事件日志、基于 eBPF 的無侵入式的應(yīng)用指標(biāo)、網(wǎng)絡(luò)指標(biāo)等,提供一致性的體驗(yàn)。用戶可以通過一張大盤的關(guān)聯(lián)分析邏輯,從總覽到細(xì)節(jié),通過多數(shù)據(jù)源、多角度的可觀測(cè)能力進(jìn)行不同角度的排查。
Tracing 體系介紹
? 應(yīng)用層 Trace
在 ACK 可觀測(cè)體系里, Tracing 體系提供了最終定位根因的能力,它分為兩部分:
第一部分是應(yīng)用層的 Tracing,提供 ARMS APM 能力,支持 OpenTracing、OpenTelemetric 協(xié)議,可以支持多種語言的應(yīng)用。針對(duì) Java 也提供了無侵入式的 APM 能力,只需要在 Pod 上打上 annotation, Java 應(yīng)用的 Pod 即可享受實(shí)時(shí)的監(jiān)控?cái)?shù)據(jù)服務(wù),可以查看實(shí)時(shí)的應(yīng)用水位、 JVM 的性能指標(biāo)、應(yīng)用上下游分布式和微服務(wù)的全局調(diào)用 top 圖等,也支持 Profiling 以及代碼堆棧級(jí)的調(diào)用監(jiān)控能力。不同語言可以匯聚成同一張分布式調(diào)用追蹤大圖,自上而下地查看一次分布式調(diào)用,從而定位、診斷問題。
? 集群網(wǎng)絡(luò)、調(diào)用 Trace
第二部分是集群網(wǎng)絡(luò)和調(diào)用 Trace。
近期我們推出了基于 eBPF 網(wǎng)絡(luò)層面的 Tracing 能力。通過 eBPF 插樁技術(shù),在內(nèi)核層面實(shí)現(xiàn)了零代碼改動(dòng)且非常低性能消耗的網(wǎng)絡(luò) Tracing 能力。提供了全局拓?fù)?、快速定位問題調(diào)用鏈的網(wǎng)絡(luò)拓?fù)湔故疽约百Y源層面展示,也支持在統(tǒng)一的全局架構(gòu)視圖中集合 Metrics、Tracing 和 Logging 多個(gè)角度進(jìn)行可觀測(cè)能力觀察。
基于 ACK 可觀測(cè)能力建設(shè) AIOps體系
事件驅(qū)動(dòng)的 AIOps 體系,用戶可以將事件作為統(tǒng)一的驅(qū)動(dòng)數(shù)據(jù)源進(jìn)行問題的發(fā)現(xiàn)、觸達(dá)以及 AI 智能化運(yùn)維操作的橋梁。以 ACK 事件中心為核心,構(gòu)造了統(tǒng)一的事件格式規(guī)范,K8s 的事件會(huì)以統(tǒng)一的事件配置格式提供給用戶,最后以事件中心為核心,通過統(tǒng)一的事件處理流提供給用戶。用戶可以通過訂閱事件做事件的智能化運(yùn)維以及構(gòu)建其體系。用戶可以通過某個(gè)應(yīng)用的業(yè)務(wù)進(jìn)行業(yè)務(wù)事件推送,并對(duì)業(yè)務(wù)事件進(jìn)行智能化運(yùn)維處理,比如智能的擴(kuò)容或縮容等。
此外,我們也提供了 ACK 報(bào)警中心,通過統(tǒng)一的報(bào)警配置為用戶構(gòu)建 AIOps 的體系,幫助用戶快速建立運(yùn)維的訂閱、收發(fā)和問題排障、處理體系。
報(bào)警中心會(huì)為用戶提供統(tǒng)一的配置,幫助用戶快速建立 ACK 場(chǎng)景上異常診斷的異常規(guī)則集。ACK 報(bào)警中心提供了開箱即用的報(bào)警能力,沉淀了常用的容器場(chǎng)景異常規(guī)則集,開箱即用。其次,可以通過報(bào)警消息的細(xì)粒度訂閱關(guān)系構(gòu)建 ITOps 體系,不同的異??梢酝ㄟ^報(bào)警中心的訂閱配置關(guān)系投遞到真正能夠解決異常的人手里。ACK 也沉淀了標(biāo)準(zhǔn)的異常以及對(duì)應(yīng)標(biāo)準(zhǔn)異常處理的 SOP 手冊(cè),發(fā)現(xiàn)報(bào)警時(shí),會(huì)提示異常類型,以及為用戶提供處理異常的標(biāo)準(zhǔn) SOP 修復(fù)流程。
基于 ACK 可觀測(cè)能力建設(shè) FinOps 體系
越來越多的用戶面臨了上云階段或上云后治理階段的降本增效問題,主要存在以下幾個(gè)方面的痛點(diǎn):
? 上云之前——如何上云,難規(guī)劃;
? 上云之后——云產(chǎn)品種類豐富,集群資源類型也豐富,計(jì)費(fèi)難;
? 高度 SaaS 化的應(yīng)用部署在同一個(gè)集群中進(jìn)行共享,成本分賬難;
? 每年都會(huì)有新的業(yè)務(wù)生成和下線,集群和資源的使用關(guān)系是動(dòng)態(tài)的,難以進(jìn)行持續(xù)的優(yōu)化和治理;
? 此前一般使用 Excel 表對(duì)能力進(jìn)行管理,在云原生的場(chǎng)景下有豐富的用戶應(yīng)用和有豐富的賬單資源類型,難以管理。
ACK 提供了云原生企業(yè) IT 成本治理方案,通過多維度的成本分?jǐn)偤凸浪隳P?,為集群的資源進(jìn)行成本估算和分?jǐn)?。可以通過根因的下鉆和趨勢(shì)的預(yù)測(cè)進(jìn)行成本洞察,集群上多個(gè)應(yīng)用業(yè)務(wù)的成本可以細(xì)粒度下鉆,進(jìn)行成本拆分。對(duì)多集群場(chǎng)景上的成本提供了成熟的解決方案覆蓋,以及提供企業(yè)云原生 IT 成本治理的專家服務(wù)。
此外,我們還推出了內(nèi)置的應(yīng)用資源畫像以及應(yīng)用資源的智能推薦,可以為資源推薦合適的成本以及進(jìn)行預(yù)算控制,最后會(huì)根據(jù)不同的場(chǎng)景進(jìn)行成本優(yōu)化,如大數(shù)據(jù)、AI、游戲等。
最后,支持多樣化場(chǎng)景,包括多云和混合云等都能在統(tǒng)一的平面進(jìn)行展示和管理。
客戶案例
中華財(cái)險(xiǎn)作為互聯(lián)網(wǎng)金融的頭部公司,有千核級(jí)別的集群規(guī)模,同時(shí)管理運(yùn)維多個(gè) SaaS 化線上業(yè)務(wù),具有高度多租化、對(duì)業(yè)務(wù)穩(wěn)定性要求高、對(duì)業(yè)務(wù)資源/成本趨勢(shì)敏感度高等行業(yè)特點(diǎn)。
中華財(cái)險(xiǎn)從傳統(tǒng) IT 架構(gòu)到云原生化的過程中,面臨著容量規(guī)劃難、算清成本難、閑置資源難發(fā)現(xiàn)以及成本優(yōu)化和業(yè)務(wù)穩(wěn)定性難以平衡的挑戰(zhàn)。
我們通過 ACK 的成本治理解決方案為它進(jìn)行了壓測(cè)、容量規(guī)劃,通過 ACK 成本分析進(jìn)行業(yè)務(wù)分賬的賬單管理和分析,解決了閑置資源的優(yōu)化,為其提供了分配資源的優(yōu)化策略,最后通過容器服務(wù)提供了細(xì)粒度的容器部署以及彈性策略等優(yōu)化手段。
上云前,客戶集群的資源分配閑置率高達(dá) 30%+,而通過我們提供的成本治理方案,閑置率降至 10% 以下,為行業(yè)領(lǐng)先水平。
標(biāo)簽
熱門文章更多>
- 阿里云國際站代理商:怎樣利用搶占式實(shí)例處理批處理任務(wù)?
- 阿里云國際站代理商:如何通過預(yù)留實(shí)例券降低長期業(yè)務(wù)成本?
- 阿里云國際站代理商:怎樣通過日志審計(jì)追蹤服務(wù)器異常操作?
- 阿里云國際站代理商:如何利用密鑰管理服務(wù)(KMS)加密敏感數(shù)據(jù)?
- 阿里云國際站代理商:怎樣配置RAM實(shí)現(xiàn)細(xì)粒度權(quán)限管理?
- 阿里云國際站代理商:如何通過阿里云WAF防御OWASP Top 10攻擊?
- 阿里云國際站代理商:怎樣使用Cloud Toolkit插件提升本地開發(fā)與云端聯(lián)調(diào)效率?
- 阿里云國際站代理商:阿里云彈性裸金屬服務(wù)器適合哪些高性能計(jì)算場(chǎng)景?
- 騰訊云國際站代理商:如何構(gòu)建云原生應(yīng)用的本地開發(fā)沙箱?
- 騰訊云國際站代理商:如何用Cloud IDE實(shí)現(xiàn)云端協(xié)同編程?
- 騰訊云國際站代理商:如何通過邊緣節(jié)點(diǎn)實(shí)現(xiàn)AR/VR低延遲渲染?
- 騰訊云國際站代理商:怎樣在5G基站側(cè)部署輕量級(jí)云服務(wù)器?
- 騰訊云國際站代理商:怎樣通過數(shù)據(jù)分類分級(jí)管控敏感信息?
- 騰訊云國際站代理商:GDPR合規(guī)下如何設(shè)計(jì)跨境數(shù)據(jù)存儲(chǔ)方案?
- 騰訊云國際站代理商:騰訊云服務(wù)器突然不能上傳文件了怎么辦?
- 騰訊云國際站代理商:騰訊云服務(wù)器怎么查找ip?
- 騰訊云國際站代理商:騰訊云服務(wù)器怎么看云主機(jī)面板?
- 騰訊云國際站代理商:騰訊云服務(wù)器域名驗(yàn)證錯(cuò)誤怎么辦?
- 騰訊云國際站代理商:騰訊云子網(wǎng)站不能綁定域名怎么辦?
- 騰訊云國際站代理商:騰訊云服務(wù)器怎么調(diào)試主題tob?

