APM应用性能监控-pinpoint单机安装

简介:

pinpoint是开源在github上的一款APM监控工具,它是用Java编写的,用于大规模分布式系统监控。它对性能的影响最小(只增加约3%资源利用率),安装agent是无侵入式的,只需要在被测试的Tomcat中加上3句话,打下探针,就可以监控整套程序了。简单来说就是可以分析请求经过那些地方,响应时间,SQL语句等。看下截图很有诱惑力


APM应用性能监控-pinpoint单机安装_第1张图片
APM应用性能监控-pinpoint单机安装_第2张图片
APM应用性能监控-pinpoint单机安装_第3张图片
APM应用性能监控-pinpoint单机安装_第4张图片
开始

一.  环境准备

jdk7 --- Java运行环境

hbase-1.0 --- 数据库,用来存储监控信息

tomcat8.0 --- Web服务器

pinpoint-collector.war --- pp的控制器

pinpoint-web.war --- pp展示页面

pp-collector.init --- 用来快速启动pp-col,不要也可以

pp-web.init --- 用来快速启动pp-web,不要也可以

1. 创建安装包路径

mkdir /home/pp_res

cd /home/pp_res/

2.java程序 必备jdk

cd /home/pp_res/

tar -zxvf jdk-7u79-linux-x64.tar.gz

mkdir /usr/java

mv jdk1.7.0_79/ /usr/java/jdk17

vim /etc/profile

export JAVA_HOME=/usr/java/jdk17

export PATH=$PATH:$JAVA_HOME/bin

source /etc/profile

3.关闭防火墙 Selinx 

systemctl  stop firewalld 

setenforce  0 

二. 安装hbase

pinpoint收集来的测试数据,主要是存在Hbase数据库的。所以它可以收集大量的数据,可以进行更加详细的分析。

1.解压安装包

cd /home/pp_res/

tar -zxvf hbase-1.0.3-bin.tar.gz

mkdir -p /data/service

mv hbase-1.0.3/ /data/service/hbase

2. 修改hbase-env.sh的JAVA_HOME环境变量位置

cd /data/service/hbase/conf/

vi hbase-env.sh

在27行左右的位置,修改如下

export JAVA_HOME=/usr/java/jdk17

3.修改Hbase的配置信息

在结尾修改成如下,这里我们指定Hbase本地来存储数据,生产环境将数据建议存入HDFS中。


APM应用性能监控-pinpoint单机安装_第5张图片

4.启动hbase

cd /data/service/hbase/bin

./start-hbase.sh

查看进程

jps

12075 Jps11784 HMaster

5.执行pinpoint提供的Hbase初始化语句,这时会初始化一会。

./hbase shell /home/pp_res/hbase-create.hbase

执行完了以后,进入Hbase./hbase shell

查看刚才初始化的表

hbase(main):001:0> list

TABLE                                                                                                                               

AgentEvent                                                                                                                           

AgentInfo                                                                                                                           

AgentLifeCycle                                                                                                                       

AgentStat                                                                                                                           

AgentStatV2                                                                                                                         

ApiMetaData                                                                                                                         

ApplicationIndex                                                                                                                     

ApplicationMapStatisticsCallee_Ver2                                                                                                 

ApplicationMapStatisticsCaller_Ver2                                                                                                 

ApplicationMapStatisticsSelf_Ver2                                                                                                   

ApplicationTraceIndex                                                                                                               

HostApplicationMap_Ver2                                                                                                             

SqlMetaData_Ver2                                                                                                                     

StringMetaData                                                                                                                       

TraceV2                                                                                                                             

Traces 

也可以登录web,来查看HBase的数据是否初始化成功

ip:16010


APM应用性能监控-pinpoint单机安装_第6张图片

三.安装pinpoint-collector

1.解压tomcat包

cd /home/pp_res/

tar -zxvf apache-tomcat-8.0.36.tar.gz

mv apache-tomcat-8.0.36/ /data/service/pp-col

2.修改tomcat端口号

cd /data/service/pp-col/conf/

sed -i 's/port="8005"/port="18005"/g' server.xml

sed -i 's/port="8080"/port="18080"/g' server.xml

sed -i 's/port="8443"/port="18443"/g' server.xml

sed -i 's/port="8009"/port="18009"/g' server.xml

sed -i 's/redirectPort="8443"/redirectPort="18443"/g' server.xml

sed -i "s/localhost/`ifconfig eth0 | grep 'inet addr' | awk '{print $2}' | awk -F: '{print $2}'`/g" server.xml

3.部署pinpoint-collector.war包

cd /home/pp_res/

rm -rf /data/service/pp-col/webapps/*

unzip pinpoint-collector-1.5.2.war -d /data/service/pp-col/webapps/ROOT

4.启动col

cd /data/service/pp-col/bin/

./startup.sh

tail -f ../logs/catalina.out

5.配置快速启动(可省略 )

cd /home/pp_res

sed -i "s/JAVA_HOME=\/usr\/java\/default\//JAVA_HOME=\/usr\/java\/jdk17\//g" pp-collector.init

sed -i "s/CATALINA_HOME=\/data\/service\/pinpoint-collector\//CATALINA_HOME=\/data\/service\/pp-col\//g" pp-collector.init

sed -i "s/CATALINA_BASE=\/data\/service\/pinpoint-collector\//CATALINA_BASE=\/data\/service\/pp-col\//g" pp-collector.init

chmod 711 pp-collector.initmv pp-collector.init /etc/init.d/pp-col

.测试重启

/etc/init.d/pp-col restart 

四. 安装pinpoint-web

1.解压tomcat包

cd /home/pp_res/

tar -zxvf apache-tomcat-8.0.36.tar.gz

mv apache-tomcat-8.0.36/ /data/service/pp-web


2.修改端口号,最后是将tomcat私有ip开放0.0.0.0也可以

cd /data/service/pp-web/conf/

sed -i 's/port="8005"/port="28005"/g' server.xml

sed -i 's/port="8080"/port="28080"/g' server.xml

sed -i 's/port="8443"/port="28443"/g' server.xml

sed -i 's/port="8009"/port="28009"/g' server.xml

sed -i 's/redirectPort="8443"/redirectPort="28443"/g' server.xml

sed -i "s/localhost/`ifconfig eth0 | grep 'inet addr' | awk '{print $2}' | awk -F: '{print $2}'`/g" server.xml

3.解压war包

cd /home/pp_res/

rm -rf /data/service/pp-web/webapps/*

unzip pinpoint-web-1.5.2.war -d /data/service/pp-web/webapps/ROOT

ll /data/service/pp-web/webapps/ROOT/WEB-INF/classes/

hbase.properties 配置我们pp-web从哪个数据源获取采集数据,这里我们只指定Hbase的zookeeper地址。

jdbc.properties pp-web连接自身Mysql数据库的连接认证配置。

sql目录 pp-web本身有些数据需要存放在MySQL数据库中,这里需要初始化一下表结构。

pinpoint-web.properties 这里pp-web集群的配置文件,如果你需要pp-web集群的话。

applicationContext-* .xml 这些文件在后续的调优工作中会用到。

log4j.xml 日志相关配置。

4.启动pp-web

cd /data/service/pp-web/bin/

./startup.sh

tail -f ../logs/catalina.out

5.访问web ip:28080

APM应用性能监控-pinpoint单机安装_第7张图片

6.配置快速启动(可省略)

cd /home/pp_res

sed -i "s/JAVA_HOME=\/usr\/java\/default\//JAVA_HOME=\/usr\/java\/jdk17\//g" pp-web.init

sed -i "s/CATALINA_HOME=\/data\/service\/pinpoint-web\//CATALINA_HOME=\/data\/service\/pp-web\//g" pp-web.init

sed -i "s/CATALINA_BASE=\/data\/service\/pinpoint-web\//CATALINA_BASE=\/data\/service\/pp-web\//g" pp-web.init

chmod 711 pp-web.init

mv pp-web.init /etc/init.d/pp-web

/etc/init.d/pp-web restart

五.配置采集端

1.测试tomcat部署

mkdir -p /data/pp-test

cd /home/pp_res

tar -zxvf apache-tomcat-8.0.36.tar.gz  

mv  apache-tomcat-8.0.36/*     /data/pp-test

cd /data/pp-test/conf/

sed -i "s/localhost/`ifconfig eth0 | grep 'inet addr' | awk '{print $2}' | awk -F: '{print $2}'`/g" server.xml

解压war包

cd /home/pp_test/

rm -rf /data/pp-test/webapps/*

unzip test.war -d /data/pp-test/webapps/ROOT

2.配置采集agent解压

mkdir -p /data/pp-agent

cd /home/pp_res  

tar -zxvf pinpoint-agent-1.5.2.tar.gz

mv pinpoint-agent-1.5.2 /data/pp-agent

编辑配置文件

cd /data/pp-agent/

vi pinpoint.config

主要修改IP,只需要指定到安装pp-col的IP就行了,安装pp-col启动后,自动就开启了9994,9995,9996的端口了。这里就不需要操心了,如果有端口需求,要去pp-col的配置文件("pp-col/webapps/ROOT/WEB-INF/classes/pinpoint-collector.properties")中,修改这些端口

profiler.collector.ip=192.168.245.136

3.修改测试项目下的tomcat启动文件"catalina.sh",修改这个只要是为了监控测试环境的Tomcat,增加探针

cd /data/pp-test/bin

vi catalina.sh

在20行增加如下字段

第一行是pp-agent的jar包位置

第二行是agent的ID,这个ID是唯一的,我是用pp + 今天的日期命名的,只要与其他的项目的ID不重复就好了

第三行是采集项目的名字,这个名字可以随便取,只要各个项目不重复就好了

CATALINA_OPTS="$CATALINA_OPTS -javaagent:/data/pp-agent/pinpoint-bootstrap-1.5.2.jar"

CATALINA_OPTS="$CATALINA_OPTS -Dpinpoint.agentId=pp2018627"

CATALINA_OPTS="$CATALINA_OPTS -Dpinpoint.applicationName=MyTestPP

4.启动测试应用

cd /data/pp-test/bin/

./startup.sh

访问 ip:8080/test

5.访问pp-web,可以发现它的下拉框中,多了一个app


APM应用性能监控-pinpoint单机安装_第8张图片


APM应用性能监控-pinpoint单机安装_第9张图片

ojbk

如果Hbase不是与pp-web, pp-col装在一台机器上,需要安装zookeeper,只要安装就好,确实2181端口启动就好。

如果zookeeper安装在独立机器上,这里需要修改一下pp-colletor 和 pp-web的配置文件pinpoint-collector.properties,pinpoint-web.properties,不然会导致俩个模块启动失败。

发现pinpoint还是有些缺陷,异步的操作监控不到,比如我写了个多线程来发送HttpClient4的请求,但是pinpoint监控不到。但是它介绍又说可以监控到Httpclient4的请求。现在都是分布式系统,异步拿数据再常见不过来,如果监控不到异步的操作,就很鸡肋了。看pp1.6会不会修复这个问题

在pp1.6部署,Hbase中的默认字段有增加,如果没有加上默认字段,取得的数据就会变得相当少了。

https://www.cnblogs.com/yyhh/p/6106472.html

你可能感兴趣的:(APM应用性能监控-pinpoint单机安装)