Pinpoint是一个开源的 APM (Application Performance Management/应用性能管理)工具,用于基于java的大规模分布式系统,基于Google Dapper论文。
架构组成
Pinpoint主要由四部分组成:
Pinpoint-Collector:数据收集模块,接收Agent发送过来的监控数据,并存储到HBase数据库
Pinpoint-Agent:用于收集应用端监控数据,无侵入式,只需要在启动命令中加入部分参数即可
Pinpoint-Web:UI,展示性能数据
HBase Storage:监控展示模块,展示系统调用关系、调用详情、应用状态等,并支持报警等功能
优点:
1、分布式事务跟踪,跟踪跨分布式应用的消息
2、自动检测应用拓扑,帮助你搞清楚应用的架构
3、水平扩展以便支持大规模服务器集群
4、提供代码级别的可见性以便轻松定位失败点和瓶颈
5、使用字节码增强技术,添加新功能而无需修改代码
功能:
1、故障快速定位
2、各个调用环节的性能分析
3、数据分析等
4、生成服务调用拓扑图
软件下载地址:
Pinpoint GitHub 地址:
https://github.com/naver/pinpoint
https://github.com/pinpoint-apm/pinpoint/releases/tag/1.8.5
hbbase下载地址:
http://archive.apache.org/dist/hbase/
初始化pinpoint库
下载脚本:https://github.com/naver/pinpoint/blob/master/hbase/scripts/hbase-create.hbase
https://raw.githubusercontent.com/pinpoint-apm/pinpoint/master/hbase/scripts/hbase-create.hbase
部署软件版本信息:
jdk1.8.0_172
pinpoint-agent-1.8.5
pinpoint-collector-1.8.5
pinpoint-web-1.8.5
hbase-1.2.12
部署主机信息:
ip地址 | 角色 | 操作系统 | 部署服务 |
10.0.10.201 | 服务端 | CentOS 7.8 | jdk collector web hbase tomcat8 |
10.0.10.46 | agent端 | CentOS 7.8 | jdk agent spring-cloud service |
10.0.10.87 | agent端 | CentOS 7.8 | jdk tomcat java service |
环境安装:
1、安装JDK
解压自行安装,环境变量配置如下:
# java config export JAVA_HOME=/usr/local/jdk1.8.0_172 export PATH=${JAVA_HOME}/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar