本文示例代码已上传至github:
https://github.com/ZhaiBo/microservice-scaffold
Pinpoint 1.8.5文档:
https://naver.github.io/pinpoint/1.8.5/docker.html
安装Pinpoint
使用官方提供的docker-compose快速安装Pinpoint。
克隆代码到本地
使用此命令克隆pinpoint-docker到本地,git clone https://github.com/naver/pinpoint-docker.git
可以看到如下文件:
启动
docker-compose pull && docker-compose up -d
看到控制台打印以下信息,说明启动完成:
验证
访问localhost:8079
,看到如下页面,即代表启动成功,但此时是没有应用信息的,需要我们使用pinpoint-agent来收集SpringBoot应用的调用链路数据。
此外,也可查看Habse的WebUI地址:http://localhost:16010
SpringBoot应用整合
打开Pinpoint WebUI点击右上角设置按钮可以看到这个界面,点击Installation可看到集成教程。
下载配置Pinpoint Agent
首先下载Pinpoint Agent
pinpoint-agent-1.8.5.tar.gz
解压后,修改配置文件:
- 修改第8行为Pinpoint部署ip
- 在第184行添加应用类型SPRING_BOOT
- 在第420行添加SpringBoot启动类全路径,多个用逗号隔开。
javaagent方式启动SpringBoot应用启动
javaagent方式启动SpringBoot应用:
java -javaagent:./pinpoint-agent-1.8.5/pinpoint-bootstrap-1.8.5.jar -Dpinpoint.applicationName=remote-user-svc -Dpinpoint.agentId=00009 -jar ./user-svc-1.0-SNAPSHOT.jar
发起SpringBoot应用的api调用,完成后,查看Pinpoint WebUI,可以看到应用链路的调用图表:
也可查看对应的JVM使用情况:
如果要看到整个服务调用的链路,需要在pinpoint配置文件中添加各个模块的启动类,并且以javaagent方式启动应用。
注意
pinpoint-agent在windows下似乎是不能收集到调用链路数据的,只能收集到jvm数据。
windows下这种方式启动SpringBoot应用控制台会输出:
最终,是将应用打成jar包,在CentOS下才成功收集到调用链数据。