CN106533728B - 服务器信息收集方法和装置 - Google Patents
服务器信息收集方法和装置 Download PDFInfo
- Publication number
- CN106533728B CN106533728B CN201510583883.8A CN201510583883A CN106533728B CN 106533728 B CN106533728 B CN 106533728B CN 201510583883 A CN201510583883 A CN 201510583883A CN 106533728 B CN106533728 B CN 106533728B
- Authority
- CN
- China
- Prior art keywords
- server
- destination server
- information
- assets
- local
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/04—Network management architectures or arrangements
- H04L41/044—Network management architectures or arrangements comprising hierarchical management structures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
- H04L69/162—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
Abstract
本申请公开了一种服务器信息收集方法和装置。其中,该方法包括:监控服务器与目标服务器建立连接;监控服务器接收目标服务器通过socket方式传输的目标服务器本地的资产信息和目标服务器的标识信息;监控服务器利用目标服务器的标识信息从配置管理数据库中查询到目标服务器的条目;以及监控服务器将目标服务器本地的资产信息存储到配置管理数据库中目标服务器的条目下。本申请解决了现有技术中服务器信息收集的效率低的技术问题。
Description
技术领域
本申请涉及服务器领域,具体而言,涉及一种服务器信息收集方法和装置。
背景技术
市场上开源的配置管理数据库(Configuration Management Database,简称为CMDB)系统都有服务器资产管理功能,该系统对服务器信息的收集原理通常是通过SSH协议一一与服务器取得联系,再通过执行命令来收集信息,最后入库展示。这种收集方式必须建立在服务器的安全策略允许对CMDB开放SSH端口,如果服务器数量巨大,则需要每个服务器与向CMDB系统开放SSH端口,并与其建立连接,这将大大消耗CMDB系统,从而降低服务器信息收集的效率。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种服务器信息收集方法和装置,以至少解决现有技术中服务器信息收集的效率低的技术问题。
根据本申请实施例的一个方面,提供了一种服务器信息收集方法,包括:监控服务器与目标服务器建立连接;所述监控服务器接收所述目标服务器通过socket方式传输的所述目标服务器本地的资产信息和所述目标服务器的标识信息;所述监控服务器利用所述目标服务器的标识信息从配置管理数据库中查询到所述目标服务器的条目;以及所述监控服务器将所述目标服务器本地的资产信息存储到所述配置管理数据库中所述目标服务器的条目下。
根据本申请实施例的另一方面,还提供了一种服务器信息收集方法,包括:目标服务器与监控服务器建立连接;所述目标服务器通过socket方式向所述监控服务器发送所述目标服务器本地的资产信息和所述目标服务器的标识信息,以使所述监控服务器利用所述目标服务器的标识信息从配置管理数据库中查询到所述目标服务器的条目,所述监控服务器将所述目标服务器本地的资产信息存储到所述配置管理数据库中所述目标服务器的条目下。
根据本申请实施例的另一方面,还提供了一种服务器信息收集装置,包括:连接单元,用于与目标服务器建立连接;接收单元,用于接收所述目标服务器通过socket方式传输的所述目标服务器本地的资产信息和所述目标服务器的标识信息;查询单元,用于利用所述目标服务器的标识信息从配置管理数据库中查询到所述目标服务器的条目;以及存储单元,用于将所述目标服务器本地的资产信息存储到所述配置管理数据库中所述目标服务器的条目下。
根据本申请实施例的另一方面,还提供了一种服务器信息收集装置,所述装置设置在目标服务器上,所述装置包括:连接单元,用于与监控服务器建立连接;发送单元,用于通过socket方式向所述监控服务器发送所述目标服务器本地的资产信息和所述目标服务器的标识信息,以使所述监控服务器利用所述目标服务器的标识信息从配置管理数据库中查询到所述目标服务器的条目,所述监控服务器将所述目标服务器本地的资产信息存储到所述配置管理数据库中所述目标服务器的条目下。
根据本申请实施例,监控服务器通过与目标服务器建立连接,接收目标服务器通过socket方式传输的目标服务器本地的资产信息和目标服务器的标识信息,并利用目标服务器的标识信息从配置管理数据库中查询到目标服务器的条目,以将目标服务器本地的资产信息存储到配置管理数据库中目标服务器的条目下,这样,无需所有的服务器与CMDB系统建立连接,而由监控服务器与目标服务器建立连接,并通过socket方式传输方式进行信息传输,由监控服务器统一收集目标服务器的资产信息,CMDB系统只需接收监控服务器发送过来的信息即可,从而可以释放CMDB系统大部分性能,提高了CMDB系统对服务器信息收集的效率,解决了现有技术中服务器信息收集的效率低的技术问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例1的服务器信息收集方法的流程图;
图2是根据本申请实施例的一种可选的服务器信息收集系统的示意图;
图3是根据本申请实施例2的服务器信息收集方法的流程图;
图4是根据本申请实施例3的服务器信息收集装置的示意图;
图5是根据本申请实施例4的服务器信息收集装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
根据本申请实施例,提供了一种服务器信息收集方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,具体地,可以是由本申请实施例的监控服务器来执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本申请实施例的服务器信息收集方法的流程图,如图1所示,该方法包括如下步骤:
步骤S102,监控服务器与目标服务器建立连接。
步骤S104,监控服务器接收目标服务器通过socket方式传输的目标服务器本地的资产信息和目标服务器的标识信息。其中,socket称作"套接字",用于描述IP地址和端口,是一个通信链的句柄。
步骤S106,监控服务器利用目标服务器的标识信息从配置管理数据库中查询到目标服务器的条目。
步骤S108,监控服务器将目标服务器本地的资产信息存储到配置管理数据库中目标服务器的条目下。
本实施例中,目标服务器可以是多个,通过与监控服务器建立连接,然后将在本地收集的资产信息和标识信息发送给监控服务器。这里的监控服务器与目标服务器的关系可以是例如C/S架构中的服务器和客户机。监控服务器与目标服务器之间数据采用socket方式传输方式。
监控服务器接收到目标服务器的资产信息和标识信息之后,以目标服务器的标识信息为检索词,从CMDB中查询到该目标服务器的条目,然后将该目标服务器的资产信息存储到该条目下,完成对目标服务器的信息收集。这里的资产信息可以是指服务器磁盘大小、磁盘块数、内存大小、CPU等等CMDB的资产表中需求的信息。
如图2所示,其中,目标服务器201均与监控服务器203建立连接,监控服务器203与CMDB系统205连接。其中,配置管理数据库设置在CMDB系统205上。监控服务器完成为目标服务器201的资产信息的收集后,可以将这些信息直接存储到CMDB系统205,也可以对这些信息进行二次处理后,存储到CMDB系统205上。
根据本申请实施例,监控服务器通过与目标服务器建立连接,接收目标服务器通过socket方式传输的目标服务器本地的资产信息和目标服务器的标识信息,并利用目标服务器的标识信息从配置管理数据库中查询到目标服务器的条目,以将目标服务器本地的资产信息存储到配置管理数据库中目标服务器的条目下,这样,无需所有的服务器与CMDB系统建立连接,而由监控服务器与目标服务器建立连接,并通过socket方式传输方式进行信息传输,由监控服务器统一收集目标服务器的资产信息,CMDB系统只需接收监控服务器发送过来的信息即可,从而可以释放CMDB系统大部分性能,提高了CMDB系统对服务器信息收集的效率,解决了现有技术中服务器信息收集的效率低的技术问题。
优选地,目标服务器为多个,监控服务器为每一个目标服务器创建一个子线程,用于对相应的目标服务器的信息进行收集。
本实施例中,在目标服务器为多个的情况下,监控服务器为每一个目标服务器创建一个子线程,每一个目标服务器的信息收集过程均由该子线程来完成,具体地,对于同一个目标服务器,从与目标服务器建立连接开始,到信息存储入库,都是同一个子线程完成的。这样,各个子线程可以并发工作,从而提高监控服务器对目标服务器的信息收集的效率。
优选地,监控服务器在接收到目标服务器发送的信息之后,连接CMDB系统,以目标服务器的标识信息作为数据表检索项,搜寻到对应的资产条目,将服务器信息进行入库存储,进一步地,入库存储可以采用覆盖式存储,也即是,用当前的服务器信息覆盖原有的服务器信息。
优选地,在监控服务器接收目标服务器通过socket方式传输的目标服务器本地的资产信息和目标服务器的标识信息之后,方法还包括:监控服务器从目标服务器本地的资产信息中读取目标服务器本地的剩余资产;监控服务器判断剩余资产是否小于预设阈值;以及在监控服务器判断出剩余资产小于预设阈值时,输出报警提示信息。
剩余资产可以是磁盘剩余空间、内存剩余空间等等信息,其中,每种资产信息对应一个预设阈值。本实施例中,通过从目标服务器的资产信息中读取其剩余资产,并利用预设阈值来判断该剩余资产是否过小,当判断出剩余资产比较小时即小于预设阈值时,输出报警提示信息。
需要说明的是,本申请实施例中还可以对目标服务器的资产信息的使用情况进行判断,如果使用率过高,则也输出报警提示。
以硬盘的剩余量为例,[‘disk_free’:10]代表硬盘使用剩余量是10G,预设阈值是20G,经过判断语句if disk_free<20结果为True,则认为该数据异常,产生报警字段:“磁盘剩余空间10G,低于标准值”,可以调用数据协议传输模块(例如,smtp模块)将此字段作为邮件正文或者短信正文,发送给预设的管理员终端。
实施例2
根据本申请实施例,还提供了一种服务器信息收集方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,具体地,可以是由本申请实施例的目标服务器来执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。如图3所示,该方法包括:
步骤S302,目标服务器与监控服务器建立连接。
步骤S304,目标服务器通过socket方式向监控服务器发送目标服务器本地的资产信息和目标服务器的标识信息,以使监控服务器利用目标服务器的标识信息从配置管理数据库中查询到目标服务器的条目,监控服务器将目标服务器本地的资产信息存储到配置管理数据库中目标服务器的条目下。
本实施例中,目标服务器可以是多个,通过与监控服务器建立连接,然后将在本地收集的资产信息和标识信息发送给监控服务器。这里的监控服务器与目标服务器的关系可以是例如C/S架构中的服务器和客户机。监控服务器与目标服务器之间数据采用socket方式传输方式。
监控服务器接收到目标服务器的资产信息和标识信息之后,以目标服务器的标识信息为检索词,从CMDB中查询到该目标服务器的条目,然后将该目标服务器的资产信息存储到该条目下,完成对目标服务器的信息收集。这里的资产信息可以是指服务器磁盘大小、磁盘块数、内存大小、CPU等等CMDB的资产表中需求的信息。
如图2所示,其中,目标服务器201均与监控服务器203建立连接,监控服务器203与CMDB系统205连接。其中,配置管理数据库设置在CMDB系统205上。监控服务器完成为目标服务器201的资产信息的收集后,可以将这些信息直接存储到CMDB系统205,也可以对这些信息进行二次处理后,存储到CMDB系统205上。
根据本申请实施例,目标服务器通过与监控服务器建立连接,通过socket方式向监控服务器发送目标服务器本地的资产信息和目标服务器的标识信息,以使监控服务器利用目标服务器的标识信息从配置管理数据库中查询到目标服务器的条目,以将目标服务器本地的资产信息存储到配置管理数据库中目标服务器的条目下,这样,无需所有的服务器与CMDB系统建立连接,而由监控服务器与目标服务器建立连接,并通过socket方式传输方式进行信息传输,由监控服务器统一收集目标服务器的资产信息,CMDB系统只需接收监控服务器发送过来的信息即可,从而可以释放CMDB系统大部分性能,提高了CMDB系统对服务器信息收集的效率,解决了现有技术中服务器信息收集的效率低的技术问题。
优选地,在目标服务器通过socket方式传输向监控服务器发送目标服务器本地的资产信息和目标服务器的标识信息之前,方法还包括:目标服务器每隔预设周期收集目标服务器本地的资产信息;将目标服务器本地的资产信息转化为以目标服务器的标识信息作为文件名,可以用.pkl作为后缀的文件,其中,目标服务器通过socket方式传输向监控服务器发送目标服务器本地的资产信息和目标服务器的标识信息包括:目标服务器通过socket方式向监控服务器发送文件。
目标服务器每隔预设周期收集一次其本地的资产信息,然后将收集的信息转化为以目标服务器的标识信息为文件名,可以用.pkl作为后缀的文件,并通过将该文件通过socket方式发送至监控服务器来将目标服务器本地的资产信息发送至监控服务器。
具体地,目标服务器可以运行一些shell命令搜集本地的若干信息,如:服务器ID、SN号、磁盘大小、磁盘块数、内存大小、CPU等等CMDB的资产表中需求的信息,然后运用正则表达式对shell运行收集到的信息进行格式处理,将重点的参数信息进行提取,整理成一个数据字典,提取部分例如mem_totle:2048、mem_use:1024、cpu_agv:1.2等等,提取后整理的数据字典内容如下{‘mem_totle’:2048,‘mem_use’:1024,’cpu_agv’:1.2…………},在得到数据字典后,可以使用编译软件(例如,python开发软件)开发的序列化模块(可用pickle表示),将数据字典转存成ID.pkl(.pkl是pickle模块将内存中的数据字典转存成真实文件的文件扩展名)文件,存在硬盘上等待上传,ID即目标服务器的标识信息。
实施例3
本申请实施例还提供了一种服务器信息收集装置,该装置可以设置在本申请实施例提供的监控服务器上,用于执行本申请实施例1的服务器信息收集方法,本实施例的监控服务器与目标服务器的关系可以是例如C/S架构中的服务器和客户机。如图4所示,该装置包括:连接单元401、接收单元403、查询单元405和存储单元407。
连接单元401用于与目标服务器建立连接。
接收单元403用于接收目标服务器通过socket方式传输的目标服务器本地的资产信息和目标服务器的标识信息。其中,socket称作"套接字",用于描述IP地址和端口,是一个通信链的句柄。
查询单元405用于利用目标服务器的标识信息从配置管理数据库中查询到目标服务器的条目。
存储单元407用于将目标服务器本地的资产信息存储到配置管理数据库中目标服务器的条目下。
本实施例中,连接单元401与目标服务器建立连接,目标服务器可以是多个,接收单元403接收目标服务器发送的资产信息和标识信息。
接收单元403接收到目标服务器的资产信息和标识信息之后,查询单元405以目标服务器的标识信息为检索词,从CMDB中查询到该目标服务器的条目,然后将该目标服务器的资产信息存储到该条目下,完成对目标服务器的信息收集。这里的资产信息可以是指服务器磁盘大小、磁盘块数、内存大小、CPU等等CMDB的资产表中需求的信息。
根据本申请实施例,通过连接单元与目标服务器建立连接,接收单元接收目标服务器通过socket方式传输的目标服务器本地的资产信息和目标服务器的标识信息,查询单元利用目标服务器的标识信息从配置管理数据库中查询到目标服务器的条目,存储单元将目标服务器本地的资产信息存储到配置管理数据库中目标服务器的条目下,这样,无需所有的服务器与CMDB系统建立连接,而由监控服务器与目标服务器建立连接,并通过socket方式传输方式进行信息传输,由监控服务器统一收集目标服务器的资产信息,CMDB系统只需接收监控服务器发送过来的信息即可,从而可以释放CMDB系统大部分性能,提高了CMDB系统对服务器信息收集的效率,解决了现有技术中服务器信息收集的效率低的技术问题。
优选地,目标服务器为多个,装置还包括创建单元,用于为每一个目标服务器创建一个子线程,子线程用于对相应的目标服务器的信息进行收集。
本实施例中,在目标服务器为多个的情况下,创建单元为每一个目标服务器创建一个子线程,每一个目标服务器的信息收集过程均由该子线程来完成,具体地,对于同一个目标服务器,从与目标服务器建立连接开始,到信息存储入库,都是同一个子线程完成的。这样,各个子线程可以并发工作,从而提高监控服务器对目标服务器的信息收集的效率。
优选地,接收单元在接收到目标服务器发送的信息之后,连接CMDB系统,以目标服务器的标识信息作为数据表检索项,搜寻到对应的资产条目,将服务器信息进行入库存储,进一步地,入库存储可以采用覆盖式存储,也即是,用当前的服务器信息覆盖原有的服务器信息。
优选地,装置还包括:读取单元,用于在接收单元接收目标服务器通过socket方式传输的目标服务器本地的资产信息和目标服务器的标识信息之后,从目标服务器本地的资产信息中读取目标服务器本地的剩余资产;判断单元,用于判断剩余资产是否小于预设阈值;以及输出单元,用于在判断单元判断出剩余资产小于预设阈值时,输出报警提示信息。
剩余资产可以是磁盘剩余空间、内存剩余空间等等信息,其中,每种资产信息对应一个预设阈值。本实施例中,通过从目标服务器的资产信息中读取其剩余资产,并利用预设阈值来判断该剩余资产是否过小,当判断出剩余资产比较小时即小于预设阈值时,输出报警提示信息。
需要说明的是,本申请实施例中还可以对目标服务器的资产信息的使用情况进行判断,如果使用率过高,则也输出报警提示。
以硬盘的剩余量为例,[‘disk_free’:10]代表硬盘使用剩余量是10G,预设阈值是20G,经过判断语句if disk_free<20结果为True,则认为该数据异常,产生报警字段:“磁盘剩余空间10G,低于标准值”,可以调用数据协议传输模块(例如,smtp模块)将此字段作为邮件正文或者短信正文,发送给预设的管理员终端。
实施例4
本申请实施例还提供了一种服务器信息收集装置,该装置可以设置在本申请实施例提供的目标服务器上,用于执行本申请实施例2的服务器信息收集方法,本实施例的监控服务器与目标服务器的关系可以是例如C/S架构中的服务器和客户机。如图5所示,该装置包括:连接单元501和发送单元503。
连接单元501用于与监控服务器建立连接。
发送单元503用于通过socket方式向监控服务器发送目标服务器本地的资产信息和目标服务器的标识信息,以使监控服务器利用目标服务器的标识信息从配置管理数据库中查询到目标服务器的条目,监控服务器将目标服务器本地的资产信息存储到配置管理数据库中目标服务器的条目下。
本实施例中,目标服务器可以是多个,各目标服务器上的连接单元与监控服务器建立连接,发送单元将在本地收集的资产信息和标识信息发送给监控服务器。
监控服务器接收到目标服务器的资产信息和标识信息之后,以目标服务器的标识信息为检索词,从CMDB中查询到该目标服务器的条目,然后将该目标服务器的资产信息存储到该条目下,完成对目标服务器的信息收集。这里的资产信息可以是指服务器磁盘大小、磁盘块数、内存大小、CPU等等CMDB的资产表中需求的信息。
如图2所示,其中,目标服务器201均与监控服务器203建立连接,监控服务器203与CMDB系统205连接。其中,配置管理数据库设置在CMDB系统205上。监控服务器完成为目标服务器201的资产信息的收集后,可以将这些信息直接存储到CMDB系统205,也可以对这些信息进行二次处理后,存储到CMDB系统205上。
根据本申请实施例,通过连接单元与监控服务器建立连接,发送单元通过socket方式向监控服务器发送目标服务器本地的资产信息和目标服务器的标识信息,以使监控服务器利用目标服务器的标识信息从配置管理数据库中查询到目标服务器的条目,以将目标服务器本地的资产信息存储到配置管理数据库中目标服务器的条目下,这样,无需所有的服务器与CMDB系统建立连接,而由监控服务器与目标服务器建立连接,并通过socket方式传输方式进行信息传输,由监控服务器统一收集目标服务器的资产信息,CMDB系统只需接收监控服务器发送过来的信息即可,从而可以释放CMDB系统大部分性能,提高了CMDB系统对服务器信息收集的效率,解决了现有技术中服务器信息收集的效率低的技术问题。
优选地,装置还包括:收集单元,用于在目标服务器通过socket方式传输向监控服务器发送目标服务器本地的资产信息和目标服务器的标识信息之前,每隔预设周期收集目标服务器本地的资产信息;转化单元,用于将目标服务器本地的资产信息转化为以目标服务器的标识信息作为文件名,可以用.pkl作为后缀的文件,其中,发送单元用于目标服务器通过socket方式向监控服务器发送文件。
目标服务器每隔预设周期收集一次其本地的资产信息,然后将收集的信息转化为以目标服务器的标识信息为文件名,可以用.pkl作为后缀的文件,并通过将该文件通过socket方式发送至监控服务器来将目标服务器本地的资产信息发送至监控服务器。
具体地,目标服务器可以运行一些shell命令搜集本地的若干信息,如:服务器ID、SN号、磁盘大小、磁盘块数、内存大小、CPU等等CMDB的资产表中需求的信息,然后运用正则表达式对shell运行收集到的信息进行格式处理,将重点的参数信息进行提取,整理成一个数据字典,提取部分例如mem_totle:2048、mem_use:1024、cpu_agv:1.2等等,提取后整理的数据字典内容如下{‘mem_totle’:2048,‘mem_use’:1024,’cpu_agv’:1.2…………},在得到数据字典后,,可以使用编译软件(例如,python开发软件)开发的序列化模块(可用pickle表示),将数据字典转存成ID.pkl(.pkl是pickle模块将内存中的数据字典转存成真实文件的文件扩展名)文件,存在硬盘上等待上传,ID即目标服务器的标识信息。
下面,以C/S架构的中来描述本申请实施例的一种实施方式,其中,socket client端相当于本申请实施例的目标服务器,socket server端相当于本申请实施例的监控服务器。
socket client端包括:探测模块、格式整理模块、序列化模块和上传模块。其中,探测模块相当于上述实施例4中的收集单元,格式整理模块和序列化模块相当于上述实施例4的转化单元,上传模块相当于上述实施例4的发送单元。具体地:
探测模块:每分钟(即预设周期)触发一次探测程序,首先程序主进程调用探测模块(提前部署到client端上的),探测模块可以运行一些shell命令搜集本地的若干信息,如:身份标识、SN号、磁盘大小、磁盘块数、内存大小、CPU等等CMDB的资产表中需求的信息。
格式整理模块可以运用正则表达式对shell运行收集到的信息进行格式处理,将重点的参数信息进行提取,整理成一个数据字典,提取部分例如mem_totle:2048、mem_use:1024、cpu_agv:1.2等等,提取后整理的数据字典内容如下{‘mem_totle’:2048,‘mem_use’:1024,’cpu_agv’:1.2…………}
序列化模块用于得到数据字典后,使用python的pickle模块,将数据字典转存成ID.pkl(.pkl是pickle模块将内存中的数据字典转存成真实文件的文件扩展名)文件,存在硬盘上等待上传,ID即client端的标识信息。
上传模块可以用于与server端的9999端口进行连接,用二进制方式读取.pkl文件,并采用socket方式将上述文件发送至server端。
socket server端包括socket监听模块、解读字典模块、报警模块和更新库模块。其中,socket监听模块相当于本申请实施例3的连接单元、接收单元和创建单元,解读字典模块相当于本申请实施例3的读取单元,报警模块相当于本申请实施例3的输出单元,更新库模块相当于本申请实施例3的存储单元。具体地:
socket监听模块可以用于以一个主进程监听自身的9999端口,接收socketclient端通过socket发来的二进制信息,在接收到连接请求后,创建一个子线程与socketclient端进行连接,并完成余下所有工作:将该文件以socket client的IP地址作为文件名.pkl(.pkl是pickle模块将内存中的数据字典转存成真实文件的文件扩展名)做后缀在本地硬盘存。
解读字典模块可以通过python的pickle模块读取该.pkl文件,得到数据字典,解读字典得到客户端服务器的信息,如:在字典中查找[‘ID’]项,得到服务器的资产ID;通过[‘mem_free’]项得到服务器内存剩余大小,[‘disk_free’]项得到硬盘剩余大小等等等。
报警模块可以将上一步得到的字典内容与预设的标准值进行判断,如果过高或过低,将进一步生成报警信息,调用python的smtp模块进行邮件发送。
例如:[‘disk_free’:10]代表硬盘使用剩余量是10G,预设阈值是20G,经过判断语句if disk_free<20结果为True,则认为该数据异常,产生报警字段:“磁盘剩余空间10G,低于标准值”,调用smtp模块将此字段作为邮件正文或者短信正文,发送给预设的管理员终端。
更新库模块用于连接CMDB系统,以client端的ID做为数据表检索项,搜寻到对应的资产条目,将字典内存储的服务器信息进行覆盖式入库存储。
本申请实施例中,基于socaket传输原理,服务器将自身的信息主动、定时的进行汇总并通过socaket传给CMDB,并兼顾主机资源报警的自动化工具,无须服务器对外开放SSH端口,不仅可以提高收集大批量服务器信息的速度,还可以对数据进行二次加工处理,放入CMDB系统中,无须人工干预。另外,在信息收集的过程中还实现了资源不足的报警需求。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (8)
1.一种服务器信息收集方法,其特征在于,包括:
监控服务器与目标服务器建立连接;
所述监控服务器接收所述目标服务器通过socket方式传输的所述目标服务器本地的资产信息和所述目标服务器的标识信息;
所述监控服务器利用所述目标服务器的标识信息从配置管理数据库中查询到所述目标服务器的条目;以及
所述监控服务器将所述目标服务器本地的资产信息存储到所述配置管理数据库中所述目标服务器的条目下;
其中,在所述监控服务器接收所述目标服务器通过socket方式传输的所述目标服务器本地的资产信息和所述目标服务器的标识信息之后,所述方法还包括:所述监控服务器从所述目标服务器本地的资产信息中读取所述目标服务器本地的剩余资产;所述监控服务器判断所述剩余资产是否小于预设阈值;以及在所述监控服务器判断出所述剩余资产小于所述预设阈值时,输出报警提示信息。
2.根据权利要求1所述的方法,其特征在于,所述目标服务器为多个,所述监控服务器为每一个所述目标服务器创建一个子线程,用于对相应的目标服务器的信息进行收集。
3.一种服务器信息收集方法,其特征在于,包括:
目标服务器与监控服务器建立连接;
所述目标服务器通过socket方式向所述监控服务器发送所述目标服务器本地的资产信息和所述目标服务器的标识信息,以使所述监控服务器利用所述目标服务器的标识信息从配置管理数据库中查询到所述目标服务器的条目;
所述监控服务器将所述目标服务器本地的资产信息存储到所述配置管理数据库中所述目标服务器的条目下;
其中,在所述监控服务器接收所述目标服务器通过socket方式传输的所述目标服务器本地的资产信息和所述目标服务器的标识信息之后,所述方法还包括:所述监控服务器从所述目标服务器本地的资产信息中读取所述目标服务器本地的剩余资产;所述监控服务器判断所述剩余资产是否小于预设阈值;以及在所述监控服务器判断出所述剩余资产小于所述预设阈值时,输出报警提示信息。
4.根据权利要求3所述的方法,其特征在于,在所述目标服务器通过socket方式传输向所述监控服务器发送所述目标服务器本地的资产信息和所述目标服务器的标识信息之前,所述方法还包括:
所述目标服务器每隔预设周期收集所述目标服务器本地的资产信息;
将所述目标服务器本地的资产信息转化为以所述目标服务器的标识信息作为文件名,
其中,所述目标服务器通过socket方式传输向所述监控服务器发送所述目标服务器本地的资产信息和所述目标服务器的标识信息包括:所述目标服务器通过socket方式向所述监控服务器发送所述文件。
5.一种服务器信息收集装置,其特征在于,包括:
连接单元,用于与目标服务器建立连接;
接收单元,用于接收所述目标服务器通过socket方式传输的所述目标服务器本地的资产信息和所述目标服务器的标识信息;
查询单元,用于利用所述目标服务器的标识信息从配置管理数据库中查询到所述目标服务器的条目;以及
存储单元,用于将所述目标服务器本地的资产信息存储到所述配置管理数据库中所述目标服务器的条目下;
其中,所述装置还包括:读取单元,用于在所述接收单元接收所述目标服务器通过socket方式传输的所述目标服务器本地的资产信息和所述目标服务器的标识信息之后,从所述目标服务器本地的资产信息中读取所述目标服务器本地的剩余资产;判断单元,用于判断所述剩余资产是否小于预设阈值;以及输出单元,用于在所述判断单元判断出所述剩余资产小于所述预设阈值时,输出报警提示信息。
6.根据权利要求5所述的装置,其特征在于,所述目标服务器为多个,所述装置还包括创建单元,用于为每一个所述目标服务器创建一个子线程,所述子线程用于对相应的目标服务器的信息进行收集。
7.一种服务器信息收集装置,其特征在于,所述装置设置在目标服务器上,所述装置包括:
连接单元,用于与监控服务器建立连接;
发送单元,用于通过socket方式向所述监控服务器发送所述目标服务器本地的资产信息和所述目标服务器的标识信息,以使所述监控服务器利用所述目标服务器的标识信息从配置管理数据库中查询到所述目标服务器的条目,所述监控服务器将所述目标服务器本地的资产信息存储到所述配置管理数据库中所述目标服务器的条目下;
其中,所述监控服务器还用于:在所述接收单元接收所述目标服务器通过socket方式传输的所述目标服务器本地的资产信息和所述目标服务器的标识信息之后,从所述目标服务器本地的资产信息中读取所述目标服务器本地的剩余资产;判断所述剩余资产是否小于预设阈值;以及在所述判断单元判断出所述剩余资产小于所述预设阈值时,输出报警提示信息。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
收集单元,用于在所述目标服务器通过socket方式传输向所述监控服务器发送所述目标服务器本地的资产信息和所述目标服务器的标识信息之前,每隔预设周期收集所述目标服务器本地的资产信息;
转化单元,用于将所述目标服务器本地的资产信息转化为以所述目标服务器的标识信息作为文件名,
其中,所述发送单元用于所述目标服务器通过socket方式向所述监控服务器发送所述文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510583883.8A CN106533728B (zh) | 2015-09-14 | 2015-09-14 | 服务器信息收集方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510583883.8A CN106533728B (zh) | 2015-09-14 | 2015-09-14 | 服务器信息收集方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106533728A CN106533728A (zh) | 2017-03-22 |
CN106533728B true CN106533728B (zh) | 2019-06-21 |
Family
ID=58348516
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510583883.8A Active CN106533728B (zh) | 2015-09-14 | 2015-09-14 | 服务器信息收集方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106533728B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107171875A (zh) * | 2017-07-25 | 2017-09-15 | 郑州云海信息技术有限公司 | 一种服务器信息获得方法及装置 |
CN108600045A (zh) * | 2018-04-05 | 2018-09-28 | 厦门快商通信息技术有限公司 | 一种服务链路监控方法及装置 |
CN109189505B (zh) * | 2018-07-06 | 2021-11-09 | 武汉斗鱼网络科技有限公司 | 一种减少对象序列化占用存储空间的方法及系统 |
CN110532248B (zh) * | 2019-09-02 | 2022-12-20 | 北京首汽智行科技有限公司 | 一种基于cmdb的服务器应用信息获取及调整方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN201303344Y (zh) * | 2008-11-03 | 2009-09-02 | 东华大学 | 基于多网域数据采集中心的itsm配置信息采集装置 |
JP5487864B2 (ja) * | 2009-09-30 | 2014-05-14 | 富士通株式会社 | データ収集装置、データ収集方法およびデータ収集プログラム |
CN101729567A (zh) * | 2009-12-14 | 2010-06-09 | 北京神州泰岳软件股份有限公司 | 基于Socket协议的Web告警监控系统及方法 |
CN102123042B (zh) * | 2010-12-30 | 2013-05-15 | 中国民航信息网络股份有限公司 | 系统配置智能管理系统及其管理方法 |
-
2015
- 2015-09-14 CN CN201510583883.8A patent/CN106533728B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN106533728A (zh) | 2017-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106533728B (zh) | 服务器信息收集方法和装置 | |
CN109271793A (zh) | 物联网云平台设备类别识别方法及系统 | |
CN109768623A (zh) | 电力系统的监控方法、装置、计算机设备和存储介质 | |
CN103905482B (zh) | 推送信息的方法、推送服务器和系统 | |
CN111757378B (zh) | 一种无线网络中设备识别方法及装置 | |
CN110287247A (zh) | 基于银联系统的数据存储方法、装置、设备及存储介质 | |
CN110096635A (zh) | 一种中西医药品信息的查询可视化显示方法及装置 | |
CN106713351B (zh) | 一种基于串口服务器的安全通讯方法及装置 | |
CN106992940A (zh) | 报文处理方法、装置、系统及终端 | |
CN109302340A (zh) | 一种埋点数据上报方法、装置及计算机可读存储介质 | |
CN109213742A (zh) | 日志采集方法及装置 | |
CN111859127A (zh) | 消费数据的订阅方法、装置及存储介质 | |
CN107968798A (zh) | 一种网管资源标签获取方法、缓存同步方法、装置及系统 | |
CN111930653B (zh) | 一种usb设备的远程分配使用方法及装置 | |
CN101286903B (zh) | 一种网络审计领域提高会话完整性的方法 | |
CN107220262A (zh) | 信息处理方法和装置 | |
CN114143385B (zh) | 一种网络流量数据的识别方法、装置、设备和介质 | |
CN112989315B (zh) | 物联网终端的指纹生成方法、装置、设备和可读存储介质 | |
CN107678293A (zh) | 一种智能家居用健康管理信息数据推送管理方法 | |
CN109585013A (zh) | 一种分布式医学诊断分析方法及系统 | |
CN110445800B (zh) | 一种基于自学习的深度报文解析系统 | |
CN115080771A (zh) | 基于人工智能的数据处理方法及装置、介质、网关设备 | |
CN107295087B (zh) | 一种实现网系间数据聚合的系统及方法 | |
CN201181950Y (zh) | 一种在企业即时通信工具中选择接收者的系统 | |
CN205563692U (zh) | 一种基于云端的运营数据智能分析系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 100083 No. 401, 4th Floor, Haitai Building, 229 North Fourth Ring Road, Haidian District, Beijing Applicant after: Beijing Guoshuang Technology Co.,Ltd. Address before: 100086 Cuigong Hotel, 76 Zhichun Road, Shuangyushu District, Haidian District, Beijing Applicant before: Beijing Guoshuang Technology Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |