APP下载

基于实时数据库系统的IT资产性能监控解决方案

2015-05-30潘玉伟

中国新通信 2015年16期
关键词:网络设备端口资产

潘玉伟

【摘要】 实时数据库(Real Time Database)是数据库系统发展的一个分支,是数据库技术结合实时处理技术产生的,是开发实 时控制系统、数据采集系统、CIMS系统等的支撑软件。实时数据库系统的应用方便了数据采集、历史数据存储、提升系统尤其是数据库系统的性能,同时对后期数据挖掘提供了基础。

【关键字】 实时数据库 数据采集 网络拓扑 调度服务 告警

【Abstract】Real time database (Real Time Database) is a branch of database system development, database technologycombined with real-time processing technology, is to support the software development of real-time control system, data collection system, CIMS system etc.. The applications of the database to facilitate data collection, historical data storage, improve the system especially the performance of the database system, and provide the basis for data mining.

【Keywords】Real Time Database Data CollectionNetwork TopologyScheduling Service Alarm

一、引言

当前大多数公司都使用复杂的人工跟踪监测方式,或者根本不清楚自己的硬件资产基础。由于不了解自己IT资产的基础,从而导致了时间、资金以及系统性能上的损失。面对IT资产管理的迫切需求,对传统上被看作成本中心的IT部门也提出了更高的要求,"更充分利用现有资产"、"更严格地控制资产"、"获得更高的投资回报",这些不仅是企业对IT部门的殷切期望,也越来越成为企业考量IT部门的重要内容。

在IT资产性能监控领域,数据采集基本上使用自定义服务实现,将采集的数据存储在关系数据库中。通过实时数据库的使用,重复利用实时数据库插件,如OSI PI实时数据库系统插件MCN提供的数据采集接口SNMP/Ping/ TCPResponse/Perfmon,该插件能最大程度的减少开发周期,提高数据采集的性能和稳定性,而且实时数据库海量的存储有关系数据库不可比拟的优势。

二、系统总体架构

IT资产性能监控系统构建于JavaEE平台,采用分层提供服务支持的设计思想,多层架构是一种被行业证明过的软件架构模型,对开发一些解决可扩展性、安全性、容错性方面的企业级(客户端/服务端)应用程序支持。将系统划分为数据库层、数据访问层、业务逻辑层、业务表现层和系统接口层。系统对每一层定义明确的功能接口,同时在层次内实现组件化的接口实现。层次化、模块组件化的实现,使系统具备了最大程度的灵活度,从而能对业务需求的变化做出快速的反应,使系统具有很好的扩展性。(图2)

三、系统部署结构

IT资产性能监管系统部署在企业内网环境中,可以采用虚拟服务器、单机服务器、双机热备或集群方式部署服务端。系统服务端在华电国际总部采用总部虚拟机部署、总部及电厂客户通过广域网访问。集团广域网提供了足够的带宽,系统在数据采集和http访问请求不会对其他正常的网络通讯造成实质性影响。(图3)

四、关键技术

4.1 ExtJS

ExtJS可以用来开发RIA也即富客户端的AJAX应用,是一个用JavaScript写的,主要用于创建前端用户界面,是一个与后台技术无关的前端Ajax框架。因此,可以把ExtJS用在.Net、Java、PHP等各种开发语言开发的应用中。ExtJs最开始基于YUI技术,由开发人员JackSlocum开发,通过参考Java Swing等机制来组织可视化组件,无论从UI界面上CSS样式的应用,到数据解析上的异常处理,都可算是一款不可多得的JavaScript客户端技术的精品。

4.2数据采集及存储

本系统中主要使用OSI PI MCN 插件提供的SNMP/Ping/ TCP Response/Perfmon接口实现数据采集。关系数据库使用JDBC连接使用DBA权限的用户执行数据库执行脚本方式进行性能数据采集。

网络设备的大部分监控参数都支持SNMP协议,可以直接使用SNMP接口实现数据采集。网络设备主要监控的参数包括:连续运行时间、端口状态、端口管理状态、端口带宽、端口进流量、端口出流量、端口丢包率、端口错包率等。主机(包括虚拟机)主要监控的参数包括CPU利用率、内存利用率、网卡进出流量、磁盘使用量等可通过SNMP接口采集。进程信息、进程CPU利用率、进程内存占用量等信息通过JMX获取,JMX(Java Management Extensions,即Java管理扩展)是一个为应用程序、设备、系统等植入管理功能的框架。JMX可以跨越一系列异构操作系统平台、系统体系结构和网络传输协议,灵活的开发无缝集成的系统、网络和服务管理应用。

关系数据库如Oracle/SQL Server 等监控参数包括会话、服务进程、表空间、锁信息、内存占用等,通过Jdbc连接数据执行DBA权限的脚本进行参数查询,定时将参数值回写至实时数据库存储。

4.3 SSO

SSO英文全称Single Sign On,单点登录。SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。它包括可以将这次主要的登录映射到其他应用中用于同一个用户的登录的机制。SSO是目前比较流行的企业业务整合的解决方案之一。

本系统使用华电国际集团已经存在的LDAP目录存放的用户信息,LDAP目录中可以存储多种数据类型,包括用户名、密码、电子邮件地址、邮件路由等信息。LDAP协议是跨平台和标准的协议,对基于不同平台的应用系统有良好的兼容性。

4.4 HTML5

本系统的网络拓扑、应用系统拓扑使用了基于HTML5的网络图组件。使用HTML5 Canvas技术,绘制清新、流畅的网络图,可用于社交网络图、拓扑图、流程图、地图等需求, JS组件封装,藏繁琐于简洁,轻松构建优雅的互联网应用与企业应用,让数据的在线可视化变得容易。

该组件的特点是主要有以下几点:轻巧、高性能 -支持上万图元,流畅操作;矢量图形 - 支持SVG矢量图形,无极缩放;交互体验 -漫游交互,改进交互事件、支持手持设备;注重细节 -GIF动画,丰富渐变,层次控制等。

4.5 Quartz

Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用。Quartz可以用来创建简单或为运行十个,百个,甚至是好几万个Job这样复杂的程序。Job可以做成标准的Java组件或 EJB。

本系统中的参数告警、告警动作触发及关系数据库性能参数数据采集都是通过基于Quartz插件的调度服务结合调度服务管理页面Quartz UI实现。Quartz UI负责调度任务的注册、启停、触发器定义等,Quartz UI的运用使调度任务有了统一的管理入口,使调度服务类应用具备了良好的扩展性。

五、业务功能

5.1网络拓扑

本系统中通过基于HTML5组件的网络拓扑图直观展示网路设备如路由器、交换机、防火墙的状态。局域网拓扑、广域网拓扑主要监控网络设备的端口状态、端口流量、CPU利用率、内存利用率、端口丢包率、端口错包率等参数。端口状态由UP状态变成DOWN状态、端口流量超过阈值、设备的CPU或内存利用率超过阈值等,此网络设备的颜色变成红色、出现告警信息,系统会触发用户设置的告警动作,如短信通知、邮件通知和系统弹出框等。

通过拓扑图实现应用系统的全局直观展现。从网络层的路由器、交换机、防火墙到主机、数据库、中间件的全局监控、再借助HTTP模拟请求监控访问端口,实现对应用系统各个环节的全局监控,任何一个环节出现问题都会在拓扑图上红色告警并触发告警动作。通过应用系统拓扑,实现了应用系统的性能瓶颈的快速、准确定位。

5.2告警及通知

系统管理员通过管理页面设置告警参数和告警动作。告警参数需要设置告警级别、告警阈值(支持一般告警、严重告警、故障告警三个阈值)、持续时间、告警参数对应的测点。以主机CPU利用率为例来说明告警设置原则,如用户设置CPU利用率超过90%并且持续十分钟以上告警,需要用户自定义的参数包括:告警级别、告警描述、阈值上下限、持续时间。

对于核心资产的关键参数,为实现快速响应,用户可以设置告警动作来通知相关责任人,告警动作包括邮件、短信、系统弹出框等方式,用户还可以任意组合的告警动作。

5.3资产初始化

降低添加监控资产操作复杂度对提高整个系统的用户体验至关重要。因此在实现本系统资产初始化功能时,我们进行了多次颠覆式的调整,以最大限度的降低操作复杂度、提升用户体验。

主机、网络设备初始化,用户录入IP地址后系统自动检测主机逻辑磁盘、网卡、网络设备端口等部件信息,自动生成系统预定义的监控参数、自动按照定义的规则生成实时数据库测点信息、用户只需要将自动生成的测点导出,直接导入到实时数据库,即可完成设备监控的初始化,用户可以根据需要设置告警触发的动作。这种方式最大程度地简化了系统初始化工作,极大地提升了用户体验。

六、结语

基于实时数据库的IT资产监管系统方案,目的在于充分利用实时数据库吞吐量大、支持高并发、支持海量存储的优势,结合它自身的插件方便快捷地实现IT资产监控参数的采集和海量存储,提高了开发效率和系统稳定性、实现对主机(包括虚拟化主机)、网络设备、数据库、中间件等IT资产性能的全面监控。

参 考 文 献

[1]陶利军. 决战Nginx高性能Web服务器详解与运维系统卷.

[2]T. BONALD. 网络性能分析原理与应用.

[3]李先锋. 基于SNMP的网络设备性能监控系统的设计与实现.

猜你喜欢

网络设备端口资产
网络设备的安装与调试课程思政整体设计
一种基于C# 的网络设备自动化登录工具的研制
轻资产型企业需自我提升
央企剥离水电资产背后
端口阻塞与优先级
初识电脑端口
生成树协议实例探讨
关于资产减值会计问题的探讨
8端口IO-Link参考设计套件加快开发速度
把维护作为一种资产