云原生分布式应用性能监控实践-天眼全流程调用链

Posted 沃享荟

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了云原生分布式应用性能监控实践-天眼全流程调用链相关的知识,希望对你有一定的参考价值。

一、概述
天眼是中国联通IT生产运营支撑平台,对生产运营领域提供端到端、云化架构全层级的运维工具支撑,融合人工智能与大数据技术,实现传统运维向自动化生产、智慧化运营的转变,保障4亿级用户规模系统稳定运行,支撑一体化生产运营体系落地,支持“平台+应用”模式,聚焦集约、赋能省分,助力中国联通IT运营全面数字化转型。
天眼全流程调用链(Skyeye Call Chain)是为解决云原生环境下应用运维问题,基于Google Dapper论文,开发的分布式应用性能监控系统,实现从SaaS到IaaS全层级根因定位,业务全流程调用链跟踪,日均百亿级应用性能指标采集,自动生成系统链路拓扑,及时告警和准确定位故障。目前支撑cBSS新架构4000+服务,日均400亿+监控数据处理,基于Flink+ClickHouse大数据处理平台,支持分钟级根因告警输出。

二、架构
采集层:负责服务数据的采集。调用链采用Pinpoint Agent启动时埋点采集原始调用数据,发送到数据接入层;
数据接入层:改造Pinpoint Collector,将Agent发送过来的数据,转发到Kafka缓存;
数据服务层:负责数据的处理,通过Flink对明细数据进行计算,形成不同维度的汇总数据,按照不同的数据性质存入数据库。调用关系数据->Neo4j、分钟级汇总调用数据->ES、分钟级汇总数据长期及部分明细数据->ClickHouse,这些数据与mysql中存储的配置数据,成为数据开放和上层应用的基石。
应用层:本层汇集了按照业务和功能组织的对内和对外接口,承担着展示和对外输出桥梁的作用。
展现层:作为调用链产品的输出主要是展现及告警,大屏展示(前端React)调用拓扑、趋势、报错、根因故障分析,根因告警实时输出(对接智能告警平台)。

云原生分布式应用性能监控实践-天眼全流程调用链

三、技术特性

1、多租户,无侵入式探针采集
(1) 支持所有JAVA应用(Tomcat、Spring Boot),代码无需改造,实现无侵入式对接。
(2)支持多系统分租户对接,底层数据按租户划分,各租户用户权限隔离。

云原生分布式应用性能监控实践-天眼全流程调用链

2、告警输出
a.告警方式:钉钉、短信、语音外呼。
b.告警配置:用户自助化,可对服务级和方法级调用1s/3s/5s耗时、异常量等10余项告警指标自由组合配置。
c.告警收敛:告警基于调用链拓扑,所有告警仅收敛至根因服务发送告警,避免告警风暴的产生。根因告警为运维人员提供重要参考,缩短排障时间。
d.闭环管理:借助天眼智能监控告警平台能力,从告警产生、签收、处理等全环节掌控,便于事中追踪处理,事后复盘分析。且提供异常恢复自动关单功能,减少用户操作。


3、跨层级

现有调用链技术多围绕SaaS层服务调用情况进行研究,缺少跨SaaS、PaaS、IaaS多层级的关联故障定位功能,尤其是容器技术的广泛使用,亟需从服务、实例、容器、主机串联故障定位的解决方法及手段。天眼调用链基于CMDB,拉通多层级节点的关联关系,从而实现根因实例故障定位,为打通故障自动化恢复场景奠定基础。


4、大数据处理

调用链监控架构采用kafka消息中间件做数据缓存、Spark+Flink高性能计算集群对每笔调用的全链路信息实时计算,数据清单落地高可用ClickHouse、ES集群存储,用图数据库Neo4j构建海量关联关系库。当前支撑上万节点数据采集,每秒处理数据30万+,支持分钟级输出收敛根因告警,日均数据4百亿条,压缩比达到500:1。


5、支持业务影响分析

开源产品技术多聚焦于实现通用服务监控能力,对业务关注度不高,保证服务的高可用,最终保障的是一线业务的高可用。调用链分析提供通用配置模板,支持业务与服务关联的自定义及推荐配置,将服务的业务影响范围进行界定。

四、核心功能
1、服务链路拓扑

服务链路自动拓扑、自定义可视化视图、根因服务精准定位


云原生分布式应用性能监控实践-天眼全流程调用链

2、十种根因定位手段
根因服务、趋势分析、报错分类、根因实例、根因容器、根因主机、根因接口、SQL分析、外部接口、JVM分析、GC分析

云原生分布式应用性能监控实践-天眼全流程调用链
云原生分布式应用性能监控实践-天眼全流程调用链
云原生分布式应用性能监控实践-天眼全流程调用链


3、服务治理

ClickHouse实时数据计算,分析服务调用量、用户访问响应耗时分位数,尤其对于分析90/99分位末端用户体验,提供了显性指标,促进服务质量提升。



五、应用和展望
目前已在联通软件研究院cBSS(4000+服务)、新客服两个集中系统使用,后续对五大中台的其他系统接入也在紧锣密鼓展开,外部系统也有2套系统使用。
未来天眼全流程调用链,将继续夯实基础,保证平台稳定,同时关注跨系统的支撑和优化各大数据中心的对接流程,欢迎各位伙伴的使用和技术交流。


作者:庄孺义、李亚茹
编辑:沃享荟-刘宇超

以上是关于云原生分布式应用性能监控实践-天眼全流程调用链的主要内容,如果未能解决你的问题,请参考以下文章

云驻共创分布式技术之华为云全域调度技术与实践

工作随笔——pinpoint分布式性能监控工具(docker安装)

ClusterDB&MyCat的应用性能监控实践

应用性能监控系统SkyWalking

企业应用可观测性利器!华为云CodeArts APM发布

使用SkyWalking+elasticsearch实现全链路监控