概述
Pinpoint 是一个针对java语言的大规模的分布式系统的APM (Application Performance Management)工具。Pinpoint提供了一个解决方案,通过跟踪分布式应用程序间的事务,帮助分析系统的总体结构及其中的组件是如何互连的。
提供应用程序的拓扑结构及实时监视
获得每个事务的代码级可见性
在不更改一行代码的情况下安装APM代理
对性能的影响最小(大约3%的资源使用增加)
HBase(用于存储)
搭建HBase cluster集群,参考链接
通过/scripts/hbase-create.hbase脚本创建HBase的Schemas
Pinpoint收集器(部署在web容器) (二进制文件链接).
获取Pinpoint源码git clone $PINPOINT_GIT_REPOSITORY
设置环境变量JAVA_HOME为JDK 8根目录;JAVA_6_HOME为JDK 6 根目录 (推荐使用1.6.0_45);JAVA_7_HOME为JDK 7 根目录 (推荐使用1.7.0_80);JAVA_8_HOME为JDK 8根目录。
运行./mvnw clean install -Dmaven.test.skip=true
Pinpoint的Web(部署在Web容器) (详情)
部署pinpoint-collector-$VERSION.war 到web容器.
配置pinpoint-collector.properties, hbase.properties.
启动容器
部署pinpoint-web-$VERSION.war到web应用.
配置pinpoint-web.properties, hbase.properties.
启动容器
Pinpoint的代理(附加至java应用程序用于收集数据进行分析) (详情)
设置$AGENT_PATH为pinpoint-agent/ 所在目录
设置-Dpinpoint.agentId及-Dpinpoint.applicationName命令行参数及JVM参数-javaagent:$AGENT_PATH/pinpoint-bootstrap-$VERSION.jar
然后启动应用
组件docker方式的安装,参见链接:https://naver.github.io/pinpoint/1.7.3/docker.html
Pinpoint首页展示截图如下: