在很多客户现场都有这样的一个需求:希望通过流水号、订单号等,把一笔业务从头到尾所经过各个系统节点的耗时给展现出来,用于分析哪些节点处理比较慢等问题,来提高用户体验或者优化当前节点性能。
看起来交易的类型繁多,一笔交易分解开的环节庞杂,但拆分交易的每一个环节,发现节点的性能瓶颈,通过BPC其实并不困难,天旦客户成功服务工程师最有心得:能够实现一笔交易的多段关联,最重要的是能够找到相近两个节点的共同字段,三个点以上有类似“全局流水号”字段这种效果最显著。操作上,他们将交易多段关联概括为3步走:解码、配置、追踪。
BPC实现多段关联的配置示例
假如某系统有三个节点(cap点),且这三个节点都存在一个共同字段可以用来关联,那么操作方法如下:
1、cd /opt/bpc/etc/protocol/2g_lm_lz
vi proto.conf
增加以下两行
[normalize]
CnccMesgRefID =CnccMesgRefID
[link_field]
fieldA = CnccMesgRefID
2、cd /opt/bpc/etc/protocol/2g_qz_wz
同理,该节点也增加两行
[normalize]
CnccMesgRefID =CnccMesgRefID
[link_field]
fieldA = CnccMesgRefID
3、cd /opt/bpc/etc/protocol/cncc_2g_rh
同理,该节点也增加两行
[normalize]
CnccMesgRefID =CnccMesgRefID
[link_field]
fieldA= CnccMesgRefID
4、cd /opt/bpc/etc/apps/app7
vi transtrack.xml
<linkField>
<name>fieldA</name>
<dispName>全局流水号</dispName>
</linkField>
<linkField>
<name>fieldB</name>
<dispName>fieldB</dispName>
</linkField>
<linkField>
<name>fieldC</name>
<dispName>fieldC</dispName>
</linkField>
5、配置完成,同步解码器,应用服务路径图,在BPC交易追踪---多层追踪,查看效果。
(BPC多层追踪的效果示意图)
精细化的业务性能管理,从“结果”转向“过程”
无论是一家企业、一种技术领域、或者是一种工作分工,从新兴时期的粗放式管理,到成熟时期的精细化发展,在发展中不断提效、提质是一种必然趋势。数字化转型让市场竞争愈加激烈,企业适应并喜欢这种高速迭代、并且与客户零距离的业务模式。因此,可靠的运维管理在数字化的大潮中也愈加重要。数字化业务对运维工作“不容有失”的要求,让他们无法仅关注业务的成功率等最终指标。毕竟,一旦业务中断,再多的补救都无法挽回损失。后运维时代,我们不能被动等待故障的降临,而要走到故障的前面。精细化的运维管理,让他们将视线从“结果”挪到了“过程”上。理解交易过程里每一个环节的表现,才能提早发现这个交易链中各个环节的性能瓶颈,防微杜渐,提前做到优化。
天旦BPC的多段关联能力,让复杂的交易环节都可以被拆解和分析。这是BPC能够做到精准告警、快速定位故障节点的根本原因,也是实现全链路、端到端性能监控的重要前提。

