AIOps如何解放陷于规则泥潭的用户(二)

前言导读:上一篇文章AIOps如何解放陷于规则泥潭的用户(一)已对IT运维过程中遇到问题进行了解读,让我们了解到了其中的缘由。那么本篇文章,将探讨易被忽视的规则“成本”问题,并将给出相应的解决方案。
在这里插入图片描述
一家企业,总会关注于其自身的销售成本、市场成本、产品开发成本、合规成本和人力成本等。对于IT运维来说同样如此,运维不仅需要承受着24x7的压力,还要确保企业能够避免系统延缓或停机造成的额外成本,以免阻碍业务发展和预定收入的获取。

但是规则的成本呢?许多组织机构都依赖于传统的监控系统,并使用规则机制发现潜在问题,以免最佳性能受阻。或者说这些企业的生死是建立在规则之上的,也因此值得探讨规则的成本问题。

01 成本并非是讨价还价
在这里插入图片描述
规则是一个简单的概念,它明确了固定的预计输入与预计输出。其实在编写第一条规则时,讨价还价问题就不复存在,因为规则只涉及一种情况。随着IT系统性能不断发展,企业需要针对每个选项采用不同的规则,并检查每个规则是否与集合中的其他规则一致。正如系列一文章所说,规则组合的的数量呈指数级增长,满足此要求的计算机目前还没问世。

了解规则的真实成本,需要不断创建、检查和修改规则,而这个过程是永无止境的。与此同时,规则维护还需要具备敏锐的洞察力,并能够了解规则集的交互关系和细微差别。有效维护规则所需的技术知识和操作经验,这是初级运维远不能匹及的,还需资深的运维老兵亲自上阵。

但是,运维专家的严重短缺会使企业陷入双重困境,因为没有切实可行的方法来维护规则。随着模块、分布式应用程序和设备虚拟化数量的增长,规则的数量也急剧增加。因此当规则无法按期工作,或规则直接存在冲突时,系统准确性会大受影响,运维人员也会淹没在无关紧要的告警信息中。为了解决告警效率的问题,运维工程师们经常会退出规则机制,以确定事件发生的根因。

尽管这会使他们积极主动而非消极被动地处理系统问题,但是一些分析师甚至会取消规则,结果可想而知,IT系统的可用性大大降低,停机时间加长,运维成本增加。

02 限制规则会引发风险
在这里插入图片描述
在实际的运维环境中,关闭某些规则的可能性仍然存在,虽然概率不到10%或20%,但是却至关重要。而当SOC(安全运营中心)分析师将严重性过度归根于特定告警时,一些不必要的告警会时常发生。通常,这种属性会被强制编码为规则。虽然从表面上来看,故意避免无关的告警行为很有成效,但是这也使得成本更为繁重。

一些SOC分析师决定在源头处过滤“无关”规则,以便处理关键告警,但是这种策略有一个致命的弱点,即大多数严重的系统中断都不是严重告警造成的。而事实则刚好相反,因为问题通常是严重性较低的事件造成的。监控工具仅显示新问题的提示,如果提示的指示灯关闭,问题将无法检测到。而当事件程度严重时,分析师将永远不会看到问题。因为发现的时候太晚了。

再举一个严重阻碍微服务系统性能的示例。假设Kubernets DNS出错了,使得服务运行中断,这个事件的严重性便会被编码到规则中去。这个规则也许对特定的微服务有意义,但它并不是导致其他微服务性能下降的原因或是后果。自行提升特定事件的严重性,可能会在早期误导SOC响应,二元规则很容易导致走错路径去修复问题。

规则会隐藏其复杂性和成本。刚入门的话,规则会非常有吸引力,看起来也很简单,一些支持者可能会声称规则比AI简单得多。规则看起来具有可预测性,还有什么比非真即假来得更直接呢?事实上,像化学、遗传学和生命科学等科学领域,都是建立在非常简单的物理定律之上的,虽然科学定律的真假可以直接模拟,但是规模却会让复杂度提升许多。

03 AIOps降低规则成本
在这里插入图片描述
当SOC分析师无法检测并修复性能问题时,维护规则造成的混乱现象,会带来潜在的、不可估量的成本。而破除规则困局的方法,便是采用科学的方法——AIOps,即使用人工智能和机器学习来解决规则应该处理却处理不了的问题。

AIOps无需为每种可能的事件组合创建规则,而恰恰相反的是,AIOps系统可以采集企业所有的运维数据,并能够自行通过算法确定哪些事件重要,哪些不重要。不同于基于规则的系统,AIOps可以自我进行学习,而不必提前考虑每个输入和输出。因此,使用AIOps对于确保IT系统性能至关重要。使用AIOps可以去除与规则相关的成本,还能在确保系统性能方面做得更好。

作者:Phil Tee
来源:国外网站
编译:林含飞
编译过程中有所删减