全链路业务追踪落地实践方案

湖光山色
• 阅读 1106

2019年,“Kentik公司的一项调查表明,如今40%的组织认为自己是多云用户,他们的组织拥有两个或多个云服务提供商提供的云服务。三分之一的组织拥有混合云环境,其中至少有一个云计算服务提供商提供的云服务和内部部署数据中心或第三方的数据中心基础设施。

在此发展趋势下,IT运维管理工作进入了“运维最好的时代”,同时也是“运维最坏的时代”。企业在越来越重视IT运维对业务发展的价值的同时,发现IT架构发生了巨大变化。

  • 业务部署模式极其灵活:公有云、私有云、混合云
  • 业务节点分布极其广泛:很难到为业务提供支撑的XaaS实例的位置
  • 调用承载关系极其复杂:微服务间的调用依赖数量相较从前呈指数级爆发

着眼于运维领域,面临如下困局亟待解决:

  • 生产问题发现不及时:由于系统间服务调用关系不透明,以及传统“总量监控”的模式,造成交易链路中“问题服务”的影响无法快速进行预警与通知,运营监控存在一定滞后性。
  • 排查问题工作量大:由于监控手段的限制,以及各系统运行数据标准不统一,生产问题的解决需调用大量“开发”与“运维”资源,且沟通成本较高。
  • 解决问题效率低:由于各系统间运行数据没有统一的串联标识,以及记录标准不同,导致无法快速定位“问题服务”。

可观测性

由此,也引发了IT运维领域新的探索与实践,出现了不同以往的“SRE”、“可观测性”、“AIOps”等理念。为了解决新一代IT架构下上述难题,首先要解决系统运行状态数据化表征的问题,业界提出了“可观测性(Observability)”概念。

2017年,Peter Bourgon 提出的可观察性三大支柱——指标(Metrics)、调用链(Tracing)和 日志(Logging),这三个维度几乎涵盖了应用程序的各种表征行为,开发人员通过收集并查看这三个维度的数据(Telemetry Data)就可以做各种各样的事情,时刻掌握应用程序的运行情况。这已经成为当今可观测领域的标准,也是体系建设的地基。

  • 指标(Metrics):一种聚合态的数据形式,日常中经常会接触到的 QPS、TP99、TP999 等等都属于Metrics 的范畴,一般是基于统计学原理来进行设计实现的;
  • 日志(Logging):广义上的日志由业务请求或者事件触发,记录应用程序的状态信息快照。针对日志数据的统一收集、存储以及解析受诸多因素影响,比如结构化与非结构化的日志处理,往往需要一个高性能的解析器与缓存;
  • 调用链(Tracing):起源于SOA技术时代,服务化带来的长调用链,仅仅依靠日志是很难去定位问题的,需要一些措施来进行复杂性补偿。因此它的表现形式比 Metrics 更复杂。

全链路业务追踪落地实践方案

落实可观测性的举措往小了说就是生产+收集+处理+消费观测数据。收集应用环境的观测数据并不是什么新鲜事。然而,从一个应用程序到另一个应用程序,收集机制和格式很少是一致的。

对于开发人员和SRE来说,这种不一致性可能是一场噩梦。在全球范围提供可观测性解决方案中,不得不提及以下协议/工具,在支撑观测数据生产、收集、处理方面带来极大的便利,而全链路追踪则是运维领域实践可观测性消费的重要举措:

  • 在云原生的场景下,虚拟化更加彻底、环境动态性更强。充分利用可观测性实现全链路追踪,以达到业务高可用、满足SLA等要求。
  • 通过可视化的方式追踪交易全链路,实现快速发现问题、定位问题、辅助解决问题;以更直观、科学的方式产生并使用对观测数据进行实时监控分析。
  • 引入AI的技术来进行自动化的异常发现、定位与修复。

问题与挑战

从链路层、数据层、应用层分别来看,要完成全链路追踪仍需要解决众多问题。链路层遇到的问题和挑战包括有云原生/虚拟化环境内外部流量数据的汇聚、复制、分流、过滤技术手段不完备,云原生/虚拟化环境与物理交换机环境流量数据建链困难;缺乏基于完整链路的性能监控分析。

数据层遇到的问题和挑战包括:不规范的日志(Logging)、调用链(Tracing)数据难以准确刻画出业务端到端拓扑,造成观测目标数据的不完整;不够精准的指标体系(Metrics)引起的信息干扰或分析失效。

应用层遇到的问题和挑战包括:传统的应用性能监控技术理念对于云原生/虚拟化环境下IT组件的观测能力要求不匹配。例如:多组件间异步交互的关联与排序、基于时间切片的调用链回溯等。

同时,从业务场景总体来看各层级内、层级间缺乏完整的端到端贯穿,无法完整描绘的被观测系统。

云智慧经过10多年持续实践、积累、探索、创新,构建并落地了完整的面向新一代IT架构的全链路追踪解决方案,下面我们将体系化的介绍一下该方案的技术理念及落地举措。

全链路追踪整体解决方案

适用场景

没有任何监控工具

目前处于手工运维。随着业务发展,容器化应用,人工运维无法满足相对复杂业务的监控和业务链路追踪需求,快速响应业务,运维发展跟不上业务发展。

有少量监控工具

有少量的监控工具。如基础监控,网管监控工具,开源工具Zabbix等。但工具分散无法基于业务全链路追踪体系。

有比较全的工具

有比较全的监控工具,有一些可以形成链路的工具,如商业化应用性能监控,开源的ELK日志监控,同时也在探索Pinpoint、SkyWalking、OpenTracing标准等。但应用较传统,改造日志需要规划,无配置管理辅助形成全链路追踪。

运维数据统一管理和智能化

规划统一运维管理,目标是利用AIOps的能力提升调用链追踪,借助智能运维能力达到初步智能运维水平。工具层建设比较全,开源的、商业的,CMDB等。但对于调用链无法全面的展示和灵活使用全链路追踪数据。工具分散无法基于业务全链路追踪体系。链路不完整,链路和监控工具,监控数据无法形成合力,配置管理无法应用到全链路追踪场景。

解决方案

全链路业务追踪整体解决方案整体依托监控工具和智能运维平台,主要包含以下四个解决方案,日志链路追踪解决方案、应用链路解决方案、网络链路解决方案、基于融合数据的全链路追踪解决方案。

前三种解决方案依托监控工具,第四种基于融合数据的解决方案,融合各种运维数据,基于智能运维中台和算法能力。实现最终全链路最终目标。

全链路业务追踪落地实践方案

全链路业务追踪基本目标,显著缩短平均故障恢复时间。在运维过程的各个关键环节进行保障

  • 故障防御阶段:全链路追踪指标规划和观测,指标同时转换为告警阈值,如果故障发生提前预测和告警,可以第一时间处理运维问题;
  • 故障发现阶段:告警快速通知到运维团队,
  • 分析与解决阶段:基于全链路业务追踪快速故障分析和处理,通过链路追踪和可视化快速分析定位运维问题,做到可度量可观测。
  • 复盘和总结阶段:历史数据分析,全链路优化与补充,根因定位分析,业务系统优化建议。

通过以上过程,主要是故障发现阶段尤其是分析与解决阶段的效率提高,显著缩短平均故障恢复时间MTTR整个过程中智能算法的作用

全链路业务追踪落地实践方案

总结

回顾全链路追踪领域面临的问题和挑战,通过落地实践本方案内容,得到有效解决。

观测数据使用难的问题

  • 通过AI算法能力与专家经验结合,实现复杂IT环境下故障快速检测、根因定位、性能优化;
  • 识别业务场景关键调用链的全局性能,辅助业务优化;
  • 提供可追溯的性能数据,量化运维部门业务价值

观测数据建链难的问题

  • 基于运维数据中台的处理能力,将丰富的观测数据进行实时汇聚/处理/存储/分析,构建融合观测数据体系;
  • 通过多维拓扑进行全程展示和上下游影响分析。

观测数据接入难的问题

  • 多源头:前后端、跨云部署、三方工具等;
  • 多数据类型:日志、指标、调用链、网络流量、三方拓扑等;
  • 多语言:Java 、Go等;
  • 多协议:OpenTracing、OpenTelemetry等;

开源福利

云智慧已开源数据可视化编排平台 FlyFish 。通过配置数据模型为用户提供上百种可视化图形组件,零编码即可实现符合自己业务需求的炫酷可视化大屏。 同时,飞鱼也提供了灵活的拓展能力,支持组件开发、自定义函数与全局事件等配置, 面向复杂需求场景能够保证高效开发与交付。

点击下方地址链接,欢迎大家给 FlyFish 点赞送 Star。参与组件开发,更有万元现金等你来拿。

GitHub 地址: https://github.com/CloudWise-...
Gitee 地址:https://gitee.com/CloudWise/f...
万元现金活动: http://bbs.aiops.cloudwise.co...

微信扫描识别下方二维码,备注【飞鱼】加入 AIOps 社区飞鱼开发者交流群,与 FlyFish 项目 PMC 面对面交流~
全链路业务追踪落地实践方案

点赞
收藏
评论区
推荐文章
全栈混合云综合架构方案研究和落地
本文分享自天翼云开发者社区《》,作者:yn(一)业务背景随着云服务的便利性日益被市场接受,企业客户越来越倾向采用公有云服务补充其现有的企业内部部署的数据中心和私有云基础架构的不足。因此,混合云成为云服务市场的重要发展趋势。广义上讲,混合云的形态可以包括云与
计算存储分离在京东云消息中间件JCQ上的应用
作者:田寄远JCQ全名JDCloudMessageQueue,是京东云自研、具有CloudNative特性的分布式消息中间件。JCQ设计初衷即为适应云特性的消息中间件;具有高可用、数据可靠性、副本物理隔离、服务自治、健康状态汇报、少运维或无运维、容器部署、
【案例分享】如何利用京东云建设高可用业务架构
本文以2022年一个实际项目为基础,来演示在京东云上构建高可用业务的整个过程。公有云及私有云客户可通过使用京东云的弹性IAAS、PAAS服务,创建高可用、高弹性、高可扩展、高安全的云上业务环境,提升业务SLA,提升运维自动化水平,降低资源成本及运维成本。有业务迁移上云需求,希望构建云上高可用业务架构的客户或对云上高可用架构规划有兴趣的读者可以一看。
Stella981 Stella981
4年前
Service Mesh 最火项目: Istio 架构解析
Istio是一个开源的服务网格,可为分布式微服务架构提供所需的基础运行和管理要素。随着各组织越来越多地采用云平台,开发者必须使用微服务设计架构以实现可移植性,而运维人员必须管理包含混合云部署和多云部署的大型分布式应用。Istio采用一种一致的方式来保护、连接和监控微服务,降低了管理微服务部署的复杂性。从架构设计上来看,Istio服务网格在逻辑上分为
Wesley13 Wesley13
4年前
ECS主动运维2.0,体验升级,事半功倍
_摘要:_ 阿里云致力于提供更好用的运维体验,让您使用ECS的过程更透明、高效,并实现更加标准化、自动化的运维方式。基于主动运维2.0,您使用ECS云服务器的体验更加流畅,而且利用系统事件,不再依赖于工单联系客服,可以通过自助处理的方式响应主动运维实例重启,减少对系统可靠性和业务连续性的影响。   云服务器ECS(ElasticCompute
为什么选择云计算?
云计算是企业摒弃传统IT资源思维的重要转变。以下是组织转向云计算服务的七个常见原因:费用云计算让您无需投资硬件和软件,也无需设置和运行现场数据中心(包括服务器机架、不间断电源供电和冷却,以及IT专家管理基础架构)。它也提高了速度。全局缩放云计算service的优势包括灵活扩展的能力。对于云来说,这意味着在需要时可以从正确的地理位置提供适量的IT资源,例如或
【案例分享】如何利用京东云建设高可用业务架构
本文以2022年一个实际项目为基础,来演示在京东云上构建高可用业务的整个过程。公有云及私有云客户可通过使用京东云的弹性IAAS、PAAS服务,创建高可用、高弹性、高可扩展、高安全的云上业务环境,提升业务SLA,提升运维自动化水平,降低资源成本及运维成本。有
算网资源调度关键技术
在云网融合阶段,网络为云计算提供连接服务,云计算为网络云化提供支撑。随着云网一体化持续演进,云网融合步入算力网络新阶段。算力网络通过对业务、算力资源和网络资源的协同感知,将业务按需调度到合适的算力节点,实现算网资源的统一编排、统一运维、统一运营和统一优化。
数字先锋 | 双十一来了,零售企业如何备战?
在搭建统一云管平台方面,天翼云将多云并行的异云迁移、整合到天翼云平台中,实现统一运维管理,有效降低了大商集团云中台的运维负担。在安全能力打造方面,天翼云提供Web应用防火墙、服务安全卫士等丰富产品,可满足企业合规安全要求,护航企业平稳健康发展。
邢德全 邢德全
1年前
云端部署mes/万界星空科技云mes系统
万界星空科技MES制造执行系统,应用云上托管,提供云上自动部署和运维能力,解决手工部署效率低、错误率高、升级困难、业务中断、监控定位难等应用运维问题,适用于政企IT系统及互联网类应用。
选择天翼云混合云管理平台的五大理由
数字时代下,企业上云成为数字化转型的突破口。云上应用越来越多,云业务容灾备份、分级安全、应用弹性扩展等需求也日益增长。出于对综合成本、多云的差异化优势互补等因素的考量,企业多采用混合云部署策略。混合云,成为云服务市场的重要发展趋势。天翼云混合云管理平台面向企业客户提供资源统一开通、统一管理、统一运营、统一运维,支持对硬件资源和虚拟资源进行纳管,并通过整合天翼