服务名 | 版本 |
---|---|
JDK | jdk1.8.0_121 |
zookeeper | zookeeper-3.4.9 |
hbase | hbase-1.2.4-bin |
tomcat | apache-tomcat-8.5.14.zip |
Pinpoint Collector | pinpoint-collector-1.6.2.war |
Pinpoint Web | pinpoint-web-1.6.2.war |
Pinpoint Agent | pinpoint-agent-1.6.2.tar.gz |
从oracle官网下载、安装jdk-1.8.0
$ cd /data/pin
$ sudo curl -OL http://files.saas.hand-china.com/hitoa/1.0.0/jdk-8u121-linux-x64.tar.gz
$ sudo tar -xzvf jdk-8u121-linux-x64.tar.gz
在/etc/profile文件配置环境变量
export JAVA_HOME=/data/u01/jdk1.8.0_121
export JRE_HOME=$JAVA_HOME/jre
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
使配置生效:
$ source /etc/profile
验证JAVA:
java -version
安装HBase之前需要先安装Zookeeper,执行如下命令,下载zookeeper并解压:
$ cd /data/pin
$ sudo curl -OL http://files.saas.hand-china.com/hitoa/1.0.0/zookeeper-3.4.9.tar.gz
$ sudo tar -xzvf zookeeper-3.4.9.tar.gz
$ sudo vim /data/pin/zookeeper-3.4.9/conf/zoo.cfg
#新增配置
tickTime=20000
initLimit=10
syncLimit=5
dataDir=/data/pin/zookeeper-3.4.9/data
clientPort=2181
MaxSessionTimeout=200000
$ cd /data/pin/zookeeper-3.4.9/bin
$ ./zkServer.sh start
出现上图提示则表示启动成功
Zookeeper启动成功后,默认端口号2181
执行如下命令,下载安装包并解压:
$ cd /data/pin
$ sudo 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
(1) 修改环境变量
$ sudo vim /etc/profile
在/etc/profile文件末尾追加以下内容:
export HBASE_HOME=/data/pin/hbase-1.2.4
使配置生效:
$ source /etc/profile
(2) 配置HBase配置文件
修改hbase-site.xml
$ sudo vim /data/pin/hbase-1.2.4/conf/hbase-site.xml
hbase-site.xml中新增如下配置
hbase.rootdir
file:/apm/hbase-1.2.4/data
hbase.cluster.distributed
true
hbase.regionserver.handler.count
20
hbase.zookeeper.quorum
localhost
hbase.zookeeper.property.clientPort
2181
zookeeper.session.timeout
200000
hbase.master.info.port
16010
HBase支持HDFS存储,但是需要安装Hadoop等组件,这里为了方便,暂时先不使用HDFS。另外,生产环境建议搭HBase集群,这里暂时只搭HBase单节点。
修改hbase-env.sh文件
$ sudo vim /data/pin/hbase-1.2.4/conf/hbase-env.sh
使得HBase不使用内置Zookeeper,而使用前面安装好的外置Zookeeper。
export HBASE_MANAGES_ZK=false
$ cd /data/pin/hbase-1.2.4/bin
$ ./start-hbase.sh
可以看到HBase日志文件位于 /data/bin/hbase-1.2.4/logs ,可以查看HBase启动日志
另外
HBase启动成功以后,可以通过浏览器访问 http://ip:16010 查看HBase有关信息
注:端口号为前面 hbase-site.xml文件中配置的端口号
如果发现成功启动了HBase,但是却无法在浏览器中访问 http://ip:16010,可以去检查防火墙状态
$ gentenforce
$ sudo setenforce 0
$ getenforce
systemctl stop firewalld.service
然后再次尝试访问
Pinpoint采用HBase作为底层存储,需要先在HBase中初始化表结构。
首先确保HBase是正常启动状态,然后:
$ cd /data/pin
$ curl -OL http://files.saas.hand-china.com/hitoa/1.0.0/pinpoint-hbase-create.hbase
$ ./hbase-1.2.4/bin/hbase shell ./pinpoint-hbase-create.hbase
后续需要安装pinpoint-web,而pinpoint-web经过定制化的开发,支持邮件告警,告警数据存储使用MySQL数据库,因此需要初始化MySQL表结构。
下载安装MySQL在这里不再赘述了,确保MySQL已经启动,接下来我们创建pinpoint数据库(如果有则不用创建)
如果不需要邮件告警功能,可以跳过此操作
mysql -u root -p
mysql>create database pinpoint;
//转到pinpoint数据库
mysql>use pinpoint
//执行sql脚本文件
mysql> source /data/pin/CreateTableStatement-mysql.sql;
mysql> source /data/pin/SpringBatchJobReositorySchema-mysql.sql;
mysql> source /data/pin/hand_application_group.sql;
mysql> source /data/pin/hand_application_group_member.sql;
mysql> source /data/pin/hand_application_group_rule.sql;
Pinpoint Collector、Pinpoint Web的部署均需要Tomcat,所以需要先部署tocat
$ cd /data/pin
$ 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.2
$ cd /data/pin/pinpoint-collector-1.6.2/webapps
$ rm -rf *
$ unzip /data/pin/pinpoint-collector-1.6.2.war -d ROOT
为了避免端口冲突,需要对Tomcat的端口做一些设置,可以直接下载已经设置好的配置文件:
$ cd /data/pin/pinpoint-collector-1.6.2/conf
$ curl http://files.saas.hand-china.com/hitoa/1.0.0/pinpoint-collector-server.xml -o server.xml
$ cd /data/pin/pinpoint-collector-1.6.2/bin
$ chmod +x catalina.sh shutdown.sh startup.sh
$ ./startup.sh
注:启动Pinpoint Collector时请确保HBase、Zookeeper都是正常启动的,否则会报错Connection Refused。
前面已经下载过tomcat 这里只需要重新解压
$ cd /data/pin
$ unzip apache-tomcat-8.5.14.zip
$ mv apache-tomcat-8.5.14 pinpoint-web-1.6.2
$ cd /data/pin/pinpoint-web-1.6.2/webapps
$ rm -rf *
$ unzip /data/pin/pinpoint-web-1.6.2.war -d ROOT
(1)配置pinpoint-web.properties:
$ cd /data/pin/pinpoint-web-1.6.2/webapps/ROOT/WEB-INF/classes
$ vim pinpoint-web.properties
由于当前的Pinpoint Web并不是集群部署,所以将 cluster.enable=true 改为 cluster.enable=false。
(2)为了避免端口冲突,修改tomcat的一些设置,可以直接下载已经设置好的配置文件:
$ cd /data/pin/pinpoint-web-1.6.2/conf
$ curl http://files.saas.hand-china.com/hitoa/1.0.0/pinpoint-web-server.xml -o server.xml
这里将端口号更改为19080
(3)配置 jdbc.properties
$ vim /data/pin/pinpoint-web-1.6.2/webapps/ROOT/WEB-INF/classes/jdbc.properties
修改为自己的配置:
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/pinpoint?characterEncoding=UTF-8
jdbc.username=XXXX
jdbc.password=XXXX
(4) 配置batch.properties
$ vim /data/pin/pinpoint-web-1.6.2/webapps/ROOT/WEB-INF/classes/batch.properties
文件修改
batch.enable=true
atch.server.ip=127.0.0.1 # 所要监控的主机IP,不变将监控所有的主机;
$ cd /data/pin/pinpoint-web-1.6.2/bin
$ chmod +x catalina.sh shutdown.sh startup.sh
$ ./startup.sh
Pinpoint Web启动成功以后,浏览器访问 http://ip:19080/,即可访问Pinpoint Web界面。
Pinpoint Web内置了告警功能,按照上述教程安装后pinpoint-web已经支持了告警,至于邮件通知部分,只需要修改/data/pin/pinpoint-web-1.6.2/webapps/ROOT/WEB-INF/classes/javamail.properties,然后重启pinpoint-web即可实现告警并发送邮件通知。
Pinpoint采用无侵入式的方式跟踪应用的请求调用链路,需要设置下目标应用的JVM参数即可。
上传pinpoint-agent-1.6.2.tar.gz上传到/data/pin目录下。
然后执行如下命令:
$ cd /data/pin
$ mkdir pinpoint-agent-1.6.2
$ cd pinpoint-agent-1.6.2/
$ cp /data/pin/pinpoint-agent-1.6.2.tar.gz .
$ tar -xzvf pinpoint-agent-1.6.2.tar.gz
修改pinpoint.config配置文件
$ vim /data/pin/pinpoint-agent-1.6.2/pinpoint.config
Pinpoint Agent默认的配置文件是适用于监控OpenJDK的应用,对于Oracle JDK的应用需要添加:
profiler.jvm.vendor.name=Oracle
profiler.sampling.rate=1#另外,默认的采样率(Sampling Rate)是5%,为了使采集数据更完整,暂时设置为100%
修改app tomcat的配置
找到tomcat的/bin/catalina.sh,修改启动参数
CATALINA_OPTS="$CATALINA_OPTS -javaagent:/data/pin/pinpoint-agent-1.6.2/pinpoint-bootstrap-1.6.2.jar"
CATALINA_OPTS="$CATALINA_OPTS -Dpinpoint.applicationName=dev-web"
CATALINA_OPTS="$CATALINA_OPTS -Dpinpoint.agentId=dev-web-01"
第一行:pinpoint-bootstrap-1.6.2.jar的位置
第二行:这里的agentId必须唯一,标志一个jvm。
第三行:applicationName表示同一种应用:同一个应用的不同实例应该使用不同的agentId,相同的applicationName。
配置完JVM参数以后,要启动下目标应用以使得生效。
由于我这里监控的是dev环境,前面已经启动过,这里先停止,再重启:
$ cd /data/dev_tomcat/apache-tomcat-8.5.37/bin/
$ ./shutdown.sh
$ ./startup.sh
重启成功以后,访问Pinpoint Web:http://ip:19080 ,如果能在应用列表中看到 dev-web ,则说明监控成功。