pinpoint部署文檔

Pinpoint是一個(gè)開源的 APM (Application Performance Management/應(yīng)用性能管理)工具姊舵,用于基于java的大規(guī)模分布式系統(tǒng)棘劣。 仿照Google Dapper嗅虏,Pinpoint通過跟蹤分布式應(yīng)用之間的調(diào)用來提供解決方案赤惊,以幫助分析系統(tǒng)的總體結(jié)構(gòu)和內(nèi)部模塊之間如何相互聯(lián)系敲长。


image.png

Pinpoint-Collector:收集各種性能數(shù)據(jù)
Pinpoint-Agent:和自己運(yùn)行的應(yīng)用關(guān)聯(lián)起來的探針
Pinpoint-Web:將收集到的數(shù)據(jù)顯示成WEB網(wǎng)頁形式
HBase Storage:收集到的數(shù)據(jù)存到HBase中

安裝步驟

一.安裝 JDK1.8

二.安裝Zookeeper

tickTime=20000
initLimit=10
syncLimit=5
dataDir=/usr/local/zookeeper-3.4.9/data
clientPort=2181
MaxSessionTimeout=200000

注解 生產(chǎn)環(huán)境中建議搭Zookeeper集群,這里暫時(shí)只搭單節(jié)點(diǎn)捡硅。

  • 啟動(dòng)Zookeeper
    cd /usr/local/zookeeper-3.4.9/bin
    ./zkServer.sh start
    輸出以下內(nèi)容表示Zookeeper啟動(dòng)成功:
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper-3.4.9/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

ps -ef|grep zookeeper
Zookeeper啟動(dòng)成功后哮内,綁定到2181端口提供服務(wù)。

三.安裝HBase

#HBASE_HOME
export HBASE_HOME=/usr/local/hbase-1.2.4

使配置生效:
source /etc/profile

  • 配置HBase配置文件
    cd /usr/local/hbase-1.2.4/conf
    vim hbase-site.xml
    hbase-site.xml中添加以下內(nèi)容:
<configuration>
  <property>
    <name>hbase.rootdir</name>
    <value>file:/usr/local/hbase-1.2.4/data</value>
  </property>
  <property>
    <name>hbase.cluster.distributed</name>
    <value>true</value>
  </property>
  <property>
    <name>hbase.regionserver.handler.count</name>
    <value>20</value>
  </property>
  <property>
    <name>hbase.zookeeper.quorum</name>
    <value>localhost</value>
  </property>
  <property>
    <name>hbase.zookeeper.property.clientPort</name>
    <value>2181</value>
  </property>
  <property>
    <name>zookeeper.session.timeout</name>
    <value>200000</value>
  </property>
</configuration>

注意:這里不是直接加在文件末尾處壮韭,直接加需要?jiǎng)h除本來帶的<configuration></configuration>
注:HBase支持HDFS存儲北发,但是需要安裝Hadoop等組件,這里為了方便喷屋,暫時(shí)先不使用HDFS琳拨。另外,生產(chǎn)環(huán)境建議搭HBase集群屯曹,這里暫時(shí)只搭HBase單節(jié)點(diǎn)狱庇。

  • 修改hbase-env.sh:
    vim hbase-env.sh
    添加配置行:
export HBASE_MANAGES_ZK=false

使得HBase不使用內(nèi)置Zookeeper,而使用前面安裝好的外置Zookeeper恶耽。

  • 啟動(dòng)HBase (jdk 1.7+安裝略)
    cd /usr/local/hbase-1.2.4/bin
    ./start-hbase.sh
    HBase日志文件位于 /usr/local/hbase-1.2.4/logs 密任,可以查看HBase啟動(dòng)日志。
    tail -f /usr/local/hbase-1.2.4/logs/hbase-root-1-regionserver-VM_0_12_centos.out
    cat /usr/local/hbase-1.2.4/logs/hbase-root-1-regionserver-VM_0_12_centos.log
  • 查看HBase狀態(tài)
    HBase啟動(dòng)成功以后偷俭,可以通過瀏覽器訪問 http://ip:16010 查看HBase有關(guān)信息浪讳,我這里是訪問
    http://129.211.24.177:16010/
    image.png

注解
如果發(fā)現(xiàn)成功啟動(dòng)了HBase,但是卻無法在瀏覽器中訪問 http://ip:16010涌萤,這是因?yàn)镃entOS7默認(rèn)開啟了防火墻淹遵,可以先將防火墻關(guān)掉 systemctl stop firewalld.service,再嘗試訪問负溪。

四. 初始化Pinpoint表結(jié)構(gòu)

  • Pinpoint采用HBase作為底層存儲透揣,需要先在HBase中初始化表結(jié)構(gòu)。
    首先確保HBase是正常啟動(dòng)狀態(tài)川抡,然后:
    cd /usr/local
    curl -OL http://files.saas.hand-china.com/hitoa/1.0.0/pinpoint-hbase-create.hbase
    ./hbase-1.2.4/bin/hbase shell ./pinpoint-hbase-create.hbase
    初始化成功以后辐真,會在HBase中創(chuàng)建16張表。
TABLE                                                                                                                                                                                                            
AgentEvent                                                                                                                                                                                                       
AgentInfo                                                                                                                                                                                                        
AgentLifeCycle                                                                                                                                                                                                   
AgentStat                                                                                                                                                                                                        
AgentStatV2                                                                                                                                                                                                      
ApiMetaData                                                                                                                                                                                                      
ApplicationIndex                                                                                                                                                                                                 
ApplicationMapStatisticsCallee_Ver2                                                                                                                                                                              
ApplicationMapStatisticsCaller_Ver2                                                                                                                                                                              
ApplicationMapStatisticsSelf_Ver2                                                                                                                                                                                
ApplicationTraceIndex                                                                                                                                                                                            
HostApplicationMap_Ver2                                                                                                                                                                                          
SqlMetaData_Ver2                                                                                                                                                                                                 
StringMetaData                                                                                                                                                                                                   
TraceV2                                                                                                                                                                                                          
Traces                                                                                                                                                                                                           
16 row(s) in 0.0430 seconds

五.安裝Pinpoint Collector

  • 下載Pinpoint Collector并解壓
    Pinpoint Collector猖腕、Pinpoint Web的部署均需要Tomcat拆祈,所以先下載Tomcat恨闪。
cd /usr/local
curl -OL http://files.saas.hand-china.com/hitoa/1.0.0/apache-tomcat-8.5.14.zip
unzip apache-tomcat-8.5.14.zip
mv apache-tomcat-8.5.14 pinpoint-collector-1.6.1
curl -OL http://files.saas.hand-china.com/hitoa/1.0.0/pinpoint-collector-1.6.1.war
cd /usr/local/pinpoint-collector-1.6.1/webapps
rm -rf *
unzip /usr/local/pinpoint-collector-1.6.1.war -d ROOT
  • 修改配置文件
    由于我這里HITOA的全部組件都部署在同一臺機(jī)器上倘感,為了避免端口沖突,需要對Tomcat的端口做一些設(shè)置咙咽,可以直接下載已經(jīng)設(shè)置好的配置文件:
cd /usr/local/pinpoint-collector-1.6.1/conf
curl http://files.saas.hand-china.com/hitoa/1.0.0/pinpoint-collector-server.xml -o server.xml
  • 啟動(dòng)Pinpoint Collector
    cd /usr/local/pinpoint-collector-1.6.1/bin
    chmod +x catalina.sh shutdown.sh startup.sh
    ./startup.sh
    注解
    啟動(dòng)Pinpoint Collector時(shí)請確保HBase老玛、Zookeeper都是正常啟動(dòng)的,否則會報(bào)錯(cuò)Connection Refused。
  • 查看Pinpoint Collector日志
    cd /usr/local/pinpoint-collector-1.6.1/logs
    tail -f catalina.out
    catalina.out 中有詳細(xì)的Pinpoint Collector日志蜡豹,如果輸出如下內(nèi)容麸粮,則表明啟動(dòng)成功:


    image.png

    另外,可以隨時(shí)通過查看Pinpoint Collector日志來了解Pinpoint Collector運(yùn)行情況 镜廉。

六.安裝Pinpoint Web

  • 下載Pinpoint Web并解壓
    同安裝Pinpoint Collector一樣弄诲,Pinpoint Web部署一樣需要Tomcat,由于前面已經(jīng)下載了tomcat娇唯,這里不再下載:
cd /usr/local
unzip apache-tomcat-8.5.14.zip
mv apache-tomcat-8.5.14 pinpoint-web-1.6.1
curl -OL http://files.saas.hand-china.com/hitoa/1.0.0/pinpoint-web-1.6.1.war
cd /usr/local/pinpoint-web-1.6.1/webapps
rm -rf *
unzip  /usr/local/pinpoint-web-1.6.1.war -d ROOT
  • 修改配置文件
    cd /usr/local/pinpoint-web-1.6.1/webapps/ROOT/WEB-INF/classes
    vim pinpoint-web.properties
    由于當(dāng)前的Pinpoint Web并不是集群部署齐遵,所以將
    cluster.enable=true
    改為
    cluster.enable=false
    為了避免端口沖突,修改tomcat的一些設(shè)置塔插,可以直接下載已經(jīng)設(shè)置好的配置文件:
    cd /usr/local/pinpoint-web-1.6.1/conf
    curl http://files.saas.hand-china.com/hitoa/1.0.0/pinpoint-web-server.xml -o server.xml
  • 啟動(dòng)Pinpoint Web
    cd /usr/local/pinpoint-web-1.6.1/bin
    chmod +x catalina.sh shutdown.sh startup.sh
    ./startup.sh
  • 查看Pinpoint Web日志
    cd /usr/local/pinpoint-web-1.6.1/logs
    tail -f catalina.out
    catalina.out 中有詳細(xì)的Pinpoint Web日志梗摇,如果輸出如下內(nèi)容,則表明啟動(dòng)成功:


    image.png
  • 訪問Pinpoint Web
    Pinpoint Web啟動(dòng)成功以后想许,瀏覽器訪問 http://ip:19080/伶授,即可訪問Pinpoint Web界面。
    http://129.211.24.177:19080/
    image.png

    注解
    Pinpoint Web原來的默認(rèn)端口并不是19080流纹,為了避免沖突糜烹,在 pinpoint-web-server.xml 文件中做了修改。
    Pinpoint Web內(nèi)置了告警功能捧颅,需要安裝MySQL景图,本快速安裝文檔暫時(shí)不提供此部分內(nèi)容,后續(xù)手冊中詳細(xì)講解Pinpoint Web告警功能的配置碉哑、開發(fā)及使用挚币。
    至此,“調(diào)用鏈路分析平臺”的服務(wù)端基本搭建完成扣典,后面需要在監(jiān)控的目標(biāo)應(yīng)用上安裝Pinpoint Agent妆毕,自動(dòng)采集調(diào)用鏈路數(shù)據(jù)發(fā)送至Pinpoint Collector,并在Pinpoint Web中展現(xiàn)贮尖。

七. 安裝Pinpoint Agent

Pinpoint采用無侵入式的方式跟蹤應(yīng)用的請求調(diào)用鏈路笛粘,需要設(shè)置下目標(biāo)應(yīng)用的JVM參數(shù)即可。
這里以監(jiān)控core為例:

  • 下載Pinpoint Agent并解壓
cd /usr/local
mkdir pinpoint-agent-1.6.1
cd pinpoint-agent-1.6.1/
curl -OL http://files.saas.hand-china.com/hitoa/1.0.0/pinpoint-agent-1.6.1.tar.gz
tar -xzvf pinpoint-agent-1.6.1.tar.gz
  • 配置Pinpoint Agent
    Pinpoint Agent的配置文件是/usr/local/pinpoint-agent-1.6.1/pinpoint.config湿硝,修改:
    vim /usr/local/pinpoint-agent-1.6.1/pinpoint.config
    Pinpoint Agent默認(rèn)的配置文件是適用于監(jiān)控OpenJDK的應(yīng)用薪前,對于Oracle JDK的應(yīng)用需要
    添加:
    profiler.jvm.vendor.name=Oracle
    另外,默認(rèn)的采樣率(Sampling Rate)是5%关斜,為了使采集數(shù)據(jù)更完整示括,暫時(shí)設(shè)置為100%,修改以下配置:
    profiler.sampling.rate=1
    配置collector ip:
    profiler.collector.ip=129.211.24.177
    //如果collector裝在本機(jī)則不需要修改這個(gè)ip地址
  • 配置JVM參數(shù) Pinpoint Web和Agent關(guān)聯(lián)
    因?yàn)槲掖蛩惚O(jiān)控Pinpoint Web本身痢畜,而Pinpoint Web是部署在tomcat中垛膝,所以修改Pinpoint Web的JVM參數(shù)只需要修改 bin/catalina.sh 即可鳍侣。
    注意:監(jiān)控哪個(gè)tomcat就修改哪個(gè)tomcat的catalina.sh
    vim /usr/local/pinpoint-web-1.6.1/bin/catalina.sh
    或者自己所要監(jiān)控的tomcat應(yīng)用:
    vim /usr/local/apache-tomcat-8.5.14/bin/catalina.sh
    在 catalina.sh 頭部添加以下內(nèi)容:
CATALINA_OPTS="$CATALINA_OPTS -javaagent:/usr/local/pinpoint-agent-1.6.1/pinpoint-bootstrap-1.6.1.jar"
CATALINA_OPTS="$CATALINA_OPTS -Dpinpoint.applicationName=core"
CATALINA_OPTS="$CATALINA_OPTS -Dpinpoint.agentId=core01"

其中,第一個(gè)路徑指向pinpoint-bootstrap的jar包位置吼拥,第二個(gè)pinpoint.applicationName表示監(jiān)控的目標(biāo)應(yīng)用的名稱倚聚,第三 個(gè)pinpoint.agentId表示監(jiān)控目標(biāo)應(yīng)用的ID,其中pinpoint.applicationName可以不唯一凿可,pinpoint.agentId要求唯一惑折,如果 pinpoint.applicationName相同但pinpoint.agentId不同,則表示的是同一個(gè)應(yīng)用的集群枯跑。

  • Spring boot應(yīng)用的部署:
nohup java -javaagent: /usr/localpinpoint-agent-1.6.1/pinpoint-bootstrap-1.6.1.jar-Dpinpoint.applicationName=hap -Dpinpoint.agentId=hap01 –jar myapp.jar > log.log &

八.啟動(dòng)目標(biāo)應(yīng)用

配置完JVM參數(shù)以后唬复,要啟動(dòng)下目標(biāo)應(yīng)用以使得生效。
由于我這里監(jiān)控的是Pinpoint Web本身全肮,前面已經(jīng)啟動(dòng)過敞咧,這里先停止,再重啟:
cd /usr/local/pinpoint-web-1.6.1/bin
./shutdown.sh
./startup.sh
重啟成功以后辜腺,訪問Pinpoint Web:http://ip:19080 休建,如果能在應(yīng)用列表中看到 hap,則說明監(jiān)控成功评疗。
如下圖所示:

image.png

鼠標(biāo)點(diǎn)擊右上角箭頭位置测砂,鼠標(biāo)左鍵按住不動(dòng),拉框查看百匆。
image.png

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末砌些,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子加匈,更是在濱河造成了極大的恐慌存璃,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,589評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件雕拼,死亡現(xiàn)場離奇詭異纵东,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)啥寇,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,615評論 3 396
  • 文/潘曉璐 我一進(jìn)店門偎球,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人辑甜,你說我怎么就攤上這事衰絮。” “怎么了磷醋?”我有些...
    開封第一講書人閱讀 165,933評論 0 356
  • 文/不壞的土叔 我叫張陵猫牡,是天一觀的道長。 經(jīng)常有香客問我子檀,道長镊掖,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,976評論 1 295
  • 正文 為了忘掉前任褂痰,我火速辦了婚禮亩进,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘缩歪。我一直安慰自己归薛,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,999評論 6 393
  • 文/花漫 我一把揭開白布匪蝙。 她就那樣靜靜地躺著主籍,像睡著了一般。 火紅的嫁衣襯著肌膚如雪逛球。 梳的紋絲不亂的頭發(fā)上千元,一...
    開封第一講書人閱讀 51,775評論 1 307
  • 那天,我揣著相機(jī)與錄音颤绕,去河邊找鬼幸海。 笑死,一個(gè)胖子當(dāng)著我的面吹牛奥务,可吹牛的內(nèi)容都是我干的物独。 我是一名探鬼主播,決...
    沈念sama閱讀 40,474評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼氯葬,長吁一口氣:“原來是場噩夢啊……” “哼挡篓!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起帚称,我...
    開封第一講書人閱讀 39,359評論 0 276
  • 序言:老撾萬榮一對情侶失蹤官研,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后闯睹,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體阀参,經(jīng)...
    沈念sama閱讀 45,854評論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,007評論 3 338
  • 正文 我和宋清朗相戀三年瞻坝,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了蛛壳。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,146評論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡所刀,死狀恐怖衙荐,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情浮创,我是刑警寧澤忧吟,帶...
    沈念sama閱讀 35,826評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站斩披,受9級特大地震影響溜族,放射性物質(zhì)發(fā)生泄漏讹俊。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,484評論 3 331
  • 文/蒙蒙 一煌抒、第九天 我趴在偏房一處隱蔽的房頂上張望仍劈。 院中可真熱鬧,春花似錦寡壮、人聲如沸贩疙。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,029評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽这溅。三九已至,卻和暖如春棒仍,著一層夾襖步出監(jiān)牢的瞬間悲靴,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,153評論 1 272
  • 我被黑心中介騙來泰國打工莫其, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留对竣,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,420評論 3 373
  • 正文 我出身青樓榜配,卻偏偏與公主長得像否纬,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子蛋褥,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,107評論 2 356