全鏈路觀測平臺設(shè)計點歸納
引言
全鏈路觀測平臺設(shè)計離不開基礎(chǔ)數(shù)據(jù)的采集、提煉和呈現(xiàn)。本文就基礎(chǔ)數(shù)據(jù)日志、指標、鏈路的采集原理進行梳理,如何將其關(guān)聯(lián)最終提供輔助決策價值提點歸納。
一、數(shù)據(jù)采集
1.日志架構(gòu)簡圖
統(tǒng)一日志: 標準化日志格式、鏈路ID透傳、自定義檢索標識
日志類型: 應(yīng)用日志、中間件日志(RPC框架、消息、緩存、存儲等)、網(wǎng)關(guān)日志、終端日志
收集策略: 例如根據(jù)IP、APP、文件等靈活管控,不同日志分類管理
數(shù)據(jù)清洗: 清洗重復(fù)非標準數(shù)據(jù)、重復(fù)數(shù)據(jù)、聚合高質(zhì)量數(shù)據(jù)
存儲數(shù)據(jù): 區(qū)分哪些數(shù)據(jù)適合ES、哪些數(shù)據(jù)適合ClickHouse、哪些數(shù)據(jù)適合時序庫
性能成本: 延遲問題、查詢性能、存儲成本
小結(jié): 通過標準化的日志格式,多樣化的收集策略,清洗成高質(zhì)量數(shù)據(jù)為根因定位提供基礎(chǔ)保障。
2.鏈路架構(gòu)簡圖
采樣策略
- 固定采樣率:保持固定采樣的頻率
- 最低采樣率:過低流量保證最低的采樣率
- 自適應(yīng)采樣率:根據(jù)流量自動適應(yīng)采樣率
- 全部采樣率:對應(yīng)特高優(yōu)先流量100%采樣
- 染色采樣:對于染色打標的請求100%采樣
- 應(yīng)急采樣:請求傳遞過程中檢測到錯誤或者異常,強制將該請求采樣
動態(tài)設(shè)置
- 采樣率采樣策略動態(tài)調(diào)整
- 自殺熔斷保護 不允許過度占用資源影響業(yè)務(wù)
小結(jié): 鏈路采集和分析關(guān)鍵的點在于如何提供靈活的采樣策略,將核心鏈路、異常鏈路能實現(xiàn)高質(zhì)量采集。
二、數(shù)據(jù)關(guān)聯(lián)
1.橫向關(guān)聯(lián)
橫向關(guān)聯(lián):應(yīng)用為維度通過調(diào)用關(guān)系將上下游關(guān)聯(lián),包括經(jīng)過的網(wǎng)關(guān)、緩存(Redis等)、消息(RocketMQ、Kafka等)、存儲資源(MySQL、Hbase、Mongo、ES等)。
指標(metrics):監(jiān)控變化趨勢以及基于趨勢變化告警 如Micrometer,Prometheus格式指標數(shù)據(jù)的錯誤率變化
鏈路(Tracing): 微服務(wù)記錄上下游服務(wù)調(diào)用與耗時,基于OpenTracing 和 OpenTelemetry 規(guī)范,例如 Jaeger
日志(Logging):日志采集,通過日志詳細問題溯源
小結(jié): 通過Tracing將Metrics和Logging進行關(guān)聯(lián),當指標波動觸發(fā)告警能否智能關(guān)聯(lián)的tracing,尋根通過Logging錯誤日志找出根因,為業(yè)務(wù)提供輔助決策。
2.縱向關(guān)聯(lián)
垂直關(guān)聯(lián):應(yīng)用維度包含依賴的容器、機器、CPU、帶寬、磁盤、內(nèi)存、消息資源(主題和消費組、集群)、緩存資源、數(shù)據(jù)庫資源(表與實例等)、搜索資源(索引等)指標關(guān)聯(lián)一站式展現(xiàn)。
三、輔助決策
1.數(shù)據(jù)質(zhì)量
指標埋點覆蓋度
鏈路采樣策略的多樣性
日志清洗與提煉
2.告警質(zhì)量
告警信息能包含從指標到鏈路以及日志的清晰關(guān)聯(lián)與日志信息,提高決策能力
3.分析能力
沉淀問題分析的最佳實踐庫,將其自動化分析提升定位能力
4.自愈能力
基于分析能力,沉淀自愈策略
自愈策略的靈活配置
5.性能與穩(wěn)定性
采集延遲、計算能力、查詢性能
可視化觀測平臺自身的穩(wěn)定性建設(shè)
6.可視化能力
可觀測一站式
豐富圖表與報表
7.預(yù)測能力
基于歷史數(shù)據(jù)沉淀算法模型預(yù)測未來可能發(fā)生的問題