pinpoint部署

本文详细介绍了Pinpoint监控系统的部署过程,包括HBase数据库的单节点部署,pinpoint-collector和agent-web的启动脚本创建,以及agent的配置和安装。文中强调了HBase版本兼容性,配置文件的修改,以及数据库初始化的步骤。此外,还提到了使用MySQL进行报警和用户管理的配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

pinpoint部署


组件概括

对应版本信息:可以参考官方文档,本次部署的是pinpoint2.5.0,其hbase相对应版本为1.2.X或1.4.X
在这里插入图片描述

官方文档:https://github.com/pinpoint-apm/pinpoint

id组件名称组件版本组件用途下载链接
1hbase-1.4.9-bin.tar.gz1.4.9保存agent采集的数据https://archive.apache.org/dist/hbase/
2pinpoint-2.5.0.tar.gz2.5.0数据库初始化的语句在这里可以找到https://github.com/pinpoint-apm/pinpoint/archive/refs/tags/v2.5.0.tar.gz
3pinpoint-collector-boot-2.5.0.jar2.5.0收集agent采集过来的数据,控制端https://github.com/pinpoint-apm/pinpoint/releases/download/v2.5.0/pinpoint-collector-boot-2.5.0.jar
4pinpoint-agent-2.5.0.tar.gz2.5.0采集各个应用时需要用到的组件,并将采集到的数据推送到hbase和collectorhttps://github.com/pinpoint-apm/pinpoint/releases/download/v2.5.0/pinpoint-agent-2.5.0.tar.gz
5pinpoint-web-boot-2.5.0.jar2.5.0前端页面展示https://github.com/pinpoint-apm/pinpoint/releases/download/v2.5.0/pinpoint-web-boot-2.5.0.jar
6jdk-11.0.18_linux-x64_bin.tar.gz11.0.18启动pinpoint-collector和web时需要用到jdk11https://www.oracle.com/java/technologies/downloads/#java11

一、hbases数据库部署(单节点)

⚠️ hbase需要使用1.XX版本的,如果使用2.5.3版本,在启动pinpoint-collector的时候会报版本不匹配的错误

1.1 上传压缩包至服务器

1.1.1 解压
# 创建文件夹
mkdir -p /data/middleWare
tar xvf hbase-1.4.9-bin.tar.gz -C /data/middleWare
1.1.2 修改配置
1.1.2.1 hbase-site.xml

数据默认存储在/tmp/hbase-admin 路径下,服务器重启后数据有丢失的风险,强烈建议指定数据存放位置!!!


vi /data/middleware/hbase-1.4.9/conf/hbase-site.xml
# 在最后添加以下信息
  <property>
    <name>hbase.rootdir</name>
    <value>/data/middleWare/hbase-1.4.9</value>
  </property>
   <property>
       <name>hbase.tmp.dir</name>
       <value>${hbase.rootdir}/tmp</value>
  </property>
  <property>
        <name>hbase.local.dir</name>
        <value>${hbase.tmp.dir}/local</value>
  </property>
  <property>
    <name>hbase.zookeeper.property.dataDir</name>
    <value>/data/middleWare/zookeeper/date</value>
  </property>
  <property>
        <name>hbase.master.info.port</name>
        <value>60010</value>
 </property>
 <property>
      <name>hbase.cluster.distributed</name>
      <value>false</value>
</property>

1.1.2.2 hbase-env.sh
 vi /data/middleware/hbase-1.4.9/conf/hbase-env.sh
 # 第27行设置jdk
     20 # Set environment variables here.
     21 
     22 # This script sets variables multiple times over the course of starting an hbase process,
     23 # so try to keep things idempotent unless you want to take an even deeper look
     24 # into the startup scripts (bin/hbase, etc.)
     25 
     26 # The java implementation to use.  Java 1.7+ required.
     27 export JAVA_HOME=/usr/local/java
1.1.3 设置环境变量
vi /etc/profile

# set hbase env
export HBASE_HOME=/data/middleWare/hbase-1.4.9
export PATH=$PATH:$HBASE_HOME/bin
1.1.4 启动服务
cd /data/middleWare/hbase-1.4.9/bin
sh start-hbase.sh
1.1.5 初始化数据库

使用hbase shell 登陆数据库,执行下边 create xxx 脚本

脚本位置: 解压pinpoint-2.5.0 下的 pinpoint-2.5.0/hbase/scripts/hbase-create.hbase

[root@master hbase-1.4.9]$ pwd
/data/pinpoint/pinpoint-2.5.1/hbase/scripts
[root@master scripts]$ ll
total 48
-rw-rw-r-- 1 admin admin 15829 Apr 12 15:49 hbase-create.hbase
-rw-rw-r-- 1 admin admin 16205 Apr 12 15:49 hbase-create-snappy.hbase
-rw-rw-r-- 1 admin admin   854 Apr 12 15:49 hbase-drop.hbase
-rw-rw-r-- 1 admin admin   375 Apr 12 15:49 hbase-flush-table.hbase
-rw-rw-r-- 1 admin admin   542 Apr 12 15:49 hbase-major-compact-htable.hbase
-rw-rw-r-- 1 admin admin  2371 Apr 12 15:49 README.md
[root@master scripts]$ cat hbase-create.hbase
create 'AgentInfo', { NAME => 'Info', TTL => 31536000, DATA_BLOCK_ENCODING => 'PREFIX' }
create 'AgentStatV2', { NAME => 'S', TTL => 5184000, DATA_BLOCK_ENCODING => 'PREFIX' }, {SPLITS=>["\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x16\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x17\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x21\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x24\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x27\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x28\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x2c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x2d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x2e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x32\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x34\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x35\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x36\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x37\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x39\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x3a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x3c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x3e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x3f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"]}
create 'ApplicationStatAggre', { NAME => 'S', TTL => 5184000, DATA_BLOCK_ENCODING => 'PREFIX' }, {SPLITS=>["\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x16\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x17\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x21\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x24\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x27\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x28\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x2c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x2d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x2e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x32\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x34\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x35\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x36\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x37\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x39\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x3a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x3c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x3e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x3f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"]}

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=>["\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"]}
create 'ApiMetaData', { NAME => 'Api', TTL => 31536000, DATA_BLOCK_ENCODING => 'PREFIX' }, {SPLITS=>["\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"]}

create 'SqlMetaData_Ver2', { NAME => 'Sql', TTL => 15552000, DATA_BLOCK_ENCODING => 'PREFIX' }, {SPLITS=>["\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x16\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"]}

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

create 'ApplicationTraceIndex', { NAME => 'I', TTL => 5184000, DATA_BLOCK_ENCODING => 'PREFIX' }, { NAME => 'M', TTL => 5184000, DATA_BLOCK_ENCODING => 'PREFIX' }, {SPLITS=>["\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x16\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"]}

create 'ApplicationMapStatisticsCaller_Ver2', { NAME => 'C', TTL => 5184000, VERSIONS => 1, DATA_BLOCK_ENCODING => 'PREFIX' }, {SPLITS=>["\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x16\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"]}
create 'ApplicationMapStatisticsCallee_Ver2', { NAME => 'C', TTL => 5184000, VERSIONS => 1, DATA_BLOCK_ENCODING => 'PREFIX' }, {SPLITS=>["\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x16\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"]}
create 'ApplicationMapStatisticsSelf_Ver2', { NAME => 'C', TTL => 5184000, VERSIONS => 1, DATA_BLOCK_ENCODING => 'PREFIX' }, {SPLITS=>["\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"]}

create 'HostApplicationMap_Ver2', { NAME => 'M', TTL => 5184000, VERSIONS => 1, DATA_BLOCK_ENCODING => 'PREFIX' }, {SPLITS=>["\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00","\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"]}

list

exit
1.1.6 初始化成功
[root@master scripts]$ hbase shell hbase-create.hbase 
2023-08-30 10:25:40,396 WARN  [main] util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
0 row(s) in 1.5640 seconds

0 row(s) in 2.3150 seconds

0 row(s) in 1.2510 seconds

0 row(s) in 1.2290 seconds

0 row(s) in 1.2350 seconds

0 row(s) in 1.2280 seconds

0 row(s) in 1.2260 seconds

0 row(s) in 1.2320 seconds

0 row(s) in 1.2280 seconds

0 row(s) in 2.2560 seconds

0 row(s) in 1.2310 seconds

0 row(s) in 1.2380 seconds

0 row(s) in 1.2300 seconds

0 row(s) in 1.2260 seconds

0 row(s) in 1.2290 seconds

TABLE                                                                                                                                            
AgentEvent                                                                                                                                       
AgentInfo                                                                                                                                        
AgentLifeCycle                                                                                                                                   
AgentStatV2                                                                                                                                      
ApiMetaData                                                                                                                                      
ApplicationIndex                                                                                                                                 
ApplicationMapStatisticsCallee_Ver2                                                                                                              
ApplicationMapStatisticsCaller_Ver2                                                                                                              
ApplicationMapStatisticsSelf_Ver2                                                                                                                
ApplicationStatAggre                                                                                                                             
ApplicationTraceIndex                                                                                                                            
HostApplicationMap_Ver2                                                                                                                          
SqlMetaData_Ver2                                                                                                                                 
StringMetaData                                                                                                                                   
TraceV2                                                                                                                                          
15 row(s) in 0.0130 seconds

[root@master scripts]$ hbase shell
hbase(main):004:0> list
TABLE                                                                                                                                            
AgentEvent                                                                                                                                       
AgentInfo                                                                                                                                        
AgentLifeCycle                                                                                                                                   
AgentStatV2                                                                                                                                      
ApiMetaData                                                                                                                                      
ApplicationIndex                                                                                                                                 
ApplicationMapStatisticsCallee_Ver2                                                                                                              
ApplicationMapStatisticsCaller_Ver2                                                                                                              
ApplicationMapStatisticsSelf_Ver2                                                                                                                
ApplicationStatAggre                                                                                                                             
ApplicationTraceIndex                                                                                                                            
HostApplicationMap_Ver2                                                                                                                          
SqlMetaData_Ver2                                                                                                                                 
StringMetaData                                                                                                                                   
TraceV2                                                                                                                                          
15 row(s) in 0.1650 seconds

=> ["AgentEvent", "AgentInfo", "AgentLifeCycle", "AgentStatV2", "ApiMetaData", "ApplicationIndex", "ApplicationMapStatisticsCallee_Ver2", "ApplicationMapStatisticsCaller_Ver2", "ApplicationMapStatisticsSelf_Ver2", "ApplicationStatAggre", "ApplicationTraceIndex", "HostApplicationMap_Ver2", "SqlMetaData_Ver2", "StringMetaData", "TraceV2"]
hbase(main):005:0> 

二、pinpoint-collector-boot部署

2.1 上传jar包到服务器

2.1.1 创建pinpoint/scripts文件夹
#创建pinpoint和脚本存放及日志的文件夹scripts
mkdir -p /data/middleWare/pinpoint/{scripts,logs}
# 将jar包移动到/data/middleWare/pinpoint
2.1.2 编辑启停脚本
# 启动脚本
[root@master scripts]# cat  collector-start.sh 
#!/bin/sh
# 警告:请不要随意修改
# 
# *************************************************************************
# APP_NAME   进程名称
APP_NAME="pinpoint-collector-boot-2.5.0"
# PROCESS_PATH          - jar包路径
PROCESS_PATH=/data/middleWare/pinpoint
# PROCESS_NAME          - 启动类
PROCESS_NAME="pinpoint-collector-boot-2.5.0.jar"
# *************************************************************************

#获取启动脚本的上层目录作为app基础目录

APP_HOME=/data/middleWare/pinpoint
JAVA_HOME=/data/middleWare/jdk-11.0.18/
JAVA_OPTIONS="${JAVA_OPTIONS}  -Dappframe.server.name=${APP_NAME}"
MEM_ARGS="${MEM_ARGS}"

COMMON_LOG_ARGS="/data/middleWare/pinpoint/logs/${APP_NAME}-%Y%m%d.log"
#启动命令行
${JAVA_HOME}/bin/java -jar  -Dpinpoint.zookeeper.address=192.168.110.123  ${MEM_ARGS}  ${JAVA_OPTIONS} ${PROCESS_PATH}/${PROCESS_NAME}  2>&1 | ./cronolog -k 5 ${COMMON_LOG_ARGS} &

echo "启动完成,请查看日志:/data/middleWare/pinpoint/logs/${APP_NAME}-%Y%m%d.log"
[root@master scripts]#  
# 停止脚本
[root@master scripts]# cat collector-stop.sh 
#!/bin/sh
# desc: 停止脚本
#

# PROCESS_NAME 进程名称
PROCESS_NAME="pinpoint-collector-boot-2.5.0.jar"

CUR_USER=`whoami`
ps -ef | grep ${PROCESS_NAME} | grep -v grep | awk '{print $2}' | while read pid
do
  kill -9 ${pid} 2>&1 >/dev/null
  echo "进程名称:${PROCESS_NAME},PID:${pid} 成功停止"
done
[root@master scripts]# 

三、agent-web 部署

3.1 上传jar包到服务器

3.1.1 将jar包放到pinpoint 路径下
#创建pinpoint和脚本存放及日志的文件夹scripts
mkdir -p /data/middleWare/pinpoint/{scripts,logs}
# 将jar包移动到/data/middleWare/pinpoint
3.1.2 编辑启停脚本
# 启动脚本
[root@master scripts]# cat web-start.sh 
#!/bin/sh
#
# 警告:请不要随意修改
# *************************************************************************
# APP_NAME  - 进程名称
APP_NAME="pinpoint-web-boot-2.5.0"
# PROCESS_PATH - jar包路径
PROCESS_PATH=/data/middleWare/pinpoint
# PROCESS_NAME - 启动类
PROCESS_NAME="pinpoint-web-boot-2.5.0.jar"
# *************************************************************************

#获取启动脚本的上层目录作为app基础目录

APP_HOME=/data/middleWare/pinpoint
JAVA_HOME=/data/middleWare/jdk-11.0.18/
JAVA_OPTIONS="${JAVA_OPTIONS}  -Dappframe.server.name=${APP_NAME}"
MEM_ARGS="${MEM_ARGS}"

COMMON_LOG_ARGS="/data/middleWare/pinpoint/logs/${APP_NAME}-%Y%m%d.log"
#启动命令行
${JAVA_HOME}/bin/java -jar  -Dpinpoint.zookeeper.address=192.168.110.123  ${MEM_ARGS}  ${JAVA_OPTIONS} ${PROCESS_PATH}/${PROCESS_NAME}  2>&1 | ./cronolog -k 5 ${COMMON_LOG_ARGS} &

echo "启动完成,请查看日志:/data/middleWare/pinpoint/logs/${APP_NAME}-%Y%m%d.log"
[root@master scripts]#  
# 停止脚本
[root@master scripts]# cat web-stop.sh 
#!/bin/sh
# desc: 停止脚本
#

# PROCESS_NAME 进程名称
PROCESS_NAME="pinpoint-web-boot-2.5.0.jar"

CUR_USER=`whoami`
ps -ef | grep ${PROCESS_NAME} | grep -v grep | awk '{print $2}' | while read pid
do
  kill -9 ${pid} 2>&1 >/dev/null
  echo "进程名称:${PROCESS_NAME},PID:${pid} 成功停止"
done
[root@master scripts]# 

3.3 添加报警和添加用户,需要用到mysql

配置mysql数据源,修改web的jar包,具体路径为pinpoint-web-boot-2.5.0.jar/BOOT-INF/classes/

在这里插入图片描述

3.3.1 mysql 数据库初始化
# 创建数据库
CREATE DATABASE `pinpoint` CHARACTER SET 'utf8' COLLATE 'utf8_general_ci';
# 初始化数据表
# mysql初始化文件位置:/BOOT-INF/classes/sql
# 可以使用命令 jar xf 或者unzip解压jar包 pinpoint-web-boot-2.5.0.jar
3.3.2 数据库初始化脚本
3.3.2.1 CreateTableStatement-mysql.sql
-- DROP TABLE user_group;
-- DROP TABLE user_group_member;
-- DROP TABLE puser;
-- DROP TABLE alarm_rule;

CREATE TABLE `user_group` (
    `number` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
        `id` VARCHAR(30) NOT NULL,
        PRIMARY KEY (`number`)
);
ALTER TABLE user_group ADD UNIQUE KEY id_idx (id);

CREATE TABLE `user_group_member` (
  `number` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, 
  `user_group_id` VARCHAR(30) NOT NULL,
  `member_id` VARCHAR(30) NOT NULL,
  PRIMARY KEY (`number`)
);
ALTER TABLE user_group_member ADD UNIQUE KEY user_group_id_member_id_idx (`user_group_id`,`member_id`);

CREATE TABLE `puser` (
  `number` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, 
  `user_id` VARCHAR(30) NOT NULL,
  `name` VARCHAR(150) NOT NULL,
  `department` VARCHAR(150) NOT NULL,
  `phone_country_code` int(10) NOT NULL DEFAULT '0',
  `phonenumber` VARCHAR(100),
  `email` VARCHAR(100),
  PRIMARY KEY (`number`)
);
ALTER TABLE puser ADD UNIQUE KEY user_id_idx (`user_id`);

CREATE TABLE `alarm_rule` (
  `rule_id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  `application_id` VARCHAR(30) NOT NULL,
  `service_type` VARCHAR(30) NOT NULL,
  `checker_name` VARCHAR(50) NOT NULL,
  `threshold` INT(10) DEFAULT NULL,
  `user_group_id` VARCHAR(30) NOT NULL,
  `sms_send` CHAR(1) DEFAULT NULL,
  `email_send` CHAR(1) DEFAULT NULL,
  `webhook_send` CHAR(1) DEFAULT NULL,
  `notes` VARCHAR(100) DEFAULT NULL,
  PRIMARY KEY (`rule_id`)
);
ALTER TABLE alarm_rule ADD INDEX application_id_checker_name_user_group_id_idx (application_id, user_group_id, checker_name);

CREATE TABLE `alarm_history` (
  `history_id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  `rule_id` INT(10) UNSIGNED NOT NULL,
  `application_id` VARCHAR(30) NOT NULL,
  `checker_name` VARCHAR(50) NOT NULL,
  `detected` CHAR(1) DEFAULT NULL,
  `sequence_count` INT(10),
  `timing_count` INT(10),
  PRIMARY KEY (`history_id`)
);
ALTER TABLE alarm_history ADD INDEX application_id_checker_name_idx (application_id, checker_name);

CREATE TABLE `agent_statistics` (
  `agent_count` INT(10) UNSIGNED NOT NULL,
  `date_val`DATETIME NOT NULL,
  PRIMARY KEY (`date_val`)
);

CREATE TABLE `webhook` (
  `webhook_id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
  `alias` VARCHAR(256) NULL,
  `url` VARCHAR(256) NOT NULL,
  `application_id` VARCHAR(45) NULL,
  `service_name` VARCHAR(45) NULL,
  PRIMARY KEY (`webhook_id`)
);

CREATE TABLE `webhook_send` (
  `webhook_send_info_id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
  `webhook_id` INT UNSIGNED NOT NULL,
  `rule_id` INT UNSIGNED NOT NULL,
  PRIMARY KEY (`webhook_send_info_id`)
);


3.3.2.2 SpringBatchJobRepositorySchema-mysql.sql
-- DROP TABLE IF EXISTS BATCH_STEP_EXECUTION_CONTEXT ;
-- DROP TABLE IF EXISTS BATCH_JOB_EXECUTION_CONTEXT ;
-- DROP TABLE IF EXISTS BATCH_STEP_EXECUTION ;
-- DROP TABLE IF EXISTS BATCH_JOB_EXECUTION_PARAMS ;
-- DROP TABLE IF EXISTS BATCH_JOB_EXECUTION ;
-- DROP TABLE IF EXISTS BATCH_JOB_INSTANCE ;

-- DROP TABLE IF EXISTS BATCH_STEP_EXECUTION_SEQ ;
-- DROP TABLE IF EXISTS BATCH_JOB_EXECUTION_SEQ ;
-- DROP TABLE IF EXISTS BATCH_JOB_SEQ ;

CREATE TABLE BATCH_JOB_INSTANCE  (
        JOB_INSTANCE_ID BIGINT  NOT NULL PRIMARY KEY ,
        VERSION BIGINT ,
        JOB_NAME VARCHAR(100) NOT NULL,
        JOB_KEY VARCHAR(32) NOT NULL,
        constraint JOB_INST_UN unique (JOB_NAME, JOB_KEY)
) ENGINE=InnoDB;

CREATE TABLE BATCH_JOB_EXECUTION  (
        JOB_EXECUTION_ID BIGINT  NOT NULL PRIMARY KEY ,
        VERSION BIGINT  ,
        JOB_INSTANCE_ID BIGINT NOT NULL,
        CREATE_TIME DATETIME NOT NULL,
        START_TIME DATETIME DEFAULT NULL ,
        END_TIME DATETIME DEFAULT NULL ,
        STATUS VARCHAR(10) ,
        EXIT_CODE VARCHAR(2500) ,
        EXIT_MESSAGE VARCHAR(2500) ,
        LAST_UPDATED DATETIME,
        JOB_CONFIGURATION_LOCATION VARCHAR(2500) NULL,
        constraint JOB_INST_EXEC_FK foreign key (JOB_INSTANCE_ID)
        references BATCH_JOB_INSTANCE(JOB_INSTANCE_ID)
) ENGINE=InnoDB;

CREATE TABLE BATCH_JOB_EXECUTION_PARAMS  (
        JOB_EXECUTION_ID BIGINT NOT NULL ,
        TYPE_CD VARCHAR(6) NOT NULL ,
        KEY_NAME VARCHAR(100) NOT NULL ,
        STRING_VAL VARCHAR(250) ,
        DATE_VAL DATETIME DEFAULT NULL ,
        LONG_VAL BIGINT ,
        DOUBLE_VAL DOUBLE PRECISION ,
        IDENTIFYING CHAR(1) NOT NULL ,
        constraint JOB_EXEC_PARAMS_FK foreign key (JOB_EXECUTION_ID)
        references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID)
) ENGINE=InnoDB;

CREATE TABLE BATCH_STEP_EXECUTION  (
        STEP_EXECUTION_ID BIGINT  NOT NULL PRIMARY KEY ,
        VERSION BIGINT NOT NULL,
        STEP_NAME VARCHAR(100) NOT NULL,
        JOB_EXECUTION_ID BIGINT NOT NULL,
        START_TIME DATETIME NOT NULL ,
        END_TIME DATETIME DEFAULT NULL ,
        STATUS VARCHAR(10) ,
        COMMIT_COUNT BIGINT ,
        READ_COUNT BIGINT ,
        FILTER_COUNT BIGINT ,
        WRITE_COUNT BIGINT ,
        READ_SKIP_COUNT BIGINT ,
        WRITE_SKIP_COUNT BIGINT ,
        PROCESS_SKIP_COUNT BIGINT ,
        ROLLBACK_COUNT BIGINT ,
        EXIT_CODE VARCHAR(2500) ,
        EXIT_MESSAGE VARCHAR(2500) ,
        LAST_UPDATED DATETIME,
        constraint JOB_EXEC_STEP_FK foreign key (JOB_EXECUTION_ID)
        references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID)
) ENGINE=InnoDB;

CREATE TABLE BATCH_STEP_EXECUTION_CONTEXT  (
        STEP_EXECUTION_ID BIGINT NOT NULL PRIMARY KEY,
        SHORT_CONTEXT VARCHAR(2500) NOT NULL,
        SERIALIZED_CONTEXT TEXT ,
        constraint STEP_EXEC_CTX_FK foreign key (STEP_EXECUTION_ID)
        references BATCH_STEP_EXECUTION(STEP_EXECUTION_ID)
) ENGINE=InnoDB;

CREATE TABLE BATCH_JOB_EXECUTION_CONTEXT  (
        JOB_EXECUTION_ID BIGINT NOT NULL PRIMARY KEY,
        SHORT_CONTEXT VARCHAR(2500) NOT NULL,
        SERIALIZED_CONTEXT TEXT ,
        constraint JOB_EXEC_CTX_FK foreign key (JOB_EXECUTION_ID)
        references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID)
) ENGINE=InnoDB;

CREATE TABLE BATCH_STEP_EXECUTION_SEQ (
        ID BIGINT NOT NULL,
        UNIQUE_KEY CHAR(1) NOT NULL,
        constraint UNIQUE_KEY_UN unique (UNIQUE_KEY)
) ENGINE=InnoDB;

INSERT INTO BATCH_STEP_EXECUTION_SEQ (ID, UNIQUE_KEY) select * from (select 0 as ID, '0' as UNIQUE_KEY) as tmp where not exists(select * from BATCH_STEP_EXECUTION_SEQ);

CREATE TABLE BATCH_JOB_EXECUTION_SEQ (
        ID BIGINT NOT NULL,
        UNIQUE_KEY CHAR(1) NOT NULL,
        constraint UNIQUE_KEY_UN unique (UNIQUE_KEY)
) ENGINE=InnoDB;

INSERT INTO BATCH_JOB_EXECUTION_SEQ (ID, UNIQUE_KEY) select * from (select 0 as ID, '0' as UNIQUE_KEY) as tmp where not exists(select * from BATCH_JOB_EXECUTION_SEQ);

CREATE TABLE BATCH_JOB_SEQ (
        ID BIGINT NOT NULL,
        UNIQUE_KEY CHAR(1) NOT NULL,
        constraint UNIQUE_KEY_UN unique (UNIQUE_KEY)
) ENGINE=InnoDB;

INSERT INTO BATCH_JOB_SEQ (ID, UNIQUE_KEY) select * from (select 0 as ID, '0' as UNIQUE_KEY) as tmp where not exists(select * from BATCH_JOB_SEQ);

四、pinpoint-agent 部署安裝

4.1 修改配置

配置文件:pinpoint-agent-2.5.1/profiles/release/pinpoint.config

第20行 profiler.transport.grpc.collector.ip=对应的主机ip 【该主机为pinpoint-collector部署的服务器ip】

第131行 profiler.collector.ip=对应的主机ip 【同上】

第186行 profiler.sampling.rate=1 #采样率配置,访问量不大的情况,建议全部采集

     15 # GRPC or THRIFT
     16 profiler.transport.module=GRPC
     17 ###########################################################
     18 # gRPC Configuration                                      #
     19 ###########################################################
     20 profiler.transport.grpc.collector.ip=127.0.0.1 
    
    
    128 ###########################################################
    129 # Thrift Configuration                                    #
    130 ###########################################################
    131 #$# profiler.collector.ip=127.0.0.1
    132 profiler.collector.ip=192.168.110.123
    133 
    134 # placeHolder support "${key}"
    135 profiler.collector.span.ip=${profiler.collector.ip}
    136 profiler.collector.span.port=9996

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    172 
    173 # Allow sampling.
    174 profiler.sampling.enable=true
    175 
    176 # support 2 types, COUNTING(default) and PERCENT.
    177 # If this value set to COUNTING(default), sampling rate is 1/n.
    178 # If this value set to PERCENT, sampling rate is n%.
    179 profiler.sampling.type=COUNTING
    180 
    181 # depend on profiler.samplging.rate.type,
    182 
    183 # if it's COUNTING(the default), then 1 out of n transactions will be sampled where n is the rate.
    184 # eg. 1: 100%     20: 5%     50: 2%      100: 1%
    185 profiler.sampling.counting.sampling-rate=1
    186 # @Deprecate : Alias for profiler.sampling.counting.sampling-rate
    187 profiler.sampling.rate=1
    188 
    189 # if it's PERCENT, then first x transactions out of y transactions will be sampled.
    190 # Support from 100% to 0.01%
    191 # eg. 100: 100%    50: 50%   5: 5%  0.01: 0.01%
    192 profiler.sampling.percent.sampling-rate=100
    193 
    194 # Permits per second, if throughput is 0, it is unlimited.
    195 # "New" is a transaction that is newly traced.
    196 profiler.sampling.new.throughput=0
    

4.2 服务引用agent

添加启动参数:

获取IPABBR

IPABBR=ifconfig eth0 | grep 'inet ' | sed 's/^.*inet //g' | sed 's/ netmask.*$//g'|cut -d '.' -f4

-javaagent:${PINPOINT_AGENT} -Dpinpoint.agentId=${APP_NAME}-${IPABBR} -Dpinpoint.applicationName=${APP_NAME}-${IPABBR}

${JAVA_HOME}/bin/java -javaagent:${PINPOINT_AGENT} -Dpinpoint.agentId=${APP_NAME}-${IPABBR} -Dpinpoint.applicationName=${APP_NAME}-${IPABBR} -jar ${MEM_ARGS} ${JAVA_OPTIONS} ${PROCESS_NAME} 2>&1 | ./bin/cronolog -k 5 ${COMMON_LOG_ARGS} &
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值