pinpoint搭建部署并监控Tomcat详细教程

3 篇文章 0 订阅
1 篇文章 0 订阅

pinpoint介绍

Pinpoint是用Java / PHP编写的大规模分布式系统的APM(应用程序性能管理)工具。受Dapper的启发,Pinpoint提供了一种解决方案,可通过跟踪跨分布式应用程序的事务来帮助分析系统的整体结构以及其中的组件如何互连。

pinpoint监控特点

能够清晰的展示应用程序拓扑
实时的监控应用程序
获得每个交易的代码级可见性
安装APM代理而无需更改任何代码
对性能的影响最小(资源使用量增加约3%)

安装pinpoint

环境

两台Redhat7.1虚拟机

  • 192.168.56.132 server1 监控端,安装Hbase数据库,PinPoint-Collector,以及PinPoint-Web
  • 192.168.56.137 server2 被监控端,部署一个测试项目与PinPoint-Agent

所需安装包及版本

软件版本
pinpoint-collector1.7.3
pinpoint-agetn1.7.3
pinpoint-web1.7.3
hbase1.2.6
jdk1.8
tomcat8.0.53

server1安装hbase、pinpoint-collector、pinpoint-web

1.安装配置Java环境

虚拟机本身已安装Java8,先卸载掉

[root@server1 ~]# java -version
openjdk version "1.8.0_222"
OpenJDK Runtime Environment (build 1.8.0_222-b10)
OpenJDK 64-Bit Server VM (build 25.222-b10, mixed mode)
[root@server1 local]# yum remove java -y

将jdk包解压至/usr/local目录下

[root@server1 local]# tar -zxvf /root/Desktop/pinpoint/jdk-8u171-linux-x64.tar.gz -C .

配置Java环境变量

[root@server1 local]# vim /etc/profile
export JAVA_HOME=/usr/local/jdk1.8.0_171
export PATH=$PATH:$JAVA_HOME/bin
[root@server1 local]# source /etc/profile
[root@server1 local]# java -version
openjdk version "1.8.0_222"
OpenJDK Runtime Environment (build 1.8.0_222-b10)
OpenJDK 64-Bit Server VM (build 25.222-b10, mixed mode)

#### 
2.安装Hbase

将hbase包解压至/usr/local目录下

[root@server1 local]# pwd
/usr/local
[root@server1 local]# tar -zxvf /root/Desktop/pinpoint/hbase-1.2.6-bin.tar.gz -C .

修改hbase Java环境变量

[root@server1 local]# vim hbase-1.2.6/conf/hbase-env.sh
export JAVA_HOME=/usr/local/jdk1.8.0_171

修改hbase配置信息,制定hbase存储数据

[root@server1 local]# vim hbase-1.2.6/conf/hbase-site.xml 
<configuration>
  <property>
    <name>hbase.rootdir</name>
    <value>file:///data/hbase</value>
  </property>
</configuration>

建立/data/hbase目录

[root@server1 local]# mkdir -p /data/hbase

启动hbase

[root@server1 bin]# pwd
/usr/local/hbase-1.2.6/bin
[root@server1 bin]# sh start-hbase.sh 
[root@server1 bin]# ./start-hbase.sh 
starting master, logging to /usr/local/hbase-1.2.6/bin/../logs/hbase-root-master-server1.example.com.out
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option PermSize=128m; support was removed in 8.0
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0

出现这个报错是因为使用了Java8而Java8不支持这两个参数,将它们注释掉

[root@server1 conf]# vim hbase-env.sh 

#Configure PermSize. Only needed in JDK7. You can safely remove it for JDK8+

#export HBASE_MASTER_OPTS="$HBASE_MASTER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m"
#export HBASE_REGIONSERVER_OPTS="$HBASE_REGIONSERVER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m"

再次启动hbase

[root@server1 bin]# ./start-hbase.sh 
starting master, logging to /usr/local/hbase-1.2.6/bin/../logs/hbase-root-master-server1.example.com.out

使用jps命令可以看到HMAster说明已经启动成功了

[root@server1 bin]# jps
25335 HMaster
25465 Jps
3.初始化Hbase的pinpoint库
[root@server1 bin]# ./hbase shell /root/Desktop/pinpoint/hbase-create.hbase 
2020-03-25 21:59:48,654 WARN  [main] util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
TABLE                                                                                                                                       
AgentEvent                                                                                                                                  
AgentInfo                                                                                                                                   
AgentLifeCycle                                                                                                                              
AgentStat                                                                                                                                   
AgentStatV2                                                                                                                                 
ApiMetaData                                                                                                                                 
ApplicationIndex                                                                                                                            
ApplicationMapStatisticsCallee_Ver2                                                                                                         
ApplicationMapStatisticsCaller_Ver2                                                                                                         
ApplicationMapStatisticsSelf_Ver2                                                                                                           
ApplicationTraceIndex                                                                                                                       
HostApplicationMap_Ver2                                                                                                                     
SqlMetaData_Ver2                                                                                                                            
StringMetaData                                                                                                                              
TraceV2                                                                                                                                     
Traces                                                                                                                                      
16 row(s) in 0.0610 seconds

进入hbase

[root@server1 bin]# ./hbase shell
Version 1.2.6, rUnknown, Mon May 29 02:25:32 CDT 2017
hbase(main):001:0>

也可以通过网页访问IP+16010
在这里插入图片描述

4.安装部署pinpoint-collector

安装tomcat,用于部署pinpoin-collector

将tomcat包解压至/usr/local目录下并重命名为tomcat8

[root@server1 local]# tar -zxvf /root/Desktop/pinpoint/apache-tomcat-8.0.53.tar.gz -C .
[root@server1 local]# mv apache-tomcat-8.0.53/ tomcat8

修改tomcat端口避免与pinpoint-web冲突(这里统一将各端口号+10)

[root@server1 local]# cd tomcat8/conf
[root@server1 conf]# vim server.xml
<Server port="8015" shutdown="SHUTDOWN">
<Connector port="8090" protocol="HTTP/1.1"
<Connector port="8019" protocol="AJP/1.3" redirectPort="8453" />

将pinpoint-collector解压至tomcat程序目录下

[root@server1 ROOT]# pwd
/usr/local/tomcat8/webapps/ROOT

[root@server1 ROOT]# cp /root/Desktop/pinpoint/pinpoint-collector-1.7.3.war .
[root@server1 ROOT]# unzip pinpoint-collector-1.7.3.war 

启动tomcat

[root@server1 ROOT]# pwd
/usr/local/tomcat8/webapps/ROOT
[root@server1 ROOT]# unzip pinpoint-collector-1.7.3.war ^C
[root@server1 ROOT]# cd /usr/local/tomcat8/bin/
[root@server1 bin]# ./startup.sh 
5.安装pinpoint-web

再次解压tomcat并修改端口用于安装pinpoint-web

[root@server1 local]# tar -zxvf /root/Desktop/pinpoint/apache-tomcat-8.0.53.tar.gz -C .
[root@server1 local]# mv apache-tomcat-8.0.53/ tomcat8-1	#与pinpoint-collector所在tomcat进行区分改名为tomcat8-1

修改tomcat8-1端口避免与pinpoint-collector冲突

[root@server1 local]# cd tomcat8-1/conf
[root@server1 conf]# vim server.xml

<Server port="8025" shutdown="SHUTDOWN">
<Connector port="8010" protocol="HTTP/1.1"
<Connector port="8029" protocol="AJP/1.3" redirectPort="8463" />

将pinpoint-web解压至tomcat程序目录下

[root@server1 ROOT]# cp /root/Desktop/pinpoint/pinpoint-web-1.7.3.war .
[root@server1 ROOT]# unzip pinpoint-web-1.7.3.war 

启动tomcat8-1

[root@server1 conf]# cd ../bin
[root@server1 bin]# ./startup.sh

通过访问IP:8010访问pinpoint-web来验证是否安装完成
在这里插入图片描述
至此pinpoint server端已经安装完成
下来进行agent端安装

server2安装pinpoint-agent及测试

1.安装Java

可参考server1
先卸载系统自带Java

[root@server2 Desktop]# yum remove java* -y

将jdk解压至/usr/local目录下

[root@server2 local]# tar -zxvf /root/Desktop/pinpoint/jdk-8u171-linux-x64.tar.gz -C .

配置环境变量

[root@server2 local]# vim /etc/profile
export JAVA_HOME=/usr/local/jdk1.8.0_171
export PATH=$PATH:$JAVA_HOME/bin
[root@server2 local]# source /etc/profile
[root@server2 local]# whereis java
java: /usr/local/jdk1.8.0_171/bin/java
2.安装Tomcat用于部署测试项目

解压Tomcat至/usr/local/目录下

[root@server2 local]# tar -zxvf /root/Desktop/pinpoint/apache-tomcat-8.0.53.tar.gz -C .

将测试包解压至Tomcat程序目录下

[root@server2 ROOT]# pwd
/usr/local/tomcat8/webapps/ROOT
[root@server2 ROOT]# cp /root/Desktop/pinpoint/test.war .
[root@server2 ROOT]# unzip test.war 

访问Tomcat验证
在这里插入图片描述

3.安装pinpoint-agent

将pinpoint-agent安装在/usr/local/pinpoint-agent目录下

在/usr/local/目录下创建pinpoint-agent目录并将pinpoint-agent包解压至此目录

[root@server2 pinpoint-agent]# tar -zxvf /root/Desktop/pinpoint/pinpoint-agent-1.7.3.tar.gz -C .

编辑配置文件

将profiler.collector.ip改为server端IP

[root@server2 pinpoint-agent]# vim pinpoint.config 
profiler.collector.ip=192.168.56.132	#此IP为server端IP

pinpoint监控tomcat

在Tomcat的catalina.sh文件中添加pinpoint监控探针

三行探针分别表示如下

  • pp-agent目录下 pinpoint-bootstrap-1.7.3.jar 的全路径
  • agent的唯一ID,与被监控的其他项目不能相同
  • 采集项目的名字,pp-web页面中,下拉框选择项目时显示的名字

在tomcat的catalina.sh文件中添加探针

[root@server2 bin]# vim catalina.sh 
CATALINA_OPTS="$CATALINA_OPTS -javaagent:/usr/local/pinpoint-agent/pinpoint-bootstrap-1.7.3.jar"	#pinpoint包所在路径
CATALINA_OPTS="$CATALINA_OPTS -Dpinpoint.agentId=pp20200326"	
CATALINA_OPTS="$CATALINA_OPTS -Dpinpoint.applicationName=my-test1"	#applicationname是所监控项在pinpoint中展示的名字

启动Tomcat测试
可以看到Java进程中已经加载了pinpoint参数了

[root@server2 bin]# ./startup.sh 
[root@server2 bin]# ps -ef |grep java
root      28104      1 76 21:29 pts/0    00:00:05 /usr/local/jdk1.8.0_171/bin/java -Djava.util.logging.config.file=/usr/local/tomcat8/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -javaagent:/usr/local/pinpoint-agent/pinpoint-bootstrap-1.7.3.jar -Dpinpoint.agentId=my-tomcat8 -Dpinpoint.applicationName=1.7.3_Test_APP -Dignore.endorsed.dirs= -classpath /usr/local/tomcat8/bin/bootstrap.jar:/usr/local/tomcat8/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/tomcat8 -Dcatalina.home=/usr/local/tomcat8 -Djava.io.tmpdir=/usr/local/tomcat8/temp org.apache.catalina.startup.Bootstrap start

打开pinpoint-web页面检查是否有监控数据,可以看到已经监控到了

pinpoint

可以使用pinpoint监控Tomcat的堆栈信息和CPU等信息
在这里插入图片描述

至此,pinpoint监控已经搭建完成,并成功地监控到了tomcat的信息。pinpoint功能强大,不仅能监控tomcat还能监控weblogic、JBoss、wildfly等java容器,想要学习pinpoint的同学赶紧动手吧!

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值