一种操作系统的监控方法、装置及设备与流程

文档序号:30790701发布日期:2022-07-16 09:56阅读:135来源:国知局
一种操作系统的监控方法、装置及设备与流程

1.本技术涉及计算机技术领域,尤其涉及一种操作系统的监控方法、装置及设备。


背景技术:

2.在linux操作系统中,当客户端与服务器之间发起进行数据传输的请求时,可以调用随机端口与服务器的端口实现通讯。当实现通讯的过程中,由于某些因素无法正常建立通讯时,会导致处于某些状态的连接数量异常。如果运维人员不能及时发现问题,将会影响系统的正常运行。另外,当系统与外部设备建立通讯连接时会占用随机端口,当系统中随机端口的使用率过高时,也会影响系统的正常运行。
3.然而目前的监控方案只是针对网际协议版本ipv4下基于传输控制协议(transmission control protocol,tcp)的系统使用端口的数量以及各状态连接的数量进行监控。随着网际协议版本ipv6地址的推广及部分应用对用户数据报协议(user datagram protocol,udp)下端口的使用,针对使用ipv6地址以及udp协议的系统,目前的监控方法无法实现对其进行监控,导致运维人员不能及时地发现问题,影响系统正常运维。


技术实现要素:

4.有鉴于此,本技术实施例提供了一种操作系统的监控方法、装置及设备,以便更全面地对操作系统进行监控,提高系统运维效率。
5.第一方面,本技术实施例提供了一种操作系统的监控方法,所述方法包括:
6.获取系统进行数据传输所对应的通信信息,所述通信信息包括第一连接数量以及第一随机端口使用数量,所述第一连接数量为进行数据传输所建立的连接的数量,所述第一随机端口使用数量为进行数据传输所使用的随机端口的数量;
7.判断所述第一连接数量以及所述第一随机端口使用数量是否满足预设条件;
8.当所述第一连接数量以及所述第一随机端口使用数量中至少一个不满足所述预设条件时,进行告警。
9.在一种可能的实现方式中,所述判断所述第一连接数量是否满足预设条件,包括:
10.获取所述系统的最大句柄数量;
11.确定所述第一连接数量与所述最大句柄数量之间的第一比值;
12.判断所述第一比值是否小于第一预设阈值。
13.在一种可能的实现方式中,所述判断所述第一随机端口使用数量是否满足预设条件,包括:
14.获取所述系统的网际协议版本,所述网际协议版本包括ipv4或ipv6;
15.基于所述网际协议版本,获取在目标传输协议下所述系统的随机端口总数;
16.基于所述第一随机端口使用数量,获取在所述目标传输协议下的第二随机端口使用数量;
17.基于所述随机端口总数以及所述第二随机端口使用数量,判断所述第二随机端口
使用数量是否满足所述预设条件。
18.在一种可能的实现方式中,所述目标传输协议包括传输控制协议tcp或用户数据报协议udp。
19.在一种可能的实现方式中,所述基于所述随机端口总数以及所述第二随机端口使用数量,判断所述第二随机端口使用数量是否满足所述预设条件,包括:
20.确定所述随机端口总数与所述第二随机端口使用数量之间的第二比值;
21.判断所述第二比值是否小于第二预设阈值。
22.在一种可能的实现方式中,当所述目标传输协议为tcp时,所述方法还包括:
23.获取在tcp下处于目标状态的第二连接数量;
24.当所述第二连接数量大于或等于第三预设阈值时,进行告警。
25.第二方面,本技术实施例提供了一种操作系统的监控装置,所述装置包括:获取模块、判断模块以及告警模块;
26.所述获取模块,用于获取系统进行数据传输所对应的通信信息,所述通信信息包括第一连接数量以及第一随机端口使用数量,所述第一连接数量为进行数据传输所建立的连接的数量,所述第一随机端口使用数量为进行数据传输所使用的随机端口的数量;
27.所述判断模块,用于判断所述第一连接数量以及所述第一随机端口使用数量是否满足预设条件;
28.所述告警模块,用于当所述第一连接数量以及所述第一随机端口使用数量中至少一个不满足所述预设条件时,进行告警。
29.第三方面,本技术实施例提供了一种操作系统的监控设备,所述设备包括:存储器以及处理器;
30.所述存储器用于存储相关的程序代码;
31.所述处理器用于调用所述程序代码,执行上述第一方面任意一种实现方式所述的操作系统的监控方法。
32.第四方面,本技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行上述第一方面任意一种实现方式所述的操作系统的监控方法。
33.第五方面,本技术实施例提供了一种计算机程序产品,所述计算机程序产品包含程序,当所述程序在处理器上运行时,使得计算机或网络设备执行上述第一方面任意一种实现方式所述的操作系统的监控方法。
34.由此可见,本技术实施例具有如下有益效果:
35.相比于目前只能对使用ipv4以及tcp协议的操作系统进行监控的方法,本技术可以全面地对ipv4/ipv6下基于tcp/udp协议的操作系统进行监控。具体实现时,获取系统进行数据传输时所对应的通信信息,该通信信息包括第一连接数量以及第一随机端口使用数量,该第一连接数量为进行数据传输所建立的连接的数量,该第一随机端口使用数量为进行数据传输所使用的随机端口的数量。然后分别判断第一连接数量以及第一随机端口使用数量是否满足预设条件,当第一连接数量以及第一随机端口使用数量中的至少一个不满足预设条件时,系统进行告警,以便运维人员及时发现问题,对系统进行维护。通过本技术实施例所提供的操作系统的监控方法,可以针对ipv4/ipv6下使用tcp/udp协议的操作系统进
行监控,解决了目前无法对ipv6以及udp协议端口使用的监控问题,当监控指标不满足要求时可以进行告警,方便运维人员及时发现问题,提高系统运维效率。
附图说明
36.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见,下面描述中的附图仅仅是本技术中提供的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
37.图1为本技术实施例提供的一种操作系统的监控方法的流程图;
38.图2为本技术实施例提供的另一种操作系统的监控方法的流程图;
39.图3为本技术实施例提供的一种操作系统的监控装置的示意图;
40.图4为本技术实施例提供的一种操作系统的监控设备的示意图。
具体实施方式
41.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整的描述,所描述的实施例仅为本技术示例性的实施方式,并非全部实现方式。本领域技术人员可以结合本技术的实施例,在不进行创造性劳动的情况下,获得其他的实施例,而这些实施例也在本技术的保护范围之内。
42.在linux操作系统中,当客户端与服务器之间发起进行数据传输的请求时,可以调用随机端口与服务器的端口实现通讯。在建立通讯的过程中,由于某些因素无法正常建立通讯时,会导致处于某些状态的连接数量异常。如果运维人员不能及时发现,将会影响系统的正常运行。然而目前的监控方案只是针对ipv4下基于tcp协议的系统使用端口的数量以及各状态连接的数量进行监控。随着ipv6地址的推广及部分应用对udp协议端口的使用,针对使用ipv6地址以及udp协议的系统,目前的监控方法无法实现对其进行监控,导致运维人员不能及时地发现问题,影响系统正常运维。
43.基于此,本技术实施例提供了一种操作系统的监控方法,以便更全面地对操作系统进行监控,提高系统运维效率。具体实现时,获取系统进行数据传输时所对应的通信信息,该通信信息包括连接数量以及第一随机端口使用数量,该第一连接数量为进行数据传输所建立的连接的数量,该第一随机端口使用数量为进行数据传输所使用的随机端口的数量。然后分别判断第一连接数量以及第一随机端口使用数量是否满足预设条件,当第一连接数量以及第一随机端口使用数量中至少一个不满足预设条件时,系统进行告警,以便运维人员及时发现问题,对系统进行维护。通过本技术实施例所提供的操作系统的监控方法,可以针对ipv4/ipv6下使用tcp/udp协议的操作系统进行监控,解决了目前无法对ipv6以及udp协议端口使用的监控问题,当监控指标不满足要求时可以进行告警,方便运维人员及时发现问题,提高系统运维效率。
44.下面将结合附图对本技术实施例所提供的操作系统的监控方法进行说明。
45.参见图1,图1为本技术实施例提供的一种操作系统的监控方法的流程图。
46.该方法主要包括以下步骤:
47.s101:获取系统进行数据传输所对应的通信信息,该通信信息包括第一连接数量以及第一随机端口使用数量,其中,第一连接数量为进行数据传输所建立的连接的数量,第
一随机端口使用数量为进行数据传输所使用的随机端口的数量。
48.在操作系统中,当系统与外部设备之间进行数据传输时,系统需要调用随机端口,与外部设备的端口建立数据传输通道,以便发送和接收数据。其中,随机端口是指tcp、udp等协议通过tcp/ip底层软件从预设随机端口的范围内自动获取的端口,一般提供给客户端/服务器通讯中的客户端,这种端口是临时的,并且仅在使用协议建立通讯联系的周期内有效,随机端口的范围可以预先在配置文件进行配置。
49.其中,tcp协议是一种面向连接的、可靠的、基于字节流的传输层通信协议,所以在进行数据传输时不仅需要调用随机端口,还需要建立与其他设备之间的连接才能实现数据传输。而udp协议是一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务,不需要建立连接即可实现数据传输。
50.由于操作系统的计算资源有限,建立连接的数量超过一定范围,或者随机端口的使用数量过多时,都会影响系统的正常运行,所以需要获取系统建进行数据传输时所对应的通信信息,根据通信信息对系统运行进行监控。当与其他设备进行通信占用的系统资源过多时,可以进行告警,以便运维人员及时发现问题,对系统进行维护,提高系统运维的效率。下面将介绍在获取通信信息之后对系统进行监控的方法。
51.s102:判断第一连接数量以及第一随机端口使用数量是否满足预设条件。
52.s103:当第一连接数量以及第一随机端口使用数量中的至少一个不满足预设条件时,进行告警。
53.当获取系统的通信信息之后,分别对系统的总连接数量以及随机端口的使用数量进行判断,当连接数量以及随机端口使用数量中的至少一个不满足预设条件时,系统就会进行告警。
54.下面将分别针对第一连接数量和第一随机端口使用数量对操作系统的监控方法进行说明。
55.在一种可能的实现方式中,本技术实施例所提供的监控方法可以应用于linux操作系统中,对于linux操作系统而言是有文件句柄限制的,即最大句柄数量。其中,句柄(handle)是用来标识对象或者项目的标识符,可以用来描述窗体、文件等,当系统建立连接时需要占用不同数量的句柄。如果系统使用的句柄超过最大句柄数量,可能会报出“too many open files”的错误,导致系统无法正常运行。此时这里的“files”不单是文件的意思,也包括打开的通讯链接,正在监听的端口等等。所以在对系统进行监控时,需要获取系统所允许的最大句柄数量,判断系统建立的第一连接数量是否影响系统的正常运行。
56.具体实现时,可以计算系统的第一连接数量与最大句柄数量之间的第一比值,表示句柄的使用率,然后将第一比值与第一预设阈值进行比较,判断第一比值是否小于第一预设阈值。如果第一比值小于第一预设阈值,则表明目前系统为正常运行状态,不需要运维人员进行维护。如果第一比值大于或等于第一预设阈值,则表明当前系统建立的第一连接数量影响系统的正常运行,则系统会进行告警提示,表明当前系统无法正常运行。在一种可能的实现方式中,当系统进行告警时,还可以输出显示系统的第一连接数量以及第一比值,以便运维人员可以更清楚地对系统进行维护,提高系统运维的效率。
57.通过计算第一连接数量与最大句柄数量之间的比值对系统进行监控,可以更严格地控制系统资源的使用率,更好地保证系统的正常运行。当对系统的句柄使用率监控没有
那么严格时,还可以直接比较系统的第一连接数量与最大句柄数量的大小,如果第一连接数量小于最大句柄数量,即表示系统可以正常运行;如果第一连接数量大于或等于最大句柄数量,则系统进行告警。同样地,在进行告警时还可以输出第一连接数量以及最大句柄数量,以便运维人员对系统进行维护。
58.由于目前的现有技术仅可以监控ipv4下基于tcp协议的端口使用情况,随着ipv6的推广以及部分应用对udp协议端口的使用,目前的监控方法无法满足需求。本实施例所提供的方法可以实现ipv4/ipv6下基于tcp协议或udp协议的系统监控。
59.由于在操作系统中可能同时使用ipv4和ipv6网际协议版本,需要分别在ipv4和ipv6下对系统进行监控。所以首先需要获取系统的网际协议版本,然后基于系统的网际协议版本类型,获取在目标传输协议下系统的随机端口总数。其中,随机端口总数可以根据在配置文件中设置的随机端口范围进行确定。在本技术实施例中,目标传输协议可以包括:传输控制协议tcp和用户数据报协议udp,也就是,本技术可以实现在tcp协议和udp协议下监控系统的随机端口使用情况。
60.当系统中同时使用tcp协议和udp协议时,第一随机端口使用数量既包括了tcp协议下的随机端口使用数量,也包括了udp协议下的随机端口使用数量,所以需要基于第一端口使用数量,获取在目标传输协议下的第二随机端口使用数量,该目标传输协议可以为tcp协议或udp协议。然后基于随机端口总数以及所获取的第二随机端口使用数量,判断第二随机端口使用数量是否满足预设条件。当系统对随机端口使用情况监控比较严格时,一种可能的实现方式为,计算随机端口总数与第二随机端口使用数量之间的第二比值,即表示随机端口的使用率,判断该第二比值是否小于第二预设阈值。如果第二比值小于第二预设阈值,则表明系统处于正常运行状态,如果第二比值大于或等于第二预设阈值,则进行告警提示。可选地,系统在进行告警时,还可以输出第二比值,方便运维人员根据随机端口的使用率对系统进行运维。当系统对随机端口使用情况监控没有那么严格时,另一种可能的实现方式为,可以比较第二随机端口使用数量与随机端口总数的大小,当第二随机端口使用数量小于随机端口总数时,则表明系统还可以正常运行,不进行告警。当第二随机端口使用数量超过随机端口总数时,进行告警。
61.当系统的目标传输协议为tcp协议时,由于tcp协议是面向连接的传输层通信协议,进行数据传输时需要建立连接。在正常建立连接的过程中,处于每个状态的连接数量为正常数值,例如,listen(监听)状态、syn-sent(同步已发送)状态、syn-rcvd(同步收到)状态等,如果在建立连接的过程中由于某种因素导致连接无法正常建立,停留在某个状态的建立过程,那么处于该状态的连接数量会异常。基于此,本技术实施例还提供一种可能的方式,即获取tcp协议下处于目标状态的第二连接数量,其中,该目标状态不包括established(已建立连接)状态和time-wait(时间等待)状态,因为这两个状态均为正常通信时才会建立的状态。然后将处于该目标状态的第二连接数量与第三预设阈值进行比较,如果第二连接数量小于第三预设阈值,表明处于目标状态的连接数量正常。如果大于第三预设阈值,表明处于目标状态的连接数量异常,进行告警。在告警时,还可以输出第二连接数量,以便运维人员根据目标状态的异常连接对系统进行维护,提高系统运维效率。
62.在一种可能的实现方式中,可以将上述实施例所提供的操作系统的监控方法以编写脚本的方法实现,将脚本部署于系统中,定时调用脚本对系统进行监控。也可以将脚本部
署于第三方系统,不同的操作系统都可以定时调用脚本,实现对自身系统的监控,以便运维人员根据监控结果对系统进行维护。
63.通过本技术实施例提供的操作系统的监控方法,可以针对ipv4/ipv6下使用tcp/udp协议的操作系统进行监控,解决了目前无法对ipv6以及udp协议端口使用的监控问题。当监控指标不满足要求时可以进行告警,方便运维人员及时发现问题,提高系统的运维效率。
64.基于上述方法实施例,本技术实施例还提供一种操作系统的监控方法。参见图2,图2为本技术实施例提供的另一种操作系统的监控方法的流程图。
65.在运行脚本时,可以首先加载预先设置的第一阈值、第二阈值、第三阈值以及第四阈值,其中,第一阈值用于限制句柄使用率,第二阈值用于限制tcp协议下的端口使用率,第三阈值用于限制udp协议下的端口使用率,第四阈值用于限制tcp协议下目标状态的连接数量。
66.在一种可能的实现方式中,可以获取系统的总连接数量以及最大句柄数量,计算连接数量与最大句柄数量的比值,即句柄的使用率,判断该比值是否小于第一阈值,如果否,则进行告警。
67.当系统同时使用ipv4和ipv6时,分别在ipv4和ipv6下对系统进行监控。确定系统所使用的传输协议类型,当传输协议包括tcp协议和udp协议时,需要分别对tcp协议和udp协议下的随机端口使用情况进行监控。具体地,针对tcp协议,获取tcp协议下随机端口总数及端口使用数量,然后计算随机端口总数及端口使用数量的比值,判断该比值是否小于第二阈值,如果否,则进行告警。针对udp协议,获取udp协议下随机端口总数及端口使用数量,然后计算随机端口总数及端口使用数量的比值,判断该比值是否小于第三阈值,如果否,则进行告警。
68.由于tcp协议为面向连接的传输协议,所以还可以针对不同状态的连接数量进行监控。具体地,获取tcp协议下处于目标状态的连接数量,判断该连接数量是否小于第四阈值,如果否,则进行告警。
69.需要说明的是,本技术实施例并不限定对系统中各项指标进行监控判断的先后顺序。
70.基于上述方法实施例,本技术实施例还提供一种操作系统的监控装置,下面将结合附图介绍该装置的工作原理。
71.参见图3,图3为本技术实施例提供的一种操作系统的监控装置的示意图。
72.该装置300包括:获取模块301、判断模块302以及告警模块303;
73.所述获取模块301,用于用于获取系统进行数据传输所对应的通信信息,所述通信信息包括第一连接数量以及第一随机端口使用数量,所述第一连接数量为进行数据传输所建立的连接的数量,所述第一随机端口使用数量为进行数据传输所使用的随机端口的数量;
74.所述判断模块302,用于判断所述第一连接数量以及所述第一随机端口使用数量是否满足预设条件;
75.所述告警模块303,用于当所述第一连接数量以及所述第一随机端口使用数量中至少一个不满足所述预设条件时,进行告警。
76.在一种可能的实现方式中,所述判断模块302,具体用于获取所述系统的最大句柄数量;确定所述第一连接数量与所述最大句柄数量之间的第一比值;判断所述第一比值是否小于第一预设阈值。
77.在一种可能的实现方式中,所述判断模块302,具体用于获取所述系统的网际协议版本,所述网际协议版本包括ipv4或ipv6;基于所述网际协议版本,获取在目标传输协议下所述系统的随机端口总数;基于所述第一随机端口使用数量,获取在所述目标传输协议下的第二随机端口使用数量;基于所述随机端口总数以及所述第二随机端口使用数量,判断所述第二随机端口使用数量是否满足所述预设条件。
78.在一种可能的实现方式中,所述目标传输协议包括传输控制协议tcp或用户数据报协议udp。
79.在一种可能的实现方式中,所述判断模块302,具体用于确定所述随机端口总数与所述第二随机端口使用数量之间的第二比值;判断所述第二比值是否小于第二预设阈值。
80.在一种可能的实现方式中,当所述目标传输协议为tcp时,所述获取模块301,还用于获取在tcp下处于目标状态的第二连接数量;
81.所述告警模块303,还用于当所述第二连接数量大于或等于第三预设阈值时,进行告警。
82.本技术实施例提供的操作系统的监控装置所具有的有益效果参见上述方法实施例,在此不再赘述。
83.基于上述方法实施例和装置实施例,本技术实施例还提供一种操作系统的监控设备。参见图4,为本技术实施例提供的一种操作系统的监控设备的示意图。
84.该设备400包括:存储器401以及处理器402;
85.所述存储器401用于存储相关的程序代码;
86.所述处理器402用于调用所述程序代码,执行上述方法实施例所述的操作系统的监控方法。
87.此外,本技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行上述方法实施例所述的操作系统的监控方法。
88.本技术实施例还提供一种计算机程序产品,所述计算机程序产品包含程序,当所述程序在处理器上运行时,使得计算机或网络设备执行上述方法实施例所述的操作系统的监控方法。
89.需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。尤其,对于系统或装置实施例而言,由于其基本类似于方法实施例,所以描述得比较简单,相关部分参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元或模块可以是或者也可以不是物理上分开的,作为单元或模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络单元上,可以根据实际需要选择其中的部分或者全部单元或模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
90.应当理解,在本技术中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两
个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:只存在a,只存在b以及同时存在a和b三种情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
91.还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
92.结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。
93.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本技术。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1