成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

實踐應用性能管理工具使用系列一:Pinpoint代碼編譯安裝

IT那活兒 / 744人閱讀
實踐應用性能管理工具使用系列一:Pinpoint代碼編譯安裝
點擊上方“IT那活兒”公眾號,關注后了解更多內(nèi)容,不管IT什么活兒,干就完了?。。?/strong>


01

近期因客戶現(xiàn)場需求,需要利用Pinpoint對應用的性能及jvm指標進行監(jiān)測。
Pinpoint 是一款開源的 APM(Application Performance Management/應用性能管理)工具,通過跟蹤分布式應用之間的調(diào)用來提供解決方案,以幫助分析系統(tǒng)的總體結構和內(nèi)部模塊之間如何相互聯(lián)系。
  • Pinpoint Collector: 接收pinpoint agent 采集過來性能數(shù)據(jù),如tracing數(shù)據(jù) ,jvm數(shù)據(jù)等,接收數(shù)據(jù)協(xié)議支持grpc/thrift;
  • Pinpoint Web :web管理界面;
  • Pinpoint Agent :在jvm 上加入agent 代理方式對應用性能數(shù)據(jù)做采樣監(jiān)測,并將數(shù)據(jù)上傳給collector;
  • HBase : 存儲采集上來的性能數(shù)據(jù)。


02

以安裝pinpoint 最新穩(wěn)定版本2.3.3 為例,主要是分為如下幾種方式
  • 方式一:快速安裝

    通過下載官方穩(wěn)定版本自帶編譯包進行下載安裝,適用于不對pinpoint進行二次開發(fā)使用的場景,參考文檔https://github.com/pinpoint-apm/pinpoint/blob/v2.3.3/doc/quickstart.md

  • 方式二:編譯部署
    基于pinpoint 源代碼進行編譯部署,適用于對pinpoint  進行二次開發(fā),

    https://github.com/pinpoint-apm/pinpoint/blob/v2.3.3/doc/installation.md

  • 方式三:容器部署
    利用docker-compose命令實現(xiàn)一鍵部署運行pinpoint 環(huán)境,無需多帶帶部署相關組件,參考文檔 https://github.com/pinpoint-apm/pinpoint-docker


03

本文介紹的是通過編譯方式實現(xiàn)pinpoint 最新穩(wěn)定 v2.3.3 版本安裝。
3.1 下載源代碼
git clone -b v2.3.3 https://github.com/pinpoint-apm/pinpoint.git
3.2 安裝maven(可選)
https://maven.apache.org/download.cgi
下載解壓:tar -xzvf  apache-maven-3.8.4.tar.gz
新增倉庫地址:
apache-maven-3.8.4/conf/settings.xml
<mirror>
<id>alimavenid>
<name>aliyun mavenname>
<url>http://maven.aliyun.com/nexus/content/groups/public/url>
<mirrorOf>centralmirrorOf>
mirror>
修改.bash_profile環(huán)境變量:
export M2_HOME=/Users/Documents/apache-maven-3.8.4
export PATH=$PATH:$M2_HOME/bin
生效環(huán)境變量:
source .bash_profile

3.3 安裝jdk

編譯pinpoint 需要安裝jdk 7/8/9 三個版本,并設置對應的環(huán)境變量:
  • JAVA_HOME

    JAVA_HOME 環(huán)境變量設置為 JDK 8 主目錄,jdk8 小版本無特別要求,盡量使用最新版本。

    jdk下載地址:https://www.oracle.com/java/technologies/downloads/#java8
  • JAVA_8_HOME

    JAVA_8_HOME 環(huán)境變量設置為 JDK 8 主目錄,JAVA_HOME 與JAVA_8_HOME

    設置成同一個路徑。
  • JAVA_7_HOME

    JAVA_7_HOME 環(huán)境變量設置為 JDK 7 主目錄,版本要求1.7.0_80。

    jdk下載地址:

    https://www.oracle.com/java/technologies/javase/javase7-archive-downloads.html
  • JAVA_9_HOME

    JAVA_9_HOME 環(huán)境變量設置為 JDK 9 主目錄,版本要求jdk-9.0.4。

    jdk下載地址:

    https://www.oracle.com/java/technologies/javase/javase9-archive-downloads.html

3.4 代碼編譯
./mvnw install -DskipTests=true
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary for pinpoint 2.3.3:
[INFO]
[INFO] pinpoint ........................................... SUCCESS [ 3.692 s]
[INFO] pinpoint-annotations ............................... SUCCESS [ 2.553 s]
[INFO] pinpoint-commons ................................... SUCCESS [ 4.639 s]
。。。。。
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 18:09 min
[INFO] Finished at: 2022-05-07T20:37:30+08:00
[INFO] ------------------------------------------------------------------------
如果在編譯過程出現(xiàn) BUILD FAILURE 根據(jù)編譯過程報錯提示找到對應的解決辦法, 編譯成后會在子模塊的target目錄下下找到對應的編譯包。
錯誤: 找不到或無法加載主類 org.apache.maven.wrapper.MavenWrapperMain
解決辦法:mvn -N io.takari:maven:wrapper
子模塊
編譯目錄
web
web/target/pinpoint-web-2.3.3.jar
collector
collector/pinpoint-collector-2.3.3.jar
agent
agent/target/pinpoint-agent-2.3.3


3.5 hbase部署

生產(chǎn)環(huán)境建議采用分布式部署方式,測試環(huán)境可以采用單機部署方式,本次以單機方式進行部署。
版本要求:v2.3.3 官方支持hbase 版本 1.2.x/ 1.4.x/ 2.0.x ,pinpoint 默認使用hbase 1.x版本,如果想使用hbase 2.0.x 版本需要使用hbase2-module模塊。
下載地址
https://archive.apache.org/dist/hbase/
https://archive.apache.org/dist/hbase/1.4.14/hbase-1.4.14-bin.tar.gz
1)安裝
tar xvf hbase-1.4.14-bin.tar.gz
cd hbase-1.4.14
mkdir   zookeeperdata
mkdir    tmp
mkdir   data
2)修改配置
cd conf
cp hbase-site.xml hbase-site.bak

在hbase-site.xml 里面新增如下內(nèi)容:

<configuration>
<property>
<name>hbase.rootdirname>
<value>/home/hbase-1.4.14/datavalue>
property>
<property>
<name>hbase.tmp.dirname>
<value>/home/hbase-1.4.14/tmpvalue>
property>
<property>
<name>hbase.zookeeper.quorumname>
<value>192.168.xxx.xxx:2181value>
property>
<property>
<name>hbase.zookeeper.property.dataDirname>
<value>/home/hbase-1.4.14/zookeeperdatavalue>
property>
<property>
<name>hbase.cluster.distributedname>
<value>falsevalue>
property>
configuration>
3)啟動
cd  bin
sh  start-hbase.sh

查看進程:jps (存在HMaster)或者ps -ef|grep hbase;

日志查看: . logs/.
4)導入pinpoint表模型
cd bin
./hbase shell hbase-create.hbase

表模型:

https://github.com/pinpoint-apm/pinpoint/blob/v2.3.3/hbase/scripts/hbase-create.hbase
表模型說明:https://github.com/pinpoint-apm/pinpoint/tree/v2.3.3/hbase/scripts
檢查表模型是否導入成功:
./hbase shell
hbase(main):003:0> list
TABLE
AgentEvent
AgentInfo
AgentLifeCycle
AgentStatV2
ApiMetaData
ApplicationIndex
ApplicationMapStatisticsCallee_Ver2
ApplicationMapStatisticsCaller_Ver2
ApplicationMapStatisticsSelf_Ver2
ApplicationStatAggre
ApplicationTraceIndex
HostApplicationMap_Ver2
SqlMetaData_Ver2
StringMetaData
TraceV2
15 row(s) in 0.0310 seconds

=> ["AgentEvent", "AgentInfo", "AgentLifeCycle",
"AgentStatV2", "ApiMetaData", "ApplicationIndex",
"ApplicationMapStatisticsCallee_Ver2",
"ApplicationMapStatisticsCaller_Ver2",
"ApplicationMapStatisticsSelf_Ver2", "ApplicationStatAggre",
"ApplicationTraceIndex", "HostApplicationMap_Ver2",
"SqlMetaData_Ver2", "StringMetaData", "TraceV2"]
3.6 啟動pinpoint-web
java -Xms1g -Xmx1g -jar -
Dpinpoint.zookeeper.address=192.168.xxx.xxx -
Dhbase.client.port=2181 pinpoint-web-boot-2.3.3.jar --
server.port=8080

說明:

  • pinpoint.zookeeper.address  zk 地址;
  • hbase.client.port  hbase客戶端端口;
  • server.port  web 端口,默認為 8080;
  • 日志查看 logs/.
3.7 安裝pinpoint-collector
java -Xms1g -Xmx1g -jar -
Dpinpoint.zookeeper.address=192.168.xxx.xxx -
Dhbase.client.port=2181 pinpoint-collector-boot-2.3.3.jar

說明:

  • pinpoint.zookeeper.address  zk 地址;
  • hbase.client.port  hbase客戶端端口;
  • 日志查看 logs/.
3.8 配置pinpoint-agent
  • 修改pinpoint-agent配置文件:
pinpoint-agent-2.3.3/profiles/release/pinpoint.config
    將collector 指向?qū)膇p地址:
profiler.transport.grpc.collector.ip=192.168.xxx.xxx
profiler.collector.ip=192.168.xxx.xxx
  • 選擇一個需要監(jiān)測的應用,在jvm參數(shù)里面新增pinpoint-agent 配置信息:
JAVA_OPTS="-javaagent:/xx/pinpoint-agent-2.3.3/pinpoint-
bootstrap-2.3.3.jar -Dpinpoint.agentId=192.168.xxx.xxx-8081 -Dpinpoint.app
licationName=snc-datacollection ... "
    重啟應用,并且操作一下所監(jiān)測的應用業(yè)務模板,同時查看agent 生成的日志:
/xx/pinpoint-agent-2.3.3/logs/
3.9 查看agent采集性能數(shù)據(jù)
http://xx.xx.xx.xx:8080  (pinpoint web 端口來源于--server.port 參數(shù)指定,默認為 8080)
  • 主頁,能看到所監(jiān)測pinpoint.applicationName名稱,說明應用已成功監(jiān)測。
  • 調(diào)用鏈數(shù)據(jù),查看代碼調(diào)用過程,包含調(diào)用了哪一些sql:
?
  • 點擊主機Inspector按鈕查看jvm監(jiān)測指標:
?

本文作者:暨景書(上海新炬王翦團隊)

本文來源:“IT那活兒”公眾號

文章版權歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/129383.html

相關文章

  • Mac下使用Docker快速搭建pinpont追蹤系統(tǒng)APM

    摘要:下使用搭建分布式追蹤系統(tǒng)簡介是一個用編寫大規(guī)模分布式系統(tǒng)性能管理工具,等相關工具的作用就是追蹤每個請求的完整調(diào)用鏈路,收集調(diào)用鏈路上每個服務的性能數(shù)據(jù),方便工程師能夠快速定位問題。 Mac下使用Docker搭建pinpont分布式追蹤系統(tǒng)APM 簡介 Pinpoint 是一個用Java 編寫大規(guī)模分布式系統(tǒng)性能管理 APM (Application Performance Manage...

    verano 評論0 收藏0
  • Pinpoint分布式APM安裝部署

    摘要:為了方便測試,我們在一臺機器上安裝所需有的軟件部署時間需要的軟件及版本軟件名稱版本號系列當前下載所需軟件下載下載針對數(shù)據(jù)庫初始化文件安裝基礎軟件安裝詳見安裝詳見初始化數(shù)據(jù)庫登錄到服務器中執(zhí)行以下命令安裝修改配置文件 為了方便測試,我們在一臺機器上安裝所需有的軟件 部署時間:2019-03-25 需要的軟件及版本 軟件名稱 版本號 pinpoint系列(web, collec...

    fobnn 評論0 收藏0
  • 服務遷移之路 | Spring Cloud向Service Mesh轉(zhuǎn)變

    摘要:服務網(wǎng)關服務網(wǎng)關涵蓋的功能包括路由,鑒權,限流,熔斷,降級等對入站請求的統(tǒng)一攔截處理。具體可以進一步劃分為外部網(wǎng)關面向互聯(lián)網(wǎng)和內(nèi)部網(wǎng)關面向服務內(nèi)部管理。應用服務應用服務是企業(yè)業(yè)務核心。到此實際上已經(jīng)完成服務遷移工作。 導讀 Spring Cloud基于Spring Boot開發(fā),提供一套完整的微服務解決方案,具體包括服務注冊與發(fā)現(xiàn),配置中心,全鏈路監(jiān)控,API...

    rickchen 評論0 收藏0
  • 【推薦】最新200篇:技術文章整理

    摘要:作為面試官,我是如何甄別應聘者的包裝程度語言和等其他語言的對比分析和主從復制的原理詳解和持久化的原理是什么面試中經(jīng)常被問到的持久化與恢復實現(xiàn)故障恢復自動化詳解哨兵技術查漏補缺最易錯過的技術要點大掃盲意外宕機不難解決,但你真的懂數(shù)據(jù)恢復嗎每秒 作為面試官,我是如何甄別應聘者的包裝程度Go語言和Java、python等其他語言的對比分析 Redis和MySQL Redis:主從復制的原理詳...

    BicycleWarrior 評論0 收藏0
  • 【推薦】最新200篇:技術文章整理

    摘要:作為面試官,我是如何甄別應聘者的包裝程度語言和等其他語言的對比分析和主從復制的原理詳解和持久化的原理是什么面試中經(jīng)常被問到的持久化與恢復實現(xiàn)故障恢復自動化詳解哨兵技術查漏補缺最易錯過的技術要點大掃盲意外宕機不難解決,但你真的懂數(shù)據(jù)恢復嗎每秒 作為面試官,我是如何甄別應聘者的包裝程度Go語言和Java、python等其他語言的對比分析 Redis和MySQL Redis:主從復制的原理詳...

    tommego 評論0 收藏0

發(fā)表評論

0條評論

IT那活兒

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<