一、概述

天眼是中国联通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套系统使用。

未来天眼全流程调用链,将继续夯实基础,保证平台稳定,同时关注跨系统的支撑和优化各大数据中心的对接流程,欢迎各位伙伴的使用和技术交流。

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

  1. 【全观测系列】Elasticsearch应用性能监控实践

    简介:本文介绍了应用性能监控的应用价值以及解决方案等. 1.什么是全观测? 要了解全观测,我们先看看传统运维存在哪些问题. 数据孤岛,分散在不同部门,分析排查故障困难: 多个厂商的多种工具,无法自动化 ...

  2. 云原生分布式应用运行时 Dapr 在阿里的实践

    Dapr 是什么? Dapr是一个开源.可移植.事件驱动的云原生分布式应用运行时,它使开发人员能够轻松地构建运行在云平台和边缘的弹性而微服务化的无状态和有状态的应用程序,从而降低基于微服务架构构建现代 ...

  3. 打造云原生大型分布式监控系统(三): Thanos 部署与实践

    视频 附上本系列完整视频 打造云原生大型分布式监控系统(一): 大规模场景下 Prometheus 的优化手段 打造云原生大型分布式监控系统(一): 大规模场景下 Prometheus 的优化手段_哔 ...

  4. 2020 云原生技术 7 大领域趋势全预测

    文章联合撰稿人(排名不分先后) 叔同.谷朴.不瞋.育睿.许晓斌.至简.典违.鲁直.改之.小剑.汤志敏.白慕.循环.文卿,喽哥.水鸟.神秀. 在筹备阿里云首届云原生实践峰会的过程中,我们展开了对云原生技 ...

  5. 《一文带你读懂:云原生时代业务监控》

    点击上方蓝字关注我们! 对业务来说,完备的应用健康性和数据指标的监控非常重要,通过采集准确的监控指标.配置合理的告警机制,我们能够提前或者尽早发现问题,并做出响应.解决问题,进而保证产品的稳定性,提升 ...

  6. 【腾讯云原生降本增效大讲堂】作业帮云原生降本增效实践之路

    ​嘉宾 | 董晓聪 出品 | CSDN云原生 2022年9月1日,在中国信通院.腾讯云.FinOps产业标准工作组联合发起的<原动力x云原生正发声 降本增效大讲堂>系列直播活动第7讲上,作 ...

  7. 李飞飞演讲实录 | 云原生数据库2.0:一站式全链路数据管理与服务

    简介:5月29日阿里云开发者大会上,阿里巴巴集团副总裁.阿里云数据库产品事业部负责人李飞飞演讲实录. 一.浅谈云原生 (一)云原生,是未来使用云的标准方式 我认为云原生是未来使用云的标准方式,云计算资 ...

  8. KubeMeet 新年首站成都开放报名,5 场云原生应用交付开源实践

    "九天开出一成都,万户千门入画图" KubeMeet 开发者沙龙新年首站 "锁定" 成都,本场沙龙将以「云原生应用交付与管理」为主题,结合云原生应用交付.自动化 ...

  9. 阿里巴巴云原生应用安全防护实践与 OpenKruise 的新领域

    作者 | 王思宇(酒祝) 来源|阿里巴巴云原生公众号 得益于 Kubernetes 面向终态的理念,云原生架构天然具备高度自动化的能力.然而,面向终态的自动化是一把"双刃剑",它既 ...

最新文章

  1. 重装系统最关键一步:如何做好备份
  2. matlab plot画图指定线型和颜色
  3. linux 其他常用命令
  4. 远距离蓝牙四驱小车方案
  5. Tensorflow:tf.contrib.rnn.DropoutWrapper函数(谷歌已经为Dropout申请了专利!)、MultiRNNCell函数的解读与理解
  6. 小白的CMMI3体验
  7. C#委托(delegate、Action、Func、predicate)和事件
  8. LeetCode 1086. 前五科的均分(map + 优先队列)
  9. windows效率工具,翻译软件QTranslate
  10. 使用Python和Perl绘制北京跑步地图
  11. H桥驱动芯片IR2110功能简介
  12. 线性表的链式存储结构 ( 链表 )
  13. Failed to install ISKernel Files,make sure you have appropriate privileges on this machine
  14. 图解大数据 | 基于Spark RDD的大数据处理分析
  15. 使用经典的基本播放命令和 MML 创建 MIDI 文件
  16. 有赞.测试团队介绍(转)
  17. 把数字用拼音表示并输出
  18. iOS上架详细通关教程(提交到AppStore)
  19. “十问”彻底弄懂APS、ERP、MES的集成问题
  20. Ardupilot移植经验分享(2)

热门文章

  1. 机器学习算法 综述(入门)
  2. Chrome 无法检测 Lodop 插件
  3. redis 对象的空转时长
  4. CoreDNS简介和安装
  5. 中国向东盟产业链转移背后的故事
  6. C. Arithmetic Progression(细节模拟)
  7. Java BigDecimal开方
  8. mysql时间相减得到天数保留两位_MySQL计算两个日期相差的天数、月数、年数
  9. PointRend理解
  10. (转载) loss不降低原因以及解决方法