论文部分内容阅读
随着互联网电子商务的发展,网络交易已经与人们的生活紧密相连。为了监控交易系统的运行状况,了解交易的结果,各个企业和团队需要设计和开发一套监控报警系统。如何提高监控报警系统的通用性、易用性以及如何实现报警规则的灵活性?这些都是本文所要解决的问题。本文研究和开发了一套基于Groovy的通用交易监控报警系统,可适用绝大部分交易系统,能够监控交易统计结果并且能够根据自定义的报警规则发出警告。本文研究了目前监控报警系统的发展状况,了解了其系统架构和使用的技术。总体来说系统划分为四个部分,数据采集、计算统计、数据监控和弹性报警。数据采集部分是将原交易系统的交易数据采集到通用报警系统。计算统计部分负责将采集到的数据计算为统计数据并存储起来。数据监控部分提供监控相关的服务。弹性报警部分是根据用户编写的报警规则对异常现象进行报警。本文所研发的监控报警系统实现了以下解决方案,该方案包含四个方面。1.基于日志文件的数据采集。该方案定义了一种日志文件格式,通过对该日志文件进行解析,即可获得交易系统的原始数据。该方案适用绝大部分交易系统,对原交易系统改动最小甚至没有改动。2.基于SQL的计算统计。该方案使用的是数据库的统计函数,根据指标配置信息将采集到的原始数据计算成指标数据并存储到数据库中。3.基于Groovy的报警规则管理。该方案是使用Groovy脚本作为报警规则,因其可以与Java程序无缝连接,支持元编程,极大的提高了系统的可拓展性,并且为系统不间断运行提供了可能。4.RESTful的系统管理服务。系统前后台架构采用Spring+Jersey+Mybatis的RESTful的架构风格,实现了与监控报警相关的管理服务,包括日志模型管理、指标管理、监控服务、警报管理、角色管理和订阅管理。本文研发的监控报警系统具有较好的通用性,适用大部分交易系统,也具有一定的灵活性,能够计算多种指标数据并且自定义报警规则。