====== 交易监控中间件_需求 ====== ===== 背景 ===== 系统上线一段时间后,希望可以查看和统计项目各个维度的请求次数,并发量,时间消耗,TPS,处理性能以及异常交易统计。 分析这些数据从而优化一些不理想的场景:时间消耗太多需要优化代码逻辑,优化代码算法,优化tomcat配置,使用缓存,加索引,主从读写分离,分库分表,加机器。。。啪啪啪。。。等等 ===== 监控对象 ===== 方法路径+方法名称 比如: 方法路径:com.shhxzq.fin.lifeapp.biz.impl.credit.LaCreditServiceImpl.bindCard 方法名称:绑卡 ===== 横向监控维度 ===== 横向以这几个维度来记录 - 对外提供的服务 - 内部调用的服务 - 调用外部的服务 - SQL ===== 纵向监控维度 ===== 纵向以这几个维度来记录 - 如果是[调用外部的服务]需要记录调用什么系统 - 记录入参 - 记录出参 - 记录该方法是否异常发生(被动异常/主动异常) - 开始时间 - 结束时间 - 耗时(毫秒) - 机器ip - 备注字段1,2,3(用于不同系统不同业务场景下自定义监控维度) ===== 统计维度 ===== 一段时间内的统计维度 - 并发数 - 平均耗时 - TPS ===== 界面需求 ===== ==== 明细查询需求 ==== 条件: - 方法路径 - 横向维度,即方法类型(对外/内部/调用外部/SQL) - 外部系统 - 记录该方法是否异常发生(被动异常/主动异常) - 开始时间 - 结束时间 - 耗时(毫秒) - 机器ip - 备注字段1,2,3(用于不同系统不同业务场景下自定义监控维度) 赛选结果: 赛选出明细数据,包括入参,出参,落库日期,落库时间 示例: {{:分享:技术:交易监控:xq_1.png?800|}} {{:分享:技术:交易监控:xq_2.png?800|}} ==== 统计需求 ==== 条件: - 方法路径 - 横向维度,即方法类型(对外/内部/调用外部/SQL) - 外部系统 - 记录该方法是否异常发生(被动异常/主动异常) - 开始时间 - 结束时间 - 耗时(毫秒) - 机器ip - 备注字段1,2,3(用于不同系统不同业务场景下自定义监控维度) 赛选结果: - 并发数 - 平均耗时 - TPS 示例: {{:分享:技术:交易监控:xq_3.png?800|}} ==== 实时监控需求 ==== 条件: - 方法路径 - 横向维度,即方法类型(对外/内部/调用外部/SQL) - 外部系统 - 机器ip - 实时(刷新) - 非实时,选择时间段:开始时间+结束时间 - 备注字段1,2,3(用于不同系统不同业务场景下自定义监控维度) 赛选结果,曲线展示: - 并发数 - 平均耗时 - TPS 示例: {{:分享:技术:交易监控:xq_4.png?800|}} {{:分享:技术:交易监控:xq_5.png?800|}} ===== 附件 ===== {{:分享:技术:交易监控:生活应用交易监控需求_v1.0_.docx|}}