张嘉豪 赵 亮 翁铭隆 张华俊 李文欣
(广东东软学院,广东 佛山528225)
在信息化社会的建设中,全球服务器的数量成几何级增长,服务器的正常运行支撑着社会的每一个环节。因此,每一个服务器都必须得到时刻的监控,否则,一旦发生“宕机”(服务器崩溃),将会为社会、企业、个人带来巨大的损失。根据美国标准技术研究所(NIST)所公布的数据:金融行业每停机一分钟,平均损失900,000 美元。(信息来源于电子信息产业网)
但目前市场上现有的服务器监控服务并不完善。第一是大部分的监控服务只能在服务器宕机后才进行报警,预警功能不强,并不能防止损失的发生;第二是价格高,阻碍服务器监控服务的推广。为此,我们制作并成功制作了一个具有更高性价比、监控功能更完善的服务器监控系统。
SSM(Spring+SpringMVC+MyBatis)框架集由Spring、MyBatis两个开源框架整合而成(SpringMVC 是Spring 中的部分内容)。常作为数据源较简单的web 项目的框架。
Spring:Spring 就像是整个项目中装配bean 的大工厂,在配置文件中可以指定使用特定的参数去调用实体类的构造方法来实例化对象。也可以称之为项目中的粘合剂。Spring 的核心思想是IoC(控制反转),即不再需要程序员去显式地`new`一个对象,而是让Spring 框架帮你来完成这一切。
SpringMVC:SpringMVC 在项目中拦截用户请求,它的核心Servlet 即DispatcherServlet 承担中介或是前台这样的职责,将用户请求通过HandlerMapping 去匹配Controller,Controller 就是具体对应请求所执行的操作。SpringMVC 相当于SSH 框架中struts。
Mybatis:Mybatis 是对jdbc 的封装,它让数据库底层操作变的透明。Mybatis 的操作都是围绕一个SQLSessionFactory 实例展开的。Mybatis 通过配置文件关联到各实体类的Mapper 文件,Mapper 文件中配置了每个类对数据库所需进行的SQL 语句映射。在每次与数据库交互时,通过SQLSessionFactory 拿到一个SQLSession,再执行SQL 命令。页面发送请求给控制器,控制器调用业务层处理逻辑,逻辑层向持久层发送请求,持久层与数据库交互,后将结果返回给业务层,业务层将处理逻辑发送给控制器,控制器再调用视图展现数据。
首先是在开发语言的选择上的分析,C 语言对于底层有着得天独厚的优势,但是在Windows 系统以及ISO 系统上就会变得复杂,主要是环境的依赖,因此我们选用了Java 语言作为开发语言,主要是看重其跨平台的特性,其次是其拥有很好框架支持--Spring,这里选用了SSM以及Spring Boot 框架最为我们的整体开发框架,对于底层的数据获取选用了Sigar 以及自己编写了一套可以绕过虚拟机获取真实信息的方案,数据通过MySQL 数据库进行数据储存。
技术图示:
图1 服务器监控管理系统技术图
SMS 平台分为两部分,一个部分是使用SSM搭建打管理平台,另一部分是用Spring Boot 搭建的监控工具,通过划分两部分的方案,既保证平台高可用,又保证监控稳定,减少过多的数据交互,只在必要的时候进行数据备份以及预警处理。
基于互联网思维,将注重用户体验、快速迭代等因素,加强产品UI 的美观度、设计感,通过交互设计提升用户参与体验感,充分考虑用户的喜好和意见。功能设计方面,个人信息、增加服务器信息、增加服务器信息、删除服务器信息。让用户对产品功能存在自然期待,提升关注指数,提高系统吸引力和粘性,主要功能分为用户管理功能、系统日志、信息查询等。
表1 SMS 服务器监控管理系统功能表
主要有以下功能区:
用户管理功能:用户可以自行注册账号密码和对监管服务系统的权限控制,根据权限控制远程监视系统。
系统日志:对于系统的操作,如系统报警,用户登陆和退出、系统运行情况等等,都会有相关的日志记录。
信息查询:登陆用户可查询系统的使用和运行情况,如服务器信息,故障信息等等。
图2 系统功能架构图
4.1 先进性:作为一个轻量级跨平台方案,首先是在代码层面上是精简配置、高内聚低耦合,符合REST 接口思想,其次是Linux、Windows、IOS 系统上都可以完全接入使用,完全不用担心过多环境依赖的问题;配置简单,只需要基本环境就可以运行。我们选用最新的开源框架Spring,该框架具有轻量、安全性高、易用等特性;其次开发语言是对应的Java,同样在整个市场上是有一定的地位,同时其跨平台的特性也是非常重要的。
目前市面上同类产品的缺点:(1)可移植性差:阿里云、腾讯云具有自己的云服务平台,也有属于自己的监控系统,但是都只能在其平台使用,无法进行迁移到其他的平台上。 VMware的产品具有一定的迁移性,但是对于MacOS 系统则需要另一个专门的系统去支持。而我们的系统则是在三大操作系统上畅通无阻,甚至可以跨云平台进行使用。(2)系统笨重:阿里、腾讯和VMware 在云服务领域是起步比较早的,那么选用的模型会比较旧,底层的技术也跟不上时代的发展,再加上其功能繁杂,特别当有新的功能需要整合时,需要考虑到整体项目的框架以及兼容性,那么这些需求就会导致整体系统不够轻量化,特别是整体升级的时候,需要去处理的内容特别多。但是我们选用的是最新的Spring5 框架,其轻量化程度高,是当下使用量最多的轻量型框架,因此我们在这一方面是有得天独厚的优势。(3)易用性低:阿里、腾讯和VMware 都有一定的积累,那么其功能也是越来越多,但也导致其上手难度增大,用户无法快速学习并使用,这导致大部分用户在使用其服务的时候就别其专业术语以及操作难度搞而放弃使用,转而使用简单高效的云平台。我们的系统侧重考虑这些情况,将整体功能进行整合,让用户简单易上手,可以在3 分钟内学会如何操作。(4)价格虚高:市面上大部分这样系统基本价格都是虚高,低至5000(阿里巴巴),上至几万(腾讯云),但是其功能基本相同,本系统价格低廉,市面上的基本功能我们都有。
4.2 独特之处:具有信息有效性:大部分的监控系统展示的数据都是历史数据,并不能做到保护服务器的效果,只能说回顾服务器的状态,但是该系统做到了信息实时有效,保证了数据价值;多方位信息反馈:通过多终端方案进行信息反馈,在服务器出现异常的第一时间通过邮箱、短信等消息通知方案向用户发送异常报告,保证用户能在第一时间做出处理,减少不必要的时间浪费以及财产损失。绝对精确性:该系统采用端到端方案建立连接,即保证在服务器通讯的安全,又能精确获取到真实有效的目标信息,不论是底层的硬件信息还是当前的服务器运行状态,都可以在瞬息之间获取;简易性:大部分的系统从安装到使用是非常的麻烦的,需要配置过多的信息,但是该系统已经做了相对应的系统优化,不论是部署还是使用都是非常简单,可以说是“傻瓜式”启动,甚至是开箱即用;提升并强化安全监控:对服务器的资源进行综合监控管理,保证每一个服务器都在监控范围内,让用户有效利用服务器资源,让每一个服务器的价值发挥到最大。对服务器的进行安全漏洞的检查,并反馈给用户进行维护,以此减少安全隐患。
本系统能够实现实时“高可用性”信息反馈;并具有可靠性,灵活性和扩展性;可以快速判断服务器异常发生,提高服务器的稳定性;为网络管理员提供良好的信息来源,减少网络故障率,缩短失效时间;并且针对中小型企业,大部分的服务器是内网访问,但可以通过该平台建立监控可以间接的获取到服务器的状态,为企业的收益保驾护航;其次针对政府民生系统,在异常发生前就进行预警,减少项目负责企业以及政府的损失,以保证广大人民的权益。
SMS 是一个基于Spring+SpringMVC+Mybatis 框架的轻量级服务
控管理系统,采用具有很好的跨平台特性Java 作为后台,一个无需专用客户端即可为用户提供简洁的服务器监控管理系统,以让用户随时随地监控自己的服务器状态,该系统可以监控跨平台的云服务器和实体服务器,将其整合,方便用户使用,并且能够实时反馈服务器的相关信息,并在第一时间将异常信息反馈用户,减少用户的损失。