pinpoint部署
组件概括
对应版本信息:可以参考官方文档,本次部署的是pinpoint2.5.0,其hbase相对应版本为1.2.X或1.4.X
官方文档:https://github.com/pinpoint-apm/pinpoint
id | 组件名称 | 组件版本 | 组件用途 | 下载链接 |
---|---|---|---|---|
1 | hbase-1.4.9-bin.tar.gz | 1.4.9 | 保存agent采集的数据 | https://archive.apache.org/dist/hbase/ |
2 | pinpoint-2.5.0.tar.gz | 2.5.0 | 数据库初始化的语句在这里可以找到 | https://github.com/pinpoint-apm/pinpoint/archive/refs/tags/v2.5.0.tar.gz |
3 | pinpoint-collector-boot-2.5.0.jar | 2.5.0 | 收集agent采集过来的数据,控制端 | https://github.com/pinpoint-apm/pinpoint/releases/download/v2.5.0/pinpoint-collector-boot-2.5.0.jar |
4 | pinpoint-agent-2.5.0.tar.gz | 2.5.0 | 采集各个应用时需要用到的组件,并将采集到的数据推送到hbase和collector | https://github.com/pinpoint-apm/pinpoint/releases/download/v2.5.0/pinpoint-agent-2.5.0.tar.gz |
5 | pinpoint-web-boot-2.5.0.jar | 2.5.0 | 前端页面展示 | https://github.com/pinpoint-apm/pinpoint/releases/download/v2.5.0/pinpoint-web-boot-2.5.0.jar |
6 | jdk-11.0.18_linux-x64_bin.tar.gz | 11.0.18 | 启动pinpoint-collector和web时需要用到jdk11 | https://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} &