Pinpoint 应用性能管理(APM)平台

  Pinpoint是一个开源的 APM (Application Performance Management/应用性能管理)工具,用于基于java的大规模分布式系统

仿照 Google Dapper , Pinpoint 通过跟踪分布式应用之间的调用来提供解决方案,以帮助分析系统的总体结构和内部模块之间如何相互联系.

二:Pinpoint组成介绍

        1):Pinpoint Agent       ----主要用来采集数据,发送给pinpoint处理

       

        2):Pinpoint Collector     ----pinpoint逻辑控制机

         

        3):HBase               ----HBase数据存储

         

        4):Pinpoint Web UI       ----pinpointweb展示端

 

三:架构视图

        

 

四:Pinpoint部署安装

      

4.1:环境准备

1. jdk7 --- Java运行环境

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

3. tomcat8.0 --- Web服务器

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

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

              6. pinpoint-agent ---用来采集监控数据

      

       Tip:这个是我自己在网上找到资料,里面有上面的这些需要的工具以及测试包    

            百度网盘: <链接: http://pan.baidu.com/s/1eRU5RW2 密码: u89p>

资料:

                

测试:

 

因为我个人是将pinpoint这个组件都部署在一个linux服务上,没有分开部署,按道理其实是要分开部署的,一台作为主机,一台作为监控机;下面我都是按照部署在同一台来说明的

    

4.2:配置jdk1.7

   

     这套APM系统主要是用jdk1.7来进行部署的,首先要配置jdk的环境变量

     

       1 mkdir pp_res :创建放置pinpoint软件包的一个文件夹

   2:然后将apache-tomcat-8.0.36.tar.gz  hbase-1.0.3-bin.tar.gz  jdk-7u79-linux-x64.tar.gz    pinpoint-collector-1.5.2.war  pinpoint-web-1.5.2.war   上传至pp_res 文件夹中

 

  3:解压jdk-7u79-linux-x64.tar.gz;并创建usr/java/文件目录;将解压好的jdk1.7放到usr/java/目录下

   

   Linux命令:

 

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

mkdir /usr/java

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

 

配置java环境变量我配置的是用户的环境变量)

vi .bash_profile

 

JAVA_HOME=/data/pinpoint/pp_res/usr/java/jdk17

export JAVA_HOME

JRE_HOME=$JAVA_HOME/jre

export JRE_HOME

CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH

export CLASSPATH

PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

export PATH

 

配置好java环境变量 用此命令:source /etc/profile  使配置好的环境变量生效

 

测试java的环境变量是否配置好了

 

java -version

 

出现如下java版本信息就代表配置好了:

java version "1.7.0_79"

Java(TM) SE Runtime Environment (build 1.7.0_79-b15)

Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)

 

 

4.3:安装Hbase

       

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

 

 1:解压hbase-1.0.3-bin.tar.gz;创建data/service文件目录;并将解压好的hbase-1.0.3 放到 data/service目录下

Linux命令:

 

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

mkdir -p /data/service

mv hbase-1.0.3/ /data/service/hbase

 

2:进入data/service/hbase-1.0.3/conf目录下,修改hbase-env.sh文件以及hbase-site.xml

 

Linux命令:

 

Vi   hbase-env.sh

配置JAVA_HOME环境变量

 

这里我部署的是单机hbase 用的是hbase自带的zookeeper,所以需要添加这样一句

 

 

 

Vi  hbase-site.xml

 

第一个property配置代表的是hbase本地数据的存储位置

第二个property配置代表的是zookeeper日志存放的位置

 

 

 

 

 

 

 

 

 

3:启动hbase

 

Linux命令:

   启动hbase

  ./start-hbase.sh

  输入jps”命令 查看hbase进程,如果成功就会看到HMaster进程

   

4:初始化hbasepinpoint

   cd data/service/hbase-1.0.3/bin目录下输入如下命令初始化hbasepinpoint

./hbase shell  /data/pinpoint/pp_res/hbase-create.hbase 

(红色标记的路径是hbase-create.hbase这个文件路径)

 

  执行后完,输入./hbase shell进入hbase  可以看到如下hbase的版本信息

 

 

输入"status 'detailed'  "可以查看刚才初始化的表,是否存在,部分截图如下

 

 

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

HbaseWeb : http://192.168.1.132:16010/master-status

 

 

 

 

4.4:安装pinpoint-collector

 

        1:解压apache-tomcat-8.0.36.tar.gz包;并创建目录data/service/pp-col;将解压好的apache-tomcat-8.0.36放到该目录下,并重命名为tomcat-col

        Linux命令:

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

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

      

        2:修改tomcat配置

 修改tomcat-colTomcat的配置,主要修改端口,避免与pp-webTomcat的端口冲突。我在原本默认的端口前都加了1,下面是替换的shell命令。

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

       

 

      3:部署pinpoint-collector.war

pinpoint-collector-1.5.2.war部署到tomcat-colwebapps/ROOT目录下

Linux命令:  

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

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

 

     4:启动tomcat-col

      Linux命令:

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

./startup.sh

     查看启动日志:

     tail -f ../logs/catalina.out

 

 

 

4.5:安装pinpoint-web

         

         

     1: 解压Tomcat,将Tomcat重命名移动到指定位置

     

         Linux命令:

             

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

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

tomcat解压到/data/service/pp-web/目录下 并重命名为tomcat-web

 

2:修改tomcat配置

 

修改pp-webTomcat的配置,主要修改端口,避免与pp-colTomcat的端口冲突。我在原本默认的端口前都加了2,下面是替换的shell命令

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

 

3:部署pinpoint-web-1.5.2.war

    

     Linux命令:

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

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

pinpoint-web-1.5.2.war解压部署到/data/service/pp-web/tomcat-web/webapps/ROOT目录下

Tip:

    这里说明一下:

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 日志相关配置。

 

 

sql文件夹中是一些表的创建语句,只要粘贴复制到mysql中就行啦

 

4:启动Tomcat

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

./startup.sh

 

查看日志,Tocmat是否启动成功

tail -f ../logs/catalina.out

 

 

 

这时候我们可以访问一下这个地址,在浏览器中输入"http://192.168.1.132:28080",就会出现主页面了

如果访问不了的话,关闭防火墙

 

 

4.6:部署pp-agent采集监控数据

 

       1:在/data/pinpoint目录下创建pp_test文件夹,将apache-tomcat-8.0.36.tar.gz  pinpoint-agent-1.5.2.tar.gz  test.war  上传至pp_test

     

        2:部署tomcat

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

          mv apache-tomcat-8.0.36/ /data/pinpoint/pp_test/tomcat-test

tomcat解压到/data/pinpoint/pp_test/tomcat-test/目录下 并重命名为tomcat-pp

 

       3:修改tomcat配置

cd /data/pinpoint/pp_test/tomcat-test/tomcat-pp/conf/

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

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

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

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

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

 

 4:解压测试包

 cd /home/pp_test/

rm -rf /data/pinpoint/pp_test/tomcat-test/tomcat-pp/webapps/*

unzip test.war -d /data/pinpoint/pp_test/tomcat-test/tomcat-pp/webapps/ROOT

将测试包解压到tomcat-pp/webapps/ROOT目录下

 

5:配置pp-agent采集器

 

 

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

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

解压pinpoint-agent-1.5.2.tar.gz/data/pinpoint/pp_test目录下并重命名为pp-agent

 

6:修改 pinpoint.config文件

          

cd /data/pinpoint/pp_test/pp-agent/

vi pinpoint.config

      主要修改IP,只需要指定到安装pp-colIP就行了

profiler.collector.ip=192.168.245.136

 

 

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

 

cd /data/pinpoint/pp_test/tomcat-test/tomcat-pp/bin

vi catalina.sh

20行增加如下字段

第一行是pp-agentjar包位置

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

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

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

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

CATALINA_OPTS="$CATALINA_OPTS -Dpinpoint.applicationName=MyTestZY"

 

 

 

4.7:测试

配置好了。就可以开始监控了,我们启动测试用的Tomcat的服务器

cd /data/pinpoint/pp_test/tomcat-test/tomcat-pp/bin/

./startup.sh

 

查看启动日志,确实Tomcat启动

tail -f ../logs/catalina.out

 

 

启动了,我们就可以访问测试环境了

http://192.168.1.132:38086/test

 

 

http://192.168.1.132:38086

 

 

这时候我们在访问pp-web,可以发现它的下拉框中,多了一个app

 

 

点击MyTestZY

 

 

 

【注意】鼠标点击右上角箭头位置,鼠标左键按住不动,拉框查看

 

 

此时会弹出如下一个列表界面

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值