可观测性与原生云监控
在近日發(fā)表的一篇文章中,Cindy Sridharan概括介紹了可觀測性及其與原生云應(yīng)用程序監(jiān)控的關(guān)系。可觀測性是一種理念,包括監(jiān)控、日志聚合、指標(biāo)和分布式跟蹤,可以實(shí)時更深入地觀察系統(tǒng)。
Sridharan的文章基于她就同一個主題所做的Velocity演講。隨著微服務(wù)、云和容器化架構(gòu)的出現(xiàn),我們構(gòu)建系統(tǒng)的方式變了。在后一種情況下,應(yīng)用程序是分布式的,而且瞬息萬變。底層的基礎(chǔ)設(shè)施和網(wǎng)絡(luò)服務(wù)愈加健壯,應(yīng)用程序?qū)有枰霞夹g(shù)的發(fā)展步伐。將來,大多數(shù)的故障都將來自應(yīng)用程序?qū)踊蛘呤遣煌瑧?yīng)用程序之間的復(fù)雜交互。
這種復(fù)雜性增加了把系統(tǒng)狀態(tài)可視化的難度。雖然出現(xiàn)了新的工具,但尚處于發(fā)展階段。Sridharan探討了可觀測性的概念以及如何選擇恰當(dāng)?shù)墓ぞ叨床飕F(xiàn)如今的系統(tǒng)。
可觀測性是一個最近幾年開始在監(jiān)控社區(qū)流行的術(shù)語,然而,它并不是一個新事物,而且似乎和它真正的意思有些出入。據(jù)Sridharan之前的文章,可以將可觀測性視為監(jiān)控的超集。Twitter工程團(tuán)隊(duì)的文章將可觀測性總結(jié)為監(jiān)控、預(yù)警/可視化、分布式系統(tǒng)跟蹤、日志聚合和分析。谷歌致力于簡化工具,降低數(shù)據(jù)聚合成本,標(biāo)準(zhǔn)化整個棧的格式和框架,從而便于跟蹤。谷歌最上層的抽象是上下文傳播,他們針對每一種語言提供了一個庫,或者使用該語言的內(nèi)置特性。上下文用于在整個棧中傳播被稱為標(biāo)簽的鍵-值對,后續(xù)可以把它們用于過濾特定的請求。
預(yù)警和統(tǒng)一管理面板是監(jiān)控的組成部分。按照Sridharan的說法,可觀測性是所有這些再加上(應(yīng)用程序)性能分析、調(diào)試和依賴分析。與監(jiān)控不同,可觀測性和數(shù)據(jù)挖掘有關(guān),是為了尋找問題的答案,簡化信息的訪問。監(jiān)控和故障檢測有關(guān),有定義好的故障路徑。隨著故障模式的增加,確定真正的原因變得非常困難,這是由日益復(fù)雜的架構(gòu)所導(dǎo)致的。而后者已成常態(tài)。定義可觀測性有不同的方法。例如,白盒監(jiān)控是指,有一個數(shù)據(jù)源,可觀測性可以視為從數(shù)據(jù)中挖掘相關(guān)信息的能力。
日志、指標(biāo)和請求跟蹤是可觀測性的基礎(chǔ)。日志為數(shù)據(jù)(如指標(biāo))提供額外的上下文。不過,日志對性能的影響也很大。相比之下,指標(biāo)的開銷是不變的,而且有利于預(yù)警。總而言之,日志和指標(biāo)可以為觀察單獨(dú)的系統(tǒng)提供方便,但是對于穿過多個系統(tǒng)的請求,很難提供其生命周期的信息。跟蹤提供了跟蹤在各個系統(tǒng)之間傳遞的請求的能力。后者很難實(shí)施,一個原因是應(yīng)用程序使用的第三方庫也需要檢測。抽樣被用于減少跟蹤的開銷和存儲成本。這里的抽樣是指減少收集的信息的數(shù)量。其中,磁盤配額及動態(tài)調(diào)整日志生成速度就是日志記錄的一些最佳實(shí)踐。
關(guān)于跟蹤技術(shù)的發(fā)展近況。谷歌發(fā)布了Dapper論文,Open Zipkin是以此為基礎(chǔ)的開源實(shí)現(xiàn),并導(dǎo)致了OpenTracing標(biāo)準(zhǔn)的產(chǎn)生。如果應(yīng)用程序使用了類似Envoy項(xiàng)目這樣的網(wǎng)格技術(shù),跟蹤就簡單些。服務(wù)網(wǎng)格是一個位于TCP/IP層之上的網(wǎng)絡(luò)基礎(chǔ)設(shè)施層,可以處理可靠請求交付,有時候也實(shí)現(xiàn)為一系列網(wǎng)絡(luò)代理。它簡化了動態(tài)環(huán)境中的服務(wù)通信,如使用Kubernetes編排的容器集群。
在原生云環(huán)境中,軟件開發(fā)和交付可以從采用類似預(yù)生產(chǎn)測試、生產(chǎn)測試、有效監(jiān)控、原始數(shù)據(jù)(如指標(biāo)和日志事件)挖掘和動態(tài)檢測這樣的實(shí)踐收益。
原文:http://www.infoq.com/cn/news/2017/11/observability-monitoring
.NET社區(qū)新聞,深度好文,歡迎訪問公眾號文章匯總 http://www.csharpkit.com
總結(jié)
以上是生活随笔為你收集整理的可观测性与原生云监控的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ASP.NET Core 认证与授权[7
- 下一篇: 使用Microsoft.AspNetCo