您的位置:首页 > 其它

pinpoint安装部署(一)

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

我安装它用到的2台 CentOS6.8 虚拟机,一台主要部署pinpoint的主程序,一台模拟测试环境。配置如下:



准备阶段

JDK下载地址:

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

pinpoint下载地址:

https://github.com/naver/pinpoint

或者下载整合以后的(推荐)

链接: http://pan.baidu.com/s/1c2couDM 密码: afvb

1、环境配置

1.1 获取需要的依赖包

进入home目录,创建一个”pp_res”的资源目录,用来存放需要安装的包

mkdir /home/pp_res
cd /home/pp_res/


使用xftp等类似的工具,将需要的文件上传到Linux虚拟机中,主要要传的文件都在百度网盘下载的pp_res中



解释:

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,不要也可以

是用ls或者ll命令查看是否上传成功

[root@test2 pp_res]# ll
total 218088
-rw-r--r--. 1 root root   9277365 Jul 17 11:05 apache-tomcat-8.0.36.tar.gz
-rw-r--r--. 1 root root 103847513 Jul 17 11:05 hbase-1.0.3-bin.tar.gz
-rw-r--r--. 1 root root     16984 Jul 17 11:05 hbase-create.hbase
-rw-r--r--. 1 root root   6621915 Jul 17 11:05 pinpoint-agent-1.5.2.tar.gz
-rw-r--r--. 1 root root  31339914 Jul 17 11:05 pinpoint-collector-1.5.2.war
-rw-r--r--. 1 root root  54505168 Jul 17 11:05 pinpoint-web-1.5.2.war
-rw-r--r--. 1 root root  17699306 Jul 17 11:05 zookeeper-3.4.6.tar.gz


1.2 配置jdk1.7

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

cd /home/pp_res/
tar -zxvf jdk-7u79-linux-x64.tar.gz
mkdir /usr/java
mv jdk1.7.0_79/ /usr/java/jdk17


配置java环境变量

vi /etc/profile


将下列复制到profile的最后一行中

export JAVA_HOME=/usr/java/jdk17
export PATH=$PATH:$JAVA_HOME/bin


让环境变量生效

source /etc/profile


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

[root@localhost pp_res]# java -version
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)


2. 安装Hbase

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

1、将Hbase解压,并且放入指定目录

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的配置信息

vi hbase-site.xml


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

<configuration>
<property>
<name>hbase.rootdir</name>
<value>file:///data/hbase</value>
</property>
</configuration>


4、启动hbase

cd /data/service/hbase/bin
./start-hbase.sh


查看Hbase是否启动成功,如果启动成功的会看到”HMaster”的进程

[root@localhost bin]# jps
12075 Jps
11784 HMaster


5、初始化Hbase的pinpoint库

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

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


执行完了以后,进入Hbase

./hbase shell


进入后可以看到Hbase的版本,还有一些相关的信息

2016-11-15 01:55:44,861 WARN  [main] util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using built
in-java classes where applicableHBase Shell; enter 'help<RETURN>' for list of supported commands.
Type "exit<RETURN>" to leave the HBase Shell
Version 1.0.3, rf1e1312f9790a7c40f6a4b5a1bab2ea1dd559890, Tue Jan 19 19:26:53 PST 2016

hbase(main):001:0>


输入”status ‘detailed’”可以查看刚才初始化的表,是否存在

hbase(main):001:0> status 'detailed'
version 1.0.3
0 regionsInTransition
master coprocessors: []
1 live servers
localhost:50887 1478538574709
requestsPerSecond=0.0, numberOfOnlineRegions=498, usedHeapMB=24, maxHeapMB=237, numberOfStores=626, numberOfStorefiles=0, storefileUncom
pressedSizeMB=0, storefileSizeMB=0, memstoreSizeMB=0, storefileIndexSizeMB=0, readRequestsCount=7714, writeRequestsCount=996, rootIndexSizeKB=0, totalStaticIndexSizeKB=0, totalStaticBloomSizeKB=0, totalCompactingKVs=0, currentCompactedKVs=0, compactionProgressPct=NaN, coprocessors=[MultiRowMutationEndpoint]        "AgentEvent,,1478539104778.aa1b3b14d0b48d83cbf4705b75cb35b7."
numberOfStores=1, numberOfStorefiles=0, storefileUncompressedSizeMB=0, storefileSizeMB=0, memstoreSizeMB=0, storefileIndexSizeMB=0,
readRequestsCount=0, writeRequestsCount=0, rootIndexSizeKB=0, totalStaticIndexSizeKB=0, totalStaticBloomSizeKB=0, totalCompactingKVs=0, currentCompactedKVs=0, compactionProgressPct=NaN, completeSequenceId=-1, dataLocality=0.0
...


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

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



HBase脚本介绍

hbase-create.hbase - 创建pinpoint必须的表。

hbase-drop.hbase - 删除pinpoint必须的所有表

hbase-flush-table.hbase - 刷新所有表

hbase-major-compact-htable.hbase- 压缩主要的所有表

3. 安装pinpoint-collector

3.1 部署war包

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

cd /home/pp_res/
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 eth0 | grep 'inet addr' | awk '{print $2}' | awk -F: '{print $2}'`/g" server.xml


部署pinpoint-collector.war包

【注意:如果没有unzip命令,可以 “yum install unzip” 】

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


启动Tomcat

cd /data/service/pp-col/bin/
./startup.sh


查看日志,是否成功启动

tail -f ../logs/catalina.out


3.2 配置快速启动

配置快速启动需要修改pp-collector.init的路径( pp-collector在网盘里面有 ),可以”vi”进去,大概在18,24,27行处,修改相关的路径。我这边为了方便,直接就用替换的shell做了,如果路径与我的不一致,需要将路径修改成自己的路径。

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


将文件赋予”执行”的权限,把它放到”init.d”中去。以后就可以restart快速重启了。

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

# 测试一下restart
[root@localhost pp_res]# /etc/init.d/pp-col restart
Stoping Tomcat
Using CATALINA_BASE:   /data/service/pp-col/
Using CATALINA_HOME:   /data/service/pp-col/
Using CATALINA_TMPDIR: /data/service/pp-col//temp
Using JRE_HOME:        /usr/java/jdk17/
Using CLASSPATH:       /data/service/pp-col//bin/bootstrap.jar:/data/service/pp-col//bin/tomcat-juli.jar

waiting for processes to exitStarting tomcat
Using CATALINA_BASE:   /data/service/pp-col/
Using CATALINA_HOME:   /data/service/pp-col/
Using CATALINA_TMPDIR: /data/service/pp-col//temp
Using JRE_HOME:        /usr/java/jdk17/
Using CLASSPATH:       /data/service/pp-col//bin/bootstrap.jar:/data/service/pp-col//bin/tomcat-juli.jar
Tomcat started.
Tomcat is running with pid: 1190
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息