概述:
下面介绍一个开源的 APM (Application Performance Management/应用性能管理)工具 - Pinpoint。一个分布式事务跟踪系统的平台,思路基于google Dapper,用于基于java的大规模分布式系统,通过跟踪分布式应用之间的调用来提供解决方案,以帮助分析系统的总体结构和内部模块之间如何相互联系。Pinpoint的目标就是为n(n>=1)层架构开发新的跟踪平台,为n层架构的系统提供解决方案。pinpoint 有3个主要组件组成:日志收集器[Collector]、控制台[Web]、代理[Agent],采用HBase进行存储。 Collector和Web都是WAR包,Agent采用一个JAVA应用程序加载。
Pinpoint的特点如下:
- 分布式事务跟踪,跟踪跨分布式应用的消息
- 自动检测应用拓扑,帮助你搞清楚应用的架构
- 水平扩展以便支持大规模服务器集群
- 提供代码级别的可见性以便轻松定位失败点和瓶颈
- 使用字节码增强技术,添加新功能而无需修改代码
- 安装探针不需要修改哪怕一行代码及trace server端部署简单,支持hdfs存储
- 具有简单的阀值触发报警功能
- 移植性比较强的,会比较讨人喜欢(相比cat)
- 插件化功能可扩展(https://github.com/naver/pinpoint/wiki/Pinpoint-Plugin-Developer-Guide)
学习博客: