得物全栈可观测性平台落地实践总结
得物可观测平台演进史
- 2021年前:产品化萌芽阶段,包括应用监控1.0,涵盖指标中心、告警模板、上下游分析等。
- 2021年:开始引入开源方案,如Loki、Prometheus、VictoriaMetrics、Jaeger(采样率3%)和Grafana。
- 2022年:产品化与数据治理并重,实现架构升级及降本增效。应用监控2.0覆盖Java、Go、前端等技术栈。
- 2023年至今:全息监控,包括服务治理。
全栈可观测平台全景图
- 包含NOC-SLA、应用监控、基础服务、云资源层、ECS、OSS、NAT、EIP、高防、SLB、私有网络、C端、B端、供应链、资损、用户体验、端监控接入、Dal层、数据库、大数据服务发现、K8S、Java、Golang、Node.js、Python、C++、Android、iOS、端内H5、PC浏览器、元数据、全链路追踪、告警、异常事件、智能预测、时序检测、日志聚类、流量拓扑等模块。
链路追踪大规模落地实践
- 选择OpenTelemetry:统一数据协议,兼容性好,厂商中立。
- 架构:集成OpenTelemetry SDK,涵盖接入层、计算层、存储层和控制平面。
- 功能:支持全量采集、尾部采样、Kafka延迟消费、BloomFilter编码。
- 存储:经历三次迭代,从1.0的冷热存储、Kafka延迟消费、BloomFilter编码,到2.0的对象存储,再到3.0的热存和冷存分离。
性能优化
- ClickHouse:本地表批量写,提高性能。
- 存储资源:日增数据量达到700+TB,ZSTD压缩比12:1。
- 查询效率:P50 < 300ms,P90 < 800ms,每百TB每天只需十块。
- 成本降低:Trace存储成本下降90%。
可观测性平台功能
- 前端监控:接口分析、页面分析、会话跟踪、JS异常分析。
- 容器监控:集群总览、资源池监控、Node监控、Pod监控、控制面监控、插件监控。
- 应用监控:接口分析、实例分析、接口上下游分析、接口耗时分解、异常分析(业务码分析、RDS热点分析、Redis热点分析)。
- 链路追踪:API接口分析、页面嵌入Trace检索、页面高级检索、页面Trace关联、业务单号检索、Trace详情页(概览、聚合分析、列表模式、单Span详情页)。
通过上述总结,可以看出得物在可观测性平台上的不断探索与创新,特别是在链路追踪和存储方面取得了显著进展。