可观测性指的是通过收集系统运行过程中产生的数据,如指标(Metrics)、日志(Logs)和链路追踪(Tracing)信息,来对系统进行全面观测和了解的能力。它类似于给系统安装了一个 “监控仪表盘” 和 “诊断工具包”,让工程师能够实时了解系统内部的运行情况,就像医生通过各种检测手段了解病人的身体状况一样。
主笔专家:
武玉森 中原银行 资深运维开发工程师
其他交流嘉宾:
Steven 某金融企业 架构师
海明 某银行单位 智能化运维工程师
朱海江 某证券单位 运维工程师
李正宁 某银行单位 高级主管
由几位专家围绕金融行业可观测性建设的目标、场景及成效进行专业的研判与综合陈述,达到一些共识并综述如下:
一、金融行业可观测性建设目标
一体化系统态势平台:
提升监控与运维能力:
保障业务连续性:
二、金融行业可观测性应用场景及成效
异常监测
故障分析定位
日常运行巡检
容量分析
测试环境压测数据比对
CMDB 数据准确性校验
监控覆盖度检测
关键业务健康度看板
流量染色配合灰度发布
配合混沌工程实施故障演练
详细探讨交流实录如下:
(一)金融同业的可观测的建设目标是什么?是否需要做可视化的整合?
Steven:
目标取决于想要什么,我个人观点,可观测目标一定是一个基于角色权限的一体化系统态势平台,每个角色和人员都可以一眼看到自己所管理和维护的系统或应用的运行状况,异常情况下可以快速定位和修复 。可视化是基础,不可见就难以理解,就不具备可观测性。
海明:
我们内部的监控系统也有很多个,有网络监控平台、应用监控平台、链路日志监控平台等,从我们的实践结果看,不一定追求要建成一个统一的平台,但是数据一定要打通,其中,统一流水号、CMDB就是最关键、最基础的数据。比如:
1、交易链路日志要和网络链路日志打通,可以帮助定义网络层的故障。
2、链路日志要和监控系统打通,打通相关性能指标数据,帮助快速观测系统运行情况。
3、交易链路与日志打通,从链路可快速定位到相关的日志。
……
武玉森:
观测数据孤岛问题是个普遍性问题。我们的建设经历,可供参考以下。
1、基于现状和需求的整个体系规划,我们是进行了“工具层”、“支撑层”、“场景层”三层整体规划,基于“一库两中台”去实现各类数据整合(运维数据中台)以及各运维场景的交付。
2、进行数据清洗整合,构建运维数据中台。在另一个问题中我也提到,如下:
(1)制定正确的数据标准,可以参考厂商或同业较好的数据标准实践,然后加入本单位关注的数据元素,形成各观测类据标准,注意数据的目的是为了应用,要把可观测场景充分考虑进去。
(2)高效的数据处理工具:一般借助大数据的flink或spark构建数据清洗、治理的ETL工具,当然前提是根据数据标准进行数据治理,将非标数据标准化。
(3)具备完善的数据服务接口:对于治理后的数据,一般通过kafka或API对外提供。
(二)如何看待可观测工具/体系的建设,存在哪些难点?
朱海江:
可观测建设难点很多,主要集中在数据的采集上报、数据的整合和应用。首先要实现链路数据的上报,涉及到各类异构系统,如何在不影响系统自身运行的情况下给系统锦上添花一直是努力的方向。同时数据整合也是个难题,链路数据很多很杂,如何能在海量数据中挖掘需要重点关注的数据,最后可观测除了看还有哪些应用场景可以赋能业务,都是需要一起探讨的。
海明:
可观测是趋势,或者是,已经是一些头部企业已经落地的东西了,所以,他的价值毋庸置疑。我可以结合我们的经验谈谈,可观测性建设的价值和难点,希望可以大家共同交流。
从运维的角度说,可观测的最大作用,在于提升监控能力,加快故障定位速度。可以简单理解为是监控的更高阶。这点也是最容易打动老板的。建立了对他的正确认识后,加快建设,加快推广就是一个共识问题了。
(三)可观测在金融行业有哪些应用场景?
武玉森:
我们主要运用在以下方面:
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:
(四)可观测性在产品能力建设上与调用链、日志、指标有哪些区别?
武玉森:
我觉得可观测能力建设就是把“指标、链路、日志、告警”等数据进行整合,一般是以链路为核心进行可观测能力建设。可以快速查看各系统整体运行情况、系统间调用关系。当出现异常时,可基于异常点进行链路的延展,结合AIOps和可视化去辅助故障根因节点的定位,并能追踪单笔交易异常情况辅助根本原因的判定。可观测能力建设方面走的靠前的,通常一站式观测分析能力更高。信通院发布的《可观测成熟度模型白皮书》也对可观测能力进行了分级定义,可做参考。
李正宁:
可观测性是一个要一整个体系,和一种帮助掌控整体业务和系统全面性的能力,不是一个两个工具能达到的。同时体系的组成需要各个元素、工具做支撑,例如APM、NPM、BPC、log等等内容。这些都是用来做初步数据源的收集。下一步是如何正确有效的使用这些数据,实现局部的可观测性 。再之后才是构建统一监控、分析体系,实现全局的可观测性。每个公司、企业的可观测性需求不一样,甚至每个系统都不一样,需要有个宏观目标,再分别对待。
Steven:
(五)可观测性有什么产品能力或场景具有较高收益或使用频率?
说明:可观测性产品能力实际成效并未达到非使用不可的地步,导致建设的能力只能成为领导的指标,生产的诟病,除了可以看到请求链路网络情况,代码内部链路情况,云原生基础设施网络情况,业务流程,模块日志,还有什么能力是具有较高收益或使用频率的吗?
Steven:
可观测性是一种文化、或者说是编程习惯,不是依赖于外力、外部工具。系统或应用是否具备可观测性应该取决于该系统或应用是否能够被人理解。借助外部工具当然也可以理解系统状况,就像中医看病望闻问切,但是最了解自己的还是自己, 系统的可观测性需要通过系统本身展示出来,各个系统可以通过发布接口集成到一体化可观测态势平台,从而形成联动。如果没有可观测的意识,总靠外部工具修补,事倍功半,当然可观测性能够获取的收益就不高。
海明:
我可以结合你说的也谈谈我的理解,首先我比较赞同你的观点,一个东西得有价值,或者能解决痛点,才能快速推广,我们两年前就遭遇过这样的情况,也是没有搞清楚可观测的价值,建设者很着急,想象很美好,用户无所谓,想用就用,不想用就放着。后来我们把全链路和故障定界进行强绑定,把全链路作为一个重要的故障定界分析工具,并且把故障的应急恢复时间作为一个关键的指标进行监测,从上到下逐步建立起使用工具加快故障应急恢复的氛围,从结果看,这一年效果好了很多。
武玉森:
可观测能力建设是一个相对宽泛而重要的概念,涵盖了多个关键方面,其中包含的的
1、异常监测
2、故障分析定位
这两个要素不仅是确保。以上这些异常监测、故障分析定位、日常运行巡检和运行报表都是日常使用业务连续性的关键保障力量,也是进行变更技术验证的重要手段之一,避免潜在的风险和损失,减少系统停机时间,提升整体运行效率 。此外,指标类数据作为运营决策的重要依据 , 在日常运行巡检和运行报表也是至关重要的数据来源非常频繁且收益很高的场景。
有任何问题可点击“阅读原文”到社区原文下留言
觉得本文有用,请转发、点赞或点击“在看”,让更多同行看到
资料/文章推荐:
欢迎关注社区 “智能化运维”技术主题 ,将会不断更新优质资料、文章。地址:https://www.talkwithtrend.com/Topic/125353
长按二维码关注公众号
*本公众号所发布内容仅代表作者观点,不代表社区立场