效果图:
搭建步骤
Pinpoint github地址:GitHub - pinpoint-apm/pinpoint: APM, (Application Performance Management) tool for large-scale distributed systems.
下载对应的包以及安装hbase
首先安装hbase
hbase版本是1.7.1, 下载地址:Index of /dist/hbase/1.7.1
注:为什么需要用这个版本,其它版本不行吗?往下面看有说明
解压:
修改配置:
1. 把export JAVA_HOME 改成你本地的jdk安装目录
2. 注释掉 ,对应的行数37、46、47
export HBASE_OPTS
export HBASE_MASTER_OPTS
export HBASE_REGIONSERVER_OPTS
启动hbase:
bin/start-hbase.sh (windows用bin/start-hbase.cmd)
启动之后需要导入pinpoint需要的表,脚本地址:pinpoint/hbase/scripts at v2.4.2 · pinpoint-apm/pinpoint · GitHub
下载:hbase-create.hbase 文件,启动hbase, bin/start-hbase.sh
再使用hbase命令执行:bin/hbase shell ../pinpoint/shell/hbase-create.hbase
我这里使用的是相对路径,自行修改成本地路径即可
有上图信息则说明执行成功了 ,至此HBASE已经安装配置完成。
注:这个版本的hbase没法访问127.0.0.1:16010
Pinpoint启动
用的版本是2.4.2,需要用到的包入下:
为了启动方便,我写了2个脚本,分别执行pinpoint-collector-boot-2.4.2.jar和pinpoint-web-boot-2.4.2.jar
大家可以使用官网的命令进行执行
1.运行collector-boot-xxx.jar
java -jar -Dpinpoint.zookeeper.address=localhost pinpoint-collector-boot-2.4.2.jar
2.运行web-boot-xxx.jar
java -jar -Dpinpoint.zookeeper.address=localhost pinpoint-web-boot-2.4.2.jar
查看日志,没有报错则代表运行成功。可以访问web页面:http://localhost:8080/main
此时还没有接入应用。
注: 运行需要jdk11+
应用接入
笔者这里使用了springboot项目,接入也很简单
1.首先把刚刚下载的包pinpoint-agent-2.4.2.tar.gz进行解压
2.运行springboot项目时运行参数
-javaagent: pinpoint-agent-2.4.2/pinpoint-bootstrap-2.4.2.jar-Dpinpoint.agentId=127.0.0.1 #唯一id-Dpinpoint.applicationName=xxx 应用名称执行命令
nohup java -javaagent:pinpoint-agent-2.4.2/pinpoint-bootstrap-2.4.2.jar -Dpinpoint.agentId=xxx -Dpinpoint.applicationName=xxx -jar app.jar > console-***.log 2>&1 &
执行成功之后再次访问:http://localhost:8080/main, 可以选择我们的应用了。
然后调用接口在pinpoint中就可以看到了
注:如果调用多次接口在pinpoint中都没有请求记录,则可能需要改下pinpoint-agent-2.4.2/profiles/release/pinpoint.config文件中的配置改成1
profiler.sampling.counting.sampling-rate=1
开启异步监控参考:pinpoint/README.md at master · pinpoint-apm/pinpoint · GitHub
异常处理
运行pinpoint-collector-boot.jar时,报错了。本来笔者hbase版本用的是最新版3.0,后来换成2.5都不行,查看日志报了如下错误。
源码中进行了版本比较
再一查日志,发现客户端用的版本是1.7.1
解决方法:一是编译源码,改掉客户端的版本,二是更换hbase版本
这里补充说明一下
上面所说的使用hbase 1.7.1是因为笔者本来下载的是hbase 3.0.0版本,奈何报了客户端版本的错误,导致降低hbase版本到1.7.1。
实际上github上有hbase 2.x相关的jar,奈何当时没注意到。
后来有空想把这个制作成镜像的时候发现的。有需要的可以用docker启动试试
docker pull youys/pinpoint