直播回看|开启愉悦时刻!DeepFlow可观测性方案实践及开放合作

“云原生可观测性分享会”第二期《DeepFlow可观测性方案实践及开放合作》由云杉网络COO来源演讲,分享了云原生、车联网、容器化微服务3个实战用例,以及客户同学的愉悦时刻。以此帮助大家进一步的了解可观测性,以及可观测性可以解决的实际问题。下文为直播实录,接下来请大家开启沉浸式阅读模式吧。

直播回看地址:点击前往

直播间的朋友们,大家好! 我是云杉网络的来源,今天是原力释放,云原生可观测性分享会的第二期,找到共鸣。非常高兴有机会和大家分享云杉的自嗨点,也希望能与更多的同学在可观测领域一起顿悟愉悦。

内容主要分两个部分,DeepFlow可观测方案以及客户获取到的愉悦时刻。

%e5%9b%be%e7%89%87-1

01|Aha Moment

首先,我们要理解什么是的愉悦时刻,“Aha Moment” 是指在思考或解决问题过程中一种特殊的、愉悦的体验,描述过程期间突然对之前并不明朗的某个局面产生深入的认识。第一是存在不明朗的局面,再次是问题解决或产生深入认识。

%e5%9b%be%e7%89%87-2

在云原生应用的环境中,经常会面临着一个个不明朗的局面。我们在屏幕上看到的图例,是在搜索引擎中搜索“微服务拓扑”所得到的结果。尤其是大家在展示自己应用的复杂性,说明关系难以理清时,经常会贴出一些乱如麻的服务关系图来,也经常有同学来分享基于微服务大型应用架构,展示运行状态。面对这些乱如麻的点线,当出现故障、错慢时,只能是一个个抽丝剥茧的过程。混合云+容器+微服务应用的优势不必多说,但资源池化、应用服务化后,同时也带来太多不明朗的局面,很多情况不光不明朗而且很被动,这一点,担责的同学一定有深刻认识。

运维保障中的具体问题千千万,我们可以总结归类为四类不明朗的局面:1.故障定界不明朗。2.调用链路不明朗。3性能分析不明朗。4.容量评估不明朗。造成不明朗局面的原因很多,但其实原因也很清楚,归纳下来主要是云环境中分层多,观测对象及路径数量指数级增加,容器化微服务应用弹性及动态性大,再者就是对人员技术栈要求广。

02|超预期的完成客户需求

在具体工作中,经常出现很难快速肯定回答的问题:“性能消耗在哪?”,“上下调用关系正常吗?”我们在客户同学处也经常遇到这些问题,“服务调用跟踪起来成本太高了”;“问题解决好几轮了也没有彻底解决”;“处处抓包根本不实现,有时只能靠猜”;“每次故障定界都要拉多个团队,翻每一个服务的日志”。

云原生环境中,所面临的不明朗局面很多,至少可以说,可能体会到的愉悦点就应该很多。那愉悦时刻剩下的条件就是解决上述问题,而且要零侵入,超出客户预期地解决问题,来开启愉悦时刻。

03|DeepFlow可观测性整体架构

在谈具体地操作实践前,我们先来了解下DeepFlow架构、方案以及一些常用到的功能集合。关于可观测性的理论、概念,我今天就不多讲了,在上期分享中,已经做了很多说明。直接来看云杉对理论的落地。

%e5%9b%be%e7%89%87-3

首先最左侧是在企业混合云环境中,覆盖的观测点以及获取哪些观测数据。主要分为三类,网络、NFV以及系统、应用数据。网络数据是通过采集器获取容器pod,虚拟机以及物理服务器网络接口的流量,同时包括在私有云环境中的NFV区域的各类网关,负载均衡等网络服务的流量。众多采集器构成一个分布式的算力平台,对网络流量进行进行预处理,去重、关联、过滤、指标化等预处理操作后发送到后端数据节点,避免将云内原始流量集中处理,有效降低CPU,内存、带宽等资源的消耗。

传输压缩指标数据,日志仅需消耗原始流量的万分之一带宽,当然整个平台也支持按需的实时流量分发以及PCAP数据包留存。系统应用数据得益于eBPF技术框架,具备了无插码获取应用函数、系统调用、协议栈等数据的条件,补充了单一网络数据对应用分析的不足,如对Https协议的处理和追踪。同时,也让基础设施团队具备对基础设施、系统、应用全面可观测的基础条件。采集器由控制器进行统一控制,下发采集策略,管理运行状态等。数据节点也是DeepFlow核心组件之一,通过分布式集群方式,接收采集器发送的指标、日志、系统应用数据,实现对高性能读写查功能。

在混合云环境中,平台信息也是需要关联分析的重要一部分,包括云计算平台、容器平台的资源状态、事件,与采集器的网络、系统、应用数据关联后,形成多维度的知识图谱,比如,一个网络连接不仅是IP加端口来网络视角描述,同样可以是以微服务的视角来描述,并关联到涉及的工作负载,容器POD,虚拟机等。目前DeepFlow通过API以及产品合作,兼容各类开源、商业的云、容器平台产品。在落地实施的可观测方案中,还有一块需要考虑,那就是客户已有的监控诊断工具,尤其是开源方案,Prometheus、Zabbix、Skywalking等,如何有效进行分析联动,需要方案具备良好的开放性。

数据开放是DeepFlow设计原则之一,在详细方案中,主要通过以下三种方式,第一,三方平台可以直接调用DeepFlow中的数据,第二,可视化平台直接调用API根据需求包装展示DeepFlow数据。第三,DeepFlow数据节点同样可以接收三方平台数据,统一进行分析,提供高性能、大规模的可观测能力。这些在后面的行业方案中也会提到。以上各类数据,组成了在云环境中可观测性的数据基础,通过数据的关联分析,实现网络、应用的整体观测性。总结一下,整体方案突出的特点是,零侵入,分布式,高性能、低消耗这也是云环境中可观测方案所应具备的。

04|观测啥?本质还是数据

观测性观测性,到底观测个啥?本质还是数据。我们落到运维同学实际具体工作中,核心的工作流是从黄金指标数据开始。在Google的SRE一书中,也明确提到了黄金指标数据,包括时延、流量、错误以及饱和度四个指标。

%e5%9b%be%e7%89%87-4

也可以聚焦在应用体验,核心关注在请求、错误以及时延三项黄金指标,可以根据不同的侧重来选择黄金指标,既然是黄金,那类型的数量就不宜过多。不管诉求是监控告警、分析热点、定界排障还是容量规划都可以从黄金指标开始。黄金指标的作用是快速圈定问题类型,根据不同类型,由黄金指标关联延申至更多的指标数据以及其他的分类信息。对于可观测性,经常谈到的Metric、Tracing以及Logging三大支柱,都已经很熟悉了,所代表的指向性以及特点,就不再赘述。

在这里从不同角度来简单展示一下云环境中应关联到的数据分类,包括吞吐、异常、性能中更细粒度的详细指标,也包括应用、系统以及网络维度。此外平台信息、变更事件、应用标识、观测点的位置信息等,尤其针对性能分析和排障来说也是必要的。如何衡量观测的结果,那就是关键时刻能扛事不?主要有排障、评估、分析、预测。今天主要把重点放在定界排障这个范畴中,在云+容器+微服务环境中,出现生产故障,如何快速定界进行根因分析,达到RTO,降低MTTR,是保障业务的关键能力。首先来看下在复杂环境中,得到根因需要涉及到哪些边界?应用的边界、服务间调用的边界、代码函数的边界、Infra(云、容器)、系统、应用的边界,计算区域与NFV区域的边界,物理与虚拟的边界等。

定界通常会涉及到多部门的会商和日志查询,高效的定界,可以提升整体排障的效率,准确的定界,可以保证人力资源投入的效果。好,那我们来看看DeepFlow平台如何实现分钟级定界故障的。

05|调用、追踪和全栈

欲善其事,先利其器。这页我们梳理下调用依赖、访问追踪和全栈链路三者在混合云微服务环境中的关系。

%e5%9b%be%e7%89%87-5之前乱如麻的服务调用拓扑是由一个个微服务应用组成的,不同功能的微服务通过相互调用构成应用,多个应用组合成一个业务系统。如图简化的应用示例,我们从应用的视角来说明调用、追踪和全栈调用依赖是指定时间段内,过滤得到服务上下调用依赖关系的有向图,聚合了时间段内指标数据,尤其是黄金指标数据,通常包含多个不同的事务(Transaction)访问。那什么是访问追踪,通过TraceID、SpanID、URL等事务访问标识,绘制指定事务的相关路径,称为访问追踪。

在逻辑路径中,调用访问的两个端点都是由多段网络虚拟化路径承载的。分解服务背后的容器POD到虚拟机到物理服务器以及网络功能的路径,在容器化微服务环境是非常必要的,称之为全栈链路。结合到上一页所谈的观测数据以及观测方法,就可以对云+容器+微服务环境能有一个基本清晰的把握。任一路径线段都有黄金指标数据,并标识采集位置信息,快捷关联详细数据或切换其他类型指标。任一端点都可关联至“知识图谱”,对应不同维度的资源属性及调用关系。

06|覆盖混合云访问全场景的可观测性方案

讲了DeepFlow可观测的设计思路和基本方法,现在来看看如何整合到行业方案中。覆盖混合云访问全场景的可观测性方案,场景中包括有公有云、私有云、分支机构,运行有容器化的微服务应用,在一些大企业中,容器节点可达到10万容器节点提供线上服务。

%e5%9b%be%e7%89%87-6在故障告警后,具备分钟级定位定界的能力。DeepFlow采集器部署在云内以及分支机构处,分支机构主要在网络出口处,云内则关注容器、NFV区域、系统以及对外应用。控制器以及数据节点部署在各个区域,形成分布式的管理控制以及存储。我们重点以一个私有云区域来展开,采集器部署在计算KVM、容器区域,同时也不是在中间件的服务节点上,在网络功能区,包括各类网关、负载均衡,专线等,通过镜像流量,采集器解析隧道封装,来标识租户流量。

在云内访问场景,包括VPC内访问、跨资源池访问、裸金属设备区域访问、互联网访问、专线访问、控制区域访问等,在各类场景中,分别会应用到不同类型的网关服务,在“调用依赖”中展开“全栈链路”,快速能定位到访问场景中各类实现的黄金指标异常,以达到分钟级边界的划分定位。只需点击就可以展开“全栈链路”,在实际使用中,经常带给客户超出预期的感受。

07|覆盖车联网云-边-端的可观测性方案

下面我们来看DeepFlow在车联网中的应用,覆盖云-边-端的可观测性方案。在车联网的场景中,基本上会涉及到V2C、V2V以及V2X几大类,IT架构会有车端、互联网以及云边端,相互间都存在访问通信,除了有移动APP,娱乐等IT类应用外,还有IoT类通信。

%e5%9b%be%e7%89%87-7路径包括4G/5G、卫星通信、专线、云内网络等。车端侧,除了普通商用乘用车外,更多包括存在于矿山、码头以及园区等半封闭区域的自动驾驶场景中的车辆,迫切需要纳入整体监控体系。DeepFlow方案中,除了在云边端部署采集器外,重要一部分就是采集器部署在车载主机上,有能力在车端处就进行数据获取覆盖以及调用追踪。车端对采集器有更严格的要求,包括稳定性、极小资源消耗,自身监控等。简单从一些参数来进行描述说明,目前车载采集器可以做到CPU 200MHz,内存256M,以及传输预处理后的指标数据的超低带宽消耗,采集器自身状态机保证资源消耗在所设定的资源上限内,控制器统一监控采集器状态及指标。

08|车联网方案的观测能力

现在看到的是在云边侧以及车端侧实现的观测能力,在云边侧,主要对云内所提供的对外服务进行监测保障,包括“调用依赖”、“全栈链路”等,这些已经在上一方案中展示,这里主要谈谈云内的平台集成与数据开放。云-边-端整体监控必会涉及到多个生产职能部门协同,那集成和开放是方案所不能避免的。应用部门使用了Skywalking进行应用性能监控和调优,运营部门使用了Grafana进行数据监控展示,基础云部门使用了Prometheous,Zabbix等监控平台。

DeepFlow做为基础监控数据补齐已有平台的指标短板,Skywalking调用DeepFlow数据,快速定界网络与应用的边界,出现问题不需要都下沉至基础云部门,团队就可以快速消化自身问题;Grafana整合DeepFlow微服务单元性能数据,评估各个微服务的服务质量;业务部门也可以通过Grafana关注到车辆的状态等等。在车端侧,采集器除了通用功能外,核心支持Http、MQTT等协议以及拨测功能。这些使DeepFlow成为基础云团队重要的监控排障手段,除了基础设施资源状态监控外,可以零侵入地观测到应用状态,且从车端访问到云端应用都统一纳入监控视野,由于“漏斗”前置,工单更加精准,也不再被动面对应用和三方网络服务商。由此,通过VehicleID、TraceID、网络流等将车联网从车端到云端到应用服务完整地拼连起来。

09|DeepFlow一些基本功能

现在我们来看下产品的基本操作,当观测点能广泛覆盖路径时,收集指标数据后,就可以通过不同过滤方法筛选出调用依赖。

%e5%9b%be%e7%89%87-8通常关注黄金指标热点异常的微服务,或者命名空间等,快速得到微服务的调用依赖,端点描述微服务、POD、Node、Workload等各类对象,外圈大小表示微服务内呈现所设定主指标的数值高低,端点间连线描述调用关系,箭头方向描述调用与被调用的关系,粗细呈现微服务间所设定主指标的数值大小。如果不以服务进行指标聚合,可以展开后端容器POD的调用。
%e5%9b%be%e7%89%87-9下面我们针对两个端点间逻辑路径展开“全栈链路”,操作上也非常简便,点击选择的路径后,就可以展示出全栈分段的指标数据。

10|客户愉悦时刻

在过去的几年中,我们服务的客户涉及到各个行业,是行业中云计算及应用架构的先行者以及领先者,比如我们已经服务了近70%的国有大行以及股份制银行的云、容器建设保障,DeepFlow完成了市场上绝大多数云厂商的产品级兼容对接与合作,除了IT基础设施方案,也涉及5G、边缘云、车联网、物联网的可观测性。

%e5%9b%be%e7%89%87-10服务与合作过程中,也与客户同学、合作伙伴遇到了太多云中不明朗的局面,在解决问题的过程中体会到很多愉悦时刻。这些都是摘自客户同学的语录,也从一个侧面表达了在超出预期解决问题后的感受。“之前每天在云上‘猜’两个问题,现在每天可以处理20个问题”,对于效率都是工程师所追求的,面对新环境,广泛的技术栈,涉及多团队,不明朗局面下的问题梳理,由于存在“黑盒“,缺少指标依据,需要靠个人经验以及推断,这样势必造成解决问题成本高以及反复。这块客户实实在在感受到效率的愉悦时刻。

“现在工作基本不需要抓包” 先进工具解决先进问题。此前基础设施部门以每个关键路径上进行抓包、分析数据包为主要思路,但在云环境中,虚拟设备及虚拟路径太多,而且IP动态变化,全网抓包,存包不现实,还是将网络与云,应用在割裂来看。客户同学也在此感受到可观测性的愉悦。“应用部署变化我们也知道”,基础设施部门不再被动被告知应用的状态,应用部门也并不是所有同学都了解目前的状态,包括变更以及服务添加,客户在服务调用依赖中,直观观测微服务访问状态,真切超预期地看到本不明朗的全局,体会愉悦。“原计划仅部署在关键节点上,现在需要部署在所有节点上。”先进方案解决先进问题!总体来看,超出预期的感受主要来自于两点,第一就是零侵入,第二就是分钟级定界故障。

11|开放的可观测性方案

如果只用一个词来描述DeepFlow的设计思想,那就是开放。首先DeepFlow就是聚焦解决云内微服务化应用的运维保障问题,平台本身设计也是遵循云原生的设计思想。

%e5%9b%be%e7%89%87-11弹性可扩展,以支持复杂的大规模的容器化微服务应用。部署方式上也充分使用云上服务,支持虚拟机、容器化部署,使用云上对象存储,数据库等服务。在通常实施过程中,不需要额外的硬件设备,数千个容器节点,分钟级采集器部署完成后即可开始获取观测数据。此外也如云服务一样,支持订阅,在私有云,公有云环境中根据使用时长进行计费,降低客户的商用门槛。

关于数据开放,上述的方案中已经提到,多数据源是可观测性的基础,尤其在涉及跨部门的整体监控系统中,DeepFlow提供完整的API,供集成整合,能在更多行业、更多场景中发挥观测性的基础能力。在这里可以看到Skywalking、Grafana调用DeepFlow指标后的两个示例。最后就是开源,随着互联网以及应用的发展,可观测性也将被更多的行业和场景所需要,为了充分地结合和不断地进步,云杉将开源DeepFlow产品的核心数据处理引擎为MetaFlow项目,包括控制器、采集器及数据节点,去实现更多的数据源、更多的数据存储,更多的展示分析接口的可能性。关于开源,将由云杉向阳同学在下期“原力释放”分享会中进行分享,欢迎大家持续关注云杉。开放的产品方案是开放合作的基础,在金融、运营商、电力、零售、制造、车联网、物联网行业,应用架构及业务模式都在发生变化,我们也欢迎各个行业的伙伴进行先进方案的合作。

12|如何开启愉悦时刻

%e5%9b%be%e7%89%87-12如何开启愉悦时刻,那就是拿起手机联系我们。我们希望面向更多行业,将可观测能力应用到更广泛的客户场景中,正在规划混合云环境中云原生应用可观测性的同学,还在容器微服务的不明朗局面中摸索的同学,正在为混合云保障挠头的客户同学以及面临云中监控新需求但产品空缺的合作同学,另外,看好可观测发展,有志在可观测性领域共同探索的同学,欢迎加入云杉,持续刷新预期并开启更多愉悦时刻。
%e7%9b%b4%e6%92%ad%e7%b3%bb%e5%88%97-%e5%85%a5%e7%be%a4-%e6%88%91%e7%9a%84%e4%bc%81%e4%b8%9a%e5%be%ae%e4%bf%a1%e4%ba%8c%e7%bb%b4%e7%a0%81

Related Posts

云杉网络 DeepFlow 联合 TDSQL 完成技术兼容互认证

近日,北京云杉世纪网络科技有限公司(以下简称:云杉网络)的云原生可观测性产品 DeepFlow&nb […]

Read More

浅谈云原生可观测性生态的优化和丰富

云杉 世纪

2024年4月5日

云杉动态

云原生可观测数据中的时序数据 Metrics,在业务高基数、持久化存储、乱序写入、多租户隔离等场景下,对后端时 […]

Read More