工作专题java学习我爱编程

CentOS7上搭建PINPOINT并运行SpringBoot项

2018-05-11  本文已影响136人  05a6eeb096ea

开始

pinpoint是开源在github上的一款APM监控工具,它是用Java编写的,用于大规模分布式系统监控。它对性能的影响最小(只增加约3%资源利用率),安装agent是无侵入式的,只需要在被测试的Tomcat中加上3句话,打下探针,就可以监控整套程序了。这篇Blog主要是想记录一下它安装的过程,方便日后查阅。

image.png
image.png
image.png
image.png
image.png

创建一个新的用户并且添加密码

[root@iZbp1bicryse8r4xe1asq4Z ~]# useradd wong
[root@iZbp1bicryse8r4xe1asq4Z ~]# passwd wong
切换到该用户并且创建文件
[root@iZbp1bicryse8r4xe1asq4Z ~]# su wong
[wong@iZbp1bicryse8r4xe1asq4Z root]$ cd ~
[wong@iZbp1bicryse8r4xe1asq4Z ~]$ mkdir pinpoint/dow
[wong@iZbp1bicryse8r4xe1asq4Z ~]$ cd pinpoint/dow/

下载需要的文件

我这里用的pinpoint是1.7.3版本的 habse选用1.2.0

你可以自己选择下载版本,或者选择我所使用的版本

[wong@iZbp1bicryse8r4xe1asq4Z dow]$ wget https://github.com/naver/pinpoint/releases/download/1.7.3/pinpoint-agent-1.7.3.tar.gz
[wong@iZbp1bicryse8r4xe1asq4Z dow]$ wget https://github.com/naver/pinpoint/releases/download/1.7.3/pinpoint-collector-1.7.3.war
[wong@iZbp1bicryse8r4xe1asq4Z dow]$ wget https://github.com/naver/pinpoint/releases/download/1.7.3/pinpoint-web-1.7.3.war
[wong@iZbp1bicryse8r4xe1asq4Z dow]$ wget https://github.com/naver/pinpoint/raw/master/hbase/scripts/hbase-create.hbase
[wong@iZbp1bicryse8r4xe1asq4Z dow]$ wget http://archive.apache.org/dist/hbase/1.2.0/hbase-1.2.0-bin.tar.gz
[wong@iZbp1bicryse8r4xe1asq4Z dow]$ wget http://archive.apache.org/dist/tomcat/tomcat-8/v8.5.3/bin/apache-tomcat-8.5.3.tar.gz

pinpoint项目地址
pinpoint下载地址
hbase-create-snappy.hbase下载地址
hbase下载地址
tomcat下载地址

这个是官方的兼容列表


image.png
查看下载文件
[wong@iZbp1bicryse8r4xe1asq4Z dow]$ ll
总用量 247660
-rw-rw-r-- 1 wong wong   9272944 6月   9 2016 apache-tomcat-8.5.3.tar.gz
-rw-rw-r-- 1 wong wong 108052350 2月  23 2016 hbase-1.2.0-bin.tar.gz
-rw-rw-r-- 1 wong wong     16139 5月  11 11:42 hbase-create-snappy.hbase
-rw-rw-r-- 1 wong wong   8906297 5月   3 14:23 pinpoint-agent-1.7.3.tar.gz
-rw-rw-r-- 1 wong wong  48343632 5月   3 14:24 pinpoint-collector-1.7.3.war
-rw-rw-r-- 1 wong wong  78999706 5月   3 14:37 pinpoint-web-1.7.3.war

安装HBase

[wong@iZbp1bicryse8r4xe1asq4Z dow]$ tar -zxvf hbase-1.2.0-bin.tar.gz
[wong@iZbp1bicryse8r4xe1asq4Z dow]$ mv hbase-1.2.0 ../hbase
[wong@iZbp1bicryse8r4xe1asq4Z dow]$ cd ../hbase/
启动
[wong@iZbp1bicryse8r4xe1asq4Z hbase]$ ./bin/start-hbase.sh 
查看进程
[wong@iZbp1bicryse8r4xe1asq4Z hbase]$ ps -ef|grep hbase
wong     27484     1  0 14:09 pts/0    00:00:00 bash /home/wong/pinpoint/hbase/bin/hbase-daemon.sh --config /home/wong/pinpoint/hbase/bin/../conf foreground_start master
wong     27497 27484 43 14:09 pts/0    00:00:07 /usr/local/jdk8/bin/java -Dproc_master -XX:OnOutOfMemoryError=kill -9 %p -XX:+UseConcMarkSweepGC -XX:PermSize=128m -XX:MaxPermSize=128m -Dhbase.log.dir=/home/wong/pinpoint/hbase/bin/../logs -Dhbase.log.file=hbase-wong-master-iZbp1bicryse8r4xe1asq4Z.log -Dhbase.home.dir=/home/wong/pinpoint/hbase/bin/.. -Dhbase.id.str=wong -Dhbase.root.logger=INFO,RFA -Dhbase.security.logger=INFO,RFAS org.apache.hadoop.hbase.master.HMaster start
wong     28356  7066  0 14:09 pts/0    00:00:00 grep --color=auto hbase
添加pinpoint所需要的表
[wong@iZbp1bicryse8r4xe1asq4Z hbase]$ ./bin/hbase shell ../dow/hbase-create.hbase 
2018-05-11 15:00:08,279 WARN  [main] util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
0 row(s) in 1.4640 seconds

0 row(s) in 4.2370 seconds

0 row(s) in 2.2390 seconds

0 row(s) in 1.2190 seconds

0 row(s) in 1.2170 seconds

0 row(s) in 1.2190 seconds

0 row(s) in 1.2160 seconds

0 row(s) in 1.2180 seconds

0 row(s) in 1.2190 seconds

0 row(s) in 4.2500 seconds

0 row(s) in 1.2170 seconds

0 row(s) in 1.2160 seconds

0 row(s) in 1.2180 seconds

0 row(s) in 1.2180 seconds

0 row(s) in 1.2180 seconds

TABLE                                                                                                                                                 
AgentEvent                                                                                                                                            
AgentInfo                                                                                                                                             
AgentLifeCycle                                                                                                                                        
AgentStatV2                                                                                                                                           
ApiMetaData                                                                                                                                           
ApplicationIndex                                                                                                                                      
ApplicationMapStatisticsCallee_Ver2                                                                                                                   
ApplicationMapStatisticsCaller_Ver2                                                                                                                   
ApplicationMapStatisticsSelf_Ver2                                                                                                                     
ApplicationStatAggre                                                                                                                                  
ApplicationTraceIndex                                                                                                                                 
HostApplicationMap_Ver2                                                                                                                               
SqlMetaData_Ver2                                                                                                                                      
StringMetaData                                                                                                                                        
TraceV2                                                                                                                                               
15 row(s) in 0.0170 seconds

访问$ip:16010
出现首页并且Tables有数据表示安装成功


image.png

解压tomcat并且重命名为collector、web

[wong@iZbp1bicryse8r4xe1asq4Z pinpoint]$ tar -zxvf dow/apache-tomcat-8.5.3.tar.gz
[wong@iZbp1bicryse8r4xe1asq4Z pinpoint]$ mv apache-tomcat-8.5.3/ collector
[wong@iZbp1bicryse8r4xe1asq4Z pinpoint]$ tar -zxvf dow/apache-tomcat-8.5.3.tar.gz
[wong@iZbp1bicryse8r4xe1asq4Z pinpoint]$ mv apache-tomcat-8.5.3/ web
编辑collector和web配置文件

修改tomcat端口号避免冲突
collector:

[wong@iZbp1bicryse8r4xe1asq4Z pinpoint]$ cd collector/conf/
[wong@iZbp1bicryse8r4xe1asq4Z conf]$ sed -i 's/port="8005"/port="18005"/g' server.xml
[wong@iZbp1bicryse8r4xe1asq4Z conf]$ sed -i 's/port="8080"/port="18080"/g' server.xml
[wong@iZbp1bicryse8r4xe1asq4Z conf]$ sed -i 's/port="8443"/port="18443"/g' server.xml
[wong@iZbp1bicryse8r4xe1asq4Z conf]$ sed -i 's/port="8009"/port="18009"/g' server.xml
[wong@iZbp1bicryse8r4xe1asq4Z conf]$ sed -i 's/redirectPort="8443"/redirectPort="18443"/g' server.xml

web:

[wong@iZbp1bicryse8r4xe1asq4Z conf]$ cd ../../web/conf/
[wong@iZbp1bicryse8r4xe1asq4Z conf]$ sed -i 's/port="8005"/port="28005"/g' server.xml
[wong@iZbp1bicryse8r4xe1asq4Z conf]$ sed -i 's/port="8080"/port="28080"/g' server.xml
[wong@iZbp1bicryse8r4xe1asq4Z conf]$ sed -i 's/port="8443"/port="28443"/g' server.xml
[wong@iZbp1bicryse8r4xe1asq4Z conf]$ sed -i 's/port="8009"/port="28009"/g' server.xml
[wong@iZbp1bicryse8r4xe1asq4Z conf]$ sed -i 's/redirectPort="8443"/redirectPort="28443"/g' server.xml
解压war包

没有unzip就运行yum install unzip
web:

[wong@iZbp1bicryse8r4xe1asq4Z conf]$ cd ../../
[wong@iZbp1bicryse8r4xe1asq4Z pinpoint] rm -rf web/web/
[wong@iZbp1bicryse8r4xe1asq4Z pinpoint] mkdir web/webapps
[wong@iZbp1bicryse8r4xe1asq4Z pinpoint]$ unzip dow/pinpoint-web-1.7.3.war -d web/webapps/ROOT

collector:

[wong@iZbp1bicryse8r4xe1asq4Z pinpoint]$ rm -rf collector/webapps/
[wong@iZbp1bicryse8r4xe1asq4Z pinpoint]$ mkdir collector/webapps
[wong@iZbp1bicryse8r4xe1asq4Z pinpoint]$ unzip dow/pinpoint-collector-1.7.3.war -d collector/webapps/ROOT

分别运行collector和web

[wong@iZbp1bicryse8r4xe1asq4Z pinpoint]$ ./collector/bin/startup.sh 
[wong@iZbp1bicryse8r4xe1asq4Z pinpoint]$ tail -f collector/logs/catalina.out #查看日志
2018-05-11 15:39:50 [INFO ](c.n.p.c.r.t.AgentBaseDataReceiver  ) start() completed
2018-05-11 15:39:50 [INFO ](c.n.p.c.r.ExecutorFactoryBean      ) Initializing ExecutorService  'spanReceiverExecutor'
2018-05-11 15:39:50 [WARN ](spanUdpReceiver                    ) DatagramSocket.setReceiveBufferSize() error. 4194304!=212992
2018-05-11 15:39:50 [INFO ](c.n.p.c.r.ExecutorFactoryBean      ) Initializing ExecutorService  'statReceiverExecutor'
2018-05-11 15:39:50 [WARN ](udpStatReceiver                    ) DatagramSocket.setReceiveBufferSize() error. 4194304!=212992
2018-05-11 15:39:50 [INFO ](c.n.p.c.c.f.FlinkClusterService    ) flink cluster disable.
11-May-2018 15:39:51.510 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory /home/wong/pinpoint/collector/webapps/ROOT has finished in 7,817 ms
11-May-2018 15:39:51.514 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler [http-nio-18080]
11-May-2018 15:39:51.519 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler [ajp-nio-18009]
11-May-2018 15:39:51.521 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 7863 ms
[wong@iZbp1bicryse8r4xe1asq4Z pinpoint]$ ./web/bin/startup.sh
[wong@iZbp1bicryse8r4xe1asq4Z pinpoint]$ tail -f web/logs/catalina.out 
2018-05-11 15:43:09 [INFO ](.m.m.a.RequestMappingHandlerMapping) Mapped "{[/userGroup/member],methods=[DELETE]}" onto public java.util.Map<java.lang.String, java.lang.String> com.navercorp.pinpoint.web.controller.UserGroupController.deleteUserGroupMember(com.navercorp.pinpoint.web.vo.UserGroupMemberParam,java.lang.String)
2018-05-11 15:43:09 [INFO ](.m.m.a.RequestMappingHandlerMapping) Mapped "{[/userGroup/member],methods=[GET]}" onto public java.util.List<com.navercorp.pinpoint.web.vo.UserGroupMember> com.navercorp.pinpoint.web.controller.UserGroupController.getUserGroupMember(java.lang.String)
2018-05-11 15:43:09 [INFO ](.m.m.a.RequestMappingHandlerAdapter) Looking for @ControllerAdvice: WebApplicationContext for namespace 'pinpoint-web-servlet': startup date [Fri May 11 15:43:08 CST 2018]; parent: Root WebApplicationContext
2018-05-11 15:43:09 [INFO ](.m.m.a.RequestMappingHandlerAdapter) Looking for @ControllerAdvice: WebApplicationContext for namespace 'pinpoint-web-servlet': startup date [Fri May 11 15:43:08 CST 2018]; parent: Root WebApplicationContext
2018-05-11 15:43:09 [INFO ](a.ExceptionHandlerExceptionResolver) Detected @ExceptionHandler methods in controllerExceptionHandler
2018-05-11 15:43:09 [INFO ](o.s.w.s.DispatcherServlet          ) FrameworkServlet 'pinpoint-web': initialization completed in 761 ms
11-May-2018 15:43:09.641 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory /home/wong/pinpoint/web/webapps/ROOT has finished in 10,546 ms
11-May-2018 15:43:09.644 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler [http-nio-28080]
11-May-2018 15:43:09.649 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler [ajp-nio-28009]
11-May-2018 15:43:09.650 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 10583 ms

访问 $ip:28080


image.png

Agent

解压
[wong@iZbp1bicryse8r4xe1asq4Z pinpoint]$ mkdir agent
[wong@iZbp1bicryse8r4xe1asq4Z pinpoint]$ tar -zxvf dow/pinpoint-agent-1.7.3.tar.gz -C agent/
[wong@iZbp1bicryse8r4xe1asq4Z pinpoint]$ tar -zxvf dow/pinpoint-agent-1.7.3.tar.gz 
编辑pinpoint.config

确保profiler.collector.ip的地址是collector所在服务器的ip

[wong@iZbp1bicryse8r4xe1asq4Z pinpoint]$ vim agent/pinpoint.config 

安装测试tomcat

[wong@iZbp1bicryse8r4xe1asq4Z pinpoint]$ tar -zxvf dow/apache-tomcat-8.5.3.tar.gz 
[wong@iZbp1bicryse8r4xe1asq4Z pinpoint]$ mv apache-tomcat-8.5.3/ test

添加启动参数

[wong@iZbp1bicryse8r4xe1asq4Z pinpoint]$ vim test/bin/catalina.sh 

# Copy CATALINA_BASE from CATALINA_HOME if not already set下面添加三个启动参数

# Copy CATALINA_BASE from CATALINA_HOME if not already set
[ -z "$CATALINA_BASE" ] && CATALINA_BASE="$CATALINA_HOME"
CATALINA_OPTS="$CATALINA_OPTS -javaagent:/home/wong/pinpoint/agent/pinpoint-bootstrap-1.7.3.jar"  #指定Agent路径
CATALINA_OPTS="$CATALINA_OPTS -Dpinpoint.agentId=20180511" #agentId-不要重复
CATALINA_OPTS="$CATALINA_OPTS -Dpinpoint.applicationName=TestTomcat" #applicationName-不要重复

添加完成之后就可以访问ip:8080然后再查看ip:28080就可以看到刚刚的记录了
如果是spring boot项目则需要修改pinpoint.config 的参数

profiler.applicationservertype=SPRING_BOOT

profiler.tomcat.conditional.transform=false

参考文章

上一篇下一篇

猜你喜欢

热点阅读