分布式系統全鏈路應用監控系統解決方案

2021-07-25 12:58:22 字數 839 閱讀 9647

分布式系統越做越大,服服務化規模也越來越複雜,為了減輕運維壓力、提高排錯能力,分布式系統的全鏈路監控系統就顯得尤為重要了。監控系統通常會包括幾個部分:

第一, 資料埋點和採集 ,這個相當重要,其實說白了,資料是整個監控系統最核心的部分,必須有能力快速和正確和方便地採集日誌,所以我們在資料埋點和採集上做了很多文章。

第二, 指標計算 。指標計算有好幾種方式,一種我可以在客戶端做一些計算,通過 agent 上報計算結果,然後到服務端再做加工。還有一種策略是完全在服務端的計算,客戶端只做簡單的資料採集,所有的指標計算全放在服務端。這二種架構其實都有不同的優缺點。

第三, 指標儲存、查詢、展現 ,這個也非常重要。算完後的指標放在**,這些指標怎麼樣快速的查詢出來,指標怎麼樣很靈活的展現給我們的運營人員、開發人員。

第四, 呼叫鏈的儲存、查詢、展現 。因為我們是全鏈路監控系統,呼叫鏈怎麼存、怎麼查、怎麼看,這個也是非常重要的。

第五, 告警、問題定位 ,因為你單純只有查詢遠遠不夠,我們需要乙個很快速很高效的告警,同時產生告警之後,我們需要很快速的去定位這個告警是什麼原因導致的。

第六, 自監控 。我們的體系需要乙個自監控的功能,假如我在大促的時候掛了,我需要很快的恢復我們的平台,自監控非常重要。

第七, 治理 。大促之前需要動態地調整日誌取樣率,或者對日誌採集做一些功能降級,例如不採集快取相關日誌。

技術棧:

spark 、 open  tsdb  、hbase  、elastic search,kafka,flume,python;日誌監控框架(

logstash,elasticsearch, kibana

) 具體參見:

分布式系統呼叫鏈監控

乙個請求完整的呼叫鏈可能如下圖,經過多個系統服務,呼叫關係複雜。期間我們會關注各個呼叫的各項效能指標,比如吞吐量 tps 響應時間及錯誤記錄等。全鏈路效能監控從整體維度到區域性維度展示各項指標,將跨應用的所有呼叫鏈效能資訊集中展現,可方便度量整體和區域性效能,並且方便找到故障產生的源頭,生產上可極大...

分布式鏈路呼叫跟蹤系統

一.為什麼需要分布式呼叫跟蹤 隨著分布式服務架構的流行,特別是微服務等設計理念在系統中的應用,系統架構變得越來越分散,如下圖所示 分布式服務拆分以後,系統變得日趨複雜,業務的呼叫鏈也越來越長,如何快速定位線上故障,就需要依賴分布式呼叫跟蹤技術。可以看到,隨著服務的拆分,系統的模組變得越來越多,不同的...

Google分布式鏈路追蹤系統Dapper介紹

現代的大型應用系統一般是複雜的分布式系統,他們由許多的軟體模組構成,這些軟體模組可能由不同的團隊用不同的程式語言編寫而成,因此那些傳統的用於理解系統行為,分析效能問題的工具,在這種複雜環境下變得失效。主要有三個設計目標 額外的設計目標 使跟蹤資料在收集後能夠被盡快得用於分析 設計理念與 magpie...