花了两个小时设计的高富帅方案(UPP监控平台架构设计)
目录
UPP监控平台架构设计
1.1背景1.引言
随着接入UPP的销售系统不断增加,接入的网关也不断增加,UPP担任的角色也越来越重要,UPP需要和各种角色进行频繁的交互,同时自身也是需要多个子系统进行频繁的交互来实现各种业务。在这种复杂环境下,一旦发生业务故障或应用、服务器故障,其问题根源和影响面很难准确定位。
这样一来,必须要有一个系统,能非常实时的获取与合作伙伴之间、子系统之间的交互状态,按各种需要的维度进行周期性统计,得到各种视角的报表,以供运维和应急人员实时定位故障。 同时它是一个及时的、可靠的、专业的监控平台,对各个销售系统、各个网关、各个关键点进行监控。
1.2编写目的
本概要设计文档从总体上把握UPP监控系统设计框架,包括模块划分、监控功能点划分、处理流程和接口设计。
1.3定义
UppMonitor:统一支付平台监控。
2.范围
2.1
系统主要目标
构建一个对UPP的综合监控平台,包括服务器监控、应用系统监控、网络监控、数据库监控四个模块。实现对upp的全面监控,出现问题能及时报警,并能准确快速的定位出现问题的故障点,提高运行保障维护效率。并且为领导提供相关的统计与决策分析数据。
2.2主要软件需求
UPP各项指标监控,故障报警,故障定位,支付效能统计。
2.3设计约束、限制
无。
3.软件系统结构设计
3.1.监控方案:
①传统方式:
传统模式是通过一定数据抽取、清洗、转换、装载等技术获取数据库的数据,再扔进数据仓库里面,接着对数据仓库的数据进行统计处理,达到业务数据监控的效果。
这种方式对于时效性不高的场合比较常用,而对于时效性要求较高的场合不可采用此种方法。需要对这种形式改进。
②改进方式:
改进方式是引入了一个备库,通过某种数据库复制技术把生产库数据复制到备库,然后狂虐备库数据库,进行统计处理,监控业务数据。
这种方式的时效性已经明显提升,并且比较容易维护,只需维护好生产库与备库之间的同步,且监控可以随便查备库数据,不怕影响生产。
③继续改良方式:
在各子系统链路上,都对每一笔业务、每一次交互有着不同程度的日志记录,通过在每台子系统服务器上部署一个代理agent,以合适的频率将有用的日志传输到日志服务器,日志服务器部署日志分析程序,将分析结果放到数据库,通过sql语句对数据库查询,得到监控报表 。
④高富帅方式:
继续改进方式,通过将日志各个链路应用产生的日志集中传递到计算机集群里进行分析,产出报表。
在各子系统链路上,都对每一笔业务、每一次交互有着不同程度的日志记录,通过在每台子系统服务器上部署一个代理agent,以合适的频率将有用的日志传输到计算集群,实时对所有数据进行计算,产出周期性报表 。
3.2软件体系结构
3.2.1结构图
3.2.2功能模块说明
3.2.2.1服务器监控
主要监控生产服务器的健康状态。包括cpu占用率、内存占用率、磁盘、进程、端口等各项指标。
3.2.2.2应用系统监控
主要提供应用级别的监控,包括报表的查询、应用异常报警、日志管理、应用运行统计等模块。其中以实时交易走势图效能监控为主,能做到实时地监控支付平台的交易情况。
3.2.2.3网络监控
提供对局域网、外网的监控。其中主要对银行及其第三方支付商的网关的健康进行监控,并能在出现网络问题时及时通知运维人员。
3.2.2.4数据库监控
对数据库各项指标进行监控。
4.主要技术介绍
监控系统搭建
Struts+spring+Hibernate。
日志拷贝
①植入性JAR包+日志拷贝
②植入性JAR包+socket传输
③Log4j的远程socket模式
④零拷贝技术sendfile
日志分析程序
Swing+java+jdbc
5.需要硬件
1、一台A档服务器、两台B档服务器,一台C档服务器。
A档用于apache,部署监控系统前台;
B档用于tomcat,部署监控系统后台;
B档用于日志服务器,存放日志、部署日志分析程序;
C档用于安装Mysql;