跨平台服务器性能监控系统模型的设计思路

时间:2022-07-15 07:51:09

跨平台服务器性能监控系统模型的设计思路

摘要: 随着企业信息化的普及,越来越多的企业都架设自己的服务器,他们迫切需要一种能够监控服务器性能状况的系统。在分析服务器性能指标技术和远程监控技术的基础上,提出跨平台服务器性能监控系统原型,能够实时远程监控机房服务器的性能,显示各服务器实时性能参数,具有优化、预警、报警等功能。实验结果表明,该模型工作很好,它可以自动、有效地监控远程服务器,保障企事业单位业务的正常运行。

关键词: 远程;集中;跨平台;服务器;性能监控]

0 引言

信息化革命以来,为了提升企业的竞争力、提高企业的管理水平,企业信息化变得越来越普及。可以说,当前企业单位都或多或少的架设了自己的服务器,这些服务器都是部署在机房里,经常无人值守。而这些服务器运行的平台可能是Windows服务器,也可能是Sun Solaris或者HP的UNIX,情况不一而足。 由于企业对这些服务器的可持续运行能力要求很高,而传统的人工监测方式无法做到对性能故障防范于未然,一般都是发现系统运行缓慢或无法运行了,才去定位故障的原因,这样即浪费了企业的人力物力,又影响了企业的正常工作。所以,如果能有一个可以实现远程集中监控服务器性能,并且能够迅速定位性能故障的系统,就变得非常必要。

本文从整体需求问题出发,将整体需求问题分解成远程集中监控、跨平台监控两个大问题,然后针对每个大问题做进一步分解、分析和研究,然后提出相应问题的解决方案。最后,在分解研究的基础上提出系统的整体解决方案,以供参考。

1 如何实现远程集中监控

对于这个问题的解决,我们先探讨实现远程集中监控的必要性,然后提出问题可能的解决方式,最后选取一种合适的方式来解决我们的问题。

1.1 为什么需要远程集中监控

我们知道,企业的服务器一般都集中安装在机房中,如果没有采用远程监控方式,那么只能走到每台服务器上去检查系统的性能状况。而如果不采用集中监控方式,那么,每次只能检查一台服务器的性能状况,并且需要手工执行命令、人工判断,从而获得性能数据。而获得的性能数据应该如何采集出来,也是一个头疼的问题。由此看来,如果能够实现远程集中监控,那么这些问题就能得到很好的解决。

1.2 比较CS与BS两种软件系统架构的优缺点

从目前流行的软件系统架构来看,有CS和BS两种方式。前者需要开发一个客户端程序,用于执行客户端的功能;后者采用浏览器作为客户端,客户端功能主要使用客户端脚本程序来执行。这两种方式各有优缺点。CS方式由于客户端程序是编译后的代码,可以独立在被安装的机器上运行,所以效率较高、可控性较好;而后者由于客户端程序运行在浏览器中,其优势在于客户端不用安装,页面呈现效果丰富等。但是,客户端程序是解释运行的,效率较低。此外,由于浏览器安全控制的需要,浏览器端的功能权限受到了限制。

1.3 系统可采用CS加BS的结构来实现

由上文分析可见,CS相比BS结构具有运行效率高、可控程度高的特点,所以远程集中监控系统的实时监控模块更适合采用CS结构。再者,考虑到数据传送的时候,要求实时性高,信息封装安全,采用CS结构也具有更大的优势。另外,客户端程序在采集性能数据的时候,需要在后台静默运行,CS结构的客户端端可以较好实现隐蔽运行的效果,而网页形不易处理,所以CS结构的也更适合些。

而对于历史性能报表部分,由于数据从数据库中提取,对性能的要求不是很高,但是对于报表的呈现样式、对于报表的访问便利性要求较高,所以可考虑采用BS结构呈现。

1.4 服务端多线程的处理

服务端要实现集中监控多个终端的服务器,还需要处理好多线程的问题。对于这个问题,我们可以在服务端构建一个处于轮询状态的多线程服务程序,当有客户端连接上来的时候,启动一个新的线程。当客户端有新的性能数据上来的时候,服务端能够通过消息触发机制,更新对应监控窗口上的监视数据和图形。

2 如何实现跨平台监控

我们知道,不同企事业单位服务器的系统平台具有多样性的情况,那么,如何实现跨平台监控,如何让系统在不同的平台下运行就成为一个很关键的问题。对于这种现象,应该从兼容性、可扩充性的角度进行考虑。在提出有效解决方案之前,让我们先明确以下问题。

2.1 为什么要实现跨平台

试想,一个仅能监控运行Windows或者Unix服务器性能的系统,如何能满足现代企业服务器多元化的需求,如何能够在将来需求扩展的情况下,延长系统的生命周期?所以,答案很明确,一个真正的性能监控系统,必然是一个在实现了远程集中监控之后,又能满足跨平台监控的系统。

2.2 跨平台监控首先要解决客户端跨平台

对于一个程序,要实现跨平台,一种很好的解决方案就是,采用跨平台的语言来实现,比如Java就是一种很好的跨平台语言。我们可以使用Java来开发客户端,而服务端应该用什么来开发?下文我们会继续探讨。那么,服务端与客户端之间应该如何通信呢?我们且看下文分析。

2.3 对于实时监控部分,Socket通信是一种较好的方式

解决了客户端可运行在不同操作系统上的问题之后,通信问题成为一个很关键问题。为了实现系统的跨平台监控,那么,很有必要对各个平台的网络通信协议进行研究比较,从而,能够从中选取一种各种平台都能接受的方式来实现通信。

首先,我们来看http方式,基于这种通信协议的通信方式主要是Web方式,也就上文提到的BS结构方式。目前主流的服务器平台都能支持。但是,由于BS结构存在运行效率较低,运行功能受限的问题,此种方式不太适合实时监控部分,但可考虑用于呈现历史性能报表。

其次,我们来看UDP通信方式,这种协议的最大优点是异步通信,可用于无连接方式。但是,性能监控系统对于实时性的要求较高,不太适用。

最后,我们看Socket通信方式,这种通信方式具有效率高,数据封装灵活的特点,他基于TCP/IP方式进行通信,能够被各种平台所支持,所以,这种通信方式比较适用于远程集中监控系统的实时监控模块。

上一篇:WCDMA网络工程中的容量提升策略 下一篇:基于GPRS移动通信技术的远程测控系统设计