β

pinpoint 安装布暑

技术尘埃@伯仁 217 阅读

pinpoint 安装布暑



1.0、pinpoint 安装包

https://github.com/naver/pinpoint/releases/tag/1.6.2

1.1、下载Hbase 1.3.1

http://mirrors.hust.edu.cn/apache/hbase/1.3.1/hbase-1.3.1-bin.tar.gz

1.2、下载 tomcat

http://mirrors.hust.edu.cn/apache/tomcat/tomcat-8/v8.0.44/bin/apache-tomcat-8.0.44.tar.gz

1.3、最后需要的安装包如下,我放到了 /opt/apm/  目录下了

apache-tomcat-8.0.32.tar.gz

pinpoint-collector-1.6.2.war

zookeeper-3.4.6-10.el6.x86_64.rpm

pinpoint-web-1.6.2.war

hbase-1.3.1-bin.tar.gz


1.4、我的环境有两台机器

host1: 1.18 #这台作为 pinpoint 的服务端

host2: 1.17 #这台作为探针端

1.5、先前掉防火墙

/etc/init.d/iptables stop
   setenforce 0


2.0、开始布暑,请先安装好jdk,这里不在说了


2.1、安装Hbase 和初始化

cd /opt/apm/
tar xf  hbase-1.3.1-bin.tar.gz /opt/apm/
cd /opt/apm/hbase-1.3.1/conf
vim hbase-env.sh
    export JAVA_HOME=/opt/java/jdk1.8.0_20/ #改成自己的
vim hbase-site.xml  #增下面配置
    <configuration>
 <property>
    <name>hbase.rootdir</name>
    <value>file:///data/hbase</value>
 </property>
   </configuration>
../bin/start-hbase.sh #启动hbase
jps   #验证是否启动成功
0 Jps
0 HMaster


注意: 这里说明一下,我们是最简方式启动的Hbase,没有单独部署Hbase集群管理的zookeeper,而是直接使用Hbase自带的zk模块。另外,Hbase墙裂建议将数据存入HDFS里面,目前我们是存在Hbase本地的。


2.2 初始化hbase

下载  https://github.com/naver/pinpoint/blob/1.6.x/hbase/scripts/hbase-create.hbase  文件到  /opt/apm/hbase-1.3.1/

./bin/hbase shell  hbase-create.hbase  #大约一分钟时间就完成了
./bin/hbase shell #查看
Version 1.3.1, r930b9a55528fe45d8edce7af42fef2d35e77677a, Thu Apr  6 19:36:54 PDT 2017
hbase(main):001:0> status 'detailed'
version 1.3.1
 regionsInTransition
active master:  localhost:40849 1497503036427
 backup masters
master coprocessors: []
 live servers
    localhost:38731 1497503037917


这时候我们可以打开 http://192.168.1.18:16010/master-status 来查看hbase 的情况


2.3 部署和配置pp-collector和pp-web


2.4 这里我们还需要部署一个zookeeper。从pinpoint1.5.0开始,pp-web到pp-agent的request请求直接通过pp-collector来统筹管理,包括一些real-time级别的信息监测,而zookeeper在其中间协调三者之间的通信沟通。如果zookeeper部署在独立的一台设备,这里我就需要修改一下pp-colletor & pp-web的配置文件pinpoint-collector.properties,pinpoint-web.properties,不然会导致俩个模块启动失败。  如果pp-xx 跟hbase 在同一台机器上,则不需要安装zookeeper,使用 hbase 自己带的就可以。


rpm -ivh /root/pp/zookeeper-3.4.6-10.el6.x86_64.rpm
/etc/init.d/zookeeper start     # 保证zookeeper的2181端口起来就可以了


2.5  pp-collector的配置

mkdir  /opt/apm/service/
tar xf apache-tomcat-8.0.32.tar.gz -C service/
cd service/
mv apache-tomcat-8.0.32 pinpoint-collector
# 因为我们的pp-collector和pp-web部署在同台设备,所以请确认tomcat启动端口不会冲突
vim  pinpoint-collector/conf/server.xml
<Server port="8005" shutdown="SHUTDOWN">
<Connector port="8085" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
<!-- <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> -->     #  注释该行
rm -rf pinpoint-collector/webapps/*
cd /opt/apm/
unzip pinpoint-collector-1.6.2.war -d service/pinpoint-collector/webapps/ROOT/
cd  service/pinpoint-collector/webapps/ROOT/WEB-INF/classes
ls -l
总用量 52
-rw-rw-r--. 1 root root 16583 6月   2 16:38 applicationContext-collector.xml
-rw-rw-r--. 1 root root  9321 6月   2 16:38 applicationContext-hbase.xml
drwxrwxr-x. 3 root root  4096 6月   2 16:39 com
-rw-rw-r--. 1 root root  1220 6月   2 16:38 hbase.properties
-rw-rw-r--. 1 root root  2082 6月   2 16:38 log4j.xml
-rw-rw-r--. 1 root root  3814 6月   2 16:38 pinpoint-collector.properties
-rw-rw-r--. 1 root root  3323 6月   2 16:38 servlet-context.xml
vim hbase.properties
hbase.client.host=localhost # Hbase 地址
hbase.client.port=2181
到此,pp-collector我们就基本上配置完成了,
./bin/startup.sh 启动

2.6  pp-web的配置

tar xf apache-tomcat-8.0.32.tar.gz -C service/
cd service/
mv apache-tomcat-8.0.32 pinpoint-web
vim  pinpoint-web/conf/server.xml
<Server port="8006" shutdown="SHUTDOWN">
<Connector port="8086" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
<!-- <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> -->     #  注释该行
rm -rf pinpoint-collector/webapps/*
cd /opt/apm/
unzip pinpoint-web-1.6.2.war -d service/pinpoint-collector/webapps/ROOT/
cd  service/pinpoint-web/webapps/ROOT/WEB-INF/classes
vim hbase.properties
hbase.client.host=localhost # Hbase 地址
hbase.client.port=2181


这里说明一下:


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


好了,pp-web终于算是配置完成了。

./bin/startup.sh 启动


3.1 部署pp-agent (探针)

我们1.17 的tomcat 安装在 /opt/tomcat/apache-tomcat-8.0.32 , 这里我们就将pp-agent解压至这里

tar xf /opt/soft/pinpoint-agent-1.6.2.tar.gz -C /opt/tomcat/apache-tomcat-8.0.32/
cd /opt/tomcat/apache-tomcat-8.0.32/pinpoint-agent-1.6.2/
vim pinpoint.config
profiler.collector.ip=192.168.1.18


此刻,我们开始往我们的应用里部署探针。

vim /opt/tomcat/apache-tomcat-8.0.32/bin/catalina.sh
AGENT_VERSION="1.6.2"
AGENT_ID="pp201606011442"
APPLICATION_NAME="tomcat-test"
AGENT_PATH="/opt/tomcat/apache-tomcat-8.0.32/pinpoint-agent-1.6.2"
CATALINA_OPTS="$CATALINA_OPTS -javaagent:$AGENT_PATH/pinpoint-bootstrap-${AGENT_VERSION}.jar"
CATALINA_OPTS="$CATALINA_OPTS -Dpinpoint.agentId=$AGENT_ID"
CATALINA_OPTS="$CATALINA_OPTS -Dpinpoint.applicationName=$APPLICATION_NAME"


这里说明一下:


- 探针配置项写到 CATALINA_OPTS 变量下一行即可。

- AGENT_ID 命名必须在生产环境里唯一,否则后面将会混乱。

- APPLICATION_NAME 配置为一个服务组的ID号,即服务组下的实例ID。


4.0. 重启被采集端的应用,使探针生效。


5.0 打开浏览器

http://192.168.1.18:8086/stat.html      # pp-agent 信息统计页面,即探针部署情况的统计信息

http://192.168.1.18:8086/#/main       # pp APM信息主页面


5.1 添加防火墙配置

vi /etc/sysconfig/iptables
### pinpoint
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8086 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 16010 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 9994 -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --dport 9995 -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --dport 9996 -j ACCEPT

service iptables restart #重启防火墙



作者:技术尘埃@伯仁
别让梦想只是梦想而以......
原文地址:pinpoint 安装布暑, 感谢原作者分享。

发表评论