数据驱动银行网络智能运维

网络运行数据,是支撑运维转型的重要资源,也是新模式下替代粗放化的经验主导,实现精细化决策的基础。

作者:江苏银行信息科技部 张为民 王钢 王云峰

本文主要从数据获取、突变感知、场景输出等几方面介绍了江苏银行的网络运维转型实践经验。

数据驱动银行网络智能运维
很长一段时期内,银行的网络工程师重点关注一件事:网络平台的高可用性,即网络节点、模块、链路单点失效时的保护机制。与之配套的运维模式,是典型的劳动密集(人工巡检、评估与变更)与经验驱动(应急处置)。然而,伴随金融科技的快速发展,网络生态已发生了深刻的变化:应用线上化,服务7×24;流量规模与复杂程度同步快速增长;网络增值服务推高网络与应用的耦合度;技术变更频度显著加大。由此带来的直接影响,一是运维需要往下沉,重点由关注网络连通性,扩展至关注网络通信质量(诸如丢包、时延、资源占用等指标的细微变化);二是运维需要提前做,由事中应急与事后补救,逐渐转向预测性维护;三是运维需要换观念,单纯依靠人力提升运维能力的空间越来越窄。

当前的网络运维模式很难适应上述工作要求的变化:人工操作效率严重滞后,本质上也不适合处理海量数据;支撑运维的数据不完整而碎片化,决策主要基于人工经验。因此,网络运维转型势在必行。

数据获取

网络运行数据,是支撑运维转型的重要资源,也是新模式下替代粗放化的经验主导,实现精细化决策的基础。数据匮乏,是人工运维阶段普遍存在的问题。传统的网管平台可以积累很多运行数据,但不便于使用:体系封闭,很难被直接运用于自动化与智能化运维;基于设备/接口之类的孤立视角,缺乏综合处理与整合;来源主要是SNMP和SYSLOG,灵活性不足。受限于性能,网管平台通常并不掌握数据中心所有节点和链路的运行数据。而人工巡检天然受限于人力效率,只能以点代面。更大的问题在于,许多传统网管平台对于异常事件的判断,主要基于静态告警阈值,以及异常日志,局限性非常明显:告警阈值设置过高,低于设定阈值的突变不会被感知;告警阈值设置过低,产生大量虚警,淹没有效告警;网络通信质量问题通常不会在设备中产生异常日志;数据颗粒度不足以反映短促发生的网络通信质量问题。

因此,有必要建立全新的运行数据采集机制,并实现多样化的数据来源。至少应满足以下要求:能够模拟网络工程师的人工检查操作;无论网络设备是否具备可编程接口,均能支持;至少能实现1分钟级别的取数频度;部分关键对象,粒度应能进一步缩小;实现对数据中心所有节点、链路的全覆盖。

基于当前的实践,在江苏银行数据中心一个中等规模网络功能区,24小时内采集的运行数据,可以达到约1000万条的规模,涉及交换机接口流量、丢包数增长、校验错误增长、时延、ARP表项,防火墙会话数,以及F5中各资源池吞吐量、连接数、CPU占用率等指标。后续版本中,我们将持续拓展取数渠道,包括F5的HSL高速日志协议吐数,以及华为CE系列交换机的TELEMETRY主动推数机制,运行数据样本集的质量将可以得到进一步提升。

突变感知

业务大规模线上线后,服务客户的时间与空间前所未有地扩展,应急处置的时效性要求同样今非昔比。从实践来看,相当一部分故障是有症候的,例如:一组骨干链路中的某个光模块出现异常,导致整个区域的进出流量出现一定比例的丢包。日间的小报文短连接交易对此并不敏感,用户无反馈,监控也无告警。拖延到夜间,依赖网络传输大文件的批量作业开始出现大量延误。又如:某应用投产新版本后,客户端缓存机制出现异常,导致F5相关资源池的并发连接数开始大量增加,但当夜并不足以拖累系统性能,直至次日业务高峰时段,影响才彻底显现。

诸如此类事件,从突变产生,到损害爆发,常常留有足够长的时间可供实施预防性处置,关键是能否及时识别出突变。

尝试获得预测性维护能力时,往往会面临缺乏故障样本的麻烦:一年内数据中心网络可供评估的真实故障数量通常是个位数,而网络中可能会发生的故障场景却又难以穷举,很难让系统藉此建立起自动预测故障的能力。所幸我们至少可以积累海量的健康样本数据,一旦某些指标发生明显偏离,一定是哪里出现了问题。

很多运行指标突变,数值未必很高,既不是当日峰值,也未触发静态阈值告警,往往不易察觉。解决这个问题,需要引入新的机制替代僵硬的静态阈值:基于历史数据生成动态基线,用于实时数据同比突变识别;当前采集的实时数据,与上一轮数据,进行环比突变识别。

在目前已投产的版本中,我们提供了工作日与非工作日两组基线数据集,以更好地契合银行业的典型通信场景。而环比识别则有助于感知网络短促抖动。对于新应用上线带来的某类指标的持续突变,也能很好地予以识别。

场景输出

拥有足够多的运行数据,以及有效的突变检测手段后,就可以开始着手做很多事情。最具价值的场景如下。1.自动化巡检。人工巡检工作量大,技术含量低,巡检质量受人为因素制约严重,以点代面,并与工程师个人素养关联,不确定性很大。尽管如此,人工巡检仍然每天必须要做。

日常巡检用到的很多数据并不需要登录设备进行采集,在网管平台中采集相关峰值数据即可用于评估。也就是说,网管平台产生了数据,但不负责给结论。而网管平台的告警都是针对孤立的事件与故障,信息零散,缺乏基于网络整体视角的评估。

前面的内容也谈过,网管平台采集数据高度依赖网络设备的MIB库和SYSLOG,局限性很大,覆盖面上也存在缺陷,导致人工登录网络设备采集实时数据的操作不能完全避免。

但是,耗时耗力的人工巡检并不能解决所有问题。自动化巡检则可以帮助我们实现以下目标:相对于概略式的人工巡检,自动化巡检基于自动采集的海量数据,对整张网络进行更为完整的评估,依据突变级别与数量,自动生成24小时网络运行健康度报告;对于所检测到的突变,自动判断是否存在相关资源消耗的危险增长趋势,供网络团队判断是否需要提前采取预防性措施。

2.故障定位辅助。网络工程师不希望看到的场景之一:数据中心重要区域涌现来历不明的异常流量。此时,工程师可以做的事情通常有:使用NPM类工具对镜像报文进行分析溯源。这是一种比较有效的方法,但成本高昂,不易覆盖全网,如果流量没有波及被镜像接口,则无能为力;登录网络交换机,排查异常流量来源。这种方式依赖工程师的经验与心理素质,并且需要人工拼接获取到的各类零散的信息,网络路径复杂时,效率很低。

如果自动化运维体系已经拥有了丰富的运行样本数据和有效的突变检测手段,那么我们可以获得另一种低成本解决方案:基于全网视角获取高吞吐量链路清单,结合突变数据进行甄别,获取可疑接口相关联的MAC/ARP/IP/APP信息,提供自动化的快速定位辅助。

另一类故障场景:两个主机之间通信质量下降,其间可能有10跳路径或者更多。同样可以在自动化系统中模拟人工操作获取通信路径,标记其中发生了突变的环节,实现快速定位。

再比如,F5LTM的Self IP被非法占用。这类故障症状具备迷惑性,情急之下工程师会立即采取HA切换、重启等常规应急操作但无济于事。不过我们现在可以识别到关键ARP缓存的突变,只需要检索受影响区域内的突变记录,便足以提醒我们可能发生了什么事情,甚至可以通过自动化的MAC来源定位实施快速干预。

因此,从人工巡检等劳动密集型工作中得以解放的网络工程师,可以投入更多的精力去研发场景,这才是更有意义的事情。

3.回溯与预测。网络工程师经常会接到应用团队的求助:“帮我们看看10分钟前网络有没有抖动过?”很遗憾,如果没有被NPM覆盖,我们可能提供不了多少有价值的线索,以证实是否发生过通信质量问题。

但现在数据都是现成的。相对于回溯,预测可能更为重要,也更具难度。

其中,预测资源瓶颈具备重大意义,因而我们也将其纳入自动化巡检,成为其中的一个子场景。人工运维模式下的工程师,不可能在成千上万的性能曲线中注意某个并未成为峰值的指标突变,并结合同比数据,预测其增长到危险临界点的剩余时间。但是自动化系统天然地适合处理这样的任务,从而为带宽提速、设备更新争取到足够的处置时间。这也是我们“将工作提前做”的核心诉求之一。

而预测故障更具挑战性。前文提到过,由于缺乏足够多的真实网络故障样本,很难简单地让系统将某类运行指标的突变,直接与某种故障进行关联,需要模拟工程师的判断逻辑进行自动化评估。这方面还有许多工作需要开展。

江苏银行正在推进的网络运维转型,让工程师们获得全新的技术手段以改进运维质量。更重要的意义在于,今后可以围绕运维中不断涌现的挑战与收获,持续扩展运维体系的自动化与智能化特性,实现数据驱动的精细化运维新模式。

版权声明及安全提醒:本文转自网络平台金融电子化,文章仅代表作者观点,不代表「金融文库」立场。相关版权归原作者所有,「金融文库」仅提供免费交流与学习,相关内容与材料请勿用于商业。我们感谢每一位原创作者的辛苦付出与创作,如本转载内容涉及版权及侵权问题,请及时联系我们客服处理(微信号:JRwenku8),谢谢!

(0)
上一篇 2019年6月22日 下午1:41
下一篇 2019年6月22日 下午3:31

相关推荐