适配国产服务器的服务器监控方法及监控系统与流程

文档序号:29697896发布日期:2022-04-16 13:33阅读:242来源:国知局
适配国产服务器的服务器监控方法及监控系统与流程

1.本发明涉及国产服务器监控技术领域,具体地说是适配国产服务器的服务 器监控方法及监控系统。


背景技术:

2.在国家的大力扶持下,具有自主知识产权的全国产软硬件有了较快的发展, 尤其是近年来我国涌现了众多具有自主知识产权的基础软硬件产品。龙芯、飞 腾、北大众志等具有自主知识产权的高端通用芯片蓬勃发展,技术水平达到了 同类产品的世界先进水平。
3.市面上不乏好的监控系统,但大多是针对使用微软研发的x86架构芯片的 服务器而开发的。现今流行的国产服务器芯片如龙芯使用的是mpis、麒麟和飞 腾使用的是arm,大多不同于微软的x86架构。针对国产芯片服务器的监控设 计、适配的监控系统并不是很多。
[0004][0005]
如何对国产服务器进行监控,是需要解决的技术问题。


技术实现要素:

[0006]
本发明的技术任务是针对以上不足,提供适配国产服务器的服务器监控方 法及监控系统,来解决如何对国产服务器进行监控的技术问题。
[0007]
第一方面,本发明的适配国产服务器的服务器监控方法,包括如下步骤:
[0008]
针对不同过程服务器的cpu,在不同架构的国产服务器上编译sigar源 码生成.so文件和相应jar包,将.so文件收集为一个项目依赖库,并将jar包 导入项目依赖库;
[0009]
通过springboot创建一个服务端项目,并编写监控服务,所述监控服务 包括需要与客户端交互的交互监控服务,对于每个交互监控服务,对外暴露 其服务端接口以供客户端进行调用;
[0010]
建立一个java maven项作为客户端,并将sigar工具作为一个依赖包 引入客户端;
[0011]
将待监控的服务器作为目标服务器,将所述项目依赖库和客户到每个目 标服务器上,将服务端部署到一个服务器上,且服务端与数据库交互;
[0012]
通过客户端调用sigar工具对目标服务器进行状态查询,并调用对应 的服务端接口将获取的服务器状态信息发送至服务端,通过客户端调用服务 端接口,基于对应的监控服务对目标服务器进行监控并获取自定义的监控信 息,并调用对应的服务端接口将监控信息发送至服务端;
[0013]
通过服务端将服务器信息以及监控信息存储至数据库,并通过服务端对 服务器状态信息和监控信息进行管理和展示。
[0014]
作为优选,所述监控服务包括:
[0015]
服务器状态信息管理服务,所述服务器状态信息管理服务用于对服务器 信息进行数据处理、存储和展示,包括将客户端传输的数据通过定时任务将 其存储到数据库,并
通过表格和图像的形式展示数据;
[0016]
插件管理服务,所述插件管理服务通过在服务端上传相关脚本维护相应 信息完成对插件的新增,将新增的插件对已注册的客户端进行下发,以完成 插件的灵活配置,插件下发后,相关客户端能接收到插件的信息,并在其对 应的目标服务器上执行插件完成对各种外接设备的状态监控,且外接设备的 监控数据由服务端接收并展示出来;
[0017]
客户端管理服务,所述客户端管理服务用于提供服务器远程连接控制功 能,通过ssh连接,服务端能够对注册并在线的服务器进行远程连接并执行 简单的关闭重启命令,服务端同时能够检测客户端的心跳,如果客户端一旦 下线,服务端会将所述下线客户端状态记录到相应日志并显示下线状态;
[0018]
进程管理服务,所述进程管理服务通过配置相应进程的进程id和进程 的其它信息,实现监控运行在服务器上各种软件的状态;
[0019]
邮件预警服务,所述邮件预警服务用于在服务器出现异常状态时,将相 应信息记录到日志里,并将通过邮件的方式通知管理人员。
[0020]
作为优选,通过客户端调用服务端接口,基于对应的监控服务对目标服 务器进行监控并获取自定义的监控信息,并调用对应的服务端接口将监控信 息发送至服务端,包括如下步骤:
[0021]
通过客户端调用对应的服务端口,获得插件内容,所述插件内容为脚本;
[0022]
在客户端执行所述脚本对目标服务器进行监控,并获取根据对应监控服 务自定义的监控信息;
[0023]
调用对应的服务端接口,通过所述服务端接口将监控信息以json对象为 参数的形式发送至服务端。
[0024]
作为优选,通过客户端调用对应的服务端接口,通过所述服务端接口将 服务器状态信息以json对象为参数的形式发送至服务端。
[0025]
作为优选,所述服务端利用静态类集合类变量存储客户端传来的服务器 状态信息和各种监控信息。
[0026]
作为优选,所述服务端写有定时任务,通过定时任务定时将服务器状态 信息和各种监控信息保存至数据库。
[0027]
第二方面,本发明的适配国产服务器的服务器监控系统,包括:
[0028]
项目依赖库,所述项目依赖库包括.so文件以及jar包,所述.so文件以 及jar包为针对不同过程服务器的cpu、在不同架构的国产服务器上编译 sigar源码生成的.so文件和相应jar包;
[0029]
服务端,所述服务端为通过springboot创建的一个服务端项目,并编写 有监控服务,所述监控服务包括需要与客户端交互的交互监控服务,对于每 个交互监控服务,对外暴露其服务端接口以供客户端进行调用;
[0030]
客户端,所述客户端为建立的一个java maven项,且所述客户端将将 sigar工具作为一个依赖包引入,所述客户端与项目依赖科库用于部署于 待监控的目标服务器上,所述客户端用于调用sigar工具对目标服务器进 行状态查询,并调用对应的服务端接口将获取的服务器状态信息发送至服务 端,所述客户端用于调用服务端接口,基于对应的监控服务对目标服务器进 行监控并获取自定义的监控信息,并调用对应的服务端接口将监控信
息发送 至服务端,所述服务端用于对服务器状态信息和监控信息进行管理和展示;
[0031]
数据库,所述数据库与所述服务端连接,所述服务端用于将服务器信息 以及监控信息存储至数据库。
[0032]
作为优选,所述监控服务包括:
[0033]
服务器状态信息管理服务,所述服务器状态信息管理服务用于对服务器 信息进行数据处理、存储和展示,包括将客户端传输的数据通过定时任务将 其存储到数据库,并通过表格和图像的形式展示数据;
[0034]
插件管理服务,所述插件管理服务通过在服务端上传相关脚本维护相应 信息完成对插件的新增,将新增的插件对已注册的客户端进行下发,以完成 插件的灵活配置,插件下发后,相关客户端能接收到插件的信息,并在其对 应的目标服务器上执行插件完成对各种外接设备的状态监控,且外接设备的 监控数据由服务端接收并展示出来;
[0035]
客户端管理服务,所述客户端管理服务用于提供服务器远程连接控制功 能,通过ssh连接,服务端能够对注册并在线的服务器进行远程连接并执行 简单的关闭重启命令,服务端同时能够检测客户端的心跳,如果客户端一旦 下线,服务端会将所述下线客户端状态记录到相应日志并显示下线状态;
[0036]
进程管理服务,所述进程管理服务通过配置相应进程的进程id和进程 的其它信息,实现监控运行在服务器上各种软件的状态;
[0037]
邮件预警服务,所述邮件预警服务用于在服务器出现异常状态时,将相 应信息记录到日志里,并将通过邮件的方式通知管理人员。
[0038]
作为优选,所述客户端用于调用对应的服务端接口,通过所述服务端接 口将服务器状态信息以json对象为参数的形式发送至服务端;
[0039]
所述客户端用于通过如下步骤调用服务端接口,基于对应的监控服务对 目标服务器进行监控并获取自定义的监控信息,并调用对应的服务端接口将 监控信息发送至服务端:
[0040]
客户端用于调用对应的服务端口,获得插件内容,所述插件内容为脚本;
[0041]
客户端用于执行所述脚本对目标服务器进行监控,并获取根据对应监控 服务自定义的监控信息;
[0042]
客户端用于调用对应的服务端接口,通过所述服务端接口将监控信息以 json对象为参数的形式发送至服务端。
[0043]
作为优选,所述服务端写有定时任务,通过定时任务定时将服务器状态信 息和各种监控信息保存至数据库。
[0044]
本发明的适配国产服务器的服务器监控方法及监控系统具有以下优点:
[0045]
1、适配于现流行的大多数国产cpu服务器,实现了对多个服务器的状态 监控、管理,以图表化的形式展示监控服务器的运行状态,为国产cpu服务器 的监控体重了一种可行的实时方案,助力于国产服务器的普及和维护;
[0046]
2、提供了进程监控、插件管理等服务,拓展了监控范围;,并通过邮件等 方式实现了预警提醒。此系统的监控实现方式为国产cpu服务器的监控体重了 一种可行的实时方案,助力于国产服务器的普及和维护。
附图说明
[0047]
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技 术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅 仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性 劳动的前提下,还可以根据这些附图获得其他的附图。
[0048]
下面结合附图对本发明进一步说明。
[0049]
图1为实施例1适配国产服务器的服务器监控方法的流程框图;
[0050]
图2为实施例2适配国产服务器的服务器监控系统的架构框图。
具体实施方式
[0051]
下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人 员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定, 在不冲突的情况下,本发明实施例以及实施例中的技术特征可以相互结合。
[0052]
本发明实施例提供适配国产服务器的服务器监控方法及监控系统,用于解 决如何对国产服务器进行监控的技术问题。
[0053]
实施例1:
[0054]
本发明适配国产服务器的服务器监控方法,包括如下步骤:
[0055]
s100、针对不同过程服务器的cpu,在不同架构的国产服务器上编译 sigar源码生成.so文件和相应jar包,将.so文件收集为一个项目依赖库,并 将jar包导入项目依赖库;
[0056]
s200、通过springboot创建一个服务端项目,并编写监控服务,监控服 务包括需要与客户端交互的交互监控服务,对于每个交互监控服务,对外暴 露其服务端接口以供客户端进行调用;
[0057]
s300、建立一个java maven项作为客户端,并将sigar工具作为一个 依赖包引入客户端;
[0058]
s400、将待监控的服务器作为目标服务器,将项目依赖库和客户到每个 目标服务器上,将服务端部署到一个服务器上,且服务端与数据库交互;
[0059]
s500、通过客户端调用sigar工具对目标服务器进行状态查询,并调 用对应的服务端接口将获取的服务器状态信息发送至服务端,通过客户端调 用服务端接口,基于对应的监控服务对目标服务器进行监控并获取自定义的 监控信息,并调用对应的服务端接口将监控信息发送至服务端;
[0060]
s600、通过服务端将服务器信息以及监控信息存储至数据库,并通过服务 端对服务器状态信息和监控信息进行管理和展示。
[0061]
本实施例步骤s100将sigar源码在国产服务器下编译生成.so文件和相应jar 包,将.so文件收集一起组成一个项目依赖库,将生成的jar包导入项目依赖库。 有了相关依赖之后便可使用此工具类获取到服务器各种状态信息,并进行业务 代码的开发。
[0062]
步骤s200使用springboot创建一个服务端项目,编写相关的监控服务,该 监控服务包括交互监控服务,交互监控服务包括编写服务器状态信息管理、获 取应用信息、邮件提醒、客户端管理、任务管理、插件管理等服务,并将部分 服务如客户端管理、服务器状态信息管理、插件管理等交互监控服务对外暴露 其服务端接口可供客户端进行调用。
[0063]
服务器状态信息管理是服务端提供的数据处理、存储和展示功能。客户端 传输的数据通过定时任务将其存储到相应的数据库。服务端写有与前端交互的 各种接口,将数据通过表格和图像的形式展示出来。以更加直观的方式体现出 客户端所在服务器的各种运行状态。
[0064]
插件管理功能是通过在服务端上传相关脚本维护相应信息完成对插件的新 增。可以将新增的插件对已注册的客户端进行下发来完成插件的灵活配置。插 件下发后,相关客户端便能接收到插件的信息,并在其服务器上执行插件完成 对各种外接设备的状态监控。监控数据由服务端接收并展示出来。
[0065]
客户端管理是服务端提供服务器远程连接控制功能。通过ssh连接,服务 端可对注册并在线的服务器进行远程连接并执行简单的关闭重启命令。服务端 同时也能检测客户端的心跳,如果客户端一旦下线,服务端会将此客户端状态 记录到相应日志并显示下线状态。
[0066]
服务端提供了进程管理功能。通过配置相应进程的进程id和进程的其它信 息。可以实现监控运行在服务器上各种软件的状态。扩展了监控的范围。
[0067]
服务端提供了邮件预警功能。一旦服务器出现异常状态,如内存占用率过 高,磁盘快满等信息。服务端会将相应信息记录到日志里,并将其通过邮件的 方式通知给管理人员。防止服务器高负荷运行带来的宕机风险。
[0068]
步骤s300建立一个java maven项作为客户端。客户端将sigar工具作为 一个依赖包引入,通过调用此工具对服务器状态进行查询,将收集的数据定时 的通过调用服务端接口的方式发给服务端,将数据传输给服务端进行处理。
[0069]
客户端和服务端传输、存储数据实现如下:
[0070]
(1)客户端利用sigar提供的api获取到服务器信息,调用服务端api获得 插件内容(通常是一个脚本),在客户端执行此脚本,获取到自定义监控的信息。 将各种信息以json对象为参数的形式通过定时调用服务端api发送给服务端;
[0071]
(2)服务端利用静态类集合类变量存储客户端传来的各项数据。其中包括 操作系统的信息、cpu信息、内存信息、插件信息、文件系统信息、网络接口 信息、网络路由信息、客户端ip等;
[0072]
(3)服务端也写有定时任务,会定时执行保存操作。将数据存储到数据库 中。这样客户端便成功注册到了服务端并将数据传回了服务端。
[0073]
完成服务端和客户端设计后,如需管理多台服务器,将步骤s100得到项目 依赖库和客户端代码打包放置到需要监控的服务器上。修改相应的配置,如客 户端所在服务器ip、服务端所在服务器ip。启动客户端后便可实现对此服务器 的监控。服务端和客户端部署方式一致,但只需部署单个项目即可。
[0074]
监控过程为:
[0075]
通过客户端调用sigar工具对目标服务器进行状态查询,并调用对应 的服务端接口将获取的服务器状态信息发送至服务端,通过客户端调用服务 端接口,基于对应的监控服务对目标服务器进行监控并获取自定义的监控信 息,并调用对应的服务端接口将监控信息发送至服务端;
[0076]
通过服务端将服务器信息以及监控信息存储至数据库,并通过服务端对 服务器
状态信息和监控信息进行管理和展示。
[0077]
本实施例中客户端监控的信息包括cpu信息、操作系统信息、存储信 息、系统负载信息以及网络io情况等。除此之外还可以监控自定义的进程 信息以及可以配置相关插件用来监控各种外接设备的运行状态。
[0078]
本实施例的方法是基于c/s模式的,客户端通过在国产cpu架构下编 译的sigar代码作为底层依赖,部署于各个服务器上运行。获取服务器信 息及运行状态等。客户端的多机部署可实现对服务器集群的监控。服务端负 责收集客户端传输来的数据,并进行存储展示。服务端提供监控的扩展,除 了服务器基本的信息cpu、操作系统、磁盘等以及其状态信息。服务端提供 的插件管理可以通过自定义脚本的方式监控服务器上安装的各种硬件设备 如板卡、摄像头等。服务端提供的进程管理实现了对运行在服务器上的各种 软件系统的监控。服务端实现了监控的预警通知,及时将可能发生的异常情 况通过邮件的方式通知给运维人员。
[0079]
该方法能够实现不同cpu架构的服务器的监控实现。具有跨平台的特 征。客户端可以进行多机部署,并由一个服务端管理,具有集群管理的特征。 支持自定义插件监控硬件设备和各种软件进程的监控。具有灵活配置扩展的 特征。支持自动故障监测,有问题可以及时通过邮件的方式通知到运维人员。
[0080]
实施例2:
[0081]
本发明适配国产服务器的服务器监控系统,包括项目依赖库、服务端、 客户端以及数据库,项目依赖库包括.so文件以及jar包,所述.so文件以及 jar包为针对不同过程服务器的cpu、在不同架构的国产服务器上编译sigar 源码生成的.so文件和相应jar包;服务端为通过springboot创建的一个服务 端项目,并编写有监控服务,监控服务包括需要与客户端交互的交互监控服 务,对于每个交互监控服务,对外暴露其服务端接口以供客户端进行调用; 客户端为建立的一个java maven项,且所述客户端将将sigar工具作为一 个依赖包引入,客户端与项目依赖科库用于部署于待监控的目标服务器上, 客户端用于调用sigar工具对目标服务器进行状态查询,并调用对应的服 务端接口将获取的服务器状态信息发送至服务端,客户端用于调用服务端接 口,基于对应的监控服务对目标服务器进行监控并获取自定义的监控信息, 并调用对应的服务端接口将监控信息发送至服务端,服务端用于对服务器状 态信息和监控信息进行管理和展示;数据库与所述服务端连接,服务端用于 将服务器信息以及监控信息存储至数据库。
[0082]
其中,监控服务包括交互监控服务包括编写服务器状态信息管理、获取 应用信息、邮件提醒、客户端管理、任务管理、插件管理等服务。
[0083]
服务器状态信息管理服务用于对服务器信息进行数据处理、存储和展示, 包括将客户端传输的数据通过定时任务将其存储到数据库,并通过表格和图 像的形式展示数据。
[0084]
插件管理服务通过在服务端上传相关脚本维护相应信息完成对插件的 新增,将新增的插件对已注册的客户端进行下发,以完成插件的灵活配置, 插件下发后,相关客户端能接收到插件的信息,并在其对应的目标服务器上 执行插件完成对各种外接设备的状态监控,且外接设备的监控数据由服务端 接收并展示出来。
[0085]
客户端管理服务用于提供服务器远程连接控制功能,通过ssh连接,服 务端能够对注册并在线的服务器进行远程连接并执行简单的关闭重启命令, 服务端同时能够检测
客户端的心跳,如果客户端一旦下线,服务端会将所述 下线客户端状态记录到相应日志并显示下线状态。
[0086]
进程管理服务通过配置相应进程的进程id和进程的其它信息,实现监 控运行在服务器上各种软件的状态。
[0087]
邮件预警服务用于在服务器出现异常状态时,将相应信息记录到日志里, 并将通过邮件的方式通知管理人员。
[0088]
客户端将sigar工具作为一个依赖包引入,通过调用此工具对服务器状态 进行查询,将收集的数据定时的通过调用服务端接口的方式发给服务端,将数 据传输给服务端进行处理。
[0089]
客户端和服务端传输、存储数据实现如下:
[0090]
(1)客户端利用sigar提供的api获取到服务器信息,调用服务端api获得 插件内容(通常是一个脚本),在客户端执行此脚本,获取到自定义监控的信息。 将各种信息以json对象为参数的形式通过定时调用服务端api发送给服务端;
[0091]
(2)服务端利用静态类集合类变量存储客户端传来的各项数据。其中包括 操作系统的信息、cpu信息、内存信息、插件信息、文件系统信息、网络接口 信息、网络路由信息、客户端ip等;
[0092]
(3)服务端也写有定时任务,会定时执行保存操作。将数据存储到数 据库中。这样客户端便成功注册到了服务端并将数据传回了服务端。
[0093]
完成服务端和客户端设计后,如需管理多台服务器,将得到项目依赖库 和客户端代码打包放置到需要监控的服务器上。修改相应的配置,如客户端 所在服务器ip、服务端所在服务器ip。启动客户端后便可实现对此服务器的 监控。服务端和客户端部署方式一致,但只需部署单个项目即可。
[0094]
本实施例的系统可执行实施例1公开的方式对国产服务器进行监控。
[0095]
上文通过附图和优选实施例对本发明进行了详细展示和说明,然而本发明 不限于这些已揭示的实施例,基与上述多个实施例本领域技术人员可以知晓, 可以组合上述不同实施例中的代码审核手段得到本发明更多的实施例,这些实 施例也在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1