架构组成

Pinpoint 主要由 3 个组件外加 Hbase 数据库组成,三个组件分别为:Agent、Collector 和 Web UI。

Agent组件:用于收集应用端监控数据,无侵入式,只需要在启动命令中加入部分参数即可

Collector组件:数据收集模块,接收Agent发送过来的监控数据,并存储到HBase

WebUI:监控展示模块,展示系统调用关系、调用详情、应用状态等,并支持报警等功能

准备一台服务器

CentOS7(192.168.1.155)

一、Docker

1、安装Docker

yum install docker -y

2、启动Docker服务:

systemctl start docker

systemctl enable docker

二、拉取Pinpoint的Docker镜像(除Agent组件外)

1、克隆pinpoint-docker

git clone https://github.com/naver/pinpoint-docker.git

Pinpoint安装配置全过程-Docker方式_第1张图片

2、安装docker-compose

在这里找到最新版二进制文件下载地址:https://github.com/docker/compose/releases

cd /usr/local/bin/

wget https://github.com/docker/compose/releases/download/1.23.2/docker-compose-Linux-x86_64

mv docker-compose-Linux-x86_64 docker-compose

chmod +x /usr/local/bin/docker-compose

3、拉取docker-compose镜像:

因为/home/software/pinpoint-docker目录下有docker-compose.yml文件,所以docker-compose命令必须在此目录下运行

cd /home/software/pinpoint-docker

docker-compose pull

Pinpoint安装配置全过程-Docker方式_第2张图片

三、运行Pinpoint

1、修改docker-compose.yml中2处路径

vi docker-compose.yml

将17、18行

- ./home/pinpoint/hbase

- ./home/pinpoint/zookeeper

改为

- /home/pinpoint/hbase

- /home/pinpoint/zookeeper

去掉前边的点,改为绝对路径

Pinpoint安装配置全过程-Docker方式_第3张图片

如果不改在之后的命令中会出错:

ERROR: for pinpoint-hbase  Cannot create container for service pinpoint-hbase: invalid volume spec "home/pinpoint/zookeeper": invalid volume specification: 'home/pinpoint/zookeeper': invalid mount config for type "volume": invalid mount path: 'home/pinpoint/zookeeper' mount path must be absolute

2、执行运行命令

docker-compose up -d

Pinpoint安装配置全过程-Docker方式_第4张图片

docker ps -a

Pinpoint安装配置全过程-Docker方式_第5张图片

docker-compose ps

注意8000、9997、8080、9994-9996、16010、6123、2181、2888、3888、8081、8079端口不能被占用

PS:其他命令

停止compose服务

docker-compose stop

重启compose服务

docker-compose restart

kill compose服务

docker-compose kill

删除compose服务

docker-compose rm

使用Chrome浏览器访问各组件:

Flink   http://192.168.1.155:8081/

Pinpoint安装配置全过程-Docker方式_第6张图片

WebUI   http://192.168.1.155:8079/

Pinpoint安装配置全过程-Docker方式_第7张图片

QuickStart   http://192.168.1.155:8000/

Pinpoint安装配置全过程-Docker方式_第8张图片

Hbase   http://192.168.1.155:16010

Pinpoint安装配置全过程-Docker方式_第9张图片

3、上传pinpoint-flink-job包

使用Chrome浏览器访问Flink:http://192.168.1.155:8081/#/submit

Pinpoint安装配置全过程-Docker方式_第10张图片

将Github上https://github.com/naver/pinpoint-docker的pinpoint-docker/pinpoint-flink/build/pinpoint-flink-job-{pinpoint-version}.jar 文件手动upload到flik组件中,上传的版本{pinpoint-version}需要和pinpoint保持一致,pinpoint版本可以查看镜像或者容器版本

Pinpoint安装配置全过程-Docker方式_第11张图片

上传完成

Pinpoint安装配置全过程-Docker方式_第12张图片

四、安装Agent组件

1、在需要监控的服务器上访问 https://github.com/naver/pinpoint/releases 下载和 Collector组件 相同版本的pinpoint-agent压缩包。

Pinpoint安装配置全过程-Docker方式_第13张图片

命令如下:

cd /home

mkdir pinpoint-agent

cd pinpoint-agent

wget https://github.com/naver/pinpoint/releases/download/1.8.0/pinpoint-agent-1.8.0.tar.gz

tar -zxvf pinpoint-agent-1.8.0.tar.gz

chown web:web /home/pinpoint-agent -R

2、配置并运行

修改pinpoint.config 文件

vi pinpoint.config

改配置项 profiler.collector.ip=127.0.0.1 为你自己的Collector组件的IP(Pinpoint服务器IP)

Pinpoint安装配置全过程-Docker方式_第14张图片

3、插入探针

(1)Tomcat

修改Tomcat启动脚本catalina.sh

vi /home/web/tomcat/bin/catalina.sh

最好在文件头几行插入,不能放在文件末尾

CATALINA_OPTS="$CATALINA_OPTS -javaagent:/home/pinpoint-agent/pinpoint-bootstrap-1.8.0.jar"

CATALINA_OPTS="$CATALINA_OPTS -Dpinpoint.agentId=smz_nt_interface"

CATALINA_OPTS="$CATALINA_OPTS -Dpinpoint.applicationName=smz_nt_interface"

Pinpoint安装配置全过程-Docker方式_第15张图片

PS:

如果你在多台机器上部署了应用程序,那么就需要在多台机器上部署Agent组件

applicationName:在pinpoint上显示的名字

agentId:可以和applicationName相同,也可以不同。但必须唯一,标志一个jvm。

同一个应用的不同实例可以使用不同的agentId,相同的applicationName。

启动程序,访问一下,就可以在pinpoint上看见相关数据。

./startup.sh

(2)jar包

使用如下命令启动jar包:

java -javaagent:/home/tanchengwen/pinpoint-agent/pinpoint-bootstrap-1.8.1.jar -Dpinpoint.agentId=sso_test -Dpinpoint.applicationName=sso_test -jar xxxxxxxxxx.jar

后台启动:

nohup  java -javaagent:/home/tanchengwen/pinpoint-agent/pinpoint-bootstrap-1.8.1.jar -Dpinpoint.agentId=sso_test -Dpinpoint.applicationName=sso_test -jar xxxxxxxxxx.jar &

4、查看效果

进http://192.168.1.155:8079/查看配置已生效

Pinpoint安装配置全过程-Docker方式_第16张图片

100秒1000人登录测试

Pinpoint安装配置全过程-Docker方式_第17张图片