1. 程式人生 > >idou老師教你學Istio 20 : Istio全景監控與拓撲

idou老師教你學Istio 20 : Istio全景監控與拓撲

顏色 spa 避免 分析 rod ews process 重要 mage

根據Istio官方報告,Observe(可觀察性)為其重要特性。Istio提供非侵入式的自動監控,記錄應用內所有的服務。

我們知道在Istio的架構中,Mixer是管理和收集遙測信息的組件。每一次當請求到達的時候,Envoy會調用Mixer進行預檢查,在請求處理完畢後也會將過程上報給Mixer。

技術分享圖片
今天我們會結合開源監控插件(Jaeger)與嵌入Istio服務的應用性能管理服務來為大家展示部分Istio的全景監控能力。

1
Jaeger

Istio結合Jaeger使用可以解決端到端的分布式追蹤問題。2017年Jaeger成為了CNCF(Cloud Native Computing Foundation)的一員。Jaeger主要可以使用在微服務的架構上,來完成分布式的上下文廣播,事物監控,根因分析,服務依賴關系的分析等功能。

技術分享圖片
Jaeger界面簡潔,顏色柔和,無過多復雜得元素在內。清晰地在左側配置項欄中列出了用戶需要設置的配置,用戶需要選擇想觀察的服務,觀察的時間段以及一些附加功能配置。點擊find trace按鈕後,所有符合預設條件的Trace都會被展示出來。單機某個Trace則會進入他的調用詳情中。

技術分享圖片
比如從上圖中的這個調用,我們就可以看出來當請求抵達productPage時,會產生兩個子訪問,一個去調用了details組件,另一個則去調用了reviews組件。每個Span則是體現了調用父子關系和調用持續時間,簡明扼要的提供了用戶關心的信息。對於收集此類監控信息,設定合適的采樣頻率是十分有必要的,這樣一來避免了過度監控造成的數據冗余和性能影響,另一方面也避免了監控樣本過少,不能足夠支撐分析的情況。調整采樣率可以通過Helm模板中的values.yaml對其中的traceSampling進行修改,再進行服務網格的創建。

技術分享圖片
對於運行中的服務網格,則可以對deployment istio-pilot進行修改。

技術分享圖片
Kubectl edit deployment istio-pilot 搜索並修改PILOT_TRACE_SAMPLING這個屬性。

2

APM(應用性能管理)

華為雲Istio服務為了方便用戶了解自己應用和集群的工作狀態,也在服務界面添加了監控的功能。與其他監控插件相同的是,用戶依然不需要對自己代碼進行任何改動和重構,直接可以使用監控服務。首先在監控概覽頁面可以看到應用狀態,異常相應統計,時延統計以及應用拓撲圖。

技術分享圖片
應用概覽展示的是應用的就緒狀況,是否有應用未就緒或異常狀態可以直觀反映,異常相應和超長請求時延則展示租戶下所有組件中異常數較大和時延較高的幾個組件。

技術分享圖片
拓撲圖則展示的是應用中的訪問,調用關系,以及相應的平均時延。除此之外,每個組件可以展開,看到組件中實例的工作狀態。對於因延時影響或者是中斷相應會有相應的連線表達方式。

技術分享圖片
點擊拓撲圖上任意一個組件亦或是點擊異常相應與超長請求時間上的任何一個組件都可以進入流量概況頁。流量概況頁主要是以數字的形式展示流量情況。

技術分享圖片
針對該組件的請求總數,錯誤技術,平均時延和最大時延都會以數據的形式直接傳遞給使用者。

流量監控中也包含了調用鏈信息。相比Jaeger,這裏的調用鏈多了持久化的一層,可以查閱時間段更寬的數據。

技術分享圖片
隨著微服務趨勢的發展,越來越多的應用在架構階段就已經解耦成多個組件,越是對於組件多的應用,監控信息就顯得越發重要。精準,正確的監控信息不僅能夠第一時間幫助運維人員發現並定位應用中的問題,而且還能夠通過既往的數據來支持運維人員進行資源的合理分配與調度。

相關服務請訪問https://support.huaweicloud.com/cce/index.html?cce_helpcenter_2019

idou老師教你學Istio 20 : Istio全景監控與拓撲