作者:夏明(涯海)

OPLG 是什么

跟着云原生架构的兴起,可观测的边界与分工被从头界说,传统的容器/运用/事务分层监控边界被打破,Dev、Ops、Sec 的分工逐渐含糊。我们意识到 IT 系统作为一个有机的整体,对 IT 系统状况的监测与确诊也需求一体化的计划。经过近几年的摸索与实践,根据 OPLG 的新一代云原生可观测系统,逐步成为了社区与企业的抢手选择。

OPLG 是指将 (O)penTelemetry Traces、(P)rometheus Metrics、(L)oki Logs 经过 (G)rafana Dashboards 进行一致展现,满意企业级监控与剖析的大部分场景,如下图所示(图片来源于 Youtobe Grafana Labs)。根据 OPLG 系统能够快速构建一套覆盖云原生运用全栈的一致可观测渠道,全面监测基础设施、容器、中间件、运用及终端用户体验,将链路、方针、日志、事情有机整合,更高效的达成安稳性运维与商业化剖析方针。

OPLG 自建计划

小明加入了一家潮牌买手公司,专门协助年轻人寻觅优质潮牌好货。跟着事务规模的不断扩大,系统安稳性及商业化剖析对大局可观测的要求也“水涨船高”,底层系统毛病直接了影响事务营收与客户满意度。为此,小明地点的 IT 部门经过 OPLG 系统构建了一套全新的可观测渠道,具备“快速接入、灵敏扩展、无缝迁移、异构融合”等优势。

OPLG 优势

快速接入:因为 OpenTelemetry 和 Prometheus 社区供给的许多老练的开源 SDK/Agent/Exporter,无需许多代码改造,即可快速接入干流组件与结构的链路追寻与方针监控。

灵敏扩展:根据 PromQL/LogQL 灵敏的查询语法,与 Grafana 丰富的大盘定制功用,能够满意各个事务线或运维团队的个性化可观测需求。

无缝迁移:考虑到数据安全性及未来海外事务发展规划,可观测渠道沉积的组件埋点、自界说大盘能够在不同云服务商之间无缝迁移。相比于商业化大盘深度确定用户,Grafana 能够集成多种数据源,真实完成“端到端迁移自在”。

异构融合:Java、Go、Node.js 等不同语言的运用,以及多云环境的可观测数据能够互联互通,一致展现。

OPLG 应战

虽然 OPLG 系统具有多种优势,可是企业自建也会面临多重应战,特别是在深度运用的过程中,许多规模化运维、功能、本钱等非功用性问题将逐渐凸显。

组件规模化晋级与装备:客户端探针的规模化办理几乎是运维团队的“梦魇”,探针异常引发的各种毛病也是层出不穷。此外,动态装备下推与功用降级这类“保命大招”,一般也需求企业自建装备中心,自行开发与办理。

Traces 全量收集与存储本钱:中大型企业出产系统的日均调用量能够到达上亿级别,调用链全量上报和存储的本钱是个不小的开支,对哪些链路进行采样本钱最优?链路采样导致的方针监控与告警不准问题又该如何处理?

Metrics 大体量查询功能:一次查询扫描的方针数越多,查询功能越差。当查询时间范围超过一周或者一个月时,经常会遇到查询卡顿乃至于无法查询出结果。此外,APM Metrics 还会经常遇到 URL / SQL 发散导致的方针线过多,打爆存储与查询层。

海量告警调度时延与功能:每一条告警规矩都代表着一个定时轮询使命,当告警规矩超过千级别,乃至万级别时,经常会遇到告警推迟发送,乃至无法发送的状况,失去了毛病排查的最佳时机。

组件容灾才能弱:多地域/可用区容灾,是保证服务高可用的重要手段。可是,因为容灾才能建造,需求技能与资源的两层投入,许多企业自建系统都不具备容灾才能。 上述问题都是企业自建可观测系统过程中会遇到的经典问题,这些因为规模带来的功能及可用性问题,需求投入许多研发和时间进行沉积,大幅增加了企业运维本钱。因而,越来越多的企业选择将可观测服务端保管给云服务商,在享受开源计划技能红利的同时,也能得到继续、安稳的服务保证。

OPLG 保管计划

为了下降运维本钱,更安稳的供给可观测服务,小明地点的 IT 部门决定采用由阿里云 ARMS 供给的 OPLG 保管计划,该计划在保存开源计划优势的基础上,供给了高功能、高可用、免运维的后端服务,协助小明团队处理了海量数据场景下的规模化运维难题。此外,经过 eBPF 网络勘探、Satellite 边际核算和 Insights 智能确诊,进一步提升了可观测数据的覆盖度和集成度,如下图所示。

• 高功能:支撑无损计算,数据压缩,衔接优化,发散方针主动收敛,DownSample 等技能,大幅下降海量数据场景下的功能开支。

• 高可用:客户端支撑资源限额与主动限流维护,保证高压场景下的集群安稳性;后端服务支撑弹性水平扩容,多地域/多可用区容灾,尽最大或许保证服务可用性。

• 灵敏易用:JavaAgent、OT Collector、Grafana Dashboard Template 保管晋级,主动适配更新,无需用户办理;支撑动态装备下推,实时调整流量开关,调用链采样率,接口过滤与收敛规矩等参数。

网络勘探:经过 eBPF 无侵入地剖析网络恳求,主动解析网络协议,构建网络拓扑,展现特定容器之间或容器与特定云产品实例之间的网络功能。

• 边际核算:经过 Satellite(OpenTelemetry Collector)完成了可观测数据在用户集群内的边际收集与核算才能,规范数据格式,一致数据标签,有效提升 Trace/Metrics/Logs 数据之间的相关度。

• 智能确诊:结合多年沉积的领域知识库和算法模型,对常见线上毛病问题(如慢SQL、流量不均)进行定时巡检,主动给出具体的根因剖析与主张。

OPLG:新一代云原生可观测最佳实践

ARMS for OpenTelemetry Satellite

近两年 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 进行一致展现。终究完成覆盖运用、容器、网络、云组件的全景监控数据收集与剖析。

OPLG:新一代云原生可观测最佳实践

适用场景二:多云/混合云网络,异构 Tracing 结构数据相关与一致展现

在多云/混合云架构下,不同集群或运用间的链路追寻技能选型或许存在差异,比如 A 采用了 Jaeger,B 采用了 Zipkin,不同链路追寻协议上报的数据格式互不兼容,无法串联,大幅下降了全链路确诊功率。

经过 ARMS Satellite 能够将不同来源的链路一致转化为 OpenTelemetry Trace 格式,并上报至一致的服务端进行处理和存储,用户能够轻松完成跨网络或异构链路结构的联合数据查询与剖析。

OPLG:新一代云原生可观测最佳实践

适用场景三:链路采样+无损计算,低本钱完成运用监控告警精准计算

出产系统的日均调用量能够到达亿级别,调用链全量上报和存储的本钱是个不小的开支,对调用链执行采样存储是个不错的选择。然而,传统的链路采样会导致链路计算方针的准确性大幅下降,比如一百万次真实调用经过 10% 采样后保存的十万次调用,对其计算得到的结果会产生显着的“样本歪斜”,终究导致监控告警误报率过高,基本处于不可用状况。

ARMS Satellite 支撑 Trace 数据无损计算,对接收到的 Trace 数据主动进行本地预聚合,得到精准的计算结果后再执行链路采样上报,这样在下降网络开支和耐久化存储本钱的同时,保证了运用监控与告警方针的准确性。默许集成的 Satellite APM Dashboard 如下图所示。

OPLG:新一代云原生可观测最佳实践

总结

OPLG 系统具有老练且富有活力的开源社区生态,同时也经过了许多企业出产环境的实践查验,是当下建造新一代云原生一致可观测渠道的抢手选择。可是,OPLG 只是供给了一个技能系统,如何灵敏运用,处理实际问题,沉积出通用职业或场景的最佳实践,还需求我们一起来探究。

相关链接

[1] OpenTelemetry opentelemetry.io/

[2] Prometheus prometheus.io/

[3] Grafana Loki grafana.com/oss/loki/

[4] Grafana Labs grafana.com/

[5] ARMS for OpenTelemetry Satellite —— 助力边际可观测 help.aliyun.com/document_de…

[6] 阿里云 Prometheus 监控 help.aliyun.com/document_de…

[7] 阿里云 Kubernetes 监控 help.aliyun.com/document_de…

[8] 阿里云 Grafana 服务 help.aliyun.com/document_de…

推荐社区

【安稳大于全部】打造国内安稳性领域知识库,让无法处理的问题少一点点,让国际的确定性多一点点。

GitHub 专栏地址 (github.com/StabilityMa…) • 钉钉交流群号:30000312 • 如果阅览本文有所收成,欢迎共享给身边的朋友,期待更多同学的加入!

点击此处,了解阿里云可观测更多资讯! 发布云原生技能最新资讯、汇集云原生技能最全内容,定时举办云原生活动、直播,阿里产品及用户最佳实践发布。与你并肩探究云原生技能点滴,共享你需求的云原生内容。

关注【阿里巴巴云原生】公众号,获取更多云原生实时资讯!