zoukankan      html  css  js  c++  java
  • 基于网络拓扑及告警的故障根因定位系统实现及算法研究——赛题分析

      赛题背景:网络拓扑中一个节点出现故障,往往会导致与其相连的其他节点也发生异常,进而产生大量告警,将真正根因淹没掉。当出现大量告警时,为保证电商业务的稳定运行,我们需要对这些告警进行分析处理,过滤掉无效的告警,准确定位出可能的疑似根因节点,缩短故障定位时间。

      赛题分析:经过我们组的全体讨论,我们任务这个赛题的大致的流程为,拓扑图的构建->告警信息预处理->告警故障定位->局部可视化拓扑展示

      (1)根据后期告警故障定位,需要构建拓扑图,根据json文件的节点关系,我们采用邻接矩阵的形式来描述拓扑图的结构。参考如下:

      

     相关代码:

    import json
    import numpy as np
    
    
    def readJSONFile(path):
        f = open(path, "r")
        return json.load(f)
    
    
    def createNodesMatrix():
        arr = np.zeros((100, 100))
        nodes_json = readJSONFile("data_release/topology/topology_edges_node.json")
        for node in nodes_json:
            for son in nodes_json[node]:
                arr[int(son.split("_")[1])][int(node.split("_")[1])] = 1
        np.savetxt("arr.csv", arr, fmt="%i", delimiter=",")
        return arr
    
    
    if __name__ == '__main__':
        nodes = createNodesMatrix()
    邻接矩阵

      (2)告警信息预处理:

        a.去重处理:在相同报警源,不同时间报的统一告警信息,进行去重处理。

        b.分类处理:将拓扑图中的路径为依据,一条路径代表一个分类,具体参考:http://cdmd.cnki.com.cn/Article/CDMD-10079-2008073368.htm

      (3)告警定位处理:

        运用神经网络的相关知识,对告警信息的训练集进行训练,之后进行定位。

      (4)可视化处理:

        展示根因的局部拓扑图。

        

  • 相关阅读:
    14 Longest Common Prefix
    11. Container With Most Water
    9. Palindrome Number
    8. String to Integer (atoi)
    7. Reverse Integer
    5. Longest Palindromic Substring
    4. Median of Two Sorted Arrays
    tableViewCell中添加webView,cell自适应webView高度,解决死循环的简单办法
    ASIHTTPRequest实现断点下载
    如何在iOS中使用Block
  • 原文地址:https://www.cnblogs.com/huan-ch/p/12805284.html
Copyright © 2011-2022 走看看