国产精品久久香蕉免费播放,久久18禁高潮出水呻吟娇喘,亚洲AV无码成人精品区狼人影院,456亚洲影院,日本伊人精品一区二区三区

可觀(guān)察性與監控有何不同?為什么可觀(guān)察性很重要?

可觀(guān)察性與監控有何不同?為什么可觀(guān)察性很重要?

可觀(guān)察性一詞源于控制理論。RE Kálmán 在 1960 年將其定義為衡量您從系統外部輸出的知識推斷系統內部狀態(tài)的能力??捎^(guān)察性是一個(gè)非常強大的概念,因為它可以讓您了解系統的內部狀態(tài),而無(wú)需內部工作的復雜性。換句話(huà)說(shuō),您只需查看輸出即可了解發(fā)生了什么。

可觀(guān)察性與監控有何不同?為什么可觀(guān)察性很重要?-美聯(lián)科技

在過(guò)去的十年中,軟件和架構已經(jīng)從運行單個(gè)進(jìn)程的單一應用程序發(fā)展到復雜的架構,包括分布在眾多節點(diǎn)上的數百甚至數千個(gè)服務(wù)。這種演變需要不同的工具和技術(shù)來(lái)推理構成現代軟件的不同組件。當您使可觀(guān)察性適應軟件時(shí),它允許您以新的方式與您編寫(xiě)的代碼進(jìn)行交互和推理??捎^(guān)察的系統允許您回答開(kāi)放式問(wèn)題并理解:

應用程序的內部工作原理

系統的當前狀態(tài),無(wú)論多么極端或異常

用戶(hù)當前遇到的問(wèn)題

為什么系統會(huì )以某種方式運行——無(wú)需猜測

人們對可觀(guān)察性的含義有不同程度的理解。對于一些人來(lái)說(shuō),這只是偽裝成一個(gè)新流行詞的老式監控。但究竟什么是可觀(guān)察性,它與監控有何不同?

可觀(guān)察性與監控有何不同

許多公司長(cháng)期以來(lái)一直使用基于指標的工具系統和監控來(lái)推理他們的系統并解決問(wèn)題。這些組織中的 IT 運營(yíng)部門(mén)匯總了指標,并使用懸掛在其 IT 室周?chē)拇笃聊伙@示大量?jì)x表板。

在分布式架構時(shí)代之前,監控是一種反應式方法,適用于傳統應用程序。但是,監控有一個(gè)缺陷:您無(wú)法完全查看或了解您的系統。監控迫使你做出反應,推測出了什么問(wèn)題。

可觀(guān)察性與監控有何不同?為什么可觀(guān)察性很重要?-美聯(lián)科技

監控基于許多不再適用于現代應用程序的假設。例如,監控假設:

  • 您的應用程序是單片的。
  • 您有靜態(tài)數量的節點(diǎn)或主機要監控。
  • 只有當災難發(fā)生時(shí),你才會(huì )觀(guān)察一個(gè)系統。
  • 該應用程序在虛擬機或裸機上運行,??讓您可以完全訪(fǎng)問(wèn)系統指標。
  • 您可以通過(guò)儀表板和遙測滿(mǎn)足運營(yíng)工程師的需求。

由于以下原因,這些假設在現實(shí)中不再適用于現代架構:

  • 有許多服務(wù)需要管理。
  • 有許多具有不同技術(shù)的存儲可供觀(guān)察。
  • 基礎設施是高度動(dòng)態(tài)的,容量的出現和消失取決于需求。
  • 要監控的主機或節點(diǎn)的數量總是在變化和不可預測的。
  • 自動(dòng)儀器不足以了解復雜系統中正在發(fā)生的事情。
  • 許多分散且松散耦合的服務(wù)正在管理中,其中許多服務(wù)不受站點(diǎn)可靠性工程團隊的直接控制。

分布式系統中的故障模式是不可預測的。它們經(jīng)常發(fā)生并且很少重復,以至于大多數團隊無(wú)法設置適當且相關(guān)的儀表板來(lái)監控它們。這就是可觀(guān)察性如此重要的地方。它使工程團隊能夠以各種方法收集遙測數據,從而使他們能夠診斷問(wèn)題而無(wú)需先預見(jiàn)錯誤是如何發(fā)生的。

為什么可觀(guān)察性很重要

一個(gè)可觀(guān)察的系統比不那么顯眼的系統更容易了解(一般和非常詳細)、監控、用新代碼更新和修復。但除此之外,還有更多理由讓您的系統可觀(guān)察??捎^(guān)察性將幫助您:

  • 發(fā)現并解決“未知的未知”或您不知道的問(wèn)題:監控系統最重要的限制之一是它們只尋找“已知的未知”或您已經(jīng)知道的異常情況??捎^(guān)察性識別您不會(huì )意識到或不會(huì )考慮搜索的情況。然后,它監控它們與特定性能問(wèn)題的聯(lián)系,為根本原因識別和解決提供上下文。
  • 在開(kāi)發(fā)過(guò)程的早期識別和解決問(wèn)題:可觀(guān)察性將使您深入了解軟件開(kāi)發(fā)過(guò)程的早期階段。在新代碼中的問(wèn)題損害用戶(hù)體驗或服務(wù)水平協(xié)議 (SLA) 之前,開(kāi)發(fā)團隊能夠發(fā)現并修復它們。
  • 節省時(shí)間:沒(méi)有可觀(guān)察性,開(kāi)發(fā)人員只能瘋狂猜測 X 和 Y 發(fā)生的原因。就時(shí)間和資源而言,這是非生產(chǎn)性的并且成本高昂。
  • 提供深刻見(jiàn)解:可觀(guān)察性讓您了解根本原因。

總而言之,您需要可觀(guān)察性,以便讓您的 DevOps 團隊能夠調查任何系統,無(wú)論您的系統有多復雜,而無(wú)需依靠經(jīng)驗或深入的系統知識來(lái)分析根本原因。

可觀(guān)察性與監控有何不同?為什么可觀(guān)察性很重要?-美聯(lián)科技

可觀(guān)察性的支柱

可觀(guān)察性為系統狀態(tài)提供了無(wú)與倫比的可見(jiàn)性。但這種可見(jiàn)性伴隨著(zhù)一些指導支柱或原則。當您正確剖析可觀(guān)察性時(shí),它有兩個(gè)關(guān)鍵要素。首先是需要理解復雜系統的人,其次是有助于理解的數據。如果不承認人員和技術(shù)以及它們之間存在的交互,您就無(wú)法獲得適當的可觀(guān)察性。

有了這種理解,問(wèn)題就來(lái)了:如何收集數據并將其組合起來(lái)進(jìn)行檢查以提供所需的洞察力?處理和傳輸數據的技術(shù)要求是什么?

這就是被稱(chēng)為指標、日志和跟蹤的三大可觀(guān)察性支柱發(fā)揮作用的地方。讓我們一一看看。

指標

指標(也稱(chēng)為時(shí)間序列指標)是跨時(shí)間的應用程序和系統運行狀況的基本指標。一個(gè)指標可以是應用程序在特定時(shí)期內消耗了多少內存或 CPU 容量。度量將包括時(shí)間戳、名稱(chēng)和表示某個(gè)值的字段。

在監控方面,指標是一個(gè)顯而易見(jiàn)的起點(diǎn),因為它們對于描述資源狀態(tài)很有用。也就是說(shuō),您可以根據已知問(wèn)題提出問(wèn)題,例如“系統是活的還是死的?”度量標準旨在提供對已知問(wèn)題的可見(jiàn)性。對于未知問(wèn)題,您需要的不僅僅是指標。您需要上下文,而該上下文的一個(gè)有價(jià)值的信息來(lái)源是日志。

日志

日志是應用程序事件的詳細、不可變和帶時(shí)間戳的記錄。開(kāi)發(fā)人員可以使用日志來(lái)創(chuàng )建每個(gè)事件的高保真、逐毫秒記錄,并附上上下文,他們可以“回放”以進(jìn)行故障排除和調試等。因此,事件日志對于檢測分布式系統中的緊急和意外行為特別有用。因此,由于單個(gè)系統組件中發(fā)生單個(gè)事件,因此在復雜的分布式系統中很少發(fā)生故障。

系統應該通過(guò)日志記錄任何給定時(shí)間它正在做什么的信息。因此,日志可能是 DevOps 團隊工具箱中第二重要的項目。此外,日志提供了比指標更詳細的資源信息。如果指標表明資源不再可操作,日志可幫助您找出原因。充分利用日志的關(guān)鍵是保持合理的收集。通過(guò)限制您收集的內容來(lái)做到這一點(diǎn)。此外,在可能的情況下,關(guān)注常見(jiàn)領(lǐng)域,以便更快地發(fā)現大海撈針。

可觀(guān)察性與監控有何不同?為什么可觀(guān)察性很重要?-美聯(lián)科技

痕跡

跟蹤是一系列因果關(guān)聯(lián)的分布式事件的表示,這些事件對分布式系統的端到端請求流進(jìn)行編碼。當請求進(jìn)入應用程序時(shí)開(kāi)始跟蹤。隨著(zhù)用戶(hù)請求從服務(wù)轉移到服務(wù),跟蹤使整個(gè)系統的行為和狀態(tài)更加可見(jiàn)和易于理解。

由于跟蹤具有豐富的上下文,因此您可以全面了解系統所有不同部分中發(fā)生的情況,因為傳統上對 DevOps 團隊隱藏的請求通過(guò)。跟蹤提供了對應用程序整體運行狀況的重要可見(jiàn)性。

跟蹤還可以分析和監控系統,例如容器化應用程序、無(wú)服務(wù)器架構和微服務(wù)架構。然而,它們主要關(guān)注應用層,僅提供底層基礎設施健康狀況的有限視圖。因此,即使您收集了跟蹤、指標和日志,仍然需要全面了解您的環(huán)境。

DevOps 團隊需要什么

盡管可觀(guān)察性這個(gè)術(shù)語(yǔ)是幾十年前創(chuàng )造的,但它對軟件系統的使用或適應提供了一種思考我們制作的軟件的新方法。隨著(zhù)軟件和系統變得越來(lái)越復雜,人們會(huì )遇到難以預測、調試或計劃的問(wèn)題。DevOps 團隊現在必須能夠以靈活的方式持續收集遙測數據,從而使他們能夠診斷問(wèn)題,而無(wú)需先預見(jiàn)錯誤可能發(fā)生的方式,以便對問(wèn)題進(jìn)行故障排除并構建可靠的系統。

雖然日志、指標和跟蹤很重要,但除非您以正確的方式使用它們,否則它們不足以具有可見(jiàn)性。為了產(chǎn)生有助于故障排除和性能調整的理解,可觀(guān)察性需要將此數據與豐富的上下文相結合。簡(jiǎn)而言之,如果僅使用來(lái)自狀態(tài)和控制向量的所有可行發(fā)展的輸出信息(物理上,這通常對應于傳感器獲得的信息),可以確定當前狀態(tài),則系統被認為是可觀(guān)察的。

客戶(hù)經(jīng)理