在金融行业,IT系统的稳定性是业务的生命线,随着分布式、微服务架构的普及,系统复杂度剧增,单次交易涉及超数十个服务模块已成常态,依赖个人经验的传统排障模式已难以为继。
擎创科技深知,故障排查的效率正越来越依赖于对海量运维数据的驾驭能力,本文旨在结合擎创科技的一线实践,浅谈一下告警、关联关系等几类核心运维数据在排障中的应用方法、瓶颈,以及如何为上层智能运维打好基础的思路。
在运维排障中,告警数据无疑是最具性价比的起点,它不像日志数据那样海量冗余,也不像指标数据那样需实时监控,而是以事件形式浓缩了故障点的即时快照。
告警的“宽维度”特性体现在其能同时携带多种线索信息:交易码(标识业务流程)、指标项(具体阈值违规)、对象类型(主机、容器、服务等)、对象ID(唯一标识符)和标签(环境、区域、优先级等)。
1.1 告警宽表关键字段的示例
|
字段 |
示例值 |
技术解读 |
|
alarm_id |
ALM-CBS-20240926-003 |
告警唯一标识,用于追踪关联 |
|
timestamp |
2024-09-2614:20:05 UTC |
故障首次发生时间,是分析的时间基准 |
|
alarm_name |
核心转账-大额跨行交易成功率下降 |
描述了影响的系统和业务场景 |
|
object_name |
core-transfer-service |
故障服务及名称 |
|
object_id |
6b7c8f-abcd1 |
故障实例ID |
|
transaction_code |
TXN3001 (大额跨行转账) |
关联业务码,将问题范围缩小到具体交易 |
|
tags |
{"env":"prod", "version":"v3.1.2"} |
环境、版本等关键标签 |
|
其他字段.. |
略 |
略 |
这个宽表的设计关键在于“标签化”和“标准化”,标签JSON允许动态扩展,例如添加“业务线”或“依赖服务”,便于后续关联分析,资深工程师接到上述告警后,会快速形成初步判断:
定界:object_name和transaction_code表明问题出在核心转账服务的大额跨行交易场景,为后续降级预案提供了输入
定位:object_id提供了最直接的排查入口,后续的日志、性能分析都应聚焦于此实例。若tags中的version"v3.1.2" 版本上线时间与告警时间吻合,则“新版本引入缺陷”成为首要根因假设
1.2 告警分层视图
通过告警标签和对象的层级分类,我们也可以构建基于告警层类的故障标签视图便于分析
以一个典型的“核心转账服务”交易成功率下降场景为例
1.3 挑战与瓶颈
告警数据提供了故障响应的切入点,但它主要回答“哪里”出了问题,但当一个大型分布式系统环境中出现了多类告警,仅靠告警本身远远不够,必须依赖更深层次的关联关系数据。
关联关系主要来源于配置管理、云管、链路监控等系统,帮助我们理解系统组件间的连接与交互,从而判断故障传播路径。以下是一个典型的跨领域排障场景,及关系数据示例:
在银行交易支付高峰,Trace数据显示80%的请求在“payment-api”卡住平均5s以上,使用链路路径关联告警分析,从网关入口追踪到API的DB子Span,发现SQL超时是瓶颈,并基于架构关系锁定DB实例的性能故障
2.1 CMDB对象关系:架构级故障传播诊断
CMDB是IT资产和配置的管理库,记录主机、服务、应用间的静态关系,如“服务A依赖数据库B”。
其数据示例(以JSON表示,存储于关系数据库):
{
"node1": {
"id": "host-001",
"type": "host",
"attributes": {"os": "Linux", "region": "us-east"}
},
"node2": {
"id": "service-payment",
"type": "service",
"attributes": {"version": "v1.2"}
},
"edge": {
"from": "host-001",
"to": "service-payment",
"relation": "hosts",
"timestamp": "2023-09-01"
},
"edge2": {
"from": "service-payment",
"to": "db-order-01",
"relation": "depends_on",
}
}
这个示例展示了主机-服务-数据库的层级关系,边属性如“depends_on”表示依赖方向
2.2 微服务链路Trace:动态调用路径追踪
微服务Trace数据(如Jaeger或Zipkin采集)记录请求在服务间的传播,包含Span(子任务)和Trace ID。示例(ProtoBuf简化JSON):
{
"trace_id": "trace-abc123",
"spans": [
{
"span_id": "span-001",
"service": "gateway",
"operation": "handle_request",
"start_time": 1696153800000,
"duration": 5000, // ms
"tags": {"http.method": "POST", "error": true},
"parent_span_id": null
},
{
"span_id": "span-002",
"service": "payment-api",
"operation": "process_order",
"start_time": 1696153801000,
"duration": 4500,
"tags": {"db.query": "SELECT * FROM orders", "error": "timeout"},
"parent_span_id": "span-001"
}
]
}
这个Trace展示了网关到支付API的调用,突出延迟瓶颈
2.3 eBPF采集的链路关系:底层网络与内核级洞察
eBPF是一种内核级探针技术,能无侵入采集进程间、网络包的实时关系。示例数据(eBPF输出CSV):
此表捕捉了Nginx到MySQL的网络交互。
挑战与瓶颈:
数据一致性:CMDB中的“设计态”与运行时“真实态”的配置漂移,会导致分析误判
技术栈覆盖:Trace依赖代码插桩,对遗留系统或C/C++等底层服务存在盲区,导致链路“断链”
关联成本:将告警的pod_name、Trace的service_name和eBPF的IP地址进行实时准确的关联,需要一个强大的统一实体模型和数据平台
随着AI的融入,运维智能体成为排障的“智能助手”,这些智能体基于大语言模型,结合工具链自动化处理告警和关系数据,但Agent无法直接处理海量原始数据,必须依赖一个关键步骤:信息降级
信息降级指将高维、嘈杂的原始数据,通过提炼、聚合、关联,转化为低维、结构化、对LLM推理友好的“故障简报”,其关键技术包括:
摘要化:将大量重复日志收敛为一条摘要,如“在14:20-14:25,Pod core-transfer-svc-abcd1产生10万次对aml-check-service的连接超时错误”
结构化:从非结构化文本中提取关键实体(服务、IP、错误码等)
因果关联构建:将孤立数据点预先连接成因果链,为Agent提供连贯的上下文叙述,而非零散的数据
时序对齐:将不同来源的数据在时间轴上对齐,发现并发异常,如“成功率下跌、版本发布、网络延迟飙升三个事件在1分钟内吻合”
在以上提到的排障场景中,告警宽表(过滤字段及摘要化)+CMDB关系(提取依赖子图)+Trace(聚合延迟Top Span),降级后,上下文从50MB缩减至5KB,这种机制使智能体排障成功率提升的同时,分析开销也大幅降低,不过,信息降级需平衡过度过滤可能丢失根因数据线索。
未来,AIOps核心难题在于让运维数据基础能力有力支撑智能化,如构建与大模型高效对接的运维数据平台,实现标准化消费,建立统一实体模型,关联跨域数据提供实时准确故障上下文,为智能体供稳定提炼的故障信息。

擎创科技,Gartner连续推荐的AIOps领域标杆供应商。公司专注于通过提升企业客户对运维数据的洞见能力,为运维降本增效,充分体现科技运维对业务运营的影响力。
行业龙头客户的共同选择

