CN111245915A - 一种兼容可移植远程监控系统及其监控方法 - Google Patents
一种兼容可移植远程监控系统及其监控方法 Download PDFInfo
- Publication number
- CN111245915A CN111245915A CN202010011518.0A CN202010011518A CN111245915A CN 111245915 A CN111245915 A CN 111245915A CN 202010011518 A CN202010011518 A CN 202010011518A CN 111245915 A CN111245915 A CN 111245915A
- Authority
- CN
- China
- Prior art keywords
- monitoring
- server
- data
- main program
- client
- 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.)
- Pending
Links
- 238000012544 monitoring process Methods 0.000 title claims abstract description 210
- 238000000034 method Methods 0.000 title claims abstract description 18
- 238000004891 communication Methods 0.000 claims abstract description 11
- 230000006870 function Effects 0.000 claims description 8
- 238000012545 processing Methods 0.000 claims description 4
- 238000012795 verification Methods 0.000 claims description 4
- 238000011161 development Methods 0.000 abstract description 3
- 230000018109 developmental process Effects 0.000 abstract description 3
- 230000008140 language development Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 5
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L67/025—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3495—Performance evaluation by tracing or monitoring for systems
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种兼容可移植远程监控系统,包括部署于目标主机的监控客户端和部署于一服务器的监控服务器端,监控客户端和监控服务器端通信连接,监控客户端采用ANSI C语言开发,监控客户端由三个组件构成:轻量Agent监控主程序、配置文件、动态加载库。本发明还公开了一种兼容可移植远程监控系统的监控方法。该系统和方法的监控客户端采用ANSI C语言开发,这样监控客户端的实现不依赖于任何第三方C代码库,使得其可以移植于任何支持C语言开发的操作系统上使用,包括VxWorks等嵌入式操作系统,且实现简单、开发成本低、兼容性强,解决了嵌入式操作系统监控困难、兼容性差的问题。
Description
技术领域
本发明属于远程监控技术领域,尤其涉及一种兼容可移植远程监控系统及其监控方法。
背景技术
现有的监控系统的服务器和客户端的通讯方式主要为:监控服务器定时通过IP地址、用户名、密码远程访问目标主机,执行相应操作系统的监控命令,调用不同目标主机的操作系统的监控组件来获取所需的监控数据并将数据返回。这样的方式存在以下问题:
1、对目标主机是嵌入式系统的监控难度很大,例如VxWorks等,需要独立开发一套相应的驱动程序才有可能实现,开发成本很高并且兼容性较差;
2、需要依赖不同操作系统的监控组件,导致无法适应一些轻量级的操作系统,系统适应性差;
3、需要通过远程登陆的方式连接到目标主机,并且部分操作系统需要提供较高用户权限,这样就会有很大安全隐患,容易被侵入,并且性能效率低下;
4、数据扩展性较差,如需增加监控数据,需要进行复杂的版本升级。
由于以上技术问题,导致特别在物联网、工业控制等领域,现有的监控技术无法满足监控需求。
发明内容
本发明的目的在于提供一种兼容可移植的远程监控系统及其监控方法,以解决上述背景技术中的问题。
本发明的一种兼容可移植远程监控系统,包括部署于目标主机的监控客户端和部署于一服务器的监控服务器端,监控客户端和监控服务器端通信连接,监控客户端采用ANSI C语言开发,监控客户端由三个组件构成:
轻量Agent监控主程序;
配置文件,用于在启动轻量Agent监控主程序时通过配置文件初始化需要监控的数据种类、监控周期、动态加载库的函数命名;
动态加载库,用于轻量Agent监控主程序通过定时器调度,驱动动态加载库,调用相应的监控应用的监控接口,获取对应的监控数据;
轻量Agent监控主程序用于实现一个定时器任务,根据预先加载的配置文件和动态加载库的信息,在定时器里面驱动所获得系统的具体的监控信息;轻量Agent监控主程序通过定时器调度,驱动动态加载库获取对应的监控数据后,将监控数据发送给监控服务器端。
进一步,监控服务器端由服务器接收程序、高性能数据库两个组件构成,服务器接收程序监听预先配置好的通信端口,接收到由轻量Agent监控主程序发送过来的报文,经过解密、验证处理之后,获得具体的监控内容保存到高性能数据库中。
进一步,监控客户端和监控服务器端之间使用用户数据报协议UDP进行通信。
进一步,每个UDP请求通过CODE来区分监控层面,并使用MD5签名,从而保证报文内容不被篡改,提升安全性。
进一步,配置文件采用JSON格式描述,用于定义监控项的分类、具体的监控数据、监控数据的格式。
进一步,动态加载库具备一个目录表,该目录表通过监控项的分类号可以定位具体的实现函数,监控项的分类号在配置文件中定义。
进一步,动态加载库采用模块化方式构建,可以动态扩容,当需要新增监控项目的时候,只需要升级动态加载库和配置文件即可。
本发明的一种兼容可移植远程监控系统的监控方法,该方法的步骤为:
(1)启动目标主机和服务器,均完成初始化;
(2)监控服务器端被服务器加载,并初始化;
(3)监控服务器端的服务器接收程序被加载,分配内存单元并进行初始化;
(4)监控客户端被目标主机加载,并初始化;
(5)监控客户端的轻量Agent监控主程序被加载,分配内存单元并进行初始化;
(6)轻量Agent监控主程序读入配置文件,分配内存单元进行文件解析,生成获得需要监控的数据种类、监控周期、动态加载库的函数命名;
(7)轻量Agent监控主程序驱动动态加载库,调用相应的监控应用的监控接口,获取对应的监控数据;
(8)轻量Agent监控主程序将监控数据通过UDP发送给监控服务器端的服务器接收程序;
(9)服务器接收程序监听预先配置好的UDP通信端口,接收到由轻量Agent监控主程序发送过来的UDP报文,经过解密、验证处理之后,获得具体的监控内容,并保存到高性能数据库中。
进一步,在UDP报文中发送目标主机与该目标主机上的监控应用的唯一标识,用于识别监控数据的来源,提高数据准确性。
本发明的有益效果:
1、监控客户端采用ANSI C语言开发,符合C99标准,这样监控客户端的实现不依赖于任何第三方C代码库,使得其可以移植于任何支持C语言开发的操作系统上使用,包括VxWorks等嵌入式操作系统,且实现简单、开发成本低、兼容性强,解决了嵌入式操作系统监控困难、兼容性差的问题;
2、在目标设备中只需部署一个监控客户端,监控客户端由轻量Agent监控主程序、配置文件、动态加载库三个部分构成,采用ANSI C语言开发,不依赖第三方组件,对目标主机的监控组件没有依赖性,操作简单;
3、通过UDP通信,将监控数据发送到监控服务器,只需在UDP报文中将目标设备的IP地址标明即可,不需要远程登陆,非常安全,并且监控效率非常高,解决了通过远程登陆方式监控带来的安全性低,效率差的问题;
4、通过配置文件管理监控数据,可以随时增加需要监控的数据类型,不需要更新程序版本,非常灵活。
由于以上技术优点,该系统特别适用于物联网、工业互联网等目标主机操作系统增次不齐的领域,可以非常方便高效安全的完成监控。
附图说明
图1是本发明的监控客户端及其与目标主机的架构图。
图2是本发明的UDP报文的请求头的结构图。
图3是本发明的实施例一的监控系统的网络架构图。
图4是本发明的实施例二的监控系统的网络架构图。
图5是本发明的实施例三的监控系统的网络架构图。
具体实施方式
以下结合附图和具体实施例对本发明作具体的介绍。
实施例一
参照图3所示,本实施例的兼容可移植远程监控系统包括三个装有不同操作系统的目标主机和一个服务器,三个目标主机分别为:装有Linux系统的目标主机Linux、装有Windows的目标主机Windows、装有VxWorks的目标主机VxWorks,三个目标主机上都装有如图1所示的监控客户端、以及监控应用,监控客户端采用ANSI C语言开发,因此直接兼容上述三个系统,监控客户端包括:轻量Agent监控主程序、配置文件、动态加载库;配置文件采用JSON格式描述,用于定义监控项的分类、具体的监控数据、监控数据的格式;动态加载库具备一个目录表,该目录表通过监控项的分类号可以定位具体的实现函数、监控项的分类号在配置文件中定义;动态加载库采用模块化方式构建,可以动态扩容,当需要新增监控项目的时候,只需要升级动态加载库和配置文件即可;服务器上装有监控服务器端,监控服务器端由服务器接收程序、高性能数据库两个组件构成。每个目标主机的监控客户端均分别和监控服务器端通过用户数据报协议UDP进行通信连接,每个UDP请求通过CODE来区分监控层面,并使用MD5签名,从而保证报文内容不被篡改,提升安全性;同时,在UDP报文中发送目标主机与该目标主机上的监控应用的唯一标识,如目标主机的IP地址、监控应用的名称,用于识别监控数据的来源,提高数据准确性。
上述的兼容可移植远程监控系统的监控方法的步骤为:
(1)启动三个目标主机和服务器,均完成初始化;
(2)监控服务器端被服务器加载,并初始化;
(3)监控服务器端的服务器接收程序被加载,分配内存单元并进行初始化;
(4)三个监控客户端被各自的目标主机加载,并初始化;
(5)三个监控客户端的轻量Agent监控主程序被加载,分配内存单元并进行初始化;
(6)三个监控客户端的轻量Agent监控主程序各自读入自己监控客户端的配置文件,分配内存单元进行文件解析,生成获得需要监控的数据种类、监控周期、动态加载库的函数命名;
(7)三个监控客户端的轻量Agent监控主程序驱动各自的动态加载库,调用自己目标主机的相应的监控应用的监控接口,获取对应的监控数据;
(8)三个监控客户端的轻量Agent监控主程序分别将各自的监控数据通过UDP发送给监控服务器端的服务器接收程序,并在UDP报文中发送目标主机与该目标主机上的监控应用的唯一标识,用于识别监控数据的来源,提高数据准确性;
(9)服务器接收程序监听预先配置好的UDP通信端口,接收到三个监控客户端的轻量Agent监控主程序发送过来的UDP报文,经过解密、验证处理之后,获得具体的监控内容,并保存到高性能数据库中。
UDP报文的请求头的结构设计请参照图3。
上述实施例展示了一个监控系统中兼容不同操作系统的目标主机的方案,实际操作中,目标主机的数量并不限于三个,也可以是两个或四个以上,目标主机的操作系统也并不限于上述几个系统,也可以是其他任何支持ANSI C语言的操作系统均可以;同时,目标主机的操作系统也不限于上述的具体排列组合,可以是任何其它支持ANSI C语言的操作系统的排列组合。上述实施例展示了本发明在一个监控系统中对不同操作系统的兼容性。
实施例二
参照图4所示,本实施例的兼容可移植远程监控系统包括一个装有VxWorks操作系统的目标主机VxWorks和一个服务器,目标主机VxWorks上装有如图1所示的监控客户端、以及监控应用,本实施例其他均与上述实施例一一样,在此不再赘述。
本实施例中的目标主机的操作系统也可以是其他任何支持ANSI C语言的操作系统。
实施例三
参照图5所示,本实施例的兼容可移植远程监控系统包括一个装有Linux操作系统的目标主机Linux和一个服务器,目标主机Linux上装有如图1所示的监控客户端、以及监控应用,本实施例其他均与上述实施例一一样,在此不再赘述。
本实施例中的目标主机的操作系统也可以是其他任何支持ANSI C语言的操作系统。
当技术人员在开发出实施例二的情况下,可以轻松的直接移植实施实施例三,实施例二和实施例三的操作系统可以一样也可以不一样,上述实施例二和实施例三展示了本发明的移植性。
上面结合附图对本发明的实施方式作了详细说明,但是本发明并不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下做出各种变化。
Claims (9)
1.一种兼容可移植远程监控系统,包括部署于目标主机的监控客户端和部署于一服务器的监控服务器端,监控客户端和监控服务器端通信连接,其特征在于,监控客户端采用ANSI C语言开发,监控客户端由三个组件构成:
轻量Agent监控主程序;
配置文件,用于在启动轻量Agent监控主程序时通过配置文件初始化需要监控的数据种类、监控周期、动态加载库的函数命名;
动态加载库,用于轻量Agent监控主程序通过定时器调度,驱动动态加载库,调用相应的监控应用的监控接口,获取对应的监控数据;
轻量Agent监控主程序用于实现一个定时器任务,根据预先加载的配置文件和动态加载库的信息,在定时器里面驱动所获得系统的具体的监控信息;轻量Agent监控主程序通过定时器调度,驱动动态加载库获取对应的监控数据后,将监控数据发送给监控服务器端。
2.如权利要求1所述的一种兼容可移植远程监控系统,其特征在于,监控服务器端由服务器接收程序、高性能数据库两个组件构成,服务器接收程序监听预先配置好的通信端口,接收到由轻量Agent监控主程序发送过来的报文,经过解密、验证处理之后,获得具体的监控内容保存到高性能数据库中。
3.如权利要求2所述的一种兼容可移植远程监控系统,其特征在于,监控客户端和监控服务器端之间使用用户数据报协议UDP进行通信。
4.如权利要求3所述的一种兼容可移植远程监控系统,其特征在于,每个UDP请求通过CODE来区分监控层面,并使用MD5签名,从而保证报文内容不被篡改,提升安全性。
5.如权利要求4所述的一种兼容可移植远程监控系统,其特征在于,配置文件采用JSON格式描述,用于定义监控项的分类、具体的监控数据、监控数据的格式。
6.如权利要求5所述的一种兼容可移植远程监控系统,其特征在于,动态加载库具备一个目录表,该目录表通过监控项的分类号可以定位具体的实现函数,监控项的分类号在配置文件中定义。
7.如权利要求6所述的一种兼容可移植远程监控系统,其特征在于,动态加载库采用模块化方式构建,可以动态扩容,当需要新增监控项目的时候,只需要升级动态加载库和配置文件即可。
8.一种用于权利要求3~7所述的兼容可移植远程监控系统的监控方法,其特征在于,该方法的步骤为:
(1)启动目标主机和服务器,均完成初始化;
(2)监控服务器端被服务器加载,并初始化;
(3)监控服务器端的服务器接收程序被加载,分配内存单元并进行初始化;
(4)监控客户端被目标主机加载,并初始化;
(5)监控客户端的轻量Agent监控主程序被加载,分配内存单元并进行初始化;
(6)轻量Agent监控主程序读入配置文件,分配内存单元进行文件解析,生成获得需要监控的数据种类、监控周期、动态加载库的函数命名;
(7)轻量Agent监控主程序驱动动态加载库,调用相应的监控应用的监控接口,获取对应的监控数据;
(8)轻量Agent监控主程序将监控数据通过UDP发送给监控服务器端的服务器接收程序;
(9)服务器接收程序监听预先配置好的UDP通信端口,接收到由轻量Agent监控主程序发送过来的UDP报文,经过解密、验证处理之后,获得具体的监控内容,并保存到高性能数据库中。
9.如权利要求8所述的一种兼容可移植远程监控系统的监控方法,其特征在于,在UDP报文中发送目标主机与该目标主机上的监控应用的唯一标识,用于识别监控数据的来源,提高数据准确性。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010011518.0A CN111245915A (zh) | 2020-01-06 | 2020-01-06 | 一种兼容可移植远程监控系统及其监控方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010011518.0A CN111245915A (zh) | 2020-01-06 | 2020-01-06 | 一种兼容可移植远程监控系统及其监控方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111245915A true CN111245915A (zh) | 2020-06-05 |
Family
ID=70872343
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010011518.0A Pending CN111245915A (zh) | 2020-01-06 | 2020-01-06 | 一种兼容可移植远程监控系统及其监控方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111245915A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101847116A (zh) * | 2010-05-05 | 2010-09-29 | 中兴通讯股份有限公司 | 一种基于j2ee架构的监控系统和方法 |
CN104010039A (zh) * | 2014-06-05 | 2014-08-27 | 北京航空航天大学 | 一种基于WebSocket的多雷达远程监控系统及方法 |
CN104731580A (zh) * | 2015-01-12 | 2015-06-24 | 上海新炬网络信息技术有限公司 | 基于Karaf与ActiveMQ的自动化运维系统及其实现方法 |
CN107483245A (zh) * | 2017-08-14 | 2017-12-15 | 上海新炬网络信息技术股份有限公司 | 一种基于karaf_agent的主动采集实现装置 |
-
2020
- 2020-01-06 CN CN202010011518.0A patent/CN111245915A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101847116A (zh) * | 2010-05-05 | 2010-09-29 | 中兴通讯股份有限公司 | 一种基于j2ee架构的监控系统和方法 |
CN104010039A (zh) * | 2014-06-05 | 2014-08-27 | 北京航空航天大学 | 一种基于WebSocket的多雷达远程监控系统及方法 |
CN104731580A (zh) * | 2015-01-12 | 2015-06-24 | 上海新炬网络信息技术有限公司 | 基于Karaf与ActiveMQ的自动化运维系统及其实现方法 |
CN107483245A (zh) * | 2017-08-14 | 2017-12-15 | 上海新炬网络信息技术股份有限公司 | 一种基于karaf_agent的主动采集实现装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7363514B1 (en) | Storage area network(SAN) booting method | |
CN107615716B (zh) | 用于云联网的多租户感知动态主机配置协议(dhcp)机制 | |
JP3651587B2 (ja) | デバイスの異なるタイプに対する命名規則を使用する装置及び方法 | |
TWI258287B (en) | Method for registering virtual machine, system of registering virtual machine, and recording medium having associated data | |
US6601096B1 (en) | Client server method for loading a client with a specific image or utility based on the client's state | |
US7379982B2 (en) | System and method for custom installation of an operating system on a remote client | |
US7970873B2 (en) | System and method for assigning addresses to information handling systems | |
CN111614738B (zh) | 基于Kubernetes集群的服务访问方法、装置、设备及存储介质 | |
US11030025B2 (en) | Managing inter-process communications in a containerized application environment | |
US7376823B2 (en) | Method and system for automatic detection, inventory, and operating system deployment on network boot capable computers | |
US9176761B2 (en) | Management of mainframe resources in pre-boot environment | |
US8566459B2 (en) | Systems and methods for integrated console management interface | |
US8825819B2 (en) | Mounting specified storage resources from storage area network in machine provisioning platform | |
US11159367B2 (en) | Apparatuses and methods for zero touch computing node initialization | |
WO2016018293A1 (en) | Configuring managed server | |
JP2021502735A (ja) | ゲートウェイ管理コンソールにアクセスする方法、システム、およびプログラム | |
JP2021502624A (ja) | ゲートウェイ管理コンソールにアクセスするためのコンピュータ処理方法、装置、システム、およびプログラム | |
CN103677858A (zh) | 一种云环境中虚拟机软件管理的方法、系统及设备 | |
CN109684028B (zh) | 一种操作系统与用户数据分离的方法、装置及设备 | |
JP2013186793A (ja) | 情報処理装置、イメージファイル作成方法およびプログラム | |
US10979289B2 (en) | Apparatuses and methods for remote computing node registration and authentication | |
CN111245915A (zh) | 一种兼容可移植远程监控系统及其监控方法 | |
US20210152420A1 (en) | Apparatuses and methods for remote computing node initialization using a configuration template and resource pools | |
CN107659621B (zh) | 一种raid控制卡配置方法及装置 | |
US20050132084A1 (en) | Method and apparatus for providing server local SMBIOS table through out-of-band communication |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200605 |