架構組成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人登陸測試