监控调研
背景
性能压测后,逐个埋点添加各种StopWatch。
两个缺点:
- 侵入了业务逻辑,降低可读性
- 耗时,工作量大
期望:
- 【注解】 基于配置或注解可以精确控制要添加性能监控的method或class
- 【指标维度全面】监控指标全面,除了常见的QPS、Req Cost Time,还要有TPS, P90, P95 ,P99等指标
- 【可视化】最好有图形化的界面可以实时看到各个method的性能状况
方案调研
- 商业
OneAPM、NewRelic等基于java agent实现无侵入监控性能指标。 - 开源
【一站式】open-tracing
【定制化】metrics + aop + AMQP中间件 + InfluxDB + Grafana
分析
根据目前的需求,需要灵活的定制化监控项,可控的监控数据流,因此原则定制化开源项。
方案细节
组件调研
监控指标采集
- Metrics
- AOP
指标数据传输
- AMQP选型
指标数据落地
时间序列数据库
InfluxDB
指标数据展示
- Grafana
方案打通
测试上线
Reference