Fork me on GitHub

PinPoint安装部署

1.前期准备

1.1准备三台服务器,分别用来安装pinpoint和pinpoint-agent和hbase、zookeeper
我安装它用到的3台服务器,一台主要部署pinpoint的主程序,一台主要部署pinpoint-agent

  1. jdk8 --- Java运行环境
  2. hbase-1.2 --- 数据库,用来存储监控信息
  3. tomcat8.0 --- Web服务器
  4. pinpoint-collector.war --- pp的控制器
  5. pinpoint-web.war --- pp展示页面

配置jdk1.8

注:博主通过二次编译安装,固需部署多套java;

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

#Enironment

export JAVA_HOME=/usr/java/jdk1.8.0_144
export JAVA_6_HOME=/usr/java/jdk1.6.0_45
export CLASSPATH=.:$JAVA_6_HOME/jre/lib:$JAVA_6_HOME/lib:$JAVA_6_HOME/lib/tools.jar
export JAVA_7_HOME=/usr/java/jdk1.7.0_60
export CLASSPATH=.:$JAVA_7_HOME/jre/lib:$JAVA_7_HOME/lib:$JAVA_7_HOME/lib/tools.jar
export JAVA_8_HOME=/usr/java/jdk1.8.0_144
export CLASSPATH=.:$JAVA_8_HOME/jre/lib:$JAVA_8_HOME/lib:$JAVA_8_HOME/lib/tools.jar
export PATH=/data/soft/apache-maven-3.5.2/bin/:$PATH

2. 安装Hbase、zookeeper

安装此步骤略

初始化Hbase的pinpoint库

hbase shell /data/soft/pinpoint-1.7.1/hbase/scripts/hbase-create.hbase

 

3. 安装pinpoint-collector

3.1 部署war包

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

cd /data/server/
tar -zxvf apache-tomcat-8.0.36.tar.gz
mv apache-tomcat-8.0.36/ /data/service/pp-col

 

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

【注意】最后一条是将tomcat的私有ip开放,需要将localhost替换成本机的ip,我本机的网卡是默认的,如果你本机的网卡不是eth0,需要进行相关的修改。或者直接用"vi"进去,修改localhost

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 | awk '/eth0/{getline;gsub(/addr:/,"",$2);print $2}'`/g" server.xml

部署pinpoint-collector.war包

rm -rf /data/server/pp-col/webapps/*
mkdir /data/server/pp-col/webapps/ROOT
unzip pinpoint-collector-1.7.1.war -d /data/server/pp-col/webapps/ROOT

更改配置

cd /data/server/pp-col/webapps/ROOT/WEB-INF/classes
#修改hbase.properties 文件
hbase.client.host 设置为 hbase 所用的 zk 地址
#修改pinpoint-collector.properties文件
cluster.zookeeper.address 修改为给 Pinpoint 准备的 zk 地址

启动tomcat

4. 安装pinpoint-web

4.1 部署war包

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

cd /data/server/
tar -zxvf apache-tomcat-8.0.36.tar.gz
mv apache-tomcat-8.0.36/ /data/service/pp-web

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

【注意】最后一条是将tomcat的私有ip开放,需要将localhost替换成本机的ip,我本机的网卡是默认的,如果你本机的网卡不是eth0,需要进行相关的修改。或者直接用"vi"进去,修改localhost

cd /data/server/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 | awk '/eth0/{getline;gsub(/addr:/,"",$2);print $2}'`/g" server.xml

部署pinpoint-collector.war包

rm -rf /data/server/pp-web/webapps/*
mkdir /data/server/pp-web/webapps/ROOT
unzip pinpoint-web-1.7.1.war -d /data/server/pp-web/webapps/ROOT

这里说明一下:

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

更改配置

cd /data/server/pp-web/webapps/ROOT/WEB-INF/classes
#修改hbase.properties 文件
hbase.client.host 设置为 hbase 所用的 zk 地址
#修改pinpoint-web.propertiess文件
cluster.zookeeper.address 修改为给 Pinpoint 准备的 zk 地址
#修改jdbc.properties 文件
更改jdbc.url、jdbc.username、jdbc.password连接数据库信息
#修改batch.properties 文件
batch.enable=true
batch.server.ip=127.0.0.1

数据库导入

mysql -upinpoint -p pinpoint pinpoint <  CreateTableStatement-mysql.sql
mysql -upinpoint -p pinpoint pinpoint <  SpringBatchJobRepositorySchema-mysql.sql

启动tomcat

5. 部署pp-agent采集监控数据

部署采集器就很简单了,只需要加3句话就好了。我这边做一个测试的jetty,来模拟部署。

5.1 将测试需要的pp-agent拉到服务器上

5.2 配置pp-agent采集器

编辑配置文件

vim pinpoint.config
profiler.collector.ip=*.*.*.*  #设置为collectorIP

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

  1. 第一行是pp-agent的jar包位置
  2. 第二行是agent的ID,这个ID是唯一的,我是用主机名命名的,只要与其他的项目的ID不重复就好了(注:名称最大为24位)
  3. 第三行是采集项目的名字,这个名字可以随便取,只要各个项目不重复就好了

 

监控jetty

重启jetty,打开pinpoint-web就可以自动收集;

 

posted @ 2018-02-04 23:06  patrick-py  阅读(1132)  评论(0编辑  收藏  举报