微服務實踐:服務運維
監控與告警
監控的基本目標是掌控在生成環境中的服務運行狀況,在系統發生故障后及時報警,並能夠通過監控信息快速定位問題。監控的另一個目標是故障預警,在故障發生之前根據設定的規則提前感知並通知維護人員,或者自動做出運維決策。
監控所涉及的指標
- 服務器資源監控:CPU、內存、磁盤IO等信息。
- 服務性能監控:最基本的是監控服務的響應時間。
- 業務監控:監控系統還可以了解業務的狀況。比如,通過對消息隊列的監控,可以看到當前處理的訂單數量;對生成環境中A/B的測試的監控,可以知道那種特性更受用戶歡迎。對業務的監控,可以讓企業的決策者更好的掌握運營的狀況,並在健康數據的基礎上,做出更准確的業務決策。
微服務的監控策略
對於微服務架構的系統,其監控通常由四大模塊組成:數據收集、數據聚合、數據存儲、數據展示。
數據收集模塊采集監控信息,並將監控指標發送給數據聚合模塊。這里的收集指標會多種多樣,如需要分別收集對服務器、數據庫、服務接口、服務依賴的組件,如ElasticSearch的監控信息。其次,數據聚合模塊在接受到數據時,做進一步的聚合,在這個過程中采集服務與處理器之間可以通過消息隊列進行異步處理。然后,數據聚合模塊將聚合后的數據分主題存入不同的指標庫,將處理結果存儲至數據庫。考慮到指標數據的數據量及特殊性,數據庫可以選擇時間序列數據庫。最后,數據展示模塊從數據庫中讀取數據,並進行展示。同時它也提供豐富的指標名搜索工具。
調用鏈跟蹤
日志聚合