设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 创业者 手机 数据
当前位置: 首页 > 服务器 > 安全 > 正文

直击传统运维痛点,京东金融智能运维初探!(2)

发布时间:2021-01-24 09:12 所属栏目:53 来源:网络整理
导读:CPU 使用率(进程、线程)可以通过 proc 虚拟文件系统得到,此处不是本文重点,不展开讨论.不同环境还可以通过不同的特性快速得到这些数据.以 Java 应用为例,我们可以从 JMX 中拿到线程执行的统计情况,大致推算出上述的

CPU 使用率(进程、线程)可以通过 proc 虚拟文件系统得到,此处不是本文重点,不展开讨论.不同环境还可以通过不同的特性快速得到这些数据.以 Java 应用为例,我们可以从 JMX 中拿到线程执行的统计情况,大致推算出上述的比例,如下图所示:

直击传统运维痛点,京东金融智能运维初探!

继续分析上面的例子,假设我们通过分析线程的运行情况得知,运行时间与等待时间为 1:1,此时进程 CPU 的使用率为 20%,那么 CPU 指标能支撑的单机最高 QPS 为 200 * 100% / 20% = 1000,也就是这个方法的单机最高 QPS 为 1000.同理可以推断网络带宽等物理资源的瓶颈点.

一般来说,业务逻辑耗时中,对于计算密集型的应用,CPU 计算耗时的比例比较大,而 IO 密集型的应用反之.

通过以上的数据,我们就可以实时评估系统的容量,如下图:

智能告警

根源告警分析是基于网络拓扑,结合调用链,通过时间相关性、权重、机器学习等算法,将告警进行分类筛选,快速找到告警根源的一种方式.它能从大量的告警中找到问题的根源,因此大大缩短了故障排查及恢复时间.

告警处理步骤

  • 告警过滤(将告警中不重要的告警以及重复告警过滤掉)
  • 生成派生告警(根源关联关系生成各类派生告警)
  • 告警关联(同一个时间窗内,不同类型派生告警是否存在关联)
  • 权重计算(根据预先设置的各类告警的权重,计算成为根源告警的可能性)
  • 生成根源告警(将权重最大的派生告警标记为根源告警)
  • 根源告警合并(若多类告警计算出的根源告警相同,则将其合并)
  • 根据历史告警处理知识库,找到类似根源告警的处理方案,智能地给出解决方案.

直击传统运维痛点,京东金融智能运维初探!

举例来说:

假设多个系统通过 RPC 进行服务调用,调用关系如下:D 系统->C 系统-> B 系统-> A 系统.

当 A 系统查询数据库出现查询超时后,告警会层层往前推进,导致 B、C、D 系统均有 N 个超时告警产生.此时,ROOT 分析可以将告警进行收敛,直接分析出根源告警为 A 系统访问数据库异常,导致 A、B、C、D 多个系统异常.

这样,就避免了处理人员和每个系统开发人员沟通,辅助处理人员快速定位问题根源、提高了平均解决时间(MTTR).如下图所示:

直击传统运维痛点,京东金融智能运维初探!

根源告警调用链关系

直击传统运维痛点,京东金融智能运维初探!

根源告警明细表?

根源告警分析主要分为强关联分析与机器学习两类.

a.强关联数据分析

强关联指的是已知确定的关联关系.如:

  • 应用之间的调用链关系
  • 数据库与应用服务器
  • 网络设备与网络设备、网络设备与应用服务器
  • 宿主机与虚拟机关系等

若在同一个时间窗内,有多个强关联的设备或应用服务器同时告警,则大概率认为告警之间存在关联关系.

在权重算法中,有一个重要的规则,链路上存在连续的告警可能存在关联,越靠后的应用越可能是根源.现在我们根据例子,分别计算各类根源告警.

继续使用上面的例子,D 应用->C 应用->B 应用->A 应用->数据库异常的情况.

  • 首先是计算数据库根源告警.根据数据库关联关系,会派生数据库类型的数据库告警、A 应用告警.还会派生一条应用类型的 A 应用数据库异常告警.根据数据库派生告警以及数据库与应用的关联关系及权重,可以得出数据库异常导致 A 应用查询超时.
  • 接下来是计算应用根源告警.根据调用关系,我们先计算出连续多个应用告警的链路.当前 D->C->B->A 四个应用都有派生告警,满足此规则.
  • 然后,找到最靠后的告警应用,也就是 A 应用.列举时间窗口内所有 A 应用的派生告警(可能存在多种派生告警,根据权重计算根源),将权重最高的派生告警标记为根源告警.比如:A 系统内部有 2 种类型派生告警,分别是数据库告警、GC 告警.

根据权重计算规则,数据库告警为 90,GC 告警 10,也就是说数据库异常告警权重最高.这时由于数据库根源告警和调用链根源告警一致,会将两种类型的告警合并.最后得出结论:数据库异常导致 A、B、C、D 系统告警.

b.机器学习根源分析

强关联数据分析是对已知告警的关联关系,直接进行根源告警分析.但是有些时候,关联关系是未知的.这时就需要通过机器学习算法,找到告警之间的隐含联系,再进行根源告警预测.

目前,主要进行了两类机器学习实践.

1、关联规则算法

关联规则算法主要进行了 Apriori 算法和 FPGrowth 两类算法的实践.这两类功能相似,都可以发现频繁项集.经过实测,FPGrowth 比 Apriori 更高效一些.

我们按一定的时间间隔划分时间窗,计算每个时间窗内,各种告警一起出现的频率,找出各类告警之间的关联.最终可按分析出的关联关系,生成根源告警.

关联规则算法的优点在于理解和实现起来比较简单.缺点是效率比较低,灵活度也不够高.

2、神经网络算法

循环神经网络(简称 RNN)是一个和时间序列有关系的神经网络,对单张图片而言,像素信息是静止的,而对于一段话而言,里面的词的组成是有先后的,而且通常情况下,后续的词和前面的词有顺序关联.

这时候,卷积神经网络通常很难处理这种时序关联信息,而 RNN 却能有效地进行处理.

(编辑:ASP站长网)

网友评论
推荐文章
    热点阅读