<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          云原生可觀(guān)察性-概述篇

          共 4039字,需瀏覽 9分鐘

           ·

          2022-08-09 02:51

          1.1.概述

          云原生(Cloud Native)由Pivotal公司Matt Stine 于2013年首次提出,它代表一種構(gòu)建和運(yùn)行應(yīng)用程序的技術(shù)和方法論,其中“Cloud”表示的是應(yīng)用運(yùn)行在云環(huán)境之上;“Native”則強(qiáng)調(diào)的是應(yīng)用從設(shè)計(jì)之初就基于云基礎(chǔ)設(shè)施能力,借助云的優(yōu)勢(shì)實(shí)現(xiàn)更加高效強(qiáng)大的技術(shù)架構(gòu);

          云原生是對(duì)傳統(tǒng)云計(jì)算的拓展延伸,其核心價(jià)值不再是云計(jì)算技術(shù)本身,而是強(qiáng)調(diào)以業(yè)務(wù)應(yīng)用為中心的理念,充分挖掘并釋放云對(duì)業(yè)務(wù)應(yīng)用的價(jià)值,即云是服務(wù)業(yè)務(wù)應(yīng)用的基礎(chǔ)設(shè)施,業(yè)務(wù)應(yīng)用生于云、長(zhǎng)于云,進(jìn)而實(shí)現(xiàn)云業(yè)融合、云隨業(yè)動(dòng)、云驅(qū)業(yè)長(zhǎng)的本質(zhì)價(jià)值。
          云原生可觀(guān)測(cè)性是從傳統(tǒng)軟件監(jiān)控及數(shù)據(jù)分析可視化工具中,總結(jié)出在云原生領(lǐng)域中,從底層容器基礎(chǔ)設(shè)施、通用技術(shù)組件到業(yè)務(wù)應(yīng)用系統(tǒng)全鏈路監(jiān)控運(yùn)維、運(yùn)營(yíng)治理等產(chǎn)品化體系化的能力訴求??捎^(guān)測(cè)性是云原生技術(shù)架構(gòu)的重要特征,確切的體現(xiàn)了云原生的核心理念,自提出就被廣泛的認(rèn)可:
          2017年,Apple工程師Cindy Sridharan在9月發(fā)表的博文《Monitoring and Observabbility》中,首次談到云原生監(jiān)控與可觀(guān)測(cè)性的關(guān)系;
          2017年10月份,Matt Stine在接受InfoQ采訪(fǎng)時(shí)將云原生特征重新歸納為六大點(diǎn),分別是Modularity(模塊化)、Observability(可觀(guān)測(cè)性)、Deployability(可部署性)、Testability(可測(cè)試性)、Disposability(可處理性)、Replaceability(可替換性);其中就包含了Observability可觀(guān)測(cè)性。

          1.2.可觀(guān)測(cè)性的定義

          進(jìn)入云原生時(shí)代,應(yīng)用的構(gòu)建部署運(yùn)行時(shí)基礎(chǔ)設(shè)施都發(fā)生翻天覆地的變化,技術(shù)架構(gòu)微服務(wù)化、運(yùn)行時(shí)環(huán)境容器化、業(yè)務(wù)系統(tǒng)依賴(lài)關(guān)系復(fù)雜化,運(yùn)行實(shí)例生命周期短,規(guī)模大;服務(wù)自動(dòng)注冊(cè)發(fā)現(xiàn),監(jiān)控也隨著實(shí)時(shí)動(dòng)態(tài)調(diào)整,傳統(tǒng)預(yù)先配置再監(jiān)控的方式已經(jīng)無(wú)法滿(mǎn)足云原生的場(chǎng)景。
          可觀(guān)測(cè)性與監(jiān)控是有本質(zhì)區(qū)別的,監(jiān)控更多的偏向自動(dòng)化工具,可以替代人自動(dòng)監(jiān)控系統(tǒng)異常;而可觀(guān)測(cè)性不僅包含傳統(tǒng)監(jiān)控的能力,更多的是面向業(yè)務(wù),強(qiáng)調(diào)將業(yè)務(wù)全過(guò)程透明化的理念。
          CNCF 云原生生態(tài)也整合了可觀(guān)測(cè)性體系,將可觀(guān)測(cè)性的能力作為云原生底層基礎(chǔ)設(shè)施能力,從根本上解決了平臺(tái)與業(yè)務(wù)運(yùn)維工具雜亂,能力層次不齊的問(wèn)題。當(dāng)前生態(tài)全景圖中是按照 Monitoring監(jiān)控、Logging日志 、Tracing調(diào)用鏈三個(gè)維度來(lái)分類(lèi):
          (一)Logging日志:結(jié)構(gòu)化與非結(jié)構(gòu)化的混合數(shù)據(jù),應(yīng)用運(yùn)行過(guò)程會(huì)持續(xù)輸出日志數(shù)據(jù),這些日志數(shù)據(jù)是業(yè)務(wù)系統(tǒng)運(yùn)行狀態(tài)的各種事件及業(yè)務(wù)處理邏輯時(shí)輸出的,如果業(yè)務(wù)日志比較完善,基本上可以還原業(yè)務(wù)流程處理的全過(guò)程。日志服務(wù)主要就是收集并長(zhǎng)時(shí)間保存日志,如果出現(xiàn)事故或者其他審計(jì)需求,就可以借助日志服務(wù)隨時(shí)間查閱日志信息。日志服務(wù)由來(lái)已久,主要難點(diǎn)是解決大規(guī)模日志數(shù)據(jù)采集,解析,存儲(chǔ),實(shí)時(shí)檢索等問(wèn)題,還有就是尋找低侵入的方式(Agent,Sidecar)來(lái)標(biāo)準(zhǔn)化輸出日志,提高日志數(shù)據(jù)的質(zhì)量,降低業(yè)務(wù)系統(tǒng)日志優(yōu)化成本;目前業(yè)內(nèi)常見(jiàn)的ELK Stack是日志服務(wù)的大成者。ELK Stack在云原生場(chǎng)景主要是解決日志采集適配,監(jiān)聽(tīng)容器運(yùn)行變化,靈活穩(wěn)定有效地采集容器化應(yīng)用的運(yùn)行時(shí)日志即可。
          (二)Tracing調(diào)用鏈:結(jié)構(gòu)化與非結(jié)構(gòu)化的混合數(shù)據(jù),盡最大可能串聯(lián)單個(gè)事務(wù)內(nèi)全過(guò)程的日志數(shù)據(jù),通過(guò)對(duì)請(qǐng)求打標(biāo)、透?jìng)?、串?lián),最終可以還原出一次完整的請(qǐng)求,幫助工程師分析出請(qǐng)求中的各種異常點(diǎn);調(diào)用鏈基本上是基于谷歌Dapper理論來(lái)實(shí)現(xiàn)的,但是對(duì)業(yè)務(wù)系統(tǒng)要求比較高,對(duì)業(yè)務(wù)性能是有一定的影響,在單個(gè)業(yè)務(wù)系統(tǒng)內(nèi)比較容易實(shí)現(xiàn),假如在異構(gòu)應(yīng)用間,尤其是串聯(lián)共有云的服務(wù)組件與業(yè)務(wù)系統(tǒng),業(yè)務(wù)系統(tǒng)前中后臺(tái)的全流程,實(shí)現(xiàn)非常困難。
          (三)Monitoring監(jiān)控:結(jié)構(gòu)化數(shù)據(jù),描述的是在給定時(shí)間點(diǎn)對(duì)系統(tǒng)的度量,基本上分為四大類(lèi)型,分別是Sum、Count、Last value、Histograms,監(jiān)控主要是底層基礎(chǔ)資源運(yùn)行狀態(tài)的數(shù)據(jù),通過(guò)多維度聚合、分析和可視化展示,幫助快速理解系統(tǒng)資源的運(yùn)行狀態(tài)。

          1.3.可觀(guān)測(cè)性的產(chǎn)品體系

          在CNCF的產(chǎn)品能力全景圖中,可觀(guān)測(cè)性體系產(chǎn)品分為Monitoring監(jiān)控,Tracing 調(diào)用鏈Logging日志,Chaos Engineering混沌工程四大類(lèi),其中混沌工程更多的是一種可靠性工具,而不是可觀(guān)測(cè)性,所以主要討論前三大類(lèi)產(chǎn)品體系:
          (一)Logging日志產(chǎn)品體系:在云原生環(huán)境中,日志收集工具與應(yīng)用程序容器一起運(yùn)行,并直接從應(yīng)用程序收集消息,然后將消息轉(zhuǎn)發(fā)到中央日志存儲(chǔ)以進(jìn)行匯總和分析,F(xiàn)luentd 是該領(lǐng)域唯一的 CNCF 項(xiàng)目,其它廠(chǎng)商也提供了相應(yīng)的解決方案,例如elastic、splunk,國(guó)內(nèi)廠(chǎng)商有專(zhuān)精于日志領(lǐng)域的日志易、袋鼠云,也有綜合云平臺(tái)的阿里云日志服務(wù)、騰訊云日志服務(wù)、七牛云日志服務(wù)(Pandora)等。
          (二)Monitoring監(jiān)控產(chǎn)品體系:云原生環(huán)境中的監(jiān)控和傳統(tǒng)應(yīng)用程序的監(jiān)控類(lèi)似,需要跟蹤指標(biāo)、日志和事件以便了解應(yīng)用的運(yùn)行狀況,主要區(qū)別在于云原生環(huán)境中的某些托管對(duì)象是臨時(shí)的(例如POD資源對(duì)象)。CNCF 中有許多監(jiān)控工具,最主要的是Prometheus,基本成為云原生監(jiān)控體系通用的解決方案,配合Grafana進(jìn)行可視化分析。
          (三)Tracing調(diào)用鏈產(chǎn)品體系:調(diào)用鏈?zhǔn)且环N功能強(qiáng)大的追蹤工具,可以對(duì)分布式應(yīng)用程序的行為進(jìn)行故障排除,實(shí)現(xiàn)成本較高,涉及應(yīng)用代碼適配調(diào)整。CNCF中主要的調(diào)用鏈工具是Jaeger
          直接基于上述三個(gè)產(chǎn)品體系的產(chǎn)品及組合,可以快速的搭建可觀(guān)測(cè)性系統(tǒng),但在實(shí)際使用過(guò)程會(huì)遇到各種各樣的問(wèn)題,總結(jié)起來(lái)有如下幾點(diǎn):
          1.組件繁多: 針對(duì)Monitoring、Logging、Tracing三種場(chǎng)景,往往需要搭建三套獨(dú)立的系統(tǒng),涉及的組件多,維護(hù)成本高;
          2.數(shù)據(jù)不互通:同一個(gè)應(yīng)用不同類(lèi)型的數(shù)據(jù)被存儲(chǔ)在相互獨(dú)立的系統(tǒng),數(shù)據(jù)不互通,難以發(fā)揮數(shù)據(jù)的最大價(jià)值;
          3.云原生不友好:很多組件都成熟于云原生之前,部分組件社區(qū)發(fā)展緩慢,對(duì)于云原生的適配支持相對(duì)較弱,而且方案本身部署和使用代價(jià)都很高,不符合 “云原生” 這種一鍵部署、開(kāi)箱即用的使用方式。
          當(dāng)前在云原生環(huán)境中,大部分的事件處理還是依賴(lài)人工來(lái)串聯(lián)Monitoring、Logging、Tracing三個(gè)產(chǎn)品能力,為了從根本上解決這個(gè)問(wèn)題,CNCF孵化了OpenTelemetry開(kāi)源項(xiàng)目。該項(xiàng)目雄心勃勃,旨在標(biāo)準(zhǔn)統(tǒng)一Monitoring、Logging、Tracing三種體系,實(shí)現(xiàn)可觀(guān)測(cè)性大一統(tǒng)。

          1.4.OpenTelemetry開(kāi)源項(xiàng)目

          OpenTelemetry是CNCF可觀(guān)測(cè)性體系孵化項(xiàng)目,旨在提供可觀(guān)測(cè)性領(lǐng)域的標(biāo)準(zhǔn)化方案,解決可觀(guān)測(cè)性的數(shù)據(jù)模型、采集、處理、導(dǎo)出等的標(biāo)準(zhǔn)化問(wèn)題,提供與第三方廠(chǎng)商無(wú)關(guān)的服務(wù)。是由OpenTracing(CNCF)和OpenCensus(谷歌和微軟)兩個(gè)項(xiàng)目合并而成,其核心工作主要集中在以下三個(gè)部分:
          1.規(guī)范的制定和協(xié)議的統(tǒng)一,規(guī)范包含數(shù)據(jù)傳輸、API的規(guī)范,協(xié)議的統(tǒng)一包含HTTP W3C的標(biāo)準(zhǔn)支持及GRPC等框架的協(xié)議標(biāo)準(zhǔn)
          2.多語(yǔ)言SDK的實(shí)現(xiàn)和集成,用戶(hù)可以使用SDK進(jìn)行代碼自動(dòng)注入和手動(dòng)埋點(diǎn),同時(shí)支持對(duì)接集成第三方(Log4j、LogBack等);
          3.數(shù)據(jù)收集系統(tǒng)的實(shí)現(xiàn),當(dāng)前是基于OpenCensus Service的收集系統(tǒng),包括Agent和Collector。
          OpenTelemetry核心功能是產(chǎn)生、收集可觀(guān)測(cè)性數(shù)據(jù),并支持傳輸?shù)礁鞣N的分析軟件中,整體的架構(gòu)如下圖,其中 Library 用于產(chǎn)生統(tǒng)一格式的可觀(guān)測(cè)性數(shù)據(jù);Collector 用來(lái)接收數(shù)據(jù),并支持把數(shù)據(jù)傳輸?shù)礁鞣N類(lèi)型的后端系統(tǒng)。
          自O(shè)penTelemetry推出以來(lái),有越來(lái)越多的廠(chǎng)商開(kāi)始關(guān)注和貢獻(xiàn),國(guó)內(nèi)的幾個(gè)公有云廠(chǎng)商可觀(guān)察性產(chǎn)品也開(kāi)始適配OpenTelemetry標(biāo)準(zhǔn)。
          對(duì)于開(kāi)發(fā)者,基于OpenTelemetry可通過(guò)一套標(biāo)準(zhǔn)的方案進(jìn)行 Metrics,Logging ,Tracing 的生成和導(dǎo)出,降低開(kāi)發(fā)過(guò)程中對(duì)不同類(lèi)型觀(guān)測(cè)數(shù)據(jù)的使用成本,也降低對(duì)接不同后端服務(wù)的成本,如開(kāi)源項(xiàng)目Prometheus或第三方云廠(chǎng)商的服務(wù)。
          對(duì)于SRE,基于OpenTelemetry可為觀(guān)測(cè)數(shù)據(jù)提供一套標(biāo)準(zhǔn)的采集、處理、導(dǎo)出流程,并在處理環(huán)節(jié)根據(jù)團(tuán)隊(duì)需求規(guī)范化觀(guān)測(cè)數(shù)據(jù),便于后續(xù)采用標(biāo)準(zhǔn)化的方案使用觀(guān)測(cè)數(shù)據(jù),如監(jiān)控、告警服務(wù)。
          同時(shí),不論對(duì)于開(kāi)發(fā)者還是 SRE,均可以通過(guò)社區(qū)的力量持續(xù)迭代對(duì)可觀(guān)測(cè)性問(wèn)題域的理解,吸收社區(qū)的技術(shù)紅利,并將生產(chǎn)中產(chǎn)生的最佳實(shí)踐回饋社區(qū),更好推動(dòng)可觀(guān)測(cè)性領(lǐng)域的發(fā)展。

          1.5.總結(jié)

          總的來(lái)說(shuō),云原生可觀(guān)測(cè)性還處在發(fā)展起步階段,各個(gè)領(lǐng)域都有極為成熟的大一統(tǒng)的產(chǎn)品,例如監(jiān)控有Prometheus,日志有ELK或者EFK,調(diào)用鏈有Jaeger;   目前日志及監(jiān)控產(chǎn)品已經(jīng)趨于規(guī)范和穩(wěn)定,但是產(chǎn)品由于發(fā)展時(shí)間長(zhǎng),導(dǎo)致目前規(guī)范體系很難統(tǒng)一;調(diào)用鏈還處在實(shí)驗(yàn)階段,最大的問(wèn)題是在大規(guī)模分布式場(chǎng)景下業(yè)務(wù)全鏈路是跨客戶(hù)端,網(wǎng)絡(luò),中后臺(tái)服務(wù),想要把真實(shí)業(yè)務(wù)全過(guò)程鏈路數(shù)據(jù)都收集串聯(lián)起來(lái),幾乎不肯能實(shí)現(xiàn),尤其是目前很多業(yè)務(wù)是跨云跨地域場(chǎng)景。另一個(gè)方面就是需要大一統(tǒng)的可落地產(chǎn)品,通過(guò)統(tǒng)一的標(biāo)準(zhǔn)匯聚三者的數(shù)據(jù),挖掘交叉區(qū)域的價(jià)值。
          OpenTelemetry是云原生可觀(guān)測(cè)性體系唯一希望,尤其是協(xié)議及標(biāo)準(zhǔn),發(fā)展中尚未大一統(tǒng)的領(lǐng)域都非常需要標(biāo)準(zhǔn),有了標(biāo)準(zhǔn)之后就需要所有參與者放棄原有個(gè)性化的協(xié)議,遵守大一統(tǒng)的標(biāo)準(zhǔn),分久必合合久必分,看似輕松實(shí)際非常艱巨事情;OpenTelemetry過(guò)于理想,演進(jìn)完善還有很長(zhǎng)的路,來(lái)日方長(zhǎng),未來(lái)可期。

          瀏覽 44
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  自拍成人视频 | 日韩A片免费在线观看 | 亚洲高清视频在线播放 | 亚洲无码视频在线观看免费 | 影音先锋在线成人视频 |