全链路观测平台设计离不开基础数据的采集、提炼和呈现。本文就基础数据日志、指标、链路的采集原理进行梳理,如何将其关联最终提供辅助决策价值提点归纳。
一、数据采集
1.日志架构简图
统一日志: 标准化日志格式、链路ID透传、自定义检索标识
日志类型: 应用日志、中间件日志(RPC框架、消息、缓存、存储等)、网关日志、终端日志
收集策略: 例如根据IP、APP、文件等灵活管控,不同日志分类管理
数据清洗: 清洗重复非标准数据、重复数据、聚合高质量数据
存储数据: 区分哪些数据适合ES、哪些数据适合ClickHouse、哪些数据适合时序库
性能成本: 延迟问题、查询性能、存储成本
小结: 通过标准化的日志格式,多样化的收集策略,清洗成高质量数据为根因定位提供基础保障。
采样策略
动态设置
小结: 链路采集和分析关键的点在于如何提供灵活的采样策略,将核心链路、异常链路能实现高质量采集。
二、数据关联
横向关联:应用为维度通过调用关系将上下游关联,包括经过的网关、缓存(Redis等)、消息(RocketMQ、Kafka等)、存储资源(MySQL、Hbase、Mongo、ES等)。
指标(metrics):监控变化趋势以及基于趋势变化告警 如Micrometer,Prometheus格式指标数据的错误率变化
链路(Tracing): 微服务记录上下游服务调用与耗时,基于OpenTracing 和 OpenTelemetry 规范,例如 Jaeger
日志(Logging):日志采集,通过日志详细问题溯源
小结: 通过Tracing将Metrics和Logging进行关联,当指标波动触发告警能否智能关联的tracing,寻根通过Logging错误日志找出根因,为业务提供辅助决策。
垂直关联:应用维度包含依赖的容器、机器、CPU、带宽、磁盘、内存、消息资源(主题和消费组、集群)、缓存资源、数据库资源(表与实例等)、搜索资源(索引等)指标关联一站式展现。
三、辅助决策