网络设备端口频繁up/down监听告警方法及系统

文档序号:490594 发布日期:2022-01-04 浏览:3次 >En<

阅读说明:本技术 网络设备端口频繁up/down监听告警方法及系统 (Method and system for monitoring and alarming frequent UP/DOWN of network equipment port ) 是由 李朝锋 嵇凌 钟伟 韦国富 曾庆豪 周伟娟 曹艺 于 2021-10-18 设计创作,主要内容包括:本发明属于网络设备运维领域,尤其涉及一种网络设备端口频繁UP/DOWN监听告警方法及系统,建立端口映射表,记录前一次采集到的端口状态,实时判断并生成端口UP/DOWN触发信息;根据端口UP/DOWN触发信息创建和保存端口告警队列容器;获取当前存在的端口历史状态记录,当队列元素个数等于用户预先设置的上下线次数阈值,且队列容器中队列头部元素与尾部元素的时间跨度小于用户预先设置的时间范围阈值时,输出告警信息,本发明引入UP/DOWN触发次数阈值和时间范围阈值,这样避免了漏报,提高了端口告警的准确性,为网络通信提供了良好保证。(The invention belongs to the field of operation and maintenance of network equipment, in particular to a method and a system for monitoring and alarming frequent UP/DOWN of a port of the network equipment, wherein a port mapping table is established, the port state acquired at the previous time is recorded, and the port state is judged and generated in real time to generate port UP/DOWN trigger information; creating and storing a port alarm queue container according to the port UP/DOWN trigger information; the method comprises the steps of obtaining a historical state record of a port which exists currently, and outputting alarm information when the number of queue elements is equal to an UP-line and DOWN-line number threshold preset by a user and the time span of a head element and a tail element of a queue in a queue container is smaller than a time range threshold preset by the user.)

网络设备端口频繁UP/DOWN监听告警方法及系统

技术领域

本发明属于网络设备运维领域,尤其涉及一种网络设备端口频繁UP/DOWN监听告警及系统。

背景技术

随着网络系统规模逐渐扩大,网络中交换机数量越来越多,对交换机集群端口的管理显得尤为重要。端口频繁UP/DOWN是指端口在一定时间内频繁上线、掉线,其问题可能是端口故障、端口松动等原因,需要及时通知相关人员进行排查,避免造成重大事故。

现有网络设备端口UP/DOWN告警时,通常采用静态的时间阈值,例如:若设定10分钟内端口UP/DOWN三次告警,则对所有端口进行UP/DOWN计数,10分钟内超过三次则告警,每10分钟清空一次历史告警状态,该方法忽略清空前和清空后的时间间隔,比如在一小时内的最后一分钟UP/DOWN一次,然后下一个一小时的前一分钟UP/DOWN一次,如此前后两个端口UP/DOWN触发间隔很短,但是如果一个小时清空一次计数器的话,这种情况就不会告警会导致漏报,无法发现出现故障的网络端口而影响网络通信;另,大型网络用户的交换机集群的端口数量众多,而存在故障的端口在于少数,现有技术静态地对全部端口建立历史状态记录,该遍历的方式进行排查,效率较低,同时,系统获取交换机数据需要一定时间,交换机数量达到一定程度时,获取信息的时间会增多,降低了系统实时监听的效率。

发明内容

针对传统方法对交换机集群端口信息获取效率低、端口告警效率低以及告警准确性低的问题,本发明目的在于提供一种实时的、端口告警准确性高的、端口信息获取效率高的网络设备端口频繁UP/DOWN监听告警方法。

实现上述目的的技术方案包括如下内容。

一种网络设备端口频繁UP/DOWN监听告警方法,包括获取端口状态数据,还包括,建立端口映射表,记录前一次采集到的端口状态,实时判断并生成端口UP/DOWN触发信息;根据端口UP/DOWN触发信息创建和保存端口告警队列容器;获取当前存在的端口历史状态记录,当队列元素个数等于用户预先设置的上下线次数阈值,且队列容器中队列头部元素与尾部元素的时间跨度小于用户预先设置的时间范围阈值时,输出告警信息。

进一步,所述告警队列容器用于存储所有端口的告警队列,所述告警队列用于存储端口告警元素,队列为先进先出队列,所述端口告警元素是一个结构体元素,包括端口ID、端口UP/DOWN触发时间。

上述网络设备端口频繁UP/DOWN监听告警方法,相对于现有的静态的时间阈值,引入UP/DOWN触发次数阈值和时间范围阈值,先判断满足了UP/DOWN触发次数阈值,再判断是否满足时间范围阈值,两者都满足才告警然后清除,否则不报警,这样避免了漏报,提高了端口告警的准确性,为网络通信提供了良好保证。

本发明以上述监听告警方法为指导还提供了一种网络设备端口频繁UP/DOWN监听告警系统,包括设备信息采集模块,端口UP/DOWN触发模块,端口告警处理模块,设备信息存储模块,用户配置管理模块,

所述设备信息采集模块,用于采集网络的所有端口的状态信息;

所述端口UP/DOWN触发模块,用于接收设备信息采集模块发送来的端口状态信息,并产生和发送端口的UP/DOWN触发消息;

所述端口告警处理模块,通过指令操作设备信息存储模块,并发出端口告警信号;

所述设备信息存储模块,用于存储所有触发UP/DOWN条件后的端口信息,并通过指令传递完成与端口告警处理模块的交互;

所述用户配置管理模块,用于设置和保存的告警阈值。

进一步,所述设备信息采集模块,用于采集网络的所有端口的状态信息,通过交换机集群数量确定线程池中并行线程的数量,通过SNMP协议获取交换机所有端口的状态信息,一个线程负责监听一台交换机上的所有端口。与现有技术的循环遍历所有的端口信息组合成一个大的消息结构相比,本发明,给每一个交换机建立一个线程,每个线程自己去获取对应交换机的端口信息实现了并行监听,实时效果好,监听时效强,端口信息获取效率高。

进一步,所述端口UP/DOWN触发模块,接收设备信息采集模块发送来的端口状态信息,建立端口映射表,记录前一次端口的状态,实时判断端口是否连续完成了一次上线、一次下线操作,并将UP/DOWN触发信息发送到端口告警处理模块。

进一步,所述端口告警处理模块,接收端口UP/DOWN触发模块发送的端口信息,将信息保存于设备信息存储模块,通过指令操作的方式完成信息交互,并判断设备信息存储模块中的历史信息记录是否满足告警条件。

进一步,所述设备信息存储模块,通过建立队列容器,接收并保存端口告警处理器发送的端口告警队列,接收操作指令完成相应的信息交互功能。

进一步,所述用户配置管理模块,通过数据库建立用户配置表,用于初始化端口告警阈值:包括时间范围阈值、上下线次数阈值,根据时间范围阈值产生告警信息;根据上下线次数阈值确定端口告警队列的长度n,某个告警队列只存放n个对应端口的信息。

附图说明

图1实施例的监听告警系统数据流示意图;

图2实施例中告警队列容器的结构图;

图3实施例中设备信息存储模块运行流程图。

具体实施方式

以下结合实施例对本发明进行详细的说明,所举实例只用于解释本发明,并非用于限定本发明。

参见图1至图3,本发明实施例提供一种网络设备端口频繁UP/DOWN监听告警方法及系统,应用于网络智能运维系统;该方法包括如下步骤:

S1:依据用户预先设置告警阈值创建数据库用户配置表alarm_threshold,如表1所示,包括时间范围阈值、UP/DOWN次数阈值,

表1 alarm_threshold数据表二点各项数据

所述设置告警阈值为:分别执行SQL语句“update alarm_threshold setupDownTime = (用户输入) where ID=1”和“update alarm_threshold set upDownCount= (用户输入) where ID=2”;

S2:在设备信息采集模块创建线程池,根据交换机设备数量初始化线程池,线程池中所有子线程都是并行执行,所述创建线程池为:执行Java语句“ExecutorServicethreadPool = Executors.newFixedThreadPool(交换机设备数量)”;

S3:每个子线程与每一个交换机形成绑定,只负责采集对应的交换机端口数据。获取交换机数据的协议为SNMP,通过交换机厂商提供的数据接口,获取交换机端口数据,交换机数据结构如表2所示。所述获取交换机端口数据为:执行Java代码“List<TableEvent>curAllPortData = snmpOperater.snmpGetTable(表格列oid, 集群, 超时, 重试次数)”;

表2端口状态数据表

S4:端口UP/DOWN触发模块用于接收获取到的端口状态信息,并创建端口映射表,如表3所示,端口初始化时标记为0;

表3端口映射表

S5:当接收到设备信息采集模块发送过来的交换机端口状态信息后,对于某个端口,如果其映射表中的标记为0,则根据如下规则执行:端口处于在线状态时标记置为1,端口处于离线状态时标记置为-1;如果其映射表中的标记不为0,则根据如下规则执行:映射表标记为1,且端口处于离线状态,则发送一次该端口的UP/DOWN触发,标记置为-1;映射表标记为-1,且端口处于在线状态,则映射表标记为1;其余情况不改变映射表;

表4设备信息存储模块操作指令集

S6:端口告警处理模块,用于接收端口UP/DOWN触发模块发送的触发指令,发送操作指令给设备信息存储模块,操作指令集如表4所示。当接收到一个端口UP/DOWN触发之后,按如下规则执行:查找容器中是否存在该端口的告警队列(对应指令checkPort),如果队列容器中没有该端口的告警队列,则初始化一个告警队列(对应指令createQueue),在队列中插入一个头部元素,并将该队列放入队列容器;如果队列容器中存在该端口的告警队列,则在该队列插入一个尾部元素(对应指令insertElement);

S7:设备信息存储模块,用于创建和保存端口告警队列容器,告警队列容器示意图如图2所示,接收端口告警处理模块操作指令,返回对应结果,模块执行流程图如图3所示;

S8:表4所述initContainer,系统启动后设备信息存储模块自动初始化一个队列容器;

S9:表4所述checkPort,通过遍历队列容器,查找是否存在某个端口的队列,传入参数为端口ID,返回参数为是否存在该端口的布尔值;

S10:表4所述createQueue,根据传入参数创建告警队列;

S11:表4所述cleanQueue,根据传入的端口ID,删除对应的告警队列;

S12:表4所述insertElement,根据传入参数找到对应端口队列,在队列尾部插入一个元素;

S13:步骤S12所述元素为一个数据结构体,如表5所示,

表5告警队列中的元素结构

数据名称 数据类型 含义
ID INT 端口ID
upDownTime Data 端口UP/DOWN触发时间

在队列尾部插入一个元素时,按照如下规则执行:如果队列中尾部元素的upDownTime减去队列中头部元素的upDownTime,其时间差小于用户预先设置的时间范围阈值,则返回一个告警判决;否则不返回;

S14:步骤S12所述,在队列尾部插入一个元素,当队列元素个数大于用户预先设置的上下线次数阈值时,应当依照FIFO队列的原则,弹出一个头部元素,并依照S12的执行规则执行;

S15:当端口告警处理模块执行insertElement指令后,接收到设备信息存储模块返回的告警判决,则输出告警,并执行cleanQueue指令,清除该端口的告警队列。

9页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:网络健康状态分析方法、装置、计算机设备和存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类