
文章插图
今天准备谈下ESB总线平台建设项目中的服务运行统计分析 , 服务心跳监测 , 服务监控预警方面的设计和实现 。可以看到 , 在一个ESB服务总线平台上线后 , SOA治理管控就变得相当重要 , 而这些运行监控分析本身也是提升ESB总线平台高可用性的关键 。
对于ESB总线本身的高可用性建设 , 我在前面写过一篇文章可以参考 。
大型集团ESB服务总线平台建设项目高可用性实践总结
【大型ESB服务总线平台服务运行分析和监控预警实践】今天主要分享下对于这类大型ESB总线平台建设项目在服务运行统计分析 , 服务心跳监测 , 服务监控 , 服务预警等配合高可用性能力方面的一些实践总结 。
对接口服务运行统计分析的思考对于ESB服务运行监控 , 从SOA服务管控和治理层面来看 , 经常会涉及到的KPI性能指标并不多 , 主要还是体现在运行次数 , 运行时间等关键的维度 , 如果考虑到指标本身之间的关联关系方便分析 , 那么还需要增加服务运行的并发数(分钟级) , 服务调用的数据量等关键指标 。
举例来说 , 当我们发现服务调用变慢了 , 即服务运行时间明显增加了 , 那么我们需要分析是否是该服务本身的并发量是否增加了 , 还是说服务本身调用的数据量增加了 , 还是说其它服务调用的并发量和数据量增加了导致该服务的资源被占用等 。这些都是可能需要涉及到关联分析的地方 。
首先我们来看下单次服务运行能够采集和记录的关键数据
- 服务运行时间(服务请求开始 to 服务请求结束)
- 服务运行是否成功(True or False)
- 服务传输的消息报文大小
- 服务名称
- 服务提供的系统 , 包括服务提供系统归属的组织类别等
- 服务消费方系统
- 正常调用还是非法调用

文章插图
接着再来看某个时间周期的情况 , 比如1个小时 , 1天 , 1周或1个月的统计时间周期
- 运行次数 , 对运行次数进行求和
- 最大分钟级并发数 , 取并发数的Max值
- 异常数 , 对异常数按时间点进行求和
- 告警数 , 对告警数按时间点进行求和
- 服务最大运行时间 , 最小运行时间 , 平均运行时间
- 服务消息报文最大报文 , 最小报文 , 平均报文容量
- 按服务目录-》按服务
- 按企业-》子公司-》子组织
- 按应用域-》按应用系统-》按模块
- 按服务类型-》服务子类型
- 按服务提供系统 , 服务消费系统
基于以上思考 , 我们整合了一个面向组织和业务系统的服务运行统计分析报表 , 可以按系统的维度详细的查看到自己提供和消费的接口服务的运行情况 , 异常情况 , 并发量和数据量 , 异常和告警等各种关键信息 。如下参考:

文章插图
为了做完整的服务运行和性能分析 , 我们最好还需要对中间件资源池(应用服务器和数据库服务器)的CPU , 内存利用率 , 存储使用量等关键指标进行实时的性能分析和监控 。在实际的性能分析和监控中往往也是首先会从CPU和内存告警上第一时间反应出服务当前运行出现异常(如大并发 , 超大数据传输等) , 然后我们在通过实际的日志监控分析功能快速的查看当前服务运行的并发情况 , 传递的数据量情况等 。
当我们发现如果一个服务经常运行大并发 , 大数据量的异常调用的时候 , 则需要对服务单独启用流量控制策略等 。比如:
推荐阅读
- CentOS系统下PXE服务器的搭建与部署
- 程序员创业必备:如何让Web服务支持https,有哪些免费CA机构
- 微服务:Eureka,Ribbon,Hystrix
- 5分钟搭建公网https网页文件服务器,免费权威TLS证书
- 一个比 Nginx 功能更强大的 Web 服务器
- 2021寒假儿童关爱服务四送活动总结?2021寒假儿童关爱服务观后感
- 一般公司或者团队是怎么进行代码开发并且部署到服务器上的?
- 家用无线路由器DHCP服务器配置方法
- 云计算核心技术Docker教程:docker-compose控制服务启动和关闭顺序
- 为什么不让养大型犬?养一只大型犬是什么体验
