简介: OPLG 体系拥有成熟且富有活力的开源社区生态, 同时也经过了大量企业生产环境的实践检验, 是当下建设新一代云原生统一可观测平台的热门选择。但是, OPLG 只是提供了一个技术体系, 如何灵活运用, 解决实际问题, 沉淀出通用行业或场景的最佳实践, 还需要大家一起来探索。
随着云原生架构的兴起, 可观测的边界与分工被重新定义, 传统的容器 / 应用 / 业务分层监控边界被打破, Dev、Ops、Sec 的分工逐渐模糊。大家意识到 IT 系统作为一个有机的整体, 对 IT 系统状态的监测与诊断也需要一体化的方案。经过近几年的摸索与实践, 基于 OPLG 的新一代云原生可观测体系, 逐步成为了社区与企业的热门选择。
OPLG 是指将 (O)penTelemetry Traces、§rometheus Metrics、(L)oki Logs 通过 (G)rafana Dashboards 进行统一展示, 满足企业级监控与分析的大部分场景, 如下图所示(图片来源于 Youtobe Grafana Labs)。基于 OPLG 体系可以快速构建一套覆盖云原生应用全栈的统一可观测平台, 全面监测基础设施、容器、中间件、应用及终端用户体验, 将链路、指标、日志、事件有机整合, 更高效的达成稳定性运维与商业化分析目标。
小明加入了一家潮牌买手公司, 专门帮助年轻人寻找优质潮牌好货。随着业务规模的不断扩大, 系统稳定性及商业化分析对全局可观测的要求也 “水涨船高”, 底层系统故障直接了影响业务营收与客户满意度。为此, 小明所在的 IT 部门通过 OPLG 体系构建了一套全新的可观测平台, 具备 “快速接入、灵活扩展、无缝迁移、异构融合” 等优势。
虽然 OPLG 体系具有多种优势, 但是企业自建也会面临多重挑战, 特别是在深度使用的过程中, 许多规模化运维、性能、成本等非功能性问题将逐渐凸显。
为了降低运维成本, 更稳定的提供可观测服务, 小明所在的 IT 部门决定采用由阿里云 ARMS 提供的 OPLG 托管方案, 该方案在保留开源方案优势的基础上, 提供了高性能、高可用、免运维的后端服务, 帮助小明团队解决了海量数据场景下的规模化运维难题。此外, 通过 eBPF 网络探测、Satellite 边缘计算和 Insights 智能诊断, 进一步提升了可观测数据的覆盖度和集成度, 如下图所示。
近两年 OpenTelemetry 和 SkyWalking 等社区都在大力研发边缘采集与计算 Satellite 方案。ARMS for OpenTelemetry Satellite(简称 ARMS Satellite)是一套基于 OpenTelemetry Collector 开发的可观测数据 (Traces、Metrics、Logs) 边缘侧统一采集与处理平台, 具备安全、可靠、易用等特性, 适合生产环境接入。
ARMS Satellite 通过边缘侧的数据采集、处理、缓存与路由, 可以实现多源异构数据的标准化; 增强 Traces、Metrics、Logs 可观测数据间的关联性; 支持无损统计, 降低数据上报和持久化存储成本等。
ARMS Satellite 在容器服务 ACK 环境下, 深度集成了阿里云 Kubernetes 监控组件与 Prometheus 监控组件, 一键安装完成后, 会自动采集 Kubernetes 容器资源层和网络性能数据。结合用户上报的应用层数据 (只需修改 Endpoint, 无代码改造) 与自动预聚合指标, 全部上报至全托管的服务端数据中心, 再通过 Grafana 进行统一展示。最终实现覆盖应用、容器、网络、云组件的全景监控数据采集与分析。
在多云 / 混合云架构下, 不同集群或应用间的链路追踪技术选型可能存在差异, 比如 A 采用了 Jaeger, B 采用了 Zipkin, 不同链路追踪协议上报的数据格式互不兼容, 无法串联, 大幅降低了全链路诊断效率。
通过 ARMS Satellite 可以将不同来源的链路统一转化为 OpenTelemetry Trace 格式, 并上报至统一的服务端进行处理和存储, 用户可以轻松实现跨网络或异构链路框架的联合数据查询与分析。
生产系统的日均调用量可以达到亿级别, 调用链全量上报和存储的成本是个不小的开销, 对调用链执行采样存储是个不错的选择。然而, 传统的链路采样会导致链路统计指标的准确性大幅下降, 比如一百万次真实调用经过 10% 采样后保留的十万次调用, 对其统计得到的结果会产生明显的 “样本倾斜”, 最终导致监控告警误报率过高, 基本处于不可用状态。
ARMS Satellite 支持 Trace 数据无损统计, 对接收到的 Trace 数据自动进行本地预聚合, 得到精准的统计结果后再执行链路采样上报, 这样在降低网络开销和持久化存储成本的同时, 保证了应用监控与告警指标的准确性。默认集成的 Satellite APM Dashboard 如下图所示。
OPLG 体系拥有成熟且富有活力的开源社区生态, 同时也经过了大量企业生产环境的实践检验, 是当下建设新一代云原生统一可观测平台的热门选择。但是, OPLG 只是提供了一个技术体系, 如何灵活运用, 解决实际问题, 沉淀出通用行业或场景的最佳实践, 还需要大家一起来探索。
[1] OpenTelemetry
https://opentelemetry.io/
[2] Prometheus
https://prometheus.io/
[3] Grafana Loki
https://grafana.com/oss/loki/
[4] Grafana Labs
https://grafana.com/
[5] ARMS for OpenTelemetry Satellite —— 助力边缘可观测
https://help.aliyun.com/document_detail/418462.html
[6] 阿里云 Prometheus 监控
https://help.aliyun.com/document_detail/195983.html
[7] 阿里云 Kubernetes 监控
https://help.aliyun.com/document_detail/260777.html
[8] 阿里云 Grafana 服务
https://help.aliyun.com/document_detail/311928.html
【稳定大于一切】打造国内稳定性领域知识库, 让无法解决的问题少一点点, 让世界的确定性多一点点。