pinpoint監控springboot應用性能

一,前提條件java

  • maven 3.2.x+
  • git
  • java 6+ (推薦jdk8)

二,準備工具git

三,部署github

1,部署Hbase,因爲Pinpoint以Hbase做爲數據的存儲,所以首先安裝Hbase,以下:web

  • 下載Hbase並解壓
  • 編輯/work/install/hbase-1.2.6/conf/hbase-env.sh文件(具體文件位置由安裝Hbase路徑決定),添加JAVA_HOME配置,大概在27行左右加入export JAVA_HOME=/usr/local/java/jdk1.8.0_131
  • 編輯/work/install/hbase-1.2.6/conf/hbase-site.xml文件(具體文件位置由安裝Hbase路徑決定),內容以下:
<configuration>
    <property>
        <name>hbase.rootdir</name>
        <value>file:///work/install/hbase-1.2.6/data</value>
    </property>
    <property>
        <name>hbase.zookeeper.property.clientPort</name>
        <value>2182</value> 
    </property>     
</configuration>

2,部署Pinpoint-collector,以下:spring

將pinpoint-collector-1.7.0-RC1.war拷貝到tomcat8080的webapps目錄下,修改tomcat各端口只要不衝突就行,啓動tomcat8080,修改WEB-INF/classes/hbase.properties文件,內容以下:apache

hbase.client.host=localhost
hbase.client.port=2181

重啓啓動tomcat8080。bootstrap

3,部署Pinpoint-web,以下:tomcat

將pinpoint-web-1.7.0-RC1.war拷貝到tomcat8081的webapps目錄下,修改tomcat各端口只要不衝突就行,啓動tomcat8081,修改WEB-INF/classes/hbase.properties文件,內容以下:springboot

hbase.client.host=localhost
hbase.client.port=2181

重啓啓動tomcat8081。服務器

4,部署Pinpoint-agent,以下:

  • 新建目錄:mkdir pp-agent
  • 將pinpoint-agent-1.7.0-RC1.tar.gz 拷貝到pp-agent目錄並解壓
  • 配置pinpoint.config:profiler.collector.ip=127.0.0.1這是指pinpoint-collector的地址,若是是同一服務器,則不用修改。其它默認。
  • 啓動pinpoint-collector後,自動就開啓了9994,9995,9996的端口了,這裏默認便可。若是有端口需求,要去pinpoint-collector的配置文件(「pinpoint-collector/webapps/ROOT/WEB-INF/classes/pinpoint-collector.properties」)中,修改這些端口。

5,springboot包部署,以下:

  • 簡單啓動方式:#nohup java -javaagent:/work/install/pp-agent/pinpoint-bootstrap-1.7.0-RC1.jar -Dpinpoint.agentId=springboot-sample -Dpinpoint.applicationName=springboot-sample -jar spring-boot-sample.jar --spring.profiles.active=test > catalina.out  2>&1 &
  • 腳本啓動方式:./startup.sh mySpringbootApp.jar dev

#!/bin/sh
#功能簡介:啓動上層目錄下的jar文件
#參數簡介:
#    $1:jar文件名(包含後綴名)
#    注意:jar文件必須位於startup.sh目錄的上一層目錄。
#啓動方式: ./startup.sh xxx.jar dev

#啓動參數
JAVA_OPTS="-server -Xms400m -Xmx400m -Xmn300m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=128m -Xverify:none -XX:+DisableExplicitGC -javaagent:/work/install/pp-agent/pinpoint-bootstrap-1.7.0-RC1.jar -Dpinpoint.agentId=springboot-sample -Dpinpoint.applicationName=springboot-sample"

jar_name=$1 #第一個參數jar包名
active_profile=$2 #第二個參數啓動環境
this_dir="$( cd "$( dirname "$0"  )" && pwd )" #腳本所在當前目錄
parent_dir=`dirname "${this_dir}"` #腳本上級目錄
log_dir="${parent_dir}/logs" #標準輸出目錄
log_file="${log_dir}/catalina.out" #標準輸出文件
jar_file="${parent_dir}/applications/${jar_name}" #jar所在位置,位於父目錄下的applications目錄下,可執行jar必要放在applications目錄下

#參數個數<1或者參數空值時,中斷執行
if [ $# -lt 1 ] || [ -z $1 ]; then
    echo -e "\033[31m 請輸入要部署的jar包名稱! \033[0m" #以紅色字體提示錯誤
    exit 1
fi

if [ ! -n "$2" ] ;then
    echo -e "\033[34m warn:沒有指定環境變量, 默認爲test \033[0m" #以黃色字體警告
    active_profile="test"
fi

#日誌文件夾不存在,則建立
if [ ! -d "${log_dir}" ]; then
    mkdir "${log_dir}"
fi

#父目錄下jar文件存在
if [ -f "${jar_file}" ]; then
    #啓動jar包;重定向標準錯誤/輸出到文件
    java $JAVA_OPTS -jar ${jar_file} --spring.profiles.active=${active_profile} 1>"${log_file}" 2>"${log_file}" &
    tailf ${log_file}
else
    echo -e "\033[31m${jar_file}文件不存在!\033[0m" #以紅包字體提示
    exit 1
fi

四,看效果

相關文章
相關標籤/搜索