欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Linux 9自動(dòng)化部署Pinpoint APM

CHANBAEK ? 來(lái)源:魏文第 ? 作者:魏文第 ? 2023-12-04 14:54 ? 次閱讀

信息技術(shù)和系統(tǒng)管理領(lǐng)域,使用 Application Performance Management(應(yīng)用程序性能管理)來(lái)監(jiān)控和管理應(yīng)用程序的性能和可用性。APM 致力于檢測(cè)和診斷復(fù)雜的應(yīng)用程序性能問(wèn)題,以保持預(yù)期的服務(wù)級(jí)別,將 IT 指標(biāo)轉(zhuǎn)化為業(yè)務(wù)價(jià)值。

Pinpoint 是一個(gè)開(kāi)源的、主流的 APM 實(shí)現(xiàn),靈感來(lái)自 Google Dapper,使用 Java、PHP、Python 開(kāi)發(fā)。全球有數(shù)百萬(wàn)用戶(hù)使用它分析架構(gòu)以及跨分布式應(yīng)用程序組件之間的互聯(lián)。

本文將通過(guò)以下主題,介紹 Pinpoint 的自動(dòng)化部署,以及如何配置它監(jiān)控應(yīng)用:

  • Pinpoint 介紹
  • 自動(dòng)化部署 Pinpoint
  • 訪(fǎng)問(wèn) Pinpoint Web UI
  • 配置監(jiān)控
  • 總結(jié)

39.1 PinPoint 介紹

本節(jié)主要從兩方面討論 Pinpoint。

39.1.1 Pinpoint 架構(gòu)

Pinpoint 架構(gòu)如下:

圖片
圖39.1, PinPoint 架構(gòu)圖,圖片來(lái)自 PinPoint 官網(wǎng)

從圖中可以看到四個(gè)主要組件:

  • Pinpoint Collector:Web 應(yīng)用程序,收集應(yīng)用數(shù)據(jù)
  • HBase Storage:開(kāi)源的非關(guān)系數(shù)據(jù)庫(kù),存儲(chǔ) Pinpoint 數(shù)據(jù)
  • Pinpoint Web UI:Pinpoint 前端
  • Pinpoint Agent:將應(yīng)用程序的數(shù)據(jù)發(fā)送到 Pinpoint Collector

39.1.2 Pinpoint 特性

以下是 Pinpoint 的相關(guān)特性,也是它為什么在眾多 APM 中脫穎而出的原因:

  • 提供云和主機(jī)監(jiān)控;
  • 分布式事務(wù)跟蹤,用于跨分布式應(yīng)用程序跟蹤;
  • 應(yīng)用程序拓?fù)涓庞[,跟蹤所有組件之間的事務(wù),以識(shí)別潛在的問(wèn)題;
  • 輕量級(jí),對(duì)系統(tǒng)性能影響較??;
  • 提供代碼級(jí)可見(jiàn)性,輕松識(shí)別故障點(diǎn)和瓶頸;
  • 事務(wù)代碼級(jí)可見(jiàn)性,響應(yīng)模式和請(qǐng)求計(jì)數(shù);
  • 提供字節(jié)碼檢測(cè)技術(shù),使用中無(wú)需修改應(yīng)用程序代碼;
  • 自動(dòng)檢測(cè)應(yīng)用程序拓?fù)?,幫助技術(shù)人員了解應(yīng)用程序配置;
  • 實(shí)時(shí)監(jiān)控,實(shí)時(shí)觀察活動(dòng)線(xiàn)程;
  • 水平可擴(kuò)展,支持大規(guī)模服務(wù)器組。

39.2 自動(dòng)化部署 Pinpoint

本節(jié)演示如何使用 Ansible 與 Docker,完成 Pinpoint 的自動(dòng)化部署。

文中使用的代碼已提交至 GitHub,可以在對(duì)應(yīng)目錄中查詢(xún)。

39.2.1 要求

Ansible 主機(jī)可通過(guò)具有 sudo 權(quán)限的用戶(hù)免密登錄 Pinpoint 主機(jī)。

有關(guān) sudo 及免密的配置,可以參考之前的文章,或在 GitHub 代碼中查看。

39.2.2 克隆代碼到 Ansible 節(jié)點(diǎn)

在 Ansible 節(jié)點(diǎn)上執(zhí)行以下命令,將自動(dòng)化代碼克隆到本地:

$ git clone https://github.com/weiwendi/automate.git

進(jìn)入 automate/playbook/ 目錄,里面包含了很多組件的自動(dòng)化部署。在本篇文章中,主要用到了 dockerpinpoint 兩個(gè)目錄。

39.2.3 安裝 Docker

進(jìn)入 docker/ 目錄,修改 hosts 文件,指定 Pinpoint 主機(jī)名或 IP。例如我的 Pinpoint 主機(jī) IP 為 10.211.55.69、主機(jī)名為 common.server.aiops.red,hosts 文件內(nèi)容如下:

[nodes]
common.server.aiops.red

需要根據(jù)實(shí)際的 IP 或主機(jī)名稱(chēng)替換 'common.server.aiops.red'。

安裝 Docker:

ansible-playbook -i hosts playbook.yaml

39.2.4 安裝 Pinpoint

切換到 pinpoint 目錄:

cd ../pinpoint/

首先修改 hosts 文件,就像安裝 Docker 時(shí)那樣,將 Pinpoint 主機(jī)的 IP 或主機(jī)名寫(xiě)入該文件。

然后執(zhí)行 possibleReboot.yaml 文件,它的作用是:

  • 關(guān)閉 Selinux
  • 關(guān)閉 Firewalld
  • 更新軟件包

關(guān)閉 Selinux 和更新軟件包的過(guò)程,都可能會(huì)重啟服務(wù)器,因此把這個(gè)文件獨(dú)立出來(lái),用于初次部署時(shí)執(zhí)行。

執(zhí)行 possibleReboot.yaml 文件:

ansible-playbook -i hosts possibleReboot.yaml

最后,執(zhí)行以下命令安裝 Pinpoint:

ansible-playbook -i hosts playbook.yaml

該命令執(zhí)行時(shí)間比較長(zhǎng),執(zhí)行過(guò)程中可能會(huì)遇到報(bào)錯(cuò)。報(bào)錯(cuò)很可能是從 GitHub 下載 pinpoint-docker 項(xiàng)目時(shí)的網(wǎng)絡(luò)原因?qū)е隆?/p>

注意:

要想在自動(dòng)化過(guò)程中避免下載 GitHub 代碼的網(wǎng)絡(luò)超時(shí)引發(fā)的錯(cuò)誤,可以提前手動(dòng)將 pinpoint-docker 項(xiàng)目的代碼克隆到 Pinpoin 主機(jī)指定的目錄下,然后注釋 ../../roles/pinpoint/tasks/main.yml 文件中以下內(nèi)容:

- name: clone pinpoint-docker project task
    ansible.builtin.git:
      repo: 'https://github.com/pinpoint-apm/pinpoint-docker.git'
      dest: "{{ deployDir }}"
      single_branch: true
      version: "{{ version }}"

../../roles/pinpoint/defaults/main.yml 文件中定義了兩個(gè)變量:

---
# defaults file for pinpoint
#
deployDir: /software/repos/pinpoint-docker
version: 2.5.2
  • deployDir:存放 pinpoint-docker 項(xiàng)目的目錄
  • version:Pinpoint 版本

39.3 訪(fǎng)問(wèn) Pinpoint Web UI

在瀏覽器中輸入 Pinpoint 主機(jī) IP:8080 訪(fǎng)問(wèn) Pinpoint Web UI。如果能正常打開(kāi)頁(yè)面,說(shuō)明部署順利完成。如果打不開(kāi)頁(yè)面,需要通過(guò) docker ps -a 命令和 docker logs 等命令查看 Pinpoint 容器的運(yùn)行情況,以及檢查網(wǎng)絡(luò)連通性。

此時(shí) Pinpoint 并沒(méi)有監(jiān)控?cái)?shù)據(jù),需要通過(guò) Pinpoint Agent,收集監(jiān)控對(duì)象的數(shù)據(jù)。下一節(jié)我會(huì)通過(guò)三個(gè)示例演示如何監(jiān)控 Java 程序。

39.4 配置監(jiān)控

本節(jié)通過(guò)演示配置 Pinpoint APM 監(jiān)控 Zookeeper、Kafka 和 Tomcat,來(lái)介紹 Pinpoin 如何使用、以及它的易用性。

39.4.1 下載 Pinpoint Agent

在 GitHub pinpoint-apm 中下載對(duì)應(yīng)版本的 Agent。

示例中解壓到了被監(jiān)控組件主機(jī)的 /opt/pagent252/

修改 /opt/pagent252/profiles/release/pinpoint.config 文件,把文件中所有 127.0.0.1 的地址,修改為 Pinpoint 主機(jī)的 IP 地址。

39.4.2 監(jiān)控 Zookeeper

修改 Zookeeper 的啟動(dòng)文件,進(jìn)入 Zookeeper 主目錄,編輯 bin/zkServer.sh,增加以下內(nèi)容:

start)
    echo  -n "Starting zookeeper ... "
    if [ -f "$ZOOPIDFILE" ]; then
      if kill -0 `cat "$ZOOPIDFILE"` > /dev/null 2 >&1; then
         echo $command already running as process `cat "$ZOOPIDFILE"`.
         exit 1
      fi
    fi
    nohup "$JAVA" $ZOO_DATADIR_AUTOCREATE "-Dzookeeper.log.dir=${ZOO_LOG_DIR}" 
    "-Dzookeeper.log.file=${ZOO_LOG_FILE}" "-Dzookeeper.root.logger=${ZOO_LOG4J_PROP}" 
    -javaagent:/opt/pagent252/pinpoint-bootstrap-2.5.2.jar  # 新增內(nèi)容
    -Dpinpoint.agentId=zk01  # 新增內(nèi)容
    -Dpinpoint.applicationName=zk  # 新增內(nèi)容
    -XX:+HeapDumpOnOutOfMemoryError -XX:OnOutOfMemoryError='kill -9 %p' 
    -cp "$CLASSPATH" $JVMFLAGS $ZOOMAIN "$ZOOCFG" > "$_ZOO_DAEMON_OUT" 2 >&1 < /dev/null &
...
  • -javaagent :指定 Pinpoint Agent 包路徑;
  • -Dpinpoint.agentId :全局唯一 ID,可以與 applicationName 關(guān)聯(lián)定位應(yīng)用;
  • -Dpinpoint.applicationName :應(yīng)用名稱(chēng),對(duì)于多副本部署的應(yīng)用,該名稱(chēng)應(yīng)設(shè)置為相同的值,通過(guò) -Dpinpoint.agentId 的不同進(jìn)行區(qū)分。

重啟 Zookeeper 服務(wù),使配置生效。

查看 Pinpoint Web UI,可以看到類(lèi)似以下界面:

圖片
圖39.2, 監(jiān)控 zk

39.4.3 監(jiān)控 Kafka

在 Kafka 主機(jī)上準(zhǔn)備好 Pinpoint Agent。修改 Kafka 的啟動(dòng)文件,通常位于 Kafka 目錄的 bin/kafka-run-class.sh。修改以下內(nèi)容:

if [ "x$DAEMON_MODE" = "xtrue" ]; then
  nohup "$JAVA" $KAFKA_HEAP_OPTS $KAFKA_JVM_PERFORMANCE_OPTS $KAFKA_GC_LOG_OPTS $KAFKA_JMX_OPTS -javaagent:/opt/pagent252/pinpoint-bootstrap-2.5.2.jar -Dpin
point.agentId=kafka2 -Dpinpoint.applicationName=kafka $KAFKA_LOG4J_OPTS -cp "$CLASSPATH" $KAFKA_OPTS "$@" > "$CONSOLE_OUTPUT_FILE" 2 >&1 < /dev/null &
else
  exec "$JAVA" $KAFKA_HEAP_OPTS $KAFKA_JVM_PERFORMANCE_OPTS $KAFKA_GC_LOG_OPTS $KAFKA_JMX_OPTS -javaagent:/opt/pagent252/pinpoint-bootstrap-2.5.2.jar -Dpinp
oint.agentId=kafka2 -Dpinpoint.applicationName=kafka $KAFKA_LOG4J_OPTS -cp "$CLASSPATH" $KAFKA_OPTS "$@"
fi

-javaagent:/opt/pagent252/pinpoint-bootstrap-2.5.2.jar -Dpin point.agentId=kafka2 -Dpinpoint.applicationName=kafka 為新增內(nèi)容。

重啟 Kafka 服務(wù),使配置生效。再次查看 Web UI:

圖片
圖39.3, 監(jiān)控 Kafka

39.4.4 監(jiān)控 Tomcat

在 Tomcat 節(jié)點(diǎn)上,準(zhǔn)備好 Pinpoint Agent。

修改 Tomcat bin/catalina.sh 文件,在文件開(kāi)始部分增加以下內(nèi)容:

#!/bin/sh
# 新增內(nèi)容
CATALINA_OPTS="$CATALINA_OPTS -javaagent:/opt/pagent252/pinpoint-bootstrap-2.5.2.jar"
CATALINA_OPTS="$CATALINA_OPTS -Dpinpoint.agentId=tomcat1"
CATALINA_OPTS="$CATALINA_OPTS -Dpinpoint.applicationName=tomcat"

保存并重啟 Tomcat 服務(wù),然后查看 Web UI:

圖片
圖39.4 監(jiān)控 Tomcat 內(nèi)存堆棧等使用

再來(lái)看看 Tomcat 調(diào)用鏈路拓?fù)浼?a target="_blank">接口響應(yīng)信息:

圖片
圖39.5, 鏈路追蹤與自動(dòng)生成拓?fù)?/p>

39.5 總結(jié)

Pinpoint APM 是常用的鏈路跟蹤及監(jiān)控工具,本教程演示了 Pinpoint APM 的自動(dòng)化部署,以及如何配置 Pinpoint 監(jiān)控 Java 程序。教程同樣適用于其他基于 RPM 的 Linux 發(fā)行版。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11350

    瀏覽量

    210462
  • 開(kāi)源
    +關(guān)注

    關(guān)注

    3

    文章

    3409

    瀏覽量

    42723
  • 應(yīng)用程序
    +關(guān)注

    關(guān)注

    38

    文章

    3295

    瀏覽量

    57939
  • APM
    APM
    +關(guān)注

    關(guān)注

    1

    文章

    71

    瀏覽量

    13047
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    工控儀器自動(dòng)化

    工控儀器自動(dòng)化自動(dòng)化:化學(xué)吸附micromeritics.com.cn/products_view.aspx?id=9產(chǎn)業(yè)控制自動(dòng)化技術(shù)是一種運(yùn)用控制理論、儀器儀表、計(jì)算機(jī)和其它信息
    發(fā)表于 09-17 15:37

    招聘自動(dòng)化、電氣自動(dòng)化、自動(dòng)化控制工程師

    招聘自動(dòng)化、電氣自動(dòng)化、自動(dòng)化控制工程師,掛證,不坐班,要求持有相關(guān)專(zhuān)業(yè)的中級(jí)職稱(chēng)證,用于我司資質(zhì)申報(bào)工作上,湊資質(zhì)人員申報(bào)資質(zhì),不存在風(fēng)險(xiǎn)。聯(lián)系電話(huà)***,Q1580479594李經(jīng)理
    發(fā)表于 10-24 18:06

    實(shí)現(xiàn)工業(yè)自動(dòng)化的市場(chǎng)阻礙

    很多人把工業(yè)自動(dòng)化等同于了物聯(lián)網(wǎng),實(shí)際上物聯(lián)網(wǎng)只是實(shí)現(xiàn)工業(yè)自動(dòng)化的一種手段,而非目的?,F(xiàn)在物聯(lián)網(wǎng)的實(shí)際應(yīng)用只存在于大型的制造商中間。中小企業(yè)資源和能力的缺失阻礙了中國(guó)工業(yè)自動(dòng)化整體前進(jìn)?,F(xiàn)在市場(chǎng)上
    發(fā)表于 09-11 15:54

    七個(gè)步驟實(shí)現(xiàn)自動(dòng)化測(cè)試

    本文介紹自動(dòng)化測(cè)試的 7 個(gè)步驟:改進(jìn)自動(dòng)化測(cè)試過(guò)程,定義需求,驗(yàn)證概念,支持產(chǎn)品的可測(cè)試性,具有可延續(xù)性的設(shè)計(jì)( design for sustainability ),有計(jì)劃的部署和面對(duì)成功的挑戰(zhàn)。按照以上 7 個(gè)步驟,安排
    發(fā)表于 07-18 07:42

    七個(gè)步驟完成自動(dòng)化測(cè)試

    ),有計(jì)劃的部署和面對(duì)成功的挑戰(zhàn)。按照以上 7 個(gè)步驟,安排你的人員、工具和制定你的自動(dòng)化測(cè)試項(xiàng)目計(jì)劃,你將會(huì)通往一條成功之路。
    發(fā)表于 07-19 06:12

    如何搭建DotNet Core 21自動(dòng)化構(gòu)建和部署環(huán)境

    邊緣搭建DotNet Core 21 自動(dòng)化構(gòu)建和部署環(huán)境(上)
    發(fā)表于 04-23 14:53

    基于IAR EW編譯工具實(shí)現(xiàn)Linux系統(tǒng)上自動(dòng)化構(gòu)建

    框架的自動(dòng)化編譯和測(cè)試過(guò)程,進(jìn)而支持關(guān)鍵軟件編譯和測(cè)試的大規(guī)模部署。 現(xiàn)在支持ARM、瑞薩RH850和RX內(nèi)核的編譯工具鏈可以在Linux系統(tǒng)上運(yùn)行。1IAR Linux系統(tǒng)編譯工具鏈
    發(fā)表于 11-27 13:41

    風(fēng)河Linux平臺(tái)構(gòu)建新型家庭自動(dòng)化網(wǎng)關(guān)

    風(fēng)河Linux平臺(tái)構(gòu)建新型家庭自動(dòng)化網(wǎng)關(guān) Intel全資子公司風(fēng)河系統(tǒng)公司(WindRiver)日前宣布,比利時(shí)fifthplay公司選擇WindRiverLinux作為構(gòu)建其新型家庭自動(dòng)化網(wǎng)關(guān)。  &
    發(fā)表于 11-06 16:13 ?998次閱讀

    jenkins自動(dòng)化部署

    本文詳細(xì)介紹Jenkins的簡(jiǎn)單使用—jenkins自動(dòng)化部署。
    的頭像 發(fā)表于 02-06 11:27 ?4781次閱讀
    jenkins<b class='flag-5'>自動(dòng)化</b><b class='flag-5'>部署</b>

    云平臺(tái)的自動(dòng)化部署設(shè)計(jì)與實(shí)現(xiàn)

    基于簡(jiǎn)化部署操作、節(jié)省部署時(shí)間、提高部署效率的目的,對(duì)云平臺(tái)架構(gòu)和網(wǎng)絡(luò)拓?fù)溥M(jìn)行設(shè)計(jì),對(duì)云平臺(tái)自動(dòng)化系統(tǒng)的需求進(jìn)行分析,重點(diǎn)對(duì)自動(dòng)化
    發(fā)表于 02-23 10:07 ?0次下載
    云平臺(tái)的<b class='flag-5'>自動(dòng)化</b><b class='flag-5'>部署</b>設(shè)計(jì)與實(shí)現(xiàn)

    數(shù)據(jù)中心如何實(shí)現(xiàn)自動(dòng)化部署

    數(shù)據(jù)中心里設(shè)備千萬(wàn),并需要不斷進(jìn)行擴(kuò)容,而一般數(shù)據(jù)中心運(yùn)維也就十幾個(gè)人,要反復(fù)重復(fù)著這樣的工作,所以有人設(shè)計(jì)了自動(dòng)化部署的架構(gòu)。就是在數(shù)據(jù)中心新增設(shè)備時(shí),即插即用,只要將設(shè)備上電,網(wǎng)線(xiàn)連接好,就可以
    的頭像 發(fā)表于 03-15 11:43 ?3100次閱讀

    5G承載網(wǎng)絡(luò)建設(shè)向自動(dòng)化部署的方向邁出堅(jiān)實(shí)的步伐

    近日,中興通訊聯(lián)合福建省移動(dòng)和寧德市移動(dòng)在寧德現(xiàn)網(wǎng)完成創(chuàng)新SPN網(wǎng)絡(luò)自動(dòng)化部署方案的驗(yàn)證,將網(wǎng)元開(kāi)通和部署效率提升70%以上,標(biāo)志著5G承載網(wǎng)絡(luò)建設(shè)向自動(dòng)化
    的頭像 發(fā)表于 11-19 09:28 ?1743次閱讀

    部署Linux的最佳實(shí)踐探索

    編者按:本文節(jié)選自節(jié)選自《基于Linux的企業(yè)自動(dòng)化》第五章?!暗?章,使用Ansible構(gòu)建用于部署的虛擬機(jī)模板,通過(guò)構(gòu)建虛擬機(jī)模板來(lái)探索部署Li
    的頭像 發(fā)表于 05-16 09:35 ?608次閱讀

    Jenkins 與 SonarQube 集成部署,自動(dòng)化代碼質(zhì)量監(jiān)控

    的性能表現(xiàn),為 Jenkins 與 SonarQube 的集成部署提供強(qiáng)大支撐。在 Flexus X 的助力下,自動(dòng)化代碼掃描與質(zhì)量問(wèn)題即時(shí)反饋成為可能,顯著提升團(tuán)隊(duì)開(kāi)發(fā)效率與軟件質(zhì)量。立即體驗(yàn)華為云
    的頭像 發(fā)表于 01-07 17:24 ?280次閱讀
    Jenkins 與 SonarQube 集成<b class='flag-5'>部署</b>,<b class='flag-5'>自動(dòng)化</b>代碼質(zhì)量監(jiān)控

    基于 Docker 與 Jenkins 實(shí)現(xiàn)自動(dòng)化部署

    前言 重塑自動(dòng)化部署新高度,Docker 攜手 Jenkins,在華為云 Flexus X 云服務(wù)器的加持下,引領(lǐng)持續(xù)集成與部署的新紀(jì)元。Flexus X 以其卓越的性能、靈活的資源配置和高效的成本
    的頭像 發(fā)表于 01-07 17:25 ?222次閱讀
    基于 Docker 與 Jenkins 實(shí)現(xiàn)<b class='flag-5'>自動(dòng)化</b><b class='flag-5'>部署</b>