本发明涉及计算机技术领域,更具体地说,涉及一种网络端口检测方法、装置、设备及可读存储介质。
背景技术:
当存储设备正常工作时,存储设备中的驱动程序会自动检测当前存储设备中的各个网络端口的状态并记录。其中,驱动程序仅将各个网络端口的状态作为正常的事件进行记录,无法根据各个网络端口的状态变化确定网络端口是否需要维护,因此用户也就无法确定需要维护的网络端口。
当用户想知道各个网络端口的状态时,需要查询存储设备中的事件记录,但由于事件记录众多,查询往往需要耗费大量时间,用户也就无法及时知悉存储设备中的各个网络端口的状态以及状态变化。当终于查询到各个网络端口的状态时,用户需要根据工作经验和专业知识逐一判断各个网络端口是否需要维护,并手动记录需要维护的网络端口,以便后续维护工作的展开。
需要说明的是,本申请文件中的网络端口指的是物理意义上的端口,如adslmodem、集线器、交换机、路由器等用于连接其他网络设备的接口,例如:rj-45端口、sc端口等。
因此,如何使用户及时知悉存储设备中的网络端口的状态变化,为维护工作的开展提供便利条件,是本领域技术人员需要解决的问题。
技术实现要素:
本发明的目的在于提供一种网络端口检测方法、装置、设备及可读存储介质,以使用户及时知悉存储设备中的网络端口的状态变化,为维护工作的开展提供便利条件。
为实现上述目的,本发明实施例提供了如下技术方案:
一种网络端口检测方法,包括:
当存储设备正常运行时,按照预设的检测配置检测所述存储设备中的目标网络端口的当前状态;
判断所述目标网络端口的当前状态与所述目标网络端口的前次检测状态是否一致:
若否,则生成所述目标网络端口的告警信息,并将所述告警信息实时发送至预设的邮箱。
其中,所述按照预设的检测配置检测所述存储设备中的目标网络端口的当前状态,包括:
通过所述检测配置中的ethtool命令和ifconfig命令检测所述目标网络端口的当前状态。
其中,所述将所述告警信息实时发送至预设的邮箱之前,还包括:
将所述告警信息通过gui界面显示。
其中,所述生成所述目标网络端口的告警信息之前,还包括:
将所述目标网络端口的状态变化记录至日志中。
其中,所述按照预设的检测配置检测所述存储设备中的目标网络端口的当前状态之前,还包括:
遍历所述存储设备中的所有网络端口,并创建检测全局表;
基于所述检测全局表确定要检测的目标网络端口。
其中,还包括:
将所述目标网络端口的当前状态记录至所述检测全局表。
一种网络端口检测装置,包括:
检测模块,用于当存储设备正常运行时,按照预设的检测配置检测所述存储设备中的目标网络端口的当前状态;
判断模块,用于判断所述目标网络端口的当前状态与所述目标网络端口的前次检测状态是否一致:
告警模块,用于当所述目标网络端口的当前状态与所述目标网络端口的前次检测状态不一致时,生成所述目标网络端口的告警信息,并将所述告警信息实时发送至预设的邮箱。
其中,所述检测模块具体用于:
通过所述检测配置中的ethtool命令和ifconfig命令检测所述目标网络端口的当前状态。
一种网络端口检测设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现上述任意一项所述的网络端口检测方法的步骤。
一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的网络端口检测方法的步骤。
通过以上方案可知,本发明实施例提供的一种网络端口检测方法,包括:当存储设备正常运行时,按照预设的检测配置检测所述存储设备中的目标网络端口的当前状态;判断所述目标网络端口的当前状态与所述目标网络端口的前次检测状态是否一致:若否,则生成所述目标网络端口的告警信息,并将所述告警信息实时发送至预设的邮箱。
可见,在存储设备正常运行时,按照预设的检测配置检测存储设备中的目标网络端口的当前状态;并判断目标网络端口的当前状态与目标网络端口的前次检测状态是否一致;当二者一致时,则表明目标网络端口可能出现异常,则生成目标网络端口的告警信息;为了使用户及时知悉目标网络端口的状态变化,将告警信息实时发送至预设的邮箱,以供用户查看。如此用户也就无需查询网络端口的状态变化,直接检修目标网络端口即可,从而给维护公开的展开提供了便利条件。同时,用户还可以远端查看邮箱中的网络端口的状态变化信息,为网络端口的检修和维护提供了更好的时效性,为存储设备中的正常业务运行提供了保障。
相应地,本发明实施例提供的一种网络端口检测装置、设备及可读存储介质,也同样具有上述技术效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例公开的一种网络端口检测方法流程图;
图2为本发明实施例公开的一种网络端口检测装置示意图;
图3为本发明实施例公开的一种网络端口检测设备示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种网络端口检测方法、装置、设备及可读存储介质,以使用户及时知悉存储设备中的网络端口的状态变化,为维护工作的开展提供便利条件。
参见图1,本发明实施例提供的一种网络端口检测方法,包括:
s101、当存储设备正常运行时,按照预设的检测配置检测存储设备中的目标网络端口的当前状态;
s102、判断目标网络端口的当前状态与目标网络端口的前次检测状态是否一致:若是,则无操作;若否,则执行s103;
s103、生成目标网络端口的告警信息,并将告警信息实时发送至预设的邮箱。
其中,所述按照预设的检测配置检测所述存储设备中的目标网络端口的当前状态,包括:通过所述检测配置中的ethtool命令和ifconfig命令检测所述目标网络端口的当前状态。
其中,所述将所述告警信息实时发送至预设的邮箱之前,还包括:将所述告警信息通过gui界面显示。
其中,所述生成所述目标网络端口的告警信息之前,还包括:将所述目标网络端口的状态变化记录至日志中。
其中,所述按照预设的检测配置检测所述存储设备中的目标网络端口的当前状态之前,还包括:遍历所述存储设备中的所有网络端口,并创建检测全局表;基于所述检测全局表确定要检测的目标网络端口。
具体的,网络端口顺序记录于检测全局表中,因此可以按照记录顺序确定要检测的网络端口。
其中,还包括:将所述目标网络端口的当前状态记录至所述检测全局表。
可见,本实施例提供了一种网络端口检测方法,在存储设备正常运行时,按照预设的检测配置检测存储设备中的目标网络端口的当前状态;并判断目标网络端口的当前状态与目标网络端口的前次检测状态是否一致;当二者一致时,则表明目标网络端口可能出现异常,则生成目标网络端口的告警信息;为了使用户及时知悉目标网络端口的状态变化,将告警信息实时发送至预设的邮箱,以供用户查看。如此用户也就无需查询网络端口的状态变化,直接检修目标网络端口即可,从而给维护公开的展开提供了便利条件。同时,用户还可以远端查看邮箱中的网络端口的状态变化信息,为网络端口的检修和维护提供了更好的时效性,为存储设备中的正常业务运行提供了保障。
本发明实施例公开了另一种网络端口检测方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。
参见图2,本发明实施例提供的另一种网络端口检测方法,具体为:在存储系统开始运行后,利用预设的相关模块完成各个步骤,包括:端口检测模块,告警配置模块,告警发送模块。
其中,告警配置模块用于提供告警配置功能,用户可以配置不同的检测命令;告警信息发送的email地址;告警信息的生成方式等。若用户配置了告警信息发送的email地址,则需要同时设置email地址的授权码,并进行相关测试。
端口检测模块用于遍历检测存储设备上的所有网络端口,并且保存在检测全局表中,然后按照告警配置模块中的检测命令逐一检测各个网络端口的状态。检测的状态信息至少包括:link状态(yes/no)、duplex(half/full)、ipaddr(ipv4、ipv6)、flags(up、lowerup,running)以及mac地址等。其中,检测全局表由链表实现,每个链表的节点代表一个网络端口,链表可以实现节点的插入、删除和更新,用来增加、删除和修改网络端口;同时还可以记录各个网络端口的实时状态,以便于后续比较。
当检测到当前网络端口的状态时,根据当前状态与上次检测状态的差异确定是否告警,以及告警内容。确定是否告警和告警内容的规则如下:
1、当链表节点中的status为1,但检测到的status为0时,告警内容确定为:端口【dev_name】:link状态发生变化,线缆发生故障。
2、当链表节点中的duplex为0,但检测到的deplex为1时,告警内容确定为:端口【dev_name】:端口由半双工变成全双工。
3、当链表节点中的duplex为1,但检测到的deplex为0时,告警内容确定为:端口【dev_name】:端口由全双工变成半双工。
4、flag:通过位图比较,确定状态变化;当up1->0时,告警内容确定为:端口【dev_name】:由活动(up)变为非活动(down)。
5、当lower_up1->0时,告警内容确定为:端口【dev_name】:线缆被拔出。
6、当running1->0时,告警内容确定为:端口【dev_name】:网口可用状态变为非可用。
7、当网络端口的mac地址发生变化,告警内容确定为:端口【dev_name】mac地址变化。
告警内容生成之后,通知告警发送模块,告警发送模块会根据告警配置模块的配置进行告警发送。发送至存储系统的gui界面或同时发送到用户预设的email地址中。
本实施例适用于能够配置邮箱发送协议和基础os系统的任意设备,实现了告警实时发送,即使用户没有打开系统运行的gui界面也可以远程通过邮箱接受告警信息。
下面对本发明实施例提供的一种网络端口检测装置进行介绍,下文描述的一种网络端口检测装置与上文描述的一种网络端口检测方法可以相互参照。
参见图2,本发明实施例提供的一种网络端口检测装置,包括:
检测模块201,用于当存储设备正常运行时,按照预设的检测配置检测所述存储设备中的目标网络端口的当前状态;
判断模块202,用于判断所述目标网络端口的当前状态与所述目标网络端口的前次检测状态是否一致:
告警模块203,用于当所述目标网络端口的当前状态与所述目标网络端口的前次检测状态不一致时,生成所述目标网络端口的告警信息,并将所述告警信息实时发送至预设的邮箱。
其中,所述检测模块具体用于:
通过所述检测配置中的ethtool命令和ifconfig命令检测所述目标网络端口的当前状态。
其中,还包括:
显示模块,用于将所述告警信息通过gui界面显示。
其中,还包括:
记录模块,用于将所述目标网络端口的状态变化记录至日志中。
其中,还包括:
遍历模块,用于遍历所述存储设备中的所有网络端口,并创建检测全局表;
确定模块,用于基于所述检测全局表确定要检测的目标网络端口。
其中,还包括:
实时记录模块,用于将所述目标网络端口的当前状态记录至所述检测全局表。
可见,本实施例提供了一种网络端口检测装置,包括:检测模块、判断模块以及告警模块。当存储设备正常运行时,首先由检测模块按照预设的检测配置检测所述存储设备中的目标网络端口的当前状态;然后判断模块判断所述目标网络端口的当前状态与所述目标网络端口的前次检测状态是否一致:当所述目标网络端口的当前状态与所述目标网络端口的前次检测状态不一致时,告警模块生成所述目标网络端口的告警信息,并将所述告警信息实时发送至预设的邮箱。如此各个模块之间分工合作,各司其职,能够使用户及时知悉目标网络端口的状态变化,并远端查看相关信息,给维护工作的展开提供了便利条件,也为存储设备中的正常业务运行提供了保障。
下面对本发明实施例提供的一种网络端口检测设备进行介绍,下文描述的一种网络端口检测设备与上文描述的一种网络端口检测方法及装置可以相互参照。
参见图3,本发明实施例提供的一种网络端口检测设备,包括:
存储器301,用于存储计算机程序;
处理器302,用于执行所述计算机程序时实现上述任意实施例所述的网络端口检测方法的步骤。
下面对本发明实施例提供的一种可读存储介质进行介绍,下文描述的一种可读存储介质与上文描述的一种网络端口检测方法、装置及设备可以相互参照。
一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任意实施例所述的网络端口检测方法的步骤。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。