DeepFlow 在银行数字化转型中的可观测性实践 案例介绍 01 金融行业用户 第一个案例是来自某银行,新业务上线前的压测打不上去,使用 DeepFlow 的调用拓扑快速定位到根因是后端某个服务导致的。 这个案例展示了如何快速的定位业务压测瓶颈。 02 金融行业用户 第二个案例是来自某银行,某业务从云下迁移到云上后的应用响应时延增大,使用 DeepFlow 的全路径追踪快速定位到 KVM 网络的原因导致应用响应时延大。 这个案例展示了如何快速的定位云上业务应用时延瓶颈。 03 金融行业用户 第三个案例是来自某银行,某业务在 F5 member 池中的节点发生了多次无规律不可用告警,使用 DeepFlow 的流日志功能快速定位到不可用原因是物理网络导致的。 这个案例展示了如何快速的定位云原生环境的网络故障。 QA环节 Q1|案例1中,提到的AutoTagging可以展开介绍一下吗? A:可参考 https://deepflow.io/docs/zh/features/auto-tagging/elimilate-data-silos/ Q2|案例2中,如何获取到全栈链路的流量? A:部署 Agent 后,默认即可获得全栈链路的流量。 Q3|案例3中,如果是其他网络插件或模式时,我们应该如何来确认故障点呢? A:不管是什么网络插件,对于我们的故障定位都是基本一样的。 Q4|你们的 Agent 会占用多少资源?有没有侵略性操作? A:通常 1C1G 就可以满足绝大多数场景的流量采集,特殊情况下需要 1C2G 或 2C2G 无依赖、不修改代码、不修改业务配置、不重启业务进程。 Q5|你们所有的指标计算方式是根据什么来的?准确吗? A:准确,可参考 https://deepflow.io/docs/zh/features/universal-map/metrics-and-operators/ Q6|经过 F5 或者其他 NAT 转换后的流量可以在拓扑图上关联出来吗? A:可以通过我们企业版的 […]
Read More随着云原生技术的高速发展,民生银行正在积极推动 IT 基础设施和应用系统的云化运营模式,全面实施云数据中心转型,并提升云化服务能力。通过快速推进核心业务的云原生架构改造,提高了业务的灵活性、可伸缩性和可靠性。然而,从传统网络转变为云原生网络后,由于业务高频迭代、微服务拆分、基础设施虚拟化等因素,传统运维模式所暴露出的低效和盲点问题日益增多,为故障的定界和排障带来了显著瓶颈;由于其分布式和复杂多变的特征,包括大规模的监控数据管理、数据收集和数据分析的复杂性,以及快速增多的日志和指标的处理等,造成传统网络下的流量监控方案将不再适用。 为了解决这个问题,民生银行决定在云原生环境下布局可观测性建设,全面提升业务的数据监控和分析能力,实现应用的可观测性。通过这种方式,民生银行将能够更好地监控和分析业务数据,及早发现和解决潜在问题,提高业务的稳定性和可靠性。 可观测性可以提供实时监控和分析的能力,帮助实现快速排障、性能优化和安全监控,确保应用程序的稳定性和安全性。云原生环境下可观测性能力的重要性和必要性得到了业界的一致认可,2023 年更是入选了 Gartner 发布的企业机构需要探索的十大战略技术趋势之一。在传统环境业务模式下,交换机旁路/分光镜像和流量分析技术可以实现网络及交易监控能力,利用代码插桩可以实现应用监控能力。民生银行结合自身业务特点,在可观测性能力的建设过程中采用了 eBPF 技术,结合创新的流量分析技术,搭建了零侵扰、全栈覆盖的云原生应用可观测性数据平台。利用全景服务拓扑功能,实时监控和分析微服务及基础设施的性能和健康状况;利用全栈分布式追踪功能,快速定位云原生应用和基础设施的性能瓶颈,精细至每一次 API 调用。得益于 eBPF 的技术特点,无需修改任何服务的代码、无需改变任何服务的启动参数、无需重启任何服务进程,极大地简化了可观测性数据平台的落地复杂度。 民生银行的云原生可观测性解决方案,以全栈采集、流量分发、分布式追踪、高性能处理、可编程协议解析、易于维护为目标,实现了面向云原生应用的从宏观到微观,多维度、多级的全景分析能力,再结合行内的自动化平台、自服务平台,为应用部门、系统部门、网络部门等多个部门提供云原生场景下的故障监测、定界定位、操作保障、资源池运营四大运维场景的能力,并对用户实现场景化自服务输出。 全栈采集:基于 eBPF 技术实现的 AutoMetrics 机制,可以自动采集任何应用的 RED(Request、Error、Delay)性能指标,精细至每一次应用调用,覆盖从应用到基础设施的所有软件技术栈;在云原生环境中,AutoTagging 机制自动发现服务、实例、API的属性信息,自动为每个观测数据注入丰富的标签,从而消除数据孤岛,并释放数据的下钻能力。 流量分发:使用 BPF 技术实现云原生环境内部容器 Pod 东西向流量的抓取和监控;通过 Vxlan 或 Erspan 隧道技术,将捕获的流量按需分发至统一的流量汇聚平台,实现对网络监控、交易监控、安全监控等各大运维平台的数据源输出。 分布式追踪:使用 eBPF 技术创新地实现了零插桩的分布式追踪能力,在云原生环境中自动追踪任意微服务、基础设施服务的分布式调用链,快速定位每一次 API 调用的性能瓶颈和故障根因。 高性能处理:Agent 使用 Rust 实现,拥有极致处理性能的同时,保证内存安全;Server 使用 Golang 实现,并重写了 Golang 的 map、pool 基础库,数据查询和内存申请均有近 10 倍的性能提升。 可编程协议解析:目前支持了对 HTTP、HTTPS、Dubbo、gRPC、ProtobufRPC、SOFARPC、MySQL、PostgreSQL、Redis、Kafka、MQTT、DNS 协议的解析,并将保持迭代增加更多的应用协议支持;除此之外,计划基于 Wasm 技术提供可编程接口,让应用开发者可以快速具备对私有协议的解析能力,并可用于构建特定场景的业务分析能力,例如交易分析等。 易于维护:仅由 […]
Read More网络性能监控是一种网络管理技术,旨在实时、准确地监测和分析网络的性能状况。全景性能监控是 DeepFlow 重要功能之一,覆盖了应用、系统、网络的全栈指标、链路、日志数据,动态关联监控节点数据的资源属性、服务属性、业务属性、变更事件,并且通过强大的计算能力可视化展现任意时间段内、任意路径、任意节点上的黄金指标数据,以及云网全景视图下的监控诊断解决方案。网络性能监控的基本原理包括以下方面: 测量:网络性能监控需要定期测量网络的各种性能指标,例如带宽利用率、网络延迟、丢包率、网络吞吐量等。这些指标往往需要从网络设备或服务器中获取,可以使用专业的网络性能监控工具实现。 分析:监控工具可以将测量数据分析并转化为可视化的报告或图表。在此过程中,监控工具可以使用算法和统计技术来进行数据清洗、数据归一化、异常检测等操作,并根据提前设置的阈值进行分析和报警。 监控:网络性能监控工具通常每分钟甚至每秒都会对网络性能进行测试,可以及时检测和报告网络性能的变化和波动,以帮助管理员处理问题。 报警:如果网络性能达到或超过了预设的报警阈值,监控工具会发送警报通知管理员。这些警报通常可以通过电子邮件、短信或移动应用程序进行发送,以便管理员在第一时间能够注意到问题并进行处理。 优化:基于网络性能监控的反馈,管理员可以对网络进行优化和调整。例如,进行带宽分配、网络路径选择、服务质量控制等操作,以提高网络性能和用户体验。 综上所述,网络性能监控的基本原理是测量、分析、监控、报警和优化。网络性能监控工具可以帮助管理员及时了解网络性能的状态和趋势,以便采取改进措施,提高网络的质量和性能。
Read More当服务调用链过长时,可能会对系统的性能和可维护性产生负面影响。DeepFlow全栈链路追踪极大降低了运维人员故障定位压力,通过面向业务的主动运维监测能力,改变了传统运维以故障定位为核心的工作模式,转而采用更为主动的面向业务服务质量的运维模式,智能化的业务访问关系绘制、全栈链路追踪能力,实现了分钟级的故障定位。以下是一些处理长调用链的方法: 拆分服务:考虑将长调用链拆分成多个更小、更独立的服务。拆分后的服务可以更专注于特定的功能,减少了单个服务的复杂性,并允许更好地进行横向扩展和独立维护。 引入异步通信:长调用链可能由于同步调用导致性能瓶颈。考虑采用异步通信方式,例如消息队列或事件驱动的架构,将服务解耦并实现并行处理,从而减少调用链的长度。 使用缓存:适当使用缓存技术可以减少对长调用链的依赖。将常用的数据或计算结果缓存起来,以减少调用链中的请求次数和延迟,提高系统的响应速度。 引入中间件或消息传递系统:考虑使用中间件、消息传递系统或流式处理平台等工具,将复杂的调用链逻辑和处理分离,提供更灵活和可扩展的架构。 优化网络通信:调用链过长可能会导致网络通信延迟增加。通过优化网络通信,例如使用较低延迟的网络协议或优化数据传输方式,可以减少网络通信带来的性能影响。 使用服务网格或API网关:引入服务网格或API网关等技术,可以对调用链进行统一的管理和监控。这些工具可以提供流量控制、负载均衡和故障恢复等功能,从而减少对长调用链的影响。 定期评估和优化:定期评估和优化长调用链,可以识别潜在的性能问题和瓶颈。通过性能调优和架构设计的改进,可以逐步优化长调用链,并提高系统的可伸缩性和可维护性。 总而言之,处理长调用链需要综合考虑服务拆分、异步通信、缓存、网络优化等策略。根据具体情况,选择适当的方法来降低调用链的长度,并提高系统的性能和可维护性。
Read More根因分析是什么意思 根因分析是指通过系统化的方法和工具,追溯问题发生的原因,找出问题的根本原因。它旨在深入挖掘问题的根源,而不仅仅局限于表面的症状或问题的表现。DeepFlow覆盖应用、系统、网络的全栈指标、链路、日志数据,动态关联监控节点数据的资源属性、服务属性、业务属性、变更事件,通过强大的计算能力可视化展现任意时间段内、任意路径、任意节点上的黄金指标数据。 在根因分析中,常常采用因果关系图、鱼骨图(也称为因果图或Ishikawa图)以及5Why分析等工具和技术,帮助辨别问题的多个可能原因,并追溯到最基本的原因。根因分析强调系统性思考和综合分析,以发现导致问题发生的根本驱动力,而不仅仅是处理问题的表面症状。 通过进行根因分析,可以帮助识别和解决问题的根本原因,而不仅是暂时修复问题的症状。这有助于避免问题的再次发生,并采取适当的措施来改进和优化系统、流程或操作,以提高整体的效率和质量。 根因分析在各个领域都有应用,包括软件开发、生产过程、项目管理、客户服务等。它是一个持续改进和问题解决的重要方法,帮助组织识别问题、改进流程,并提高业务的可靠性和可持续性。 根因分析具有以下几个重要的意义: 解决问题的根本原因:通过进行根因分析,可以深入挖掘问题的本质,而不是仅仅处理问题的表面症状。找出问题的根本原因可以避免简单的问题修补,确保问题被完全解决,避免问题的再次发生。 提高问题识别能力:根因分析帮助人们培养问题识别和分析的能力。通过系统性的思考和分析,可以更准确地发现问题的来源,避免遗漏或错误地识别根本原因。 改善和优化流程:通过根因分析,可以发现流程中存在的问题和瓶颈,并提出改进建议。这有助于改善流程,提高效率和质量,减少资源浪费和不必要的成本。 预防性维护:通过根因分析,可以预测和识别潜在的问题,并采取相应的措施进行预防性维护。这有助于避免潜在的故障和事故发生,提高系统和设备的可靠性和可用性。 持续改进:根因分析是持续改进的核心步骤之一。通过不断地进行根因分析,可以持续改善和优化工作流程、产品品质和服务水平。这在竞争激烈的市场中对于组织的发展至关重要。 综上所述,根因分析对于有效解决问题、提高业务效率和质量是至关重要的。它帮助组织思考问题的本质,发现问题的真正根本原因,并提供持续改进的机会。通过根因分析,组织可以提高问题处理能力,减少故障和事故的发生,并持续提升业务的可靠性和竞争力。
Read More云监控支持服务通常提供以下功能和特性: 实时监控和报警:云监控可以实时监测云资源的状态、性能和使用情况,并根据事先设置的阈值和规则触发报警。这有助于及时发现异常,并采取相应的措施进行处理。 数据收集和存储:云监控可以自动收集和存储云资源的监控数据,包括CPU利用率、内存使用情况、网络流量、磁盘IO等指标。这些数据可以用于分析和性能优化,同时也支持历史数据查询和报告生成。 可视化和仪表盘:云监控通常提供直观的可视化界面和仪表盘,用于展示监控数据的图表、指标和趋势。这有助于用户快速了解云资源的运行情况,识别问题和性能瓶颈。 自定义指标和报警规则:云监控通常支持用户自定义监控指标和报警规则。用户可以根据自身业务需求,定义自己关注的指标和阈值,并设置相应的报警规则,以满足特定场景下的监控需求。 可扩展和集成:云监控服务通常具有良好的扩展性和集成性。它可以覆盖多种云服务和资源,包括云服务器、存储服务、数据库、网络等,支持跨多个云平台的监控和管理。 自动化运维:云监控通常与自动化运维工具和服务集成,帮助用户进行自动化的资源管理和故障处理。例如,可通过自动化脚本、策略和规则对资源进行调整和优化,实现自动化的运维操作。 总之,云监控的支持服务主要包括实时监控和报警、数据收集和存储、可视化和仪表盘、自定义指标和报警规则、可扩展和集成以及自动化运维等功能。这些功能可以帮助用户全面监控和管理云资源,提高系统的稳定性和性能,并实现自动化的运维和优化。DeepFlow 5G核心网网络功能服务监控方案帮助5G核心网在基于服务架构中统一采集服务间的网络流量,实现对访问调用的全面性能监控,并提供容器化后的全栈路径跟踪。支持IPv4、IPv6协议环境,紧密结合HTTP v2协议,实现服务间关联依赖监控。
Read More云监控的结构通常包括以下内容: 监控代理(Agent):监控代理是云监控系统的核心组件之一,它负责在目标资源上运行,并收集资源的监控数据。监控代理可以是在目标资源上安装的软件代理,也可以是云平台提供的原生监控代理。它负责收集各种指标数据,如CPU、内存、磁盘、网络等的使用情况,将这些数据传送给监控系统进行后续处理和展示。 数据存储和处理:云监控系统通常有一个专门的数据存储和处理层,用于接收、存储和处理来自监控代理的数据。这个层可以采用实时数据流处理和存储技术,如消息队列、时间序列数据库等,或者使用传统的关系型数据库。在这个层中,数据存储通常具备高可用性和可扩展性,以确保数据的安全性和持久性。 数据分析和计算引擎:云监控系统会对收集到的监控数据进行分析和计算,以生成有用的指标和分析结果。这可能包括计算各种统计指标、生成报告和仪表盘、检测异常和趋势等。数据分析和计算引擎可以是基于规则的脚本、机器学习算法、时间序列分析等多种技术的组合。 可视化界面:云监控系统通常提供用户友好的可视化界面,用于展示监控数据的图表、指标和趋势。这个界面可以通过仪表盘、图表、报表等形式来呈现数据,以帮助用户直观地了解云资源的运行情况和性能。 报警和通知机制:云监控系统通常支持设置报警规则和阈值,以便在监控数据超出预设范围时触发报警。报警机制可以通过多种方式进行通知,如邮件、短信、即时消息、电话等。这有助于及时发现并响应性能问题和故障。 扩展和集成接口:云监控系统通常提供扩展和集成接口,以便与其他系统和工具进行集成。例如,可以与自动化运维工具、日志管理系统、事件管理系统等进行集成,实现自动化的运维流程和全面的问题管理。 以上是云监控结构的一般内容,具体的结构可能因云监控系统的厂商、功能和规模而有所不同。不同的云监控系统可能会有不同的组件和架构设计,以满足不同的需求和场景。DeepFlow 混合云网络监控诊断方案:通过对网络服务的梳理绘制业务网络拓扑,对异常网络流量的分析预测安全事件,帮助用户从虚拟流量数据中挖掘出数字资产的价值。为企业在混合云、云原生等新型IT基础设施环境演进过程中,补齐网络监控空白,应对云原生特点,紧密结合业务,向网络智能运维迈进。
Read More故障根因分析是为了解决系统故障或问题而进行的一系列活动。它的目标是确定问题的根本原因,以便采取适当的纠正措施,避免问题再次发生。DeepFlow平台是基于各种指标来进行对微服务各维度的画像评估。通过对应用中所涉及的几十、上百个微服务运行的历史指标数据进行量化分析,在一个运行周期中,能实时监控业务是否达到99.99%的可用性要求,并分析出潜在影响可用性的各种原因。以下是故障根因分析的一般流程: 背景了解:首先要对故障所在的系统或过程进行背景了解。了解系统的功能、结构、关键组件和相关的操作和流程。这有助于建立对故障的整体上下文理解。 问题描述:明确问题的性质和影响。描述问题的具体表现、出现的频率、时机以及相关的关键参数。这有助于准确定义故障的范围和影响范围。 数据收集:收集与问题相关的各种数据和信息。这可能包括日志记录、报错信息、用户反馈、运行日志、监控数据等。确保收集到足够的数据以支持后续的根因分析。 故障现象重现:如果可能,试图重现故障现象。这有助于更准确地观察和分析故障过程。可以使用类似的环境、操作步骤和参数来模拟故障现象。 根因假设制定:根据收集到的数据和现象观察,制定与故障现象相关的可能的根因假设。假设应该基于逻辑和相关数据,并与问题的性质相匹配。 根因分析:使用不同的分析方法和工具,例如因果分析、5W1H分析法、鱼骨图等,对根因假设进行深入调查。逐步排除不相关或无效的假设,并关注与故障现象最相关的假设。 根因验证:进行实验或测试,验证根因是否真正导致了故障现象。这可以包括测试替代部件、改变参数或操作环境等方法。确保通过验证排除了其他可能的因素。 解决方案确定:基于根因分析的结果,确定适当的解决方案。解决方案应该能够根除根因并修复故障。这可能涉及更改系统配置、修理或更换部件、改进流程等。 实施和监控:将解决方案实施到系统中,并进行必要的监控和评估。跟踪故障的解决情况,监控系统的运行状况,并确保问题没有再次出现。 教训总结:在整个过程结束后,进行教训总结,记录吸取的经验教训和改进措施。这有助于提高故障根因分析的效率和准确性,并避免类似问题的再次发生。 请注意,故障根因分析的具体流程可能会因不同的行业、系统和问题而有所变化。以上是一般的流程概述,可以根据具体情况进行调整和定制。
Read More故障根因分析是一种系统性的方法,用于确定问题发生的原因并找到解决方案。以下是进行故障根因分析的一般步骤: 确认问题:明确问题的性质、影响和目标。了解故障的具体表现、被影响的环节以及问题发生的时间和频率。 数据收集:收集与问题相关的数据和信息。这可能包括日志记录、测量数据、用户反馈、系统配置等。确保收集足够的数据来支持根因分析。 整理数据:将收集的数据整理成易于分析的形式,例如建立表格、图表或流程图。这有助于清晰地展示问题和可能的影响因素。 制定假设:基于已有数据和信息,制定关于根因的假设和可能的解决方案。假设应该是有根据的,并考虑到系统的结构和运行特点。 分析根因:使用不同的分析方法,如因果分析、鱼骨图、5W1H分析法等来深入调查假设的有效性。通过追溯问题发生的过程,逐步排除不相关的因素,最终找到可能的根因。 验证根因:针对可能的根因进行实验或测试,确认其是否与问题发生相关。这可以通过模拟实验、重现故障、数据分析或其他方法进行。 确定解决方案:基于根因分析的结果,制定相应的解决方案。这可能包括纠正行动、系统调整、培训、流程改进等。确保解决方案能够根除根因并防止问题再次发生。 实施和监控:将解决方案实施到系统中,并进行必要的监控和评估。持续跟踪问题的变化和对解决方案的效果进行评估,确保根因已被解决并没有新的问题出现。 在整个过程中,充分的沟通和合作是非常重要的,特别是与相关人员、团队和专家的沟通。通过团队合作和共享信息,寻找故障根因的过程将变得更加有效和准确。DeepFlow提供适用于容器化微服务的可观测性,解决云原生应用诊断难的核心痛点。通过对全局微服务间的通信访问、系统调用、平台环境等数据进行深度分析,提供监控告警、故障定位及风险排查,保障业务在云原生环境中的稳定、高效运行。
Read More要为微服务增加监控指标,可以采取以下步骤: 选择监控工具:选择一个合适的监控工具或平台,以便收集、存储和展示监控指标数据。一些常用的监控工具包括DeepFlow容器化微服务可观测性方案,面向公有云K8s、容器环境。利用eBPF等新技术的零侵入特性实现对网络、系统、应用的全栈黄金指标的采集。对服务调用链以及Service mesh、iptables/ipvs、NAT的逐跳链路追踪,对服务访问的零采样全留存,并结合云资源知识图谱和变更事件数据,搭建立体化的微服务可观测平台。保障云及微服务业务有序可控发展。通常,这些工具都有适配微服务的能力,并提供了各种监控指标的收集和展示功能。 选择监控指标:确定您要监控的关键指标。这可能包括响应时间、请求成功率、请求吞吐量、内存使用率、CPU利用率、数据库连接数等。根据您的微服务架构和具体需求,选择适当的指标来监控和度量。 插入埋点:在微服务的代码中插入合适的埋点,以便收集所选择的监控指标数据。埋点可以放在关键位置,如请求入口、处理逻辑之前/之后、关键方法等。埋点可以使用监控工具提供的API或SDK实现,或者可以通过自定义的日志记录和监控代码。 数据收集和传输:确保监控指标数据能够被收集和传输到监控工具中进行处理和展示。这可以通过与监控工具的集成、配置和参数设置来实现。一些监控工具提供了适用于微服务的代理或代理模式,可以在每个微服务中收集指标数据并将其传递到监控工具。 数据存储和展示:确保监控指标数据能够被存储和展示。监控工具通常提供了数据存储和展示的功能和界面,如仪表盘、报表、图表等。您可以根据需求自定义可视化展示的样式和方式,以便更好地理解和分析监控指标数据。 告警和警报设置:设置告警规则和警报条件,以便在监控指标达到预定阈值或出现异常情况时接收警报通知。这样可以及时发现和应对潜在的问题和故障。 综上所述,要为微服务增加监控指标,您需要选择合适的监控工具,并确定要监控的指标。然后,在微服务代码中插入埋点,确保指标数据能够被收集、传输、存储和展示。最后,配置告警规则和警报设置,以便及时发现和应对问题。
Read More
云杉 世纪
2024年1月29日
产品资讯