暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

如何做自动化诊断(二)诊断路径

白鳝的洞穴 2020-04-09
1846
传统的自动化诊断工具都是定向的,专门用于处理某个确定的已知问题。但是健康管理所面临的场景大多数是不确定场景。

报警事件首先通过两种方式去关联诊断相关的知识点,第一个是直接关联,对于运维经验来说,比如会关联强关联的诊断知识点,这些知识点是在长期运维工作中积累下来的,被证明有效的诊断路径。另外一些是弱关联的标签。
自动化诊断的起点是强关联的诊断知识点,在使用这些知识点进行诊断的过程中,会自动延伸诊断路径,诊断路径的延伸是从起始知识点输入本次事件相关的数据进行分析后自动产生的,自动延展诊断路径是标准化知识点的必备功能。

在诊断自动延伸的过程中,对于发现存在问题的诊断路径,自动再往前延伸,对于没问题的诊断路径,则自动停止。直到发现了强关联故障原因为止。由于绝大多数问题的故障源存在多个,因此停止诊断的条件是十分复杂的,并不是扫描到某个故障源就可以停止故障路径扫描,必须递归扫描所有的路径才能完成全面的诊断,不过这个阶段目前仍然缺乏有效的算法做到绝对的自动化,在人工辅助下,会有更好的效果,由运维人员来确定后续扫描是否继续进行。
不过面对复杂的场景,我们不是每次都那么幸运,有可能在已知的诊断路径扫描中我们可能会遇到所有强关联的诊断路径都是无效路径。自动化诊断如何处理这种情况呢?这时候标签就要上场了。

从标签关联的知识点我们可以重新出发,去处置更为复杂的问题,通过智能标签我们可能会发现一条新的诊断路径,最终通过新的诊断路径去找到问题。

一切似乎都十分美好,不过我们面临的实际情况可能会十分复杂。标签的关联关系是弱关联关系,因此知识点之间的关联关系十分复杂,会形成一种网状的结构。从一个网状的环境中发现有效诊断路径的计算量以及对基础数据的需求量都十分大,如果我们要在这个网状关系中去做问题发现,可能我们的诊断工具从生产系统中采集数据就会变成一个巨大的问题源。因此我们需要通过一些高级的算法来对分析进行降维。通过构建节点嵌入学习模型,学习网络图的节点特征向量,达到数据降维和特征选择的目的;该流程得到的特征向量为下一阶段的路径预测模型的构建做有效的数据准备。主要任务是利用采集数据集构建网络结构图,基于Biased random walk策略和skip-gram的词向量构建节点嵌入学习模型,经过不断的训练和迭代后保存至指定路径下

构建模型所需要的训练需要大量的数据,而我们的实际生产案例中一般无法获得到足够的由专家标注的数据,因此这种深度学习也受到了很大的限制。受启发于周志华先生的半监督学习理论,我们采取了一种基于少量专家标注数据与通过专家模型算法构建的“状态巡检”产生的问题发现共同作为监督数据,用于模型训练。这样我们就获得了比通过专家诊断点击标注多数百倍的标注数据,让模型训练成为了可能。

对于最后一部分的基于智能标签的自动化诊断,我们也仅仅刚刚处于起步阶段,目前所获得的进展也只是初步的。随着IT健康管理工作的不断深入,我相信这方面出现突破性进展的日子也不会很久了。

最后修改时间:2020-04-10 07:46:48
文章转载自 白鳝的洞穴,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论