新聞中心
Kubernetes 可觀測(cè)性:利用四個(gè)開(kāi)源工具
作者:運(yùn)維開(kāi)發(fā)故事 2022-08-05 14:26:50
云計(jì)算
云原生 你可能已經(jīng)知道Kubernetes是領(lǐng)先的容器編排系統(tǒng)。根據(jù)最新的CNCF 研究,可能已經(jīng)將它用于生產(chǎn)工作負(fù)載或在未來(lái)一年考慮使用它。

公司主營(yíng)業(yè)務(wù):成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)、移動(dòng)網(wǎng)站開(kāi)發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開(kāi)放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來(lái)驚喜。創(chuàng)新互聯(lián)推出威遠(yuǎn)免費(fèi)做網(wǎng)站回饋大家。
2021 年的研究發(fā)現(xiàn),驚人的 96% 的受訪者正在使用 Kubernetes 或計(jì)劃在不久的將來(lái)使用它——而 69% 的受訪者目前正在生產(chǎn)中使用 Kubernetes。Kubernetes 為大型組織和小型組織提供了許多好處:它提高了開(kāi)發(fā)人員的生產(chǎn)力、降低了成本、提高了效率,并最終為最終用戶帶來(lái)了更好的體驗(yàn)。
但是,雖然Kubernetes 有很多優(yōu)勢(shì),但它也帶來(lái)了一些挑戰(zhàn)。對(duì)于在 K8s 上運(yùn)行工作負(fù)載的團(tuán)隊(duì)來(lái)說(shuō),實(shí)施全面的監(jiān)控堆棧是一個(gè)重要的早期步驟。在這篇文章中,我們將探討四種開(kāi)源工具和技術(shù),你可以使用它們來(lái)減少停機(jī)時(shí)間、更有效地進(jìn)行故障排除,并全面了解集群內(nèi)發(fā)生的一切。
開(kāi)源工具和技術(shù)
云原生計(jì)算基金會(huì) (CNCF) 已經(jīng)孵化和畢業(yè)了許多用于監(jiān)控和可觀察性的驚人技術(shù)和工具。其中四種工具和技術(shù)特別有用,可以被各種規(guī)模的組織利用。讓我們跳進(jìn)去。
指標(biāo)和警報(bào)
Prometheus于 2016 年 5 月 9 日被 CNCF 接受,是一個(gè)功能強(qiáng)大且 100% 開(kāi)源的工具和時(shí)間序列數(shù)據(jù)庫(kù)。借助 Prometheus,工程團(tuán)隊(duì)能夠大規(guī)模收集指標(biāo)并配置警報(bào)。Prometheus 被新生的初創(chuàng)公司以及世界上一些最大的公司使用,例如 Digital Ocean、Ericsson 和 Docker。借助 Prometheus,團(tuán)隊(duì)能夠使用PromQL編寫(xiě)查詢并創(chuàng)建臨時(shí)表、圖表和警報(bào)。借助 Alertmanager,團(tuán)隊(duì)能夠使用預(yù)配置和可自定義的警報(bào)來(lái)識(shí)別發(fā)生的重要問(wèn)題。使用警報(bào)規(guī)則,用戶可以使用 Prometheus 表達(dá)式語(yǔ)言定義警報(bào)條件,然后將通知發(fā)送到外部服務(wù)。
Prometheus 有一個(gè)內(nèi)置的可視化工具集,但通常與另一個(gè)可視化工具配對(duì),例如Grafana或ContainIQ。將 Prometheus 連接到可視化工具很容易;Grafana 中有大量可用的預(yù)構(gòu)建儀表板。由于 Prometheus 有許多集成和現(xiàn)有的導(dǎo)出器,因此使用官方導(dǎo)出器以及外部維護(hù)的選項(xiàng)將第三方指標(biāo)橋接到 Prometheus 非常容易。
Prometheus 是 CNCF 的畢業(yè)項(xiàng)目。在GitHub 上,Prometheus 擁有超過(guò) 42,000 顆星和來(lái)自 700 多名貢獻(xiàn)者的貢獻(xiàn)。
鏈路追蹤
Jaeger于 2017 年 9 月 13 日被 CNCF 接受,是一個(gè)分布式追蹤的開(kāi)源平臺(tái)。使用 Jaeger,工程師可以通過(guò)分布式事務(wù)監(jiān)控或跟蹤進(jìn)行監(jiān)控和故障排除。與 Prometheus 一樣,Jaeger 被大大小小的團(tuán)隊(duì)使用,并且被設(shè)計(jì)為大規(guī)模使用。像 Uber 這樣的公司使用 Jaeger 每天處理數(shù)十億個(gè) span。
Jaeger 對(duì)于分析性能和延遲以及進(jìn)行優(yōu)化特別有用。使用 Jaeger,執(zhí)行根本原因分析和研究服務(wù)依賴關(guān)系要容易得多。例如,Jaeger 可用于識(shí)別特定微服務(wù)的延遲峰值,包括影響最終用戶體驗(yàn)的那些。Prometheus 和 Jaeger經(jīng)常一起使用:Prometheus 提供了一個(gè)工具集來(lái)檢測(cè)你的基礎(chǔ)設(shè)施中的問(wèn)題,而 Jaeger 通過(guò)深入研究各個(gè)請(qǐng)求來(lái)幫助你解決這些問(wèn)題。
Jaeger 有一個(gè)名為 Jaeger Web UI 的原生 UI,它是用 Javascript 實(shí)現(xiàn)的。Jaeger 和 Kubernetes入門(mén)是一個(gè)簡(jiǎn)單的過(guò)程。Jaeger Operator 可以安裝在 Kubernetes 集群上,并且可以為特定命名空間或整個(gè)集群?jiǎn)⒂谩aeger 是 CNCF 的畢業(yè)項(xiàng)目。在 GitHub 上,Jaeger 擁有超過(guò) 15,000 顆星和來(lái)自 200 多名貢獻(xiàn)者的貢獻(xiàn)。
標(biāo)準(zhǔn)化指標(biāo)、日志、跟蹤
OpenTelemetry于 2019 年 5 月 17 日被 CNCF 接受,是一組工具、API 和 SDK,用于檢測(cè)、生成、收集和導(dǎo)出遙測(cè)數(shù)據(jù)。通過(guò)使用 OpenTelemetry,工程師能夠收集指標(biāo)、日志和跟蹤,因此他們可以更深入地挖掘其基礎(chǔ)設(shè)施和應(yīng)用程序的性能。
OpenTelemetry 是開(kāi)源的、供應(yīng)商中立的,并且在可觀察性方面受到許多大公司以及云提供商本身的支持。微服務(wù)架構(gòu)有很多好處,但是當(dāng)它們被大規(guī)模部署時(shí),工程團(tuán)隊(duì)可能會(huì)更難以查看服務(wù)的執(zhí)行情況以及它們?nèi)绾斡绊懫渌?wù)。指標(biāo)、日志和跟蹤可以讓團(tuán)隊(duì)全面了解正在發(fā)生的事情,但收集這些數(shù)據(jù)需要運(yùn)行、操作和維護(hù)多個(gè)代理/收集器,這可能是一個(gè)挑戰(zhàn)。
OpenTelemetry 通過(guò)標(biāo)準(zhǔn)化將數(shù)據(jù)發(fā)送到可觀察性后端的格式來(lái)解決這個(gè)問(wèn)題,無(wú)論它是開(kāi)源工具還是付費(fèi)解決方案。它消除了供應(yīng)商鎖定的風(fēng)險(xiǎn),因?yàn)閳F(tuán)隊(duì)現(xiàn)在能夠使用標(biāo)準(zhǔn)格式輕松地在后端之間切換。
OpenTelemetry 是一個(gè) CNCF 畢業(yè)項(xiàng)目,位于GitHub 上。
指標(biāo)的多集群和長(zhǎng)期存儲(chǔ)
Thanos于 2019 年 7 月 20 日被 CNCF 接受,它是一個(gè)開(kāi)源項(xiàng)目,使工程師能夠通過(guò)高度可用的長(zhǎng)期存儲(chǔ)選項(xiàng)擴(kuò)展其 Prometheus 設(shè)置。Thanos 可以使用與 Prometheus 服務(wù)器在同一主機(jī)或同一 pod 上運(yùn)行的sidecar輕松與 Prometheus 集成。與 Prometheus 一樣,Thanos 并沒(méi)有特別依賴于 Kubernetes,但這是流行的用例。Thanos 旨在以多種重要方式改進(jìn) Prometheus。首先,借助 Thanos,工程師可以通過(guò)允許跨多個(gè)服務(wù)和集群進(jìn)行查詢來(lái)擴(kuò)展他們的 Prometheus 設(shè)置。對(duì)于跨多個(gè)集群運(yùn)行 Kubernetes 工作負(fù)載的公司來(lái)說(shuō),這是一種改進(jìn)的方法,可以通過(guò)集中視圖幫助節(jié)省時(shí)間。其次,借助 Thanos,團(tuán)隊(duì)能夠利用許多長(zhǎng)期存儲(chǔ)選項(xiàng),例如 S3。與 Prometheus 一樣,Thanos 可以與 Grafana 等可視化工具一起使用,并且它原生支持 Prometheus 查詢 API。Thanos 是一個(gè) CNCF 孵化項(xiàng)目。在GitHub 上,Thanos 擁有超過(guò) 10,000 顆星和來(lái)自 400 多名貢獻(xiàn)者的貢獻(xiàn)。
其他注意事項(xiàng)
以下是一些需要考慮的其他最佳實(shí)踐。
- 緩慢擴(kuò)展:雖然這些工具有很多好處,但團(tuán)隊(duì)在實(shí)施過(guò)程中應(yīng)該深思熟慮。在某些情況下,在整個(gè)基礎(chǔ)架構(gòu)中使用這些工具之前,在有限的集合中或在單個(gè)集群中或在暫存環(huán)境中測(cè)試這些工具中的每一個(gè)可能是有意義的。
- 考慮使用托管產(chǎn)品:今天,許多云提供商都提供托管解決方案。例如,亞馬遜和谷歌云都管理過(guò) Prometheus 產(chǎn)品。
- 鼓勵(lì)團(tuán)隊(duì)合作:整個(gè)團(tuán)隊(duì)都可以了解如何使用這些工具。擁抱學(xué)習(xí),并為你的工程團(tuán)隊(duì)提供他們需要的時(shí)間和資源,以便他們熟悉開(kāi)源工具的世界。
- 警惕告警疲勞:告警疲勞是組織規(guī)模擴(kuò)大時(shí)的真正挑戰(zhàn)。努力設(shè)置可操作的警報(bào),并考慮定期重新調(diào)整警報(bào),以確保它們創(chuàng)造價(jià)值而不是浪費(fèi)時(shí)間。
總結(jié)
在本文中,我們介紹了四個(gè)工具集,它們可以增強(qiáng)和改進(jìn)對(duì)在 Kubernetes 上運(yùn)行工作負(fù)載的工程師的監(jiān)控。
Prometheus 是許多組織的首選時(shí)間序列數(shù)據(jù)庫(kù),當(dāng)與 Thanos 一起使用時(shí),它是一個(gè)長(zhǎng)期的解決方案。
Jaeger 提供了修復(fù)你在基礎(chǔ)架構(gòu)中檢測(cè)到的問(wèn)題所需的額外上下文。OpenTelemetry 已經(jīng)標(biāo)準(zhǔn)化了指標(biāo)、日志和跟蹤的格式和收集,讓團(tuán)隊(duì)高枕無(wú)憂并保持動(dòng)態(tài)。
這些工具共同提供了有效排除故障所需的指標(biāo)、日志和跟蹤,并確保你的最終用戶擁有出色的體驗(yàn)。
標(biāo)題名稱:Kubernetes可觀測(cè)性:利用四個(gè)開(kāi)源工具
文章轉(zhuǎn)載:http://m.fisionsoft.com.cn/article/copdjjg.html


咨詢
建站咨詢
