本篇內(nèi)容介紹了“什么是k8s的可觀測(cè)性”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
創(chuàng)新互聯(lián)建站堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的隆子網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
“可觀測(cè)性”這個(gè)名詞其實(shí)是最近幾年才從控制理論中借用的舶來(lái)概念,不過(guò)實(shí)際上,計(jì)算機(jī)科學(xué)中關(guān)于可觀測(cè)性的研究?jī)?nèi)容已經(jīng)有了很多年的實(shí)踐積累。通常,人們會(huì)把可觀測(cè)性分解為三個(gè)更具體的方向進(jìn)行研究,分別是:日志收集、鏈路追蹤和聚合度量。
在 2017 年的分布式追蹤峰會(huì)(2017 Distributed Tracing Summit)結(jié)束后,彼得 · 波本(Peter Bourgon)撰寫了總結(jié)文章《Metrics, Tracing, and Logging》,就系統(tǒng)地闡述了這三者的定義、特征,以及它們之間的關(guān)系與差異,受到了業(yè)界的廣泛認(rèn)可。


度量的主要目的是監(jiān)控(Monitoring)和預(yù)警(Alert)。比如說(shuō),當(dāng)某些度量指標(biāo)達(dá)到了風(fēng)險(xiǎn)閾值時(shí)就觸發(fā)事件,以便自動(dòng)處理或者提醒管理員介入。監(jiān)控?cái)?shù)據(jù)格式標(biāo)準(zhǔn)化,做關(guān)聯(lián)指標(biāo)聚合,方便快速定位故障。
基礎(chǔ)層:監(jiān)控主機(jī)和底層資源,比如:CPU、內(nèi)存、網(wǎng)絡(luò)吞吐、硬盤 I/O、硬盤使用等。通信情況:這里是指主機(jī)與主機(jī)之間的網(wǎng)絡(luò)情況。通信是互聯(lián)網(wǎng)中最重要的基石之一,如果兩臺(tái)主機(jī)之間出現(xiàn)如網(wǎng)絡(luò)延遲時(shí)間大、丟包率高這樣的網(wǎng)絡(luò)問題,會(huì)導(dǎo)致業(yè)務(wù)受阻。
中間層:VM 指標(biāo)監(jiān)控,指的是 JVM 監(jiān)控,比如 GC 時(shí)間、線程數(shù)、FGC/YGC 耗時(shí)等信息。當(dāng)然,其他語(yǔ)言也有其獨(dú)特的統(tǒng)計(jì)指標(biāo)信息。就是中間件層的監(jiān)控,比如:Nginx、redis、ActiveMQ、Kafka、MySQL、Tomcat 的資源消耗。
應(yīng)用層:HTTP 訪問的吞吐量、響應(yīng)時(shí)間、返回碼、性能瓶頸,還包括用戶端的監(jiān)控。
統(tǒng)一的監(jiān)控告警平臺(tái):Prometheus+grafana
日志的職責(zé)是記錄離散事件,通過(guò)這些記錄事后分析出程序的行為,比如曾經(jīng)調(diào)用過(guò)什么方法、曾經(jīng)操作過(guò)哪些數(shù)據(jù),等等。通常,打印日志被認(rèn)為是程序中最簡(jiǎn)單的工作之一,你在調(diào)試問題的時(shí)候,可能也經(jīng)歷過(guò)這樣的情景“當(dāng)初這里記得打點(diǎn)日志就好了”,可見這就是一項(xiàng)舉手之勞的任務(wù)。
當(dāng)然,也有一部分系統(tǒng)是利用日志可追溯、結(jié)構(gòu)化的特點(diǎn),來(lái)實(shí)現(xiàn)相關(guān)功能的,比如我們最常見的 WAL(Write-Ahead Logging)。WAL 就是在操作之前先進(jìn)行日志寫入,再執(zhí)行操作;如果沒有執(zhí)行操作,那么在下次啟動(dòng)時(shí)就可以通過(guò)日志中結(jié)構(gòu)化的,有時(shí)間標(biāo)記的信息恢復(fù)操作,其中最典型的就是 MySQL 中的 Redo log。
統(tǒng)一的日志數(shù)據(jù)化:在特定時(shí)間發(fā)生的事件,被以結(jié)構(gòu)化的形式記錄并產(chǎn)生的文本數(shù)據(jù)。
統(tǒng)一的日志分析:elk或者loki+grafana
在單體系統(tǒng)時(shí)代,追蹤的范疇基本只局限于棧追蹤(Stack Tracing)。比如說(shuō),你在調(diào)試程序的時(shí)候,在 IDE 打個(gè)斷點(diǎn),看到的 Call Stack 視圖上的內(nèi)容便是跟蹤;在編寫代碼時(shí),處理異常調(diào)用了 Exception::printStackTrace() 方法,它輸出的堆棧信息也是追蹤。
而在微服務(wù)時(shí)代,追蹤就不只局限于調(diào)用棧了,一個(gè)外部請(qǐng)求需要內(nèi)部若干服務(wù)的聯(lián)動(dòng)響應(yīng),這時(shí)候完整的調(diào)用軌跡就會(huì)跨越多個(gè)服務(wù),會(huì)同時(shí)包括服務(wù)間的網(wǎng)絡(luò)傳輸信息與各個(gè)服務(wù)內(nèi)部的調(diào)用堆棧信息。因此,分布式系統(tǒng)中的追蹤在國(guó)內(nèi)通常被稱為“全鏈路追蹤”(后面我就直接稱“鏈路追蹤”了),許多資料中也把它叫做是“分布式追蹤”(Distributed Tracing)。服務(wù)調(diào)用鏈跟蹤。這個(gè)監(jiān)控系統(tǒng)應(yīng)該從對(duì)外的 API 開始,然后將后臺(tái)的實(shí)際服務(wù)給關(guān)聯(lián)起來(lái),然后再進(jìn)一步將這個(gè)服務(wù)的依賴服務(wù)關(guān)聯(lián)起來(lái),直到最后一個(gè)服務(wù)(如 MySQL 或 Redis),這樣就可以把整個(gè)系統(tǒng)的服務(wù)全部都串連起來(lái)了。
最近幾年,各種鏈路追蹤產(chǎn)品層出不窮,市面上主流的工具,既有像 Datadog 這樣的一攬子商業(yè)方案,也有像 AWS X-Ray 和 Google Stackdriver Trace 這樣的云計(jì)算廠商產(chǎn)品,還有像 SkyWalking、Zipkin、Jaeger 這樣來(lái)自開源社區(qū)的優(yōu)秀產(chǎn)品。

鏈路追蹤+統(tǒng)計(jì)指標(biāo)(Request-scoped metrics)請(qǐng)求級(jí)別的統(tǒng)計(jì):在鏈路追蹤的基礎(chǔ)上,與相關(guān)的統(tǒng)計(jì)數(shù)據(jù)結(jié)合,從而得知數(shù)據(jù)與數(shù)據(jù)、應(yīng)用與應(yīng)用之間的關(guān)系。
鏈路追蹤+日志(Request-scoped events)請(qǐng)求級(jí)別的事件:這是鏈路中一個(gè)比較常見的組合模式。日志本身是每一條單獨(dú)存在的,將鏈路追蹤收集到的信息集成在日志中,可以讓日志之間具備關(guān)聯(lián)性,使其具有除了事件維度以外的另一個(gè)新的維度,上下文信息。
日志+統(tǒng)計(jì)指標(biāo)(Aggregatable events)聚合級(jí)別的事件:這是在日志中的比較常見的組合。通過(guò)解析這部分具有統(tǒng)計(jì)指標(biāo)的信息,我們可以獲取相關(guān)的指標(biāo)數(shù)據(jù)。
三者結(jié)合(Request-scoped,aggregatable events)三者結(jié)合可以理解為請(qǐng)求級(jí)別+聚合級(jí)別的事件,由此就形成了一個(gè)豐富的、全局的觀測(cè)體系。
1.事件日志的職責(zé)是記錄離散事件,通過(guò)這些記錄事后分析出程序的行為;
2.追蹤的主要目的是排查故障,比如分析調(diào)用鏈的哪一部分、哪個(gè)方法出現(xiàn)錯(cuò)誤或阻塞,輸入輸出是否符合預(yù)期;
3.度量是指對(duì)系統(tǒng)中某一類信息的統(tǒng)計(jì)聚合,主要目的是監(jiān)控和預(yù)警,當(dāng)某些度量指標(biāo)達(dá)到風(fēng)險(xiǎn)閾值時(shí)就觸發(fā)事件,以便自動(dòng)處理或者提醒管理員介入。
“什么是k8s的可觀測(cè)性”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!
分享文章:什么是k8s的可觀測(cè)性
文章分享:http://chinadenli.net/article14/ppdede.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、網(wǎng)站設(shè)計(jì)公司、網(wǎng)站維護(hù)、商城網(wǎng)站、服務(wù)器托管、域名注冊(cè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)