我们现在的企业环境,很多时候监控重点从基础架构的监控转移到了业务的监控,监控的目标包括业务健康度监控、业务性能监控等。
那么:
1. 基于业务的监控需要能够清晰的描述一个业务的内部架构关系,这种关系的描述有什么样的好方法么?有没有一些成型的工具、开源软件能够使用。是自动生成业务架构关系还是需要手工绘制?
2. 业务的性能监控有什么好方法?
简单来谈一谈业务方面的监控,欢迎大家赐教。
1,内部业务架构关系归根到底,是服务的管理,业务架构关系只是服务之间的依赖关系,是服务管理的产出之一。这块开源的工具非常多了,像常见zookeeper, etcd,如果做复杂点,可以使用图数据库neo4j等等。
但工具并非事情的核心,更重要的是如何基于工具构建依赖体系,那就涉及到服务管理了。简单谈谈。
服务管理包括服务元信息管理、服务操作等功能。
l 服务元信息管理
n 服务项创建功能,配置服务项的元信息
u 服务名称
u 服务依赖
u 日志配置
u 部署节点
u 操作脚本
n 服务元信息变更功能
n 服务元信息展示功能
l 服务操作
n 支持可视化操作界面
n 服务远程启动
n 服务远程关停
n 服务操作日志查看
只有通过服务管理,才能构建精准、实时更新的依赖关系管理,必须是程序更新的。
2,关于业务的性能监控,主要包括2大部分:
a,如何衡量业务系统性能?这个仁者见仁智者见智,但最重要的是匹配自己的业务模型。常见的像整体的TPS,时延,并发,吞吐等,小到某个组件的qps,处理能力,处理时延等。关键是找出具有代表性的指标,可以整体刻画出业务的性能。
b,如何收集程序的性能?这个就多了。
* 日志收集与分析,不但可以收集性能数据,还可以生产报表,排查错误
* 业务接口,业务通过暴漏接口,将内部的性能统计数据给出
* 模拟访问,模拟用户访问,进行抽样统计的性能数据收集
收起