天天看點

微服務調用鍊監控開源工具CAT1 監控在微服務架構的地位2 為何需要調用鍊監控?3 沒有應用監控可能帶來的坑點4 DevOps 實踐5 Open Tracing監控演進史開源産品對比

1 監控在微服務架構的地位

微服務調用鍊監控開源工具CAT1 監控在微服務架構的地位2 為何需要調用鍊監控?3 沒有應用監控可能帶來的坑點4 DevOps 實踐5 Open Tracing監控演進史開源産品對比

2 為何需要調用鍊監控?

  • 在初期的單體應用,應用都打在一個包中,無分布式概念,監控也隻需對一些埋點監控。
微服務調用鍊監控開源工具CAT1 監控在微服務架構的地位2 為何需要調用鍊監控?3 沒有應用監控可能帶來的坑點4 DevOps 實踐5 Open Tracing監控演進史開源産品對比

但是微服務時代下,很多服務在各自的包,一旦出現問題,沒有調用鍊監控就很難定位問題!

3 沒有應用監控可能帶來的坑點

  • 線上釋出了服務,怎麼知道一切正常?
  • 大量報錯,到底哪裡産生的,誰才是根因?
  • 人工配置錯誤,上線前通宵排錯,結婚了還得來修 bug!
  • 應用程式有性能問題,怎麼盡早發現問題?
  • 資料庫問題,在出問題之前能洞察嗎?

最後誰都查不出問題,全部甩鍋網絡問題~

可能出錯的事總會出錯!!!(墨菲定律)

微服務需要應用監控!!!

4 DevOps 實踐

  1. 要提升先測量

    開爾文曾經曰過:If you can’t measure it, you can’t improve it.

    知道系統的目前性能名額,才知道該如何優化。

  2. 研發自主監控所負責的系統

5 Open Tracing

為了這些監控軟體而規範,支援很多語言無縫切換。

微服務調用鍊監控開源工具CAT1 監控在微服務架構的地位2 為何需要調用鍊監控?3 沒有應用監控可能帶來的坑點4 DevOps 實踐5 Open Tracing監控演進史開源産品對比

監控演進史

eBay的老員工跳槽到點評後開發了 CAT。

微服務調用鍊監控開源工具CAT1 監控在微服務架構的地位2 為何需要調用鍊監控?3 沒有應用監控可能帶來的坑點4 DevOps 實踐5 Open Tracing監控演進史開源産品對比

開源産品對比

微服務調用鍊監控開源工具CAT1 監控在微服務架構的地位2 為何需要調用鍊監控?3 沒有應用監控可能帶來的坑點4 DevOps 實踐5 Open Tracing監控演進史開源産品對比
微服務調用鍊監控開源工具CAT1 監控在微服務架構的地位2 為何需要調用鍊監控?3 沒有應用監控可能帶來的坑點4 DevOps 實踐5 Open Tracing監控演進史開源産品對比
微服務調用鍊監控開源工具CAT1 監控在微服務架構的地位2 為何需要調用鍊監控?3 沒有應用監控可能帶來的坑點4 DevOps 實踐5 Open Tracing監控演進史開源産品對比

調用鍊監控主要适用于同步場景。異步調用一般不建議,因為異步多線程沒有明确調用先後時序關系。實際有些場景(比如異步消息追蹤)确實需要的話,也是可以做到的,原理就是在跨越線程邊界的時候(類似跨越程序邊界),需要把trace上下文向異步線程傳遞,具體做法一般需要定制。Skywalking的異步支援做的比較好,它提供的一些plugin有些已經支援異步追蹤,如果你了解原理,也可以自己實作埋點,參考:

https://github.com/apache/skywalking/blob/master/docs/en/setup/service-agent/java-agent/Application-toolkit-trace-cross-thread.md

參考