金融同行交流共识:可观测性建设的目标、场景及成效

科技   2024-11-26 07:35   海南  

编者按

可观测性指的是通过收集系统运行过程中产生的数据,如指标(Metrics)、日志(Logs)和链路追踪(Tracing)信息,来对系统进行全面观测和了解的能力。它类似于给系统安装了一个 “监控仪表盘” 和 “诊断工具包”,让工程师能够实时了解系统内部的运行情况,就像医生通过各种检测手段了解病人的身体状况一样。

随着云原生分布式复杂环境越来越广泛的应用在金融行业, 为了解决云分布式复杂环境中应用程序异常问题定位和调试 ,金融行业开展可观测性建设的工作也在逐步开展。然而在金融行业,因业务系统关系繁杂、基础设施和技术栈相对复杂,可观测性建设更多的处于各自探索的过程。为此,社区邀请了多位技术专家进行线上交流,重点对金融行业可观测性建设进行深入探讨并最终作分类总结。
本文重点总结了针对金融行业可观测性建设的目标、场景及成效的探讨,通过多位技术专家的交流,展现了可观测性在金融行业的应用价值和实践经验。专家们在异常监测、故障分析定位、日常运行巡检等方面的应用场景和成效,为金融行业可观测性建设提供了宝贵的参考。
另一篇总结可点击:金融行业系统可观测性建设思路和难点

主笔专家:

武玉森 中原银行 资深运维开发工程师

其他交流嘉宾:

Steven 某金融企业 架构师

海明 某银行单位 智能化运维工程师

朱海江 某证券单位 运维工程师

李正宁 某银行单位 高级主管

同行交流共识 


由几位专家围绕金融行业可观测性建设的目标、场景及成效进行专业的研判与综合陈述,达到一些共识并综述如下

一、金融行业可观测性建设目标

  • 一体化系统态势平台:
构建基于角色权限的一体化系统态势平台,使各角色人员能快速了解所负责系统或应用的运行状况,在异常时可迅速定位和修复。
  • 提升监控与运维能力:
可观测性建设旨在提升对金融系统的监控能力,加快故障定位速度,从而提高运维效率。
  • 保障业务连续性:
通过实时监测和快速故障定位,确保金融业务系统的稳定运行,避免因系统问题导致业务中断,这是核心目标之一。

二、金融行业可观测性应用场景及成效

  • 异常监测
结合关键指标展示链路健康状态 ,并基于指标设置阈值或AI 算法实现异常监测,用于发现故障。
  • 故障分析定位
以交易链路为基础,结合指标异常检测分析故障范围和推断根因,辅助以可视化和AIOps 技术效果更佳 。
  • 日常运行巡检
结合CMDB 和指标数据监测业务系统日常运行,并以报告形式分析。
  • 容量分析
依据容量类指标数据进行分析和预测,用于容量监测及存储采购依据。
  • 测试环境压测数据比对
参考生产环境性能数据为测试环境提供压测依据,反哺生产环境优化。
  • CMDB 数据准确性校验
利用可观测数据丰富和校验CMDB 数据准确性。
  • 监控覆盖度检测
设置关键指标结合CMDB 数据检测监控覆盖度。
  • 关键业务健康度看板
结合业务拓扑与关键指标,根据阈值展示链路健康状态,可按多维度展示 , 以此展示关键系统、业务和组件健康状态。
  • 流量染色配合灰度发布
利用调用链的tag 标签功能对灰度发布应用进行标记,分析指标决定灰度进度。
  • 配合混沌工程实施故障演练
结合可观测信息展示故障影响及恢复状态。




详细探讨交流实录如下:

(一)金融同业的可观测的建设目标是什么?是否需要做可视化的整合?

Steven:

目标取决于想要什么,我个人观点,可观测目标一定是一个基于角色权限的一体化系统态势平台,每个角色和人员都可以一眼看到自己所管理和维护的系统或应用的运行状况,异常情况下可以快速定位和修复 。可视化是基础,不可见就难以理解,就不具备可观测性。

海明:

我们内部的监控系统也有很多个,有网络监控平台、应用监控平台、链路日志监控平台等,从我们的实践结果看,不一定追求要建成一个统一的平台,但是数据一定要打通,其中,统一流水号、CMDB就是最关键、最基础的数据。比如:

1、交易链路日志要和网络链路日志打通,可以帮助定义网络层的故障。

2、链路日志要和监控系统打通,打通相关性能指标数据,帮助快速观测系统运行情况。

3、交易链路与日志打通,从链路可快速定位到相关的日志。
……

武玉森:

观测数据孤岛问题是个普遍性问题。我们的建设经历,可供参考以下。

1、基于现状和需求的整个体系规划,我们是进行了“工具层”、“支撑层”、“场景层”三层整体规划,基于“一库两中台”去实现各类数据整合(运维数据中台)以及各运维场景的交付。

2、进行数据清洗整合,构建运维数据中台。在另一个问题中我也提到,如下:

(1)制定正确的数据标准,可以参考厂商或同业较好的数据标准实践,然后加入本单位关注的数据元素,形成各观测类据标准,注意数据的目的是为了应用,要把可观测场景充分考虑进去。

(2)高效的数据处理工具:一般借助大数据的flink或spark构建数据清洗、治理的ETL工具,当然前提是根据数据标准进行数据治理,将非标数据标准化。

(3)具备完善的数据服务接口:对于治理后的数据,一般通过kafka或API对外提供。

3、基于需求构建一站式可观测能力。一般是以链路为核心,其他观测数据为辅进行可视化呈现。

(二)如何看待可观测工具/体系的建设,存在哪些难点?

朱海江:

可观测建设难点很多,主要集中在数据的采集上报、数据的整合和应用。首先要实现链路数据的上报,涉及到各类异构系统,如何在不影响系统自身运行的情况下给系统锦上添花一直是努力的方向。同时数据整合也是个难题,链路数据很多很杂,如何能在海量数据中挖掘需要重点关注的数据,最后可观测除了看还有哪些应用场景可以赋能业务,都是需要一起探讨的。

海明:

可观测是趋势,或者是,已经是一些头部企业已经落地的东西了,所以,他的价值毋庸置疑。我可以结合我们的经验谈谈,可观测性建设的价值和难点,希望可以大家共同交流。

从运维的角度说,可观测的最大作用,在于提升监控能力,加快故障定位速度。可以简单理解为是监控的更高阶。这点也是最容易打动老板的。建立了对他的正确认识后,加快建设,加快推广就是一个共识问题了。

这么多年做下来,我觉得最难的,就是拉上研发团队一起搞,这东西单靠一个部门搞不定。

(三)可观测在金融行业有哪些应用场景?

武玉森:

我们主要运用在以下方面:

1、异常监测

基于指标设置不同阈值或基于AI算法实现异常监测,用于故障发现。

2、故障分析定位

基于交易链路,结合指标异常检测实现故障范围分析和故障根因点推断。辅以可视化和AIOps技术,效果更佳。

3、日常运行巡检

主要结合CMDB和指标数据实现业务系统级的日常运行监测,并以运行报告形式进行分析。

4、容量分析

基于容量类的指标数据,实现容量分析和预测,一方面用于容量监测,另一方面可用于来年存储采购依据。

5、测试环境压测数据比对

参考生产环境的性能数据(峰值),为性能测试环境提供压测数据依据,反哺生产环境运行优化。

6、CMDB数据准确性校验

可观测相关数据有很多需要CMDB数据进行丰富以具备可读性,可观测领域的应用有利于CMDB数据准确性的校验,进一步提升CMDB数据准确性。

7、监控覆盖度检测

通过设置关键指标,结合CMDB数据,实现监控覆盖度检测。如设置Mysql的关键指标(连通性、版本、会话数等),理论上Mysql类CI均会有该类指标,如缺失可能存在监控覆盖度问题。

等等……

李正宁:

1、以支付系统和记账系统为核心,生成统一的流水交易号及如企业号码等统一标志信息。基础设施角度:通过Zabbix、Prometheus,掌握操作系统的CPU、MEM、DISK等OS层面信息数据。为了避免Monitor agent 可能对系统带来的任何影响,采用日志的形式记录入账、出账和支付记录,会要求记录每笔交易的执行时间。

2、对于对公和对私的渠道系统; 基础设施的监控同核心系统 渠道系统中通过APM统计交易的TPS、frenqency、amount、设备类型等信息。

3、网络层面主要看流量、安全、漏洞等内容。

朱海江:

以下是我们想做的:

1、关键业务健康度看板

将调用链自动生成的业务拓扑,结合调用量、成功率、响应时间等关键指标。根据自定义阈值展示每条链路的健康状态。也可以结合cmdb等系统,以关键系统、关键业务、关键组件等纬度进行健康展示。

2、故障定位

这应该是调用链最直接的功能,尤其是在复杂业务拓扑下,可以通过调用链指标、z日志等信息快递定位故障部位。

3、容量分析

调用链自带的指标信息结合容量指标,动态展示系统事实容量水位状态,辅助系统动态扩缩容。

4、流量染色配合灰度发布 调用链具有tag标签等功能,可以对灰度发布的应用程序带上灰度标签信息。通过对新版本的性能、功能等指标进行分析,决定灰度进度。

5、配合混沌工程实施故障演练

混沌工程故障注入后结合可观测信息展示故障影响,同时故障回收后可用于观测业务系统恢复状态。

其他应该还有很多……

Steven:

补充下,可观测多用于分布式云原生研发的debug,因此常用场景应该是问题定位和故障处理。当然,一切有助于理解系统运行和内部逻辑的场景都可以。

(四)可观测性在产品能力建设上与调用链、日志、指标有哪些区别?

武玉森:

我觉得可观测能力建设就是把“指标、链路、日志、告警”等数据进行整合,一般是以链路为核心进行可观测能力建设。可以快速查看各系统整体运行情况、系统间调用关系。当出现异常时,可基于异常点进行链路的延展,结合AIOps和可视化去辅助故障根因节点的定位,并能追踪单笔交易异常情况辅助根本原因的判定。可观测能力建设方面走的靠前的,通常一站式观测分析能力更高。信通院发布的《可观测成熟度模型白皮书》也对可观测能力进行了分级定义,可做参考。

李正宁:

可观测性是一个要一整个体系,和一种帮助掌控整体业务和系统全面性的能力,不是一个两个工具能达到的。同时体系的组成需要各个元素、工具做支撑,例如APM、NPM、BPC、log等等内容。这些都是用来做初步数据源的收集。下一步是如何正确有效的使用这些数据,实现局部的可观测性 。再之后才是构建统一监控、分析体系,实现全局的可观测性。每个公司、企业的可观测性需求不一样,甚至每个系统都不一样,需要有个宏观目标,再分别对待。

Steven:

apm等是实现链路跟踪的工具之一,属于应用的外部监控工具。可观测性首先指的是不借助外部工具的情况下应用的可理解性,也就是说,就应用程序本身来说,是否具备可理解性。要实现应用的可理解性,通常也需要借助链路跟踪、应用日志、应用指标等告诉关注应用运行状况和内部处理逻辑的人员,应用运行是否在预期状况下,让相关人员能够理解应用的内部逻辑和运行状况等。需要明确的是,可观测性一定不是一个产品,可以理解其为一种文化,一种习惯。如果有人告诉你可观测性产品,那一定是不懂或故意不懂的人。

(五)可观测性有什么产品能力或场景具有较高收益或使用频率?

说明:可观测性产品能力实际成效并未达到非使用不可的地步,导致建设的能力只能成为领导的指标,生产的诟病,除了可以看到请求链路网络情况,代码内部链路情况,云原生基础设施网络情况,业务流程,模块日志,还有什么能力是具有较高收益或使用频率的吗?

Steven:

可观测性是一种文化、或者说是编程习惯,不是依赖于外力、外部工具。系统或应用是否具备可观测性应该取决于该系统或应用是否能够被人理解。借助外部工具当然也可以理解系统状况,就像中医看病望闻问切,但是最了解自己的还是自己, 系统的可观测性需要通过系统本身展示出来,各个系统可以通过发布接口集成到一体化可观测态势平台,从而形成联动。如果没有可观测的意识,总靠外部工具修补,事倍功半,当然可观测性能够获取的收益就不高。

海明:

我可以结合你说的也谈谈我的理解,首先我比较赞同你的观点,一个东西得有价值,或者能解决痛点,才能快速推广,我们两年前就遭遇过这样的情况,也是没有搞清楚可观测的价值,建设者很着急,想象很美好,用户无所谓,想用就用,不想用就放着。后来我们把全链路和故障定界进行强绑定,把全链路作为一个重要的故障定界分析工具,并且把故障的应急恢复时间作为一个关键的指标进行监测,从上到下逐步建立起使用工具加快故障应急恢复的氛围,从结果看,这一年效果好了很多。

武玉森:

可观测能力建设是一个相对宽泛而重要的概念,涵盖了多个关键方面,其中包含的的

1、异常监测

2、故障分析定位

这两个要素不仅是确保。以上这些异常监测、故障分析定位、日常运行巡检和运行报表都是日常使用业务连续性的关键保障力量,也是进行变更技术验证的重要手段之一,避免潜在的风险和损失,减少系统停机时间,提升整体运行效率 。此外,指标类数据作为运营决策的重要依据 , 在日常运行巡检和运行报表也是至关重要的数据来源非常频繁且收益很高的场景。

有任何问题可点击“阅读原文”到社区原文下留言

觉得本文有用,请转发、点赞或点击“在看”,让更多同行看到


 资料/文章推荐:


欢迎关注社区 “智能化运维”技术主题 ,将会不断更新优质资料、文章。地址:https://www.talkwithtrend.com/Topic/125353

下载 twt 社区客户端 APP


长按识别二维码即可下载

或到应用商店搜索“twt”

长按二维码关注公众号

*本公众号所发布内容仅代表作者观点,不代表社区立场

twt企业IT社区
talkwithtrend.com社区(即twt社区)官方公众号,持续发布优秀社区原创内容。内容深度服务企业内各方向的架构师、运维主管、开发和运维工程师等IT专业岗位人群,让您时刻和国内企业IT同行保持信息同步。
 最新文章