全链路监控系统开源Pinpoint入门视频教程(最新版本1.8)

pinpoint支持的模块

源码:https://github.com/naver/pinpoint
技术概述:https://skyao.gitbooks.io/learning-pinpoint/content/design/technical_overview.html

官网上介绍的信息

当前最新版本是1.8.4

 1、popint的安装

 安装的时候,我们准备了两台虚拟机用于安装

两台虚拟机在安装的时候一定要将虚拟机的防火墙和selinux权限给关闭

安装之前先给两台虚拟机安装jdk,这里jdk要求是1.8版本不能是jdk1.7,一台安装pinpoint-collect和pinpint-web,,一台安装point-agent和被监控的tomcat应用

安装之前首先要查看当前是否已经安装了jdk

rpm -qa | grep java

当前已经安装了jdk 1.6.0和jdk1.7.0版本,我们使用下面的两个命令将jdk卸载掉

 rpm -e --nodeps  java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.i686
rpm -e --nodeps  java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.i686

接下来我们开始安装jdk1.8

首先使用下面的命令查看当前yum源中存在哪些jdk

[root@localhost 桌面]# yum list java*

我们在安装之前要更新yum源,,否则会出现下载包无法下载的问题

这里我们推荐使用网易163和中科大的yum源

网易
CentOS7
sudo wget -O CentOS-Base.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo
复制代码
CentOS6
sudo wget -O CentOS-Base.repo http://mirrors.163.com/.help/CentOS6-Base-163.repo
复制代码
CentOS5
sudo wget -O CentOS-Base.repo http://mirrors.163.com/.help/CentOS5-Base-163.repo
复制代码

当前我机器是centos 6.5版本的,我们使用http://mirrors.163.com/.help/CentOS6-Base-163.repo这个yum源,我们在浏览器输入

这个时候会把

这个时候会下载CentOS6-Base-163.repo这个yum文件

文件的内容如下:

# CentOS-Base.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client.  You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the 
# remarked out baseurl= line instead.
#
#

[base]
name=CentOS-$releasever - Base - 163.com
baseurl=http://mirrors.163.com/centos/$releasever/os/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6

#released updates 
[updates]
name=CentOS-$releasever - Updates - 163.com
baseurl=http://mirrors.163.com/centos/$releasever/updates/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6

#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras - 163.com
baseurl=http://mirrors.163.com/centos/$releasever/extras/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus - 163.com
baseurl=http://mirrors.163.com/centos/$releasever/centosplus/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus
gpgcheck=1
enabled=0
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6

#contrib - packages by Centos Users
[contrib]
name=CentOS-$releasever - Contrib - 163.com
baseurl=http://mirrors.163.com/centos/$releasever/contrib/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib
gpgcheck=1
enabled=0
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6

我们进入到虚拟机yum文件所在的目录

 cd /etc/yum.repos.d/

执行

[root@localhost yum.repos.d]# vi CentOS-Base.repo 

我们将下载CentOS6-Base-163.repo文件的内容全部替换CentOS-Base.repo 的内容

然后执行

[4] 运行yum makecache生成缓存

[root@localhost yum.repos.d]# yum clean all
[root@localhost yum.repos.d]# yum makecache

[5] 更新系统(可选)
[root@localhost yum.repos.d]# yum -y update

这样我们的yum源就设置成功了

设置成功之后,接下来要安装jdk 1.8

直接执行下面的命令查看当前网易yum源中存在哪些jdk

yum list java*

 我们看到当前有jdk 1.8

我们直接使用下面的命令安装,就会自动帮助我们安装对于的jdk

yum install jdk-1.8.0

 

记得虚拟机一定要关闭防火墙个selinux的安全

centOS 6.5关闭防火墙步骤

关闭命令:  service iptables stop 
        永久关闭防火墙:chkconfig iptables off

两个命令同时运行,运行完成后查看防火墙关闭状态 
        service iptables status

Centos6.5
关闭selinux:
永久有效:修改/etc/sysconfig/selinux


将文本中的SELINUX=enforcing,改为SELINUX=disabled。然后重启

 

全链路监控系统Pinpoint的hbase安装和初始化

pinpoint收集来的测试数据,主要是存在Hbase数据库的。所以它可以收集大量的数据,可以进行更加详细的分析

进入到apache的官网,进入到最下面找到hbase,点击进入

这里选择1.2.7版本下载二进制的bin的安装包

这里我们得到二进制的url,可以使用wget来下载

wget  http://117.128.6.17/cache/archive.apache.org/dist/hbase/1.2.7/hbase-1.2.7-bin.tar.gz?ich_args2=468-06114512036078_ea9442618a5488bca925de6ba7864bb7_10001002_9c896229d7c5f2d0923a518939a83798_b8cae780849f9b43ef308a37cc5176d8

我们把habase安装到我们的192.168.0.113这台机器上,hbase的安装还需要mysql数据库,我们就不再虚拟机中安装了,我们在本地的电脑上安装

我们在根目录下创建一个data文件夹,我们把hbase解压到改目录下

[root@localhost 桌面]# mkdir /data
[root@localhost 桌面]# mv hbase-1.2.7-bin.tar.gz  /data/hbase.tar.gz
[root@localhost 桌面]# cd /data
[root@localhost data]# ls

 接下来执行解压的操作

[root@localhost data]# tar -zxvf hbase.tar.gz 

然后将解压之后的文件夹进行重新命名为hbase-app

[root@localhost data]# mv hbase-1.2.7/ hbase-app/

接下来我们要在hbase中配置jdk的安装路径

[root@localhost data]# which java
/usr/bin/java
[root@localhost data]# ls -l /usr/bin/java
lrwxrwxrwx 1 root root 22 8月   6 09:46 /usr/bin/java -> /etc/alternatives/java
[root@localhost data]# ls -l /etc/alternatives/java
lrwxrwxrwx 1 root root 44 8月   6 09:46 /etc/alternatives/java -> /usr/lib/jvm/jre-1.8.0-openjdk.i386/bin/java
[root@localhost data]# cd /usr/lib/jvm/jre-1.8.0-openjdk.i386/bin/java
bash: cd: /usr/lib/jvm/jre-1.8.0-openjdk.i386/bin/java: 不是目录
[root@localhost data]# cd /usr/lib/jvm/jre-1.8.0-openjdk.i386/
[root@localhost jre-1.8.0-openjdk.i386]# ls
bin  lib
[root@localhost jre-1.8.0-openjdk.i386]# cd ..
[root@localhost jvm]# ls
java-1.8.0-openjdk-1.8.0.222.b10-0.el6_10.i386  jre-1.8.0                                      jre-1.8.0-openjdk.i386
jre                                             jre-1.8.0-openjdk-1.8.0.222.b10-0.el6_10.i386  jre-openjdk
[root@localhost jvm]# 

通过上面的命令不断进行ls -l 软连接的引用查找到当前java的真实目录为/usr/lib/jvm/jre-1.8.0-openjdk.i386/

进入到base-app/conf目录,执行vi hbase-site.xml

在改文件夹中增加下面的内容

export JAVA_HOME=/usr/lib/jvm/jre-1.8.0-openjdk.i386/

接下来还需要修改hbase的配置信息,进入到/data/hbase-app/conf目录下我们把hbase的配置信息放在/data/hbase-data目录下

vi hbase-site.xml

<configuration>
 <property>
        <name>hbase.rootdir</name>
        <value>file:///data/hbase-data</value>
    </property>
</configuration>

hbase-site.xml还可以hbase的zookeeper的集群,这里我们使用单机版本没有使用,接下来我们创建

/data/hbase-data这个目录
[root@localhost data]# mkdir hbase-data
[root@localhost data]# ls
hbase-app  hbase-data
[root@localhost data]# 

 接下来,完成上面的配置之后就可以启动hbase了,进入到目录

/data/hbase-app/bin

执行

[root@localhost bin]# ./start-hbase.sh 

这样就表示hbase启动成功了

接下来要进行hbase的初始化操作

我们进入到popint的git官网的地址:https://github.com/naver/pinpoint/tree/master/hbase/scripts

create 'AgentInfo', { NAME => 'Info', TTL => 31536000, DATA_BLOCK_ENCODING => 'PREFIX' }
create 'AgentStatV2', { NAME => 'S', TTL => 5184000, DATA_BLOCK_ENCODING => 'PREFIX' }, {SPLITS=>["x01x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x02x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x03x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x04x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x05x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x06x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x07x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x08x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x09x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x0ax00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x0bx00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x0cx00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x0dx00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x0ex00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x0fx00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x10x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x11x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x12x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x13x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x14x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x15x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x16x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x17x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x18x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x19x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x1ax00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x1bx00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x1cx00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x1dx00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x1ex00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x1fx00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x20x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x21x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x22x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x23x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x24x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x25x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x26x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x27x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x28x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x29x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x2ax00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x2bx00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x2cx00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x2dx00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x2ex00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x2fx00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x30x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x31x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x32x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x33x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x34x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x35x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x36x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x37x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x38x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x39x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x3ax00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x3bx00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x3cx00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x3dx00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x3ex00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x3fx00x00x00x00x00x00x00x00x00x00x00x00x00x00x00"]}
create 'ApplicationStatAggre', { NAME => 'S', TTL => 5184000, DATA_BLOCK_ENCODING => 'PREFIX' }, {SPLITS=>["x01x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x02x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x03x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x04x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x05x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x06x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x07x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x08x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x09x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x0ax00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x0bx00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x0cx00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x0dx00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x0ex00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x0fx00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x10x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x11x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x12x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x13x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x14x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x15x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x16x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x17x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x18x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x19x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x1ax00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x1bx00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x1cx00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x1dx00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x1ex00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x1fx00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x20x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x21x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x22x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x23x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x24x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x25x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x26x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x27x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x28x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x29x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x2ax00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x2bx00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x2cx00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x2dx00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x2ex00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x2fx00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x30x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x31x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x32x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x33x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x34x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x35x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x36x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x37x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x38x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x39x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x3ax00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x3bx00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x3cx00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x3dx00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x3ex00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x3fx00x00x00x00x00x00x00x00x00x00x00x00x00x00x00"]}

create 'ApplicationIndex', { NAME => 'Agents', TTL => 31536000, DATA_BLOCK_ENCODING => 'PREFIX' }
create 'AgentLifeCycle', { NAME => 'S', TTL => 5184000, DATA_BLOCK_ENCODING => 'PREFIX' }
create 'AgentEvent', { NAME => 'E', TTL => 5184000, DATA_BLOCK_ENCODING => 'PREFIX' }

create 'StringMetaData', { NAME => 'Str', TTL => 15552000, DATA_BLOCK_ENCODING => 'PREFIX' }, {SPLITS=>["x01x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x02x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x03x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x04x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x05x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x06x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x07x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00"]}
create 'ApiMetaData', { NAME => 'Api', TTL => 31536000, DATA_BLOCK_ENCODING => 'PREFIX' }, {SPLITS=>["x01x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x02x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x03x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x04x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x05x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x06x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x07x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00"]}

create 'SqlMetaData_Ver2', { NAME => 'Sql', TTL => 15552000, DATA_BLOCK_ENCODING => 'PREFIX' }, {SPLITS=>["x02x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x04x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x06x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x08x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x0ax00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x0cx00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x0ex00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x10x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x12x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x14x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x16x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x18x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x1ax00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x1cx00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x1ex00x00x00x00x00x00x00x00x00x00x00x00x00x00x00"]}

create 'TraceV2', { NAME => 'S', TTL => 5184000, DATA_BLOCK_ENCODING => 'PREFIX' }, {NUMREGIONS => 256, SPLITALGO => 'UniformSplit'}

create 'ApplicationTraceIndex', { NAME => 'I', TTL => 5184000, DATA_BLOCK_ENCODING => 'PREFIX' }, {SPLITS=>["x02x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x04x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x06x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x08x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x0ax00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x0cx00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x0ex00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x10x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x12x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x14x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x16x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x18x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x1ax00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x1cx00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x1ex00x00x00x00x00x00x00x00x00x00x00x00x00x00x00"]}

create 'ApplicationMapStatisticsCaller_Ver2', { NAME => 'C', TTL => 5184000, VERSIONS => 1, DATA_BLOCK_ENCODING => 'PREFIX' }, {SPLITS=>["x02x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x04x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x06x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x08x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x0ax00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x0cx00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x0ex00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x10x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x12x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x14x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x16x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x18x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x1ax00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x1cx00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x1ex00x00x00x00x00x00x00x00x00x00x00x00x00x00x00"]}
create 'ApplicationMapStatisticsCallee_Ver2', { NAME => 'C', TTL => 5184000, VERSIONS => 1, DATA_BLOCK_ENCODING => 'PREFIX' }, {SPLITS=>["x02x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x04x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x06x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x08x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x0ax00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x0cx00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x0ex00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x10x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x12x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x14x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x16x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x18x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x1ax00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x1cx00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x1ex00x00x00x00x00x00x00x00x00x00x00x00x00x00x00"]}
create 'ApplicationMapStatisticsSelf_Ver2', { NAME => 'C', TTL => 5184000, VERSIONS => 1, DATA_BLOCK_ENCODING => 'PREFIX' }, {SPLITS=>["x01x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x02x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x03x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x04x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x05x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x06x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x07x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00"]}

create 'HostApplicationMap_Ver2', { NAME => 'M', TTL => 5184000, VERSIONS => 1, DATA_BLOCK_ENCODING => 'PREFIX' }, {SPLITS=>["x01x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x02x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00","x03x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00"]}

list

exit

我们进入到/data/hbase-app目录下,在这个目录下执行

[root@localhost hbase-app]# vi hbase-create.hbase

把上面脚本的内容存储到hbase-create.hbase中,接下来执行初始化脚本的操作

我们进入到

/data/hbase-app/bin目录下,执行

[root@localhost bin]# ./hbase shell /data/hbase-app/hbase-create.hbase 

安装之后,我们可以通过web页面来查看hbase是否安装成功

能看到agentInfo这些表

接下来,我们开始安装pinpoint,进入到pinpoint发布的网站地址:https://github.com/naver/pinpoint/releases

这里我们安装最新的1.8.4版本

我们可以看到collect和web都是war包,因此我们运行起来之前要先安装tomcat。我们在/data目录下创建一个tomcat的目录

[root@localhost bin]# cd /data
[root@localhost data]# mkdir tomcat
[root@localhost data]# cd tomcat/

 我们进入到apache的官网点击tomcat进入

 我们选择要下载的tar.gz版本,点击右键复制下载地址

在虚拟机中http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.43/bin/apache-tomcat-8.5.43.tar.gz 使用wget进行下载

[root@localhost tomcat]# wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.43/bin/apache-tomcat-8.5.43.tar.gz

下载之后,我们进行解压和重新命名的操作

[root@localhost tomcat]# tar -zxvf apache-tomcat-8.5.43.tar.gz 
[root@localhost tomcat]# mv apache-tomcat-8.5.43 tomcat8

接下来我们要安装pinpoint-collect的war包,以及pinpoint-web的war包,这里者两个war包最好分别部署在不同的tomcat上,这里我们重新复制另外一个tomcat

[root@localhost tomcat]# mv tomcat8/ tomcat8-collect
[root@localhost tomcat]# cp tomcat8-collect/  tomcat8-web/

接下来要让两个tomcat的端口不一样,我们进入到

/data/tomcat/tomcat8-web/conf,修改下端口vi server.xml

 <Connector port="8081" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
    <!-- A "Connector" using the shared thread pool-->
   <!-- Define an AJP 1.3 Connector on port 8009 -->
    <Connector port="8010" protocol="AJP/1.3" redirectPort="8443" />
   <Connector port="8081" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
    <!-- A "Connector" using the shared thread pool-->

 接下来就可以开始进行安装了,我们在

tomcat8-collect下安装pinpoint-collect.war
在tomcat8-web/下安装pinpoint-web.war
https://github.com/naver/pinpoint/releases/tag/1.8.0
 
 得到collect的下载地址为https://github.com/naver/pinpoint/releases/download/1.8.4/pinpoint-collector-1.8.4.war
我们进行到tomcat8-collect的webapps目录下,将war包下载下来
https://github.com/naver/pinpoint/releases/tag/1.8.0
这里下载很慢要采用翻墙的方式才能从github上进行下载
我们首先进入到
tomcat8-collect下安装pinpoint-collect.war,我们进入到
tomcat8-collect的webapps目录下,将改目录下的默认的其他文件夹删除掉,将pinpoint-collector-1.8.0.war上传到改目录下

接下来对war包进行解压操作

[root@localhost webapps]# unzip pinpoint-collector-1.8.0.war -d ROOT

 进入到ROOT目录下,我们可以看pinpoint的几个常见的配置,进入到

/data/tomcat/tomcat8-collect/webapps/ROOT/WEB-INF/classes目录下

首先来看

 集群文件的修改都是在

hbase.properties中进行修改,这里我们是单机默认不进行修改

pinpoint-collector.properties中配置和agent进行通信的协议端口

将war解压之后放在ROOT文件夹下面

这样就可以启动tomcat了,执行tomcatbin目录下的startup..sh

 按照同样的方法开始安装web

[root@localhost tomcat]# cd tomcat8-web/
[root@localhost tomcat8-web]# ls
bin           conf             lib      logs    README.md      RUNNING.txt  webapps
BUILDING.txt  CONTRIBUTING.md  LICENSE  NOTICE  RELEASE-NOTES  temp         work
[root@localhost tomcat8-web]# cd webapps/
[root@localhost webapps]# ls
docs  examples  host-manager  manager  pinpoint-web-1.8.0 .war  ROOT
[root@localhost webapps]# rm -rf docs/
[root@localhost webapps]# ls
examples  host-manager  manager  pinpoint-web-1.8.0 .war  ROOT
[root@localhost webapps]# rm -rf examples/  host-manager/ manager/ ROOT/
[root@localhost webapps]# ls
pinpoint-web-1.8.0 .war
[root@localhost webapps]# unzip pinpoint-web-1.8.0 .war  -d ROOT

接下来我们对里面的几个配置文件进行讲解,

/data/tomcat/tomcat8-web/webapps/ROOT/WEB-INF/classes

重点是jdbc.properties 和hbase.properites,这里要修改成我们mysql的地址,要创建pinpoint的数据库,字符集设置为utf8

jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:13306/pinpoint?characterEncoding=UTF-8
jdbc.username=root
jdbc.password=KEY@wy11104719

这里要保证mysql数据库是正常运行的

注意这样我们就可以启动web了,启动web之前要保证habse、collect、mysql数据库已经正常启动了

 web页面默认的端口是8081:在google浏览器上输入http://192.168.0.111:8081/#/main,有的浏览器这个页面打开有问题

这样collect和web都已经安装成功了

接下来我们要安装agent,按道理agent最好不要和collect和web安装在同一台服务器上面,我们另外一个台虚拟机192.168.43.112即使上安装,我们在data目录下创建一个pinpoint-agent目录

[root@localhost data]# mkdir pinpoint-agent

我们把pinpoint-agent-1.8.0.tar.gz上传到改目录下,然后我们执行解压的操作

[root@localhost pinpoint-agent]# tar -zxvf pinpoint-agent-1.8.0.tar.gz 

我们要对pinpoint.config进行配置

profiler.collector.ip=192.168.43.111

配置pinpoint.config:地址为collector收集器对应的IP地址

# 这是指pinpoint-collector的地址,默认为127.0.0.1,这里修改为以下192.168.43.111
这里需要特别注意的是collector的端口一共有3个。
9994是tcp端口9995,9996是udp端口,要保证这些是通的。初始化创建Docker的时候我们已经做了映射。


作者:小柒2012
链接:https://www.imooc.com/article/29232
来源:慕课网

这里要配置collect服务器的地址

我们要让pinpoint监控tomcat应用,我们重新安装一个tomcat

重新安装一个tomcat

tomcat8-agent,我们让pinpoint来监听tomcat8-agent这个应用

我们在另外另外一台虚拟机器192.168.43.111这台机器上重新安装一个被监听的tomcat

这里我们要让pinpint来监控tomcat-agent,需要对tomcat进行配置

修改测试项目下的tomcat启动文件"catalina.sh",修改这个只要是为了监控测试环境的Tomcat,增加探针

进入到/data/tomcat/tomcat8-agent/bin目录下,修改改目录下的catalina.sh ,需要在改文件下面添加对于的监控信息

CATALINA_OPTS="$CATALINA_OPTS -javaagent:/data/pinpoint-agent/pinpoint-bootstrap-1.8.0.jar"
CATALINA_OPTS="$CATALINA_OPTS -Dpinpoint.agentId=pp20161122"
CATALINA_OPTS="$CATALINA_OPTS -Dpinpoint.applicationName=MyTestPP”

 :/data/pp-agent/pinpoint-bootstrap-1.5.2.jar"表示监听的探针所在的位置,这里在

/data/pinpoint-agent/pinpoint-bootstrap-1.8.0.jar 

 -Dpinpoint.applicationName=MyTestPP表示你监控应用的名称,这里一个应用部署在10个tomcat上面,在这10个tomcat上应用的名称都一样,但是要保证-Dpinpoint.agentId都是唯一的,不能相同

测试流程:
1、第一保证mysql启动

2、保证hbase正常启动

3、启动pinpoint-colletc收集器

4、接下来启动pinpoint-web

5、服务端正常之后,要保证客户端正常,客户端首先要保证能够和服务器正常通信,第二讲客户端需要被监听的tomcat正常启动起来

这样我们就可以看到被监听的应用了

在被监听的应用进程中,可以看到配置的agent ,应用名等信息

接下来我们重点讲下pinpoint页面的信息

1


这里表示的是拓扑图的层级

这里表示的是时间,点击左边的圆圈,时间可以切换为下面的形式

上面是拓扑图。表示用户请求tomcat199次,tomcat请求unkown27次,请求应用28次,其中26363整个端口应用15次,请求23856应用13次

点击右边的view Servers,可以看到当前监听的应用部署在哪些服务器上面

上图中,红色的框图表示当前选择的服务器的一个统计情况,右边表示的当前应用部署的集群总的一个信息统计情况

上面这个页面也是显示当前应用一个总的信息的统计

点击inspectior进行可以看到一些详细的请求信息

我们左边选中要监听的那台服务器,在右边可以显示当前应用在改台服务器上的jvm参数、启动时间、。当前应用依赖哪些jar包。当前应用状态,以及当前服务器内存、cpu 线程等信息





 上面Total表示的是我们监听的应用一共部署了在多少台服务器中

27表示当前的应用在1d,1天之内总共成功了多少请求数,失败了多少

 我们要看具体对某个方法的请求信息,我们用鼠标拖动选择下面绿色的点,就表示对于的请求,我们选择之后进去可以看到

看到请求某个url具体的请求信息时间等,clientIP浏览器访问的IP地址等信息

我们选中某条URL,可以看到下面请执行的具体信息,可以对某条url详细进行具体分析

server map表示当前我们访问的url对于的一个拓扑结构

timeLine表示我们当前请求耗时的一个具体分析

Mixed View可以看到当前的请求占用cpu 内存的一个情况

 点击右上角的圆圈,可以进行当前的一个pinpoint的一个设置

usergroup表示人员分组,可以把某些人分配到某些组里面,pinpoint报警的时候只向指定的group的人进行报警

在apllication中可以选择报警触发的条件,发生给指定分组的人才能收到报警信息

报警的方式,可以是email,短信等

原文地址:https://www.cnblogs.com/kebibuluan/p/11304317.html