性能测试利器 — 全链路监控工具Pinpoint安装教程(非docker版本)
1.1、相关简介
pinpoint是开源在github上的一款APM监控工具,它是由Java编写的,用于大规模分布式系统的监控;它对性能的影响最小(只增加约3%资源利用率),安装agent是无侵入式的,只需要在被测试的Tomcat中加上3句话,打下探针,就可以监控整套程序了。在性能测试过程中,可以用于监控请求的链路
1.2、相关组成
pipoint由pinpoint agent、pinpoint collector、pinpoint web、HBase 4部分组成
-
Pinpoint Agent:用于收集应用端监控数据,无侵入式,只需要在启动命令中加入部分参数即可;
-
Pinpoint Collector:数据收集模块,接收Agent发送过来的监控数据,并存储到HBase;
-
Pinpoint Web:监控展示模块,展示系统调用关系、调用详情、应用状态等,并支持报警等功能;
-
HBase:数据库,用于保存监控数据;
架构如下:
2、前期部署准备
分别进入https://github.com/pinpoint-apm/pinpoint/releases/tag/v2.3.3 和 http://archive.apache.org/dist/hbase/1.2.6/两个网站,下载安装部署所需的全部组件
-
pinpoint-web-boot-2.3.3.jar
-
pinpoint-collector-boot-2.3.3.jar
-
pinpoint-agent-2.3.3.tar.gz
-
hbase-create.hbase
-
hbase-1.2.6-bin.tar.gz
3、安装Hbase数据库
3.1、上传服务器并解压
在服务器/home目录下新增一个pinpoint文件夹,并将下载的组件全部上传至该目录下
cd /home mkdir pinpoint cd pinpoint 使用rz命令将相关组件上传至该目录下
解压hbase-1.2.6-bin.tar.gz
tar -zxvf hbase-1.2.6-bin.tar.gz
3.2、修改相关配置文件
增加hbase环境变量
vim /etc/profile # HBase环境变量 export HBASE_HOME=/home/pinpoint/hbase-1.2.6 export PATH=$PATH:$HBASE_HOME/bin
保存退出后,执行下面的命令使其生效
source /etc/profile
修改hbase-env.sh中的JAVA_HOME环境变量位置
cd /home/pinpoint/hbase-1.2.6/conf
vim hbase-env.sh
# 在27行左右的位置,修改如下 export JAVA_HOME=/usr/local/paas-agent/Oracle-Linux-x86_64-1.8.0_192 # 在124行开启自带zookeeper export HBASE_MANAGES_ZK=true
修改HBase配置文件hbase-site.xml
注:由于是单机部署,故不使用HDFS存储数据,直接将数据存储在本地服务器中
<configuration> <property> <name>hbase.rootdir</name> <value>file:///home/data/hbase</value> </property> <property> <name>hbase.zookeeper.property.dataDir</name> <value>/home/data/zookeeper</value> </property> <property> <name>hbase.cluster.distributed</name> <value>false</value> </property> </configuration>
cd /home/pinpoint/hbase-1.2.6/bin
./start-hbase.sh
输入jps命令,当hbase数据库启动成功,则会显示HMaster进程
cd /home/pinpoint/hbase-1.2.6/bin
./hbase shell /home/pinpoint/hbase-create.hbase
验证pinpoint库是否初始化成功,有两种方法
方法1:进入数据库,查看初始化表
#进入数据库 cd /home/hbase-1.2.6/bin ./hbase shell #查看初始化表 list
方法2:登录web,查看初始化数据是否成功,web地址为:服务器http://IP:16010/master-status
cd /home/pinpoint
nohup java -Dpinpoint.zookeeper.address=localhost -jar /home/pinpoint/pinpoint-collector-boot-2.3.3.jar >/var/logs/pinpoint-collector.log 2>&1 &
cd /home/pinpoint
nohup java -Dpinpoint.zookeeper.address=localhost -jar /home/pinpoint/pinpoint-web-boot-2.3.3.jar >/var/logs/pinpoint-web.log 2>&1 &
vim /home/pinpoint-agent-2.3.3/profiles/release/pinpoint.config profiler.collector.ip=xxx.xxx.xxx.xxx #hbase服务器地址 profiler.transport.grpc.collector.ip=xxx.xxx.xxx.xxx # 即安装pinpoint-collector的虚拟机IP profiler.sampling.counting.sampling-rate=1 #采样率配置,访问量不大的情况,建议全部采集
与被测服务一起启动
将pinpoint-agent组件放到被测系统服务器上,并将启动命令集成到被测服务启动脚本中,随着被测服务一起启动
nohup java -javaagent:/home/pinpoint/pinpoint-agent-2.3.3/pinpoint-bootstrap-2.3.3.jar -Dpinpoint.agentId=retail -Dpinpoint.applicationName=retail -jar retail.jar > nohup.out 2>&1 &
该命令只是举例,具体命令需根据实际被测系统的启动脚本来定
1、如果hbase数据库使用的是1.0版本以下的,登录Hbase数据库服务端,端口号应为60010,而1.0版本以上的,端口号已改为16010
2、如果hbase数据库使用的是1.4.9版本,则存在hbase服务端无法打开的问题,初步排查是因为16010端口无法启动,具体原因未知,此时需要将hbase数据库的版本降到1.2.9版本即可