容器監控是收集在容器平台上運作的基于微服務的應用程式的名額的過程。容器被設計為快速啟動和關閉代碼,這使得了解何時出現問題至關重要,因為停機成本高昂,而且會損害客戶的信任。
容器是任何雲原生架構的重要組成部分,這使得擁有能夠有效監控和監督容器運作狀況并優化資源以確定高基礎設施可用性的軟體至關重要。
讓我們來看看容器監控的元件,如何選擇正确的軟體和目前的産品。
容器的優點和限制
容器為IT團隊提供了一個更加靈活、可擴充、可移植和有彈性的基礎設施。容器監控工具是必要的,因為它們可以讓工程師更主動地解決問題,獲得詳細的可視化效果,通路性能名額并跟蹤更改。由于工程師幾乎實時地獲得所有這些資料,是以有可能減少平均修複時間(MTTR)。
工程師必須意識到容器的局限性:複雜性和不斷變化的性能基線。雖然容器可以快速啟動,但它們會增加基礎設施的擴張,這意味着環境更加複雜。随着容器化基礎設施的不斷變化,也很難定義基線性能。
容器監控必須特别适合該技術。為虛拟化環境設計的遺留監控平台是不夠的,也不能很好地擴充容器環境。雲原生架構不依賴于虛拟化基礎設施等專用硬體,這會改變監控需求和流程。
容器監控的工作原理
容器監控平台使用日志、跟蹤、通知和分析來收集資料。
容器監控資料對使用者有什麼幫助?它允許使用者:
——知道什麼時候出了問題
——迅速對問題進行分類
——了解事件以防止将來發生
軟體使用這些方法來擷取記憶體使用率、CPU使用率、CPU限制和記憶體限制等資料。
分布式跟蹤是容器監控的重要組成部分。跟蹤有助于工程師了解容器化應用程式的性能和行為。它還提供了一種方法來識别瓶頸和延遲問題,更改如何影響整個系統,以及哪些修複在特定情況下最有效。當應用程式調用另一個系統時,它可以非常有效地通過微服務集合深入了解應用程式所走的路徑。
更全面的容器監控産品涵蓋了所有堆棧層。它們還可以生成基于文本的錯誤資料,如“容器重新啟動”或“無法連接配接到資料庫”,以更快地解決事件。詳細的容器監控意味着使用者可以了解哪些類型的事件會影響容器性能,以及共享計算資源如何互相連接配接。
如何監控容器運作狀況?
容器監控需要整個技術堆棧中的多個層來收集有關容器和任何支援基礎設施的名額,就像應用程式監控一樣。工程師應該確定他們可以使用容器監控軟體來跟蹤叢集管理器、叢集節點、守護程序、容器和原始微服務,以全面了解容器的健康狀況。
為了進行有效的監控,工程師必須在容器中運作的微服務之間建立連接配接。工程師可以實作一個服務網格來管理微服務之間的通信,而不是為多個獨立服務使用服務到服務的通信。這樣做可以讓使用者标準化微服務之間的通信,控制流量,簡化分布式架構,并獲得端到端通信的可見性。
如何選擇容器監控工具
在容器監控軟體的選擇過程中,重要的是要确定哪些功能是必不可少的、好的或不必要的。工具通常包括以下功能:
——警報:在事件發生時向使用者提供有關事件資訊的通知。
——異常檢測:一種讓使用者使系統持續監督活動并與程式設計的基線模式進行比較的功能。
——架構可視化:支援容器生态系統的服務、內建和基礎設施的圖形化描述。
——自動化:一種在沒有人工幹預的情況下執行更改以緩解容器問題的服務。
——API監控:一種跟蹤容器化環境連接配接以識别異常、流量和使用者通路的功能。
——配置監控:一種允許使用者監督規則集、強制執行政策并記錄環境中更改的功能。
——儀表闆和可視化:能夠直覺地顯示容器資料,以便使用者能夠快速檢視系統的運作情況。
除了特定的特性和功能外,還需要詢問有關該軟體的使用者體驗問題:
——使用者向代碼中添加指令插入的速度和容易程度如何?
——警報、警戒和自動化的過程是什麼?
——使用者能否看到每個元件和層來隔離故障源?
——使用者是否可以檢視業務和技術組織的整個應用程式性能?
——是否可以主動和被動地關聯事件和日志以發現異常?
——軟體是否可以對任何一組擷取的名額進行分析、顯示和報警?
當系統達到特定的資源使用門檻值時,合适的容器監控軟體應該可以讓工程師輕松建立警報并自動化操作。
在容器管理和監控方面,有大量開源和開源管理産品,如Prometheus、Kubernetes、Jaeger、Linkerd、Fluentd和cAdvisor。
Chronosphere監控容器的方式
Chronosphere的産品是為雲原生架構和Kubernetes建構的,以幫助大規模收集容器資料的工程團隊。Chronosphere的平台可以監控Kubernetes叢集的所有标準資料攝入,如pod和節點,以及Prometheus的标準攝入協定。
容器監控軟體會生成大量資料。當與雲原生環境名額相結合時,這會造成資料過載,超過基礎設施的增長速度。這要求有工具來幫助完善哪些資料是有用的,以便将其提供給最需要的人,并最終顯示在正确的儀表闆上。
控制平面可以幫助使用者微調系統攝取的容器名額和跟蹤。此外,使用Metrics Usage Analyzer,使用者可以重新控制使用哪個容器的可觀察性資料。更重要的是,可以指出何時不使用資料。使用者在使用控制平面攝取後決定哪些資料是重要的,這樣組織就可以避免整個容器和服務基礎設施的過度成本。