Pinpoint安装

Pinpoint安装

Author cherryc

Date 2018/6/18

Desc pinpoint的安装文档

      • Pinpoint安装
        • (1)安装 JDK
        • (2)安装Zookeeper
        • (3)安装HBase
          • 问题
        • (4)初始化Pinpoint表结构
          • 问题
        • (5)安装Pinpoint Collector
        • (6)安装Pinpoint Web
        • (7)安装Pinpoint Agent

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

安装pinpoint需要的组件信息:

组件 版本
Oracle JDK 1.8
HBase(存储使用) 1.2.4
Pinpoint Collector (部署在web容器中) 1.6.1
Pinpoint Web (部署在Web容器中) 1.6.1
Pinpoint Agent (attached上一个应用服务器做性能分析) 1.6.1
Tomcat 8.5.4

下边介绍详细的安装步骤:

(1)安装 JDK

如果已经安装好了Oracle JDK,可以跳过这步。

下载Oracle JDK并解压

cd /usr/src
curl -OL http://files.saas.hand-china.com/hitoa/1.0.0/jdk-8u112-linux-x64.tar.gz
tar -xzvf jdk-8u112-linux-x64.tar.gz

配置JAVA环境变量

vim /etc/profile

在 /etc/profile 文件末尾追加以下内容:

export JAVA_HOME=/usr/srcjdk1.8.0_112
export JRE_HOME=$JAVA_HOME/jre
export PATH=JAVA_HOME/bin:JRE_HOME/bin:$PATH

使配置生效:

source /etc/profile

验证JAVA是否安装成功: java -version

(2)安装Zookeeper

如果Hbase不是与pp-web, pp-col装在一台机器上,需要安装zookeeper

下载Zookeeper并解压

cd /usr/src/pinpoint_resource
curl -OL http://files.saas.hand-china.com/hitoa/1.0.0/zookeeper-3.4.9.tar.gz
tar -xzvf zookeeper-3.4.9.tar.gz

配置Zookeeper

vi /usr/src/pinpoint_resource/zookeeper-3.4.9/conf/zoo_sample.cfg

添加以下内容:

tickTime=20000
initLimit=10
syncLimit=5
dataDir=/u01/hitoa/zookeeper-3.4.9/data
clientPort=2181
MaxSessionTimeout=200000

启动Zookeeper

./zkServer.sh start

如下表示Zookeeper启动成功:

Zookeeper启动成功后,绑定到2181端口提供服务。

(3)安装HBase

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

下载Hbase并解压

curl -OL http://files.saas.hand-china.com/hitoa/1.0.0/hbase-1.2.4-bin.tar.gz
tar -xzvf hbase-1.2.4-bin.tar.gz

/etc/profile文件末尾追加以下内容:

vim /etc/profile
export HBASE_HOME=/usr/src/pinpoint_resource/hbase-1.2.4

使配置生效:source /etc/profile

配置HBase配置文件

cd hbase-1.2.4/conf/
vi hbase-site.xml

hbase-site.xml中添加以下内容: 在结尾修改成如下,这里我们指定Hbase本地来存储数据,生产环境将数据建议存入HDFS中。 (修改相应参数)

<configuration>
  <property>
    <name>hbase.rootdirname>
    <value>file:/usr/src/pinpoint_resource/hbase-1.2.4/datavalue>
  property>
  <property>
    <name>hbase.cluster.distributedname>
    <value>truevalue>
  property>
  <property>
    <name>hbase.regionserver.handler.countname>
    <value>20value>
  property>
  <property>
    <name>hbase.zookeeper.quorumname>
    <value>localhostvalue>
  property>
  <property>
    <name>hbase.zookeeper.property.clientPortname>
    <value>2181value>
  property>
  <property>
    <name>zookeeper.session.timeoutname>
    <value>200000value>
  property>
configuration>

HBase支持HDFS存储,但是需要安装Hadoop等组件,这里为了方便,暂时先不使用HDFS。另外,生产环境建议搭HBase集群,这里暂时只搭HBase单节点。

修改hbase-env.sh:vim hbase-env.sh去掉 export HBASE_MANAGES_ZK=true 前面的 # ,并设置 export HBASE_MANAGES_ZK=false,使得HBase不使用内置Zookeeper,而使用前面安装好的外置Zookeeper。

启动HBase:./start-hbase.sh HBase日志文件位于 /usr/src/pinpoint_resource/hbase-1.2.4/logs ,可以查看HBase启动日志。

用jps命令查看Hbase是否启动成功,如果启动成功的会看到”HMaster”的进程 。

HBase启动成功以后,可以通过浏览器访问 http://ip:16010 查看HBase有关信息。

问题

1)hbase启动之后使用jps命令查看没有hmaster进程

export HBASE_MANAGES_ZK=false (修改最后一行:集群配置为false,单机为true),修改为true之后就可以了

2)成功启动了HBase,但是却无法在浏览器中访问 http://ip:16010,这是因为CentOS7默认开启了防火墙,可以先将防火墙关掉 systemctl stop firewalld.service,再尝试访问。

(4)初始化Pinpoint表结构

Pinpoint采用HBase作为底层存储,需要先在HBase中初始化表结构。

首先确保HBase是正常启动状态,然后:

cd /usr/src/pinpoint_resource/
curl -OL http://files.saas.hand-china.com/hitoa/1.0.0/pinpoint-hbase-create.hbase
[root@localhost pinpoint_resource]# curl -OL http://files.saas.hand-china.com/hitoa/1.0.0/pinpoint-hbase-create.hbase
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 17011  100 17011    0     0  71160      0 --:--:-- --:--:-- --:--:--  212k
[root@localhost pinpoint_resource]# ls
hbase-1.2.4  hbase-1.2.4-bin.tar.gz  pinpoint-hbase-create.hbase  zookeeper-3.4.9  zookeeper-3.4.9.tar.gz
[root@localhost pinpoint_resource]#
cd hbase-1.2.4/bin
./hbase shell /usr/src/pinpoint_resource/pinpoint-hbase-create.hbase

初始化成功以后,会在HBase中创建16张表。

问题

初始化表结构时,出现了问题,zookeeper未连接:client.ConnectionManager$HConnectionImplementation: Can’t get connection to ZooKeeper: KeeperErrorCode = ConnectionLoss for /hbase

所以需要启动zookeeper,和hbase,然后执行数据初始化命令

./hbase shell /usr/src/pinpoint_resource/pinpoint-hbase-create.hbase

访问页面HbaseWeb:http://ip:16010/master-status 如果成功在页面的tables标签下能看到导入的表。

至此HBase安装成功,且表数据初始化成功!

(5)安装Pinpoint Collector

下载Pinpoint Collector并解压,Pinpoint Collector、Pinpoint Web的部署均需要Tomcat,所以先下载Tomcat。

pinpoint部署路径为/usr/src/pinpoint_resource/pinpoint-collector-1.6.1/webapps

curl -OL http://files.saas.hand-china.com/hitoa/1.0.0/apache-tomcat-8.5.14.zip
unzip apache-tomcat-8.5.14.zip
mv apache-tomcat-8.5.14 pinpoint-collector-1.6.1
curl -OL http://files.saas.hand-china.com/hitoa/1.0.0/pinpoint-collector-1.6.1.war
[root@localhost pinpoint_resource]# pwd
/usr/src/pinpoint_resource
[root@localhost pinpoint_resource]# cd pinpoint-collector-1.6.1/webapps/
[root@localhost webapps]# ls
docs  examples  host-manager  manager  ROOT
[root@localhost webapps]# rm -rf *
[root@localhost webapps]# unzip /usr/src/pinpoint_resource/pinpoint-collector-1.6.1.war -d ROOT

由于我这里pinpoint的全部组件都部署在同一台机器上,为了避免端口冲突,需要对Tomcat的端口做一些设置,可以直接下载已经设置好的配置文件: (设定的端口号是18080)

[root@localhost webapps]# cd ..
[root@localhost pinpoint-collector-1.6.1]# cd conf
[root@localhost conf]# curl http://files.saas.hand-china.com/hitoa/1.0.0/pinpoint-collector-server.xml -o server.xml
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  7516  100  7516    0     0  44558      0 --:--:-- --:--:-- --:--:--  120k
[root@localhost conf]# ls
catalina.policy      context.xml           jaspic-providers.xsd  server.xml        tomcat-users.xsd
catalina.properties  jaspic-providers.xml  logging.properties    tomcat-users.xml  web.xml
[root@localhost conf]# cat server.xml

启动Pinpoint Collector

cd ../bin
chmod +x catalina.sh shutdown.sh startup.sh
./startup.sh


启动Pinpoint Collector时请确保HBase、Zookeeper都是正常启动的,否则会报错Connection Refused。

至此,Pinpoint Collector安装成功!

(6)安装Pinpoint Web

下载Pinpoint Web并解压

同安装Pinpoint Collector一样,Pinpoint Web部署一样需要Tomcat,由于前面已经下载了tomcat,这里不再下载:

unzip apache-tomcat-8.5.14.zip
mv apache-tomcat-8.5.14 pinpoint-web-1.6.1
curl -OL http://files.saas.hand-china.com/hitoa/1.0.0/pinpoint-web-1.6.1.war
[root@localhost pinpoint_resource]# pwd
/usr/src/pinpoint_resource
[root@localhost pinpoint_resource]# cd pinpoint-web-1.6.1/webapps/
[root@localhost webapps]# ls
docs  examples  host-manager  manager  ROOT
[root@localhost webapps]# rm -rf *
[root@localhost webapps]# unzip /usr/src/pinpoint_resource/pinpoint-web-1.6.1.war -d ROOT
[root@localhost webapps]# ls
ROOT
[root@localhost webapps]# cd ROOT/WEB-INF/classes/
[root@localhost classes]# vim pinpoint-web.properties

由于当前的Pinpoint Web并不是集群部署,所以将 cluster.enable=true 改为 cluster.enable=false。

为了避免端口冲突,修改tomcat的一些设置,可以直接下载已经设置好的配置文件:(设定的端口号是19080)

[root@localhost classes]# cd ../../..
[root@localhost webapps]# cd ../conf
[root@localhost conf]# curl http://files.saas.hand-china.com/hitoa/1.0.0/pinpoint-web-server.xml -o server.xml
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  7516  100  7516    0     0  61290      0 --:--:-- --:--:-- --:--:--  149k
[root@localhost conf]# cd ../bin
[root@localhost bin]# chmod +x catalina.sh shutdown.sh startup.sh
[root@localhost bin]# ./startup.sh
Using CATALINA_BASE:   /usr/src/pinpoint_resource/pinpoint-web-1.6.1
Using CATALINA_HOME:   /usr/src/pinpoint_resource/pinpoint-web-1.6.1
Using CATALINA_TMPDIR: /usr/src/pinpoint_resource/pinpoint-web-1.6.1/temp
Using JRE_HOME:        /usr/src/java8/jdk1.8.0_121/jre
Using CLASSPATH:       /usr/src/pinpoint_resource/pinpoint-web-1.6.1/bin/bootstrap.jar:/usr/src/pinpoint_resource/pinpoint-web-1.6.1/bin/tomcat-juli.jar
Tomcat started.

访问pinpoint界面:http://ip:19080/#/main

(7)安装Pinpoint Agent

Pinpoint采用无侵入式的方式跟踪应用的请求调用链路,需要设置下目标应用的JVM参数即可。

这里以监控hap为例:

下载Pinpoint Agent并解压

cd /data
mkdir pinpoint-agent-1.6.1
cd pinpoint-agent-1.6.1/
curl -OL http://files.saas.hand-china.com/hitoa/1.0.0/pinpoint-agent-1.6.1.tar.gz
tar -xzvf pinpoint-agent-1.6.1.tar.gz

配置Pinpoint Agent,Pinpoint Agent的配置文件是/data/pinpoint-agent-1.6.1/pinpoint.config

vim /data/pinpoint-agent-1.6.1/pinpoint.config

Pinpoint Agent默认的配置文件是适用于监控OpenJDK的应用,对于Oracle JDK的应用需要添加:

profiler.jvm.vendor.name=Oracle

另外,默认的采样率(Sampling Rate)是5%,为了使采集数据更完整,暂时设置为100%,修改以下配置:

profiler.sampling.rate=1
profiler.collector.ip=10.132.241.120   #设置为采集器所在服务器的ip

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

CATALINA_OPTS="$CATALINA_OPTS -javaagent:/data/pinpoint-agent-1.6.1/pinpoint-bootstrap-1.6.1.jar"
CATALINA_OPTS="$CATALINA_OPTS -Dpinpoint.applicationName=10.132.241.122"
CATALINA_OPTS="$CATALINA_OPTS -Dpinpoint.agentId=qf01"

其中,第一个路径指向pinpoint-bootstrap的jar包位置(pinpoint-agent目录下的文件),第二个pinpoint.applicationName表示监控的目标应用的名称,第三 个pinpoint.agentId表示监控目标应用的ID,其中pinpoint.applicationName可以不唯一,pinpoint.agentId要求唯一,如果 pinpoint.applicationName相同但pinpoint.agentId不同,则表示的是同一个应用的集群。

启动 应用tomcat,agent会将追踪的数据发送给collector,collector会将收集的数据存入hbase,访问pinpoint-web即可看到调用链信息。

重启application1的tomcat服务器

你可能感兴趣的:(pinpoint)