设置防火墙端口
firewall-cmd --zone=public --add-port=16010/tcp --permanent
firewall-cmd --zone=public --add-port=9994/tcp --permanent
firewall-cmd --zone=public --add-port=28080/tcp --permanent
firewall-cmd --zone=public --add-port=9995-9996/udp --permanent
firewall-cmd --reload
firewall-cmd --zone=public --list-ports
关闭selinux
sed -i 's/SELINUX=enforcing/SELINUX=permissive/g' /etc/selinux/config
setenforce 0
mkdir /usr/local/pinpoint
cd /usr/local/pinpoint
wget https://github.com/naver/pinpoint/releases/download/1.8.0/pinpoint-agent-1.8.0.tar.gz
wget https://github.com/naver/pinpoint/releases/download/1.8.0/pinpoint-collector-1.8.0.war
wget https://github.com/naver/pinpoint/releases/download/1.8.0/pinpoint-web-1.8.0.war
wget http://archive.apache.org/dist/hbase/hbase-1.2.9/hbase-1.2.9-bin.tar.gz
安装JDK
下载JDK 1.8 jdk-8u171-linux-x64.rpm
rpm -ivh jdk-8u171-linux-x64.rpm
安装hbase-1.2.9
tar -zxvf hbase-1.2.9-bin.tar.gz
修改./conf/hbase-env.sh
vim hbase-1.2.9/conf/hbase-env.sh
在第27行修改 export JAVA_HOME=/usr/java/jdk1.8.0_171-amd64/
启动hbase
cd hbase-1.2.9
./bin/start-hbase.sh
初始化Hbase的Pinpoint库
首先到github下载pinpoint对应的hbase库文件存放在/usr/local/pinpoint/hbase-1.2.9里
下载地址:https://github.com/naver/pinpoint/tree/master/hbase/scripts
wget https://raw.githubusercontent.com/naver/pinpoint/master/hbase/scripts/hbase-create.hbase
导入表
./bin/hbase shell hbase-create.hbase
查看数据表是否存在,访问 http://ip:16010
hbase需要zookeeper
zookeeper可以使用内置的,也可以使用外置的,默认使用内置的,不需要做修改,如要使用外置的,则需要修改hbase-site.xml文件。
修改hbase-site.xml文件,添加以下内容,主要是要指定数据目录,不然默认会放在/tmp 下,有时会被自动清理掉:可以参考服务器4.34:
<property>
<name>hbase.rootdir</name>
<value>file:/usr/local/pinpoint/hbase-1.2.9</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.regionserver.handler.count</name>
<value>20</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>localhost</value>
</property>
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2181</value>
</property>
<property>
<name>zookeeper.session.timeout</name>
<value>200000</value>
</property>
安装Tomcat
cd /usr/local/pinpoint
wget http://archive.apache.org/dist/tomcat/tomcat-8/v8.5.35/bin/apache-tomcat-8.5.35.tar.gz
tar -zxvf apache-tomcat-8.5.35.tar.gz
删除Tomcat默认项目
cd/usr/local/pinpoint/apache-tomcat-8.5.35
rm conf/Catalina/localhost/* -rf
rm work/Catalina/localhost/* -rf
rm webapps/* -rf
安装pinpoint-collector
cd /usr/local/pinpoint
cp -r apache-tomcat-8.5.35 tomcat8-pp-collector
Collector是一个war包(pinpoint-collector-1.8.0.war),只要放到tomcat的webapps中,启动tomcat。
unzip pinpoint-collector-1.8.0.war -d tomcat8-pp-collector/webapps/ROOT/
修改端口
cd tomcat8-pp-collector/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
修改/usr/local/pinpoint/tomcat8-pp-collector/bin/catalina.sh
vim /usr/local/pinpoint/tomcat8-pp-collector/bin/catalina.sh
增加一行PID配置
CATALINA_PID=/var/run/tomcat8-pp-collector.pid
启动pinpoint-collector
/usr/local/pinpoint/tomcat8-pp-collector/bin/startup.sh
注意:
pinpoint-collector.properties 里面有3个端口
9994是tcp端口,9995,9996是udp端口,要保证这些是通的,否则只能注册而不能看到数据。udp端口是负责收集数据的。所以每个使用 pinpoint-agent的地方都要保证这三个端口是通的,这样数据才能被collector收集。
部署pinpoint-web
cd /usr/local/pinpoint
cp -r apache-tomcat-8.5.35 tomcat8-pp-web
unzip pinpoint-web-1.8.0.war -d tomcat8-pp-web/webapps/ROOT/
修改端口
cd tomcat8-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
修改/usr/local/pinpoint/tomcat8-pp-web/bin/catalina.sh
vim /usr/local/pinpoint/tomcat8-pp-web/bin/catalina.sh
增加一行PID配置
CATALINA_PID=/var/run/tomcat8-pp-web.pid
安装MySQL,用于pinpoint-web用户管理
yum install -y http://www.percona.com/downloads/percona-release/redhat/0.1-6/percona-release-0.1-6.noarch.rpm
yum install -y Percona-Server-client-57 Percona-Server-server-57
配置/etc/my.cnf
systemctl start mysql
初始密码在/var/log/messages日志
修改密码
mysql -uroot -p
alter user root@'localhost' identified by '密码';
创建数据库
create database pinpoint;
初始化表结构
mysql -uroot -p pinpoint < /usr/local/pinpoint/tomcat8-pp-web/webapps/ROOT/WEB-INF/classes/sql/CreateTableStatement-mysql.sql
mysql -uroot -p pinpoint < /usr/local/pinpoint/tomcat8-pp-web/webapps/ROOT/WEB-INF/classes/sql/SpringBatchJobRepositorySchema-mysql.sql
在pinpiont-web.war解压后的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
启动pinpoint-web
tomcat8-pp-web/bin/startup.sh
部署pinpoint-agent采集监控数据
mkdir -p /usr/local/pinpoint-agent/
cd /usr/local/pinpoint-agent/
下载agent包,如果上面已经下载就忽略此步:
wget https://github.com/naver/pinpoint/releases/download/v2.0.3/pinpoint-agent-2.0.3.tar.gz
tar -zxvf pinpoint-agent-2.0.3.tar.gz
加入配置文件永久生效:
vim /etc/profile
export AGENT_PATH=/usr/local/pinpoint-agent/pinpoint-bootstrap-1.8.0.jar
source /etc/profile
修改pinpoint-collector的IP地址
vim /usr/local/pinpoint-agent/pinpoint.config
profiler.collector.ip=192.168.81.232
以springboot为例:
java -javaagent:$AGENT_PATH/pinpoint-bootstrap-1.8.0.jar \
-Dpinpoint.agentId=eureka -Dpinpoint.applicationName=eureka -jar -Xms1024m -Xmx1024m ./eureka-1.0.0.jar --spring.profiles.active=dev
agentId:全局唯一 (比如应用集群中的每个节点的agentId必须不同)
applicationName: 应用名称(同一服务的不同节点可以相同)