架构组成java
Pinpoint 主要由 3 个组件外加 Hbase 数据库组成,三个组件分别为:Agent、Collector 和 Web UI。git
Agent组件:用于收集应用端监控数据,无侵入式,只须要在启动命令中加入部分参数便可github
Collector组件:数据收集模块,接收Agent发送过来的监控数据,并存储到HBaseweb
WebUI:监控展现模块,展现系统调用关系、调用详情、应用状态等,并支持报警等功能docker
准备一台服务器数据库
CentOS7(192.168.1.155)bootstrap
1、Docker浏览器
一、安装Dockertomcat
yum install docker -y服务器
二、启动Docker服务:
systemctl start docker
systemctl enable docker
2、拉取Pinpoint的Docker镜像(除Agent组件外)
一、克隆pinpoint-docker
git clone https://github.com/naver/pinpoint-docker.git
二、安装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
三、拉取docker-compose镜像:
由于/home/software/pinpoint-docker目录下有docker-compose.yml文件,因此docker-compose命令必须在此目录下运行
cd /home/software/pinpoint-docker
docker-compose pull
3、运行Pinpoint
一、修改docker-compose.yml中2处路径
vi docker-compose.yml
将1七、18行
- ./home/pinpoint/hbase
- ./home/pinpoint/zookeeper
改成
- /home/pinpoint/hbase
- /home/pinpoint/zookeeper
去掉前边的点,改成绝对路径
若是不改在以后的命令中会出错:
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
二、执行运行命令
docker-compose up -d
docker ps -a
docker-compose ps
注意8000、999七、8080、9994-999六、160十、612三、218一、288八、388八、808一、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/
WebUI http://192.168.1.155:8079/
QuickStart http://192.168.1.155:8000/
Hbase http://192.168.1.155:16010
三、上传pinpoint-flink-job包
使用Chrome浏览器访问Flink:http://192.168.1.155:8081/#/submit
将Github上https://github.com/naver/pinpoint-docker的pinpoint-docker/pinpoint-flink/build/pinpoint-flink-job-{pinpoint-version}.jar 文件手动upload到flik组件中,上传的版本{pinpoint-version}须要和pinpoint保持一致,pinpoint版本能够查看镜像或者容器版本
上传完成
4、安装Agent组件
一、在须要监控的服务器上访问 https://github.com/naver/pinpoint/releases 下载和 Collector组件 相同版本的pinpoint-agent压缩包。
命令以下:
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
二、配置并运行
修改pinpoint.config 文件
vi pinpoint.config
改配置项 profiler.collector.ip=127.0.0.1 为你本身的Collector组件的IP(Pinpoint服务器IP)
三、插入探针
(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"
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 &
四、查看效果
进http://192.168.1.155:8079/查看配置已生效
100秒1000人登陆测试