zoukankan      html  css  js  c++  java
  • 全链路监控系统开源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,短信等

  • 相关阅读:
    纯css改变下拉列表select框的默认样式
    jquery 购物车
    如何统计页面标签使用次数?
    uni-app—从安装到卸载
    详解Vue 方法与事件处理器
    LoadRunner
    Python-函数
    Python-函数
    python-列表
    python-循环
  • 原文地址:https://www.cnblogs.com/kebibuluan/p/11304317.html
Copyright © 2011-2022 走看看