本人淺析傳統IT系統層面的系統監控,不涉及k8s以及Service Mesh,拋磚引玉。 隨著系統增多,我們需要一套能夠立體化監控系統去監控你的應用及業務,出現問題能夠及時告警,或通過大屏、簡訊和郵件。 我個人認為監控應該從三個方面進行入手,即:Metrics、Logging、Tracing。 Me ...
本人淺析傳統IT系統層面的系統監控,不涉及k8s以及Service Mesh,拋磚引玉。
隨著系統增多,我們需要一套能夠立體化監控系統去監控你的應用及業務,出現問題能夠及時告警,或通過大屏、簡訊和郵件。
我個人認為監控應該從三個方面進行入手,即:Metrics、Logging、Tracing。
- Metrics (指標)
通常指標信息擔負著數據可視化的物料信息,比如:計量器、直方圖、計數器、TPS等等。 - Logging(日誌)
日誌信息通常記錄了應用程式運行時的詳細狀態信息。通常會有INFO、WARN、ERROR等級別。 - Tracing(追蹤)
在傳統的單體應用,如傳統的MVC系統中,通常訪問邏輯明確。而使用微服務對系統進行重新設計之後,就會帶來介面互調,多線程,應用多活情況下的調用次序不明等種種問題。這時迫切需要記錄每次請求都經過了哪些主機的那些服務,以及是一次調用會帶來系統內部的多次調用問題。以及Http傳輸協議的天然低效率問題,都是需要在追蹤層面上做考慮的。
監控選型與架構:
- Metrics (指標): Promethues+Grafanna+Influxdb
- Logging(日誌): ELK or Spark Streaming
- Tracing(追蹤): Zipkin or Skywalking
歡迎關註我的公號:彪悍大藍貓,持續分享大數據、Java、安全乾貨~