一、APM由来?
微服务架构下,服务按照不同的维度进行拆分,一次请求
往往需要涉及到多个服务。互联网应用构建在不同的软件模
块上,这些软件模块,有可能是由不同的团队开发、可能使
用不同的编程语言来实现、有可能布在了几千台服务器,横
跨多个不同的数据中心。
因此,就需要一些可以帮助理解系统行为、用于分析性能
问题的工具,以便发生故障的时候,能够快速定位和解决问题。
分布式调用链监控服务(APM)在这样的环境下产生了。
二、常见的APM?
市面上的APM理论模型大多都是借鉴(borrow) Google Dapper论文,
本文重点关注以下几种开源APM组件:
1、Zipkin
由Twitter公司开源,开放源代码分布式的跟踪系统,用于收集服务的定时数据,以解决微服务架构中的延迟问题,包括数据的收集、存储、查找和展现。
2、Skywalking
国产的优秀APM组件,是一个对JAVA分布式应用程序集群的业务运行情况进行追踪、告警和分析的系统。
3、Pinpoint
Pinpoint是一款对Java编写的大规模分布式系统的APM工具,由韩国人开源的分布式跟踪组件。其他类似的组件还有美团点评的CAT,淘宝的鹰眼EgleEye。
本文主要介绍pinpoint的安装
三、pinpoint环境配置
1.1 获取需要的依赖包
进入home目录,创建一个"pp_res"的资源目录,用来存放需要安装的包
mkdir /home/pp_res
cd /home/pp_res/
将所需要的包传进来
[root@localhost pp_res]# ls
apache-tomcat-8.5.28.tar.gz hbase-1.2.6-bin.tar.gz hbase-create.hbase jdk1.8.0_111.tar.gz pinpoint-agent-1.7.2.tar.gz pinpoint-collector-1.7.2.war pinpoint-web-1.7.2.war
[root@localhost pp_res]#
1.2 配置jdk1.8
这套APM系统主要是用jdk1.8来进行部署的,首先要配置jdk的环境变量
cd /home/pp_res/
tar -zxvf jdk1.8.0_111.tar.gz
mkdir /usr/java
mv jdk1.8.0_111/ /usr/java/jdk8
配置java环境变量
vi /etc/profile
将下列复制到profile的最后一行中
export JAVA_HOME=/usr/java/jdk8
export PATH=JAVA_HOME/bin
让环境变量生效
source /etc/profile
测试java的环境变量是否配置好了
[root@localhost pp_res]# java -version
java version "1.8.0_111
Java™ SE Runtime Environment (build 1.8.0_111-b15)
Java HotSpot™ 64-Bit Server VM (build 24.79-b02, mixed mode)
2、安装Hbase
pinpoint收集来的测试数据,主要是存在Hbase数据库的。所以它可以收集大量的数据,可以进行更加详细的分析。
2.1 将Hbase解压,并且放入指定目录
cd /home/pp_res/
tar -zxvf hbase-1.2.6-bin.tar.gz
mkdir -p /data/service
mv hbase-1.2.6/ /data/service/hbase
cd /data/service/hbase/conf/
vi hbase-env.sh
在27行左右的位置,修改如下
export JAVA_HOME=/usr/java/jdk8/
2.3 修改Hbase的配置信息
vi hbase-site.xml
在结尾修改成如下,这里我们指定Hbase本地来存储数据,生产环境将数据建议存入HDFS中。
<configuration>
<property>
<name>hbase.rootdir</name>
<value>file:///data/hbase</value>
</property>
</configuration>
2.4 启动hbase
cd /data/service/hbase/bin
./start-hbase.sh
查看Hbase是否启动成功,如果启动成功的会看到"HMaster"的进程
[root@localhost bin]# jps
12075 Jps
11784 HMaster
2.5 初始化Hbase的pinpoint库
执行pinpoint提供的Hbase初始化语句,这时会初始化一会。
./hbase shell /home/pp_res/hbase-create.hbase
3、安装俩个tomcat
将apache-tomcat-8.5.28.tar.gz 解压成俩个tomcat,分别在server.xml下面改配置:
比方说
cd /data/service/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
war包分别放到俩个tomcat里面并重命名ROOT
之后启动tomcat