可視化監控大型集羣,這一個工具就夠了!

許多企業使用Kubernetes來快速發佈新功能並提升服務的可靠性。Rancher使團隊可以減小管理其雲原生工做負載的操做成本——但得到這些環境的持續可見性多是一個挑戰。算法

在這篇文章中,咱們將探討如何利用Rancher內置支持的Prometheus和Grafana快速開始監控編排工做負載。而後,咱們將向你展現如何將Datadog與Rancher集成,經過豐富的可視化、算法告警和其餘功能,幫助你得到對這些臨時環境更深刻的可見性。docker

Kubernetes監控所面臨的挑戰

Kubernetes集羣本質上是複雜和動態的。容器以極快的速度啓動和關閉:在對數千家組織的超過15億個容器進行調查時,Datadog發現,編排容器的週轉速度(一天)是未編排容器的兩倍(兩天)。網絡

在這種快節奏的環境中,監控你的應用程序和基礎設施比以往任什麼時候候都重要。Rancher內置支持開源監控工具(如Prometheus和Grafana),容許你從Kubernetes集羣中跟蹤基本的健康和資源指標。架構

Prometheus按照預設的時間間隔從Kubernetes集羣收集指標。雖然Prometheus沒有可視化選項,但你可使用Grafana內置的儀表板來顯示健康和資源指標的整體狀況,例如你的pods的CPU使用狀況。工具

然而,一些開源解決方案並非爲了監控大型、動態Kubernetes集羣而設計的。此外,Prometheus要求用戶學習PromQL(這是一種專門的查詢語言)以分析和彙總他們的數據。性能

雖然Prometheus和Grafana能夠爲你的集羣提供必定程度的洞察力,但它們不能讓你看到全貌。例如,你須要鏈接到其中一個Rancher支持的日誌解決方案,以訪問你環境中的日誌。而爲了排除代碼級問題,你還須要部署一個應用程序性能監控解決方案。學習

最終,爲了充分可視化你的編排集羣,你須要在一個平臺上監控全部這些數據源——指標、跟蹤和日誌。經過向整個企業的團隊提供詳細的、可操做的數據,一個全面的監控解決方案能夠幫助減小檢測和解決的平均時間(MTTD和MTTR)。編碼

Datadog Agent:自動發現和自動伸縮服務

爲了得到Rancher解決方案中每一層的持續可見性,你須要一個專門用於實時跟蹤雲原生環境的監控解決方案。Datadog Agent是一款輕量級的開源軟件,它能夠從你的容器和主機中收集指標、跟蹤和日誌,並將它們轉發到你的帳戶,以便進行可視化、分析和告警。設計

因爲Kubernetes部署處於不斷變化的狀態,所以沒法手動跟蹤哪些工做負載在哪些節點上運行,或者你的容器在哪裏運行。爲此,Datadog Agent使用Autodiscovery來檢測容器什麼時候啓動或關閉,並自動開始收集你的容器和它們正在運行的服務的數據,如etcd和Consul。調試

Kubernetes內置的自動彈性伸縮功能能夠根據需求(如CPU使用量激增)自動增長或減小工做負載,從而幫助提升服務的可靠性。自動伸縮還能夠經過調整基礎設施的規模來幫助管理成本。

Datadog擴展了彈性伸縮這一功能,使你可以根據已經在Datadog中監控的任何指標(包括自定義指標)自動伸縮Kubernetes工做負載。這對於根據需求的波動來擴展集羣是很是有用的,特別是在「雙十一」這樣的關鍵業務時期。假設你的公司是一家零售商,擁有繁忙的在線業務。當銷售正在起飛時,你的Kubernetes工做負載能夠根據做爲活動指標的自定義指標(如結帳數量)進行自動伸縮,以確保流暢的購物體驗。有關使用Datadog自動伸縮Kubernetes工做負載的更多細節,請查看如下文章:

https://www.datadoghq.com/blog/autoscale-kubernetes-datadog/

Kubernetes特定的監控功能

不管你的環境是多雲、多集羣仍是二者兼而有之,Datadog高度專業化的功能均可以幫助你實時監控你的容器化工做負載。Datadog經過從Kubernetes、Docker、雲服務和其餘技術導入的tag自動豐富你的監控數據。Tag爲你的環境任意一層提供了持續的可見性,即便單個容器啓動、中止或在主機間移動,你都可以得到可視化。例如,你能夠搜索全部共享一個標籤(例如,它們正在運行的服務名稱)的容器,而後使用另外一個標籤(例如,可用性區域)來分解它們在不一樣區域的資源使用狀況。

Datadog能夠收集超過120個Kubernetes指標,幫助你從控制平面健康情況跟蹤到pod級CPU限制的一切。全部這些監控數據均可以直接在應用中訪問,而無需使用查詢語言。

Datadog提供了幾個功能來幫助你探索和可視化容器基礎設施的數據。Container Map(datadoghq.com/blog/container-map/ )提供了一個Kubernetes環境的鳥瞰圖,並容許你經過任何標籤組合來過濾和分組容器,如docker_image、host和kube_deployment。

你還能夠根據任何資源指標的實時值對容器進行顏色編碼,如系統CPU或RSS內存。這讓你能夠一目瞭然地快速發現資源爭奪問題,例如,若是一個節點比其餘節點消耗了更多的CPU。

實時容器視圖(Live Container view)能夠顯示基礎架構中每一個容器的流程級系統指標——以兩秒的粒度繪製。因爲 CPU 利用率等指標可能很是不穩定,這種高度的顆粒度確保了重要的峯值不會在噪音中消失。

Container Map和 「實時容器 "視圖均容許你使用任意組合的標籤(如鏡像名稱或雲提供商)對容器進行過濾和排序。要了解更多細節,你還能夠單擊以檢查在任何單個容器上運行的進程,並查看從該容器收集的全部指標、日誌和跟蹤,獲取這些信息只需點擊幾下。這能夠幫助你調試問題,並肯定是否須要調整資源的配置。

經過Datadog網絡性能監控(NPM),你能夠跟蹤整個Kubernetes部署的實時網絡流量,並快速調試問題。從本質上講,Docker容器只受制於可用的CPU和內存量。所以,單個容器可能會使網絡飽和並使整個系統癱瘓。

Datadog能夠幫助你輕鬆隔離消耗最多網絡吞吐量的容器,並經過導航到該服務的相關日誌或請求跟蹤來肯定可能的根本緣由。

Datadog+Rancher協同工做

經過Rancher的Datadog Helm chart,你的團隊能夠在幾分鐘內開始監控他們的Kubernetes環境。Datadog與Rancher協同工做,可讓你使用Rancher管理不一樣的協調環境,並部署Datadog來實時監控、排除故障和自動擴展環境。

此外,Datadog的算法監控引擎Watchdog能夠發現並提醒團隊成員注意性能異常(如延遲峯值或高錯誤率)。這使得團隊可以在潛在問題(例如容器重啓率異常高)升級以前解決問題。

咱們已經向你展現了Datadog如何幫助你得到Rancher環境的全面可見性。經過Datadog,工程師可使用APM來識別單個請求中的瓶頸,並準肯定位代碼級問題,收集和分析整個基礎設施中每一個容器的日誌等。經過在一個平臺上統一指標、日誌和跟蹤,Datadog消除了切換上下文或工具的須要。所以,能夠加快團隊故障排除工做流程,並充分利用Rancher管理大規模動態集羣的所有潛力。

相關文章
相關標籤/搜索