一、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=apm监控 pyhton探针 apm监控工具_tomcatJAVA_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

apm监控 pyhton探针 apm监控工具_apm监控 pyhton探针_02

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

apm监控 pyhton探针 apm监控工具_xml_03