全部產品
Search
文件中心

Application Real-Time Monitoring Service:手動安裝探針

更新時間:Nov 30, 2024

為Java應用安裝探針後,ARMS即可開始監控Java應用,您可以查看應用拓撲、調用鏈路、異常事務、慢事務和SQL分析等一系列監控資料。本文介紹如何為Java應用手動安裝探針。

說明

對於部署在Kubernetes環境的應用,不推薦手動安裝探針,建議通過安裝組件的方式接入ARMS。具體操作,請參見Container ServiceACK環境自動安裝探針以及通用Kubernetes環境自動安裝探針

前提條件

安裝探針

  1. 登入ARMS控制台,在左側導覽列單擊接入中心

  2. 單擊Java應用監控卡片,然後單擊手動安裝

  3. 下載探針。

    • 方法一:手動下載。在Java應用監控面板根據提示下載對應的探針。

    • 方法二:使用wget命令下載。根據您的地區下載對應的探針安裝包。

      查看各地區對應的探針安裝包下載命令

      地區

      公網地址

      VPC地址

      華東1(杭州)

      wget "http://arms-apm-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/AliyunJavaAgent.zip" -O AliyunJavaAgent.zip
      wget "http://arms-apm-cn-hangzhou.oss-cn-hangzhou-internal.aliyuncs.com/AliyunJavaAgent.zip" -O AliyunJavaAgent.zip

      華東2(上海)

      wget "http://arms-apm-cn-shanghai.oss-cn-shanghai.aliyuncs.com/AliyunJavaAgent.zip" -O AliyunJavaAgent.zip
      wget "http://arms-apm-cn-shanghai.oss-cn-shanghai-internal.aliyuncs.com/AliyunJavaAgent.zip" -O AliyunJavaAgent.zip

      華北1(青島)

      wget "http://arms-apm-cn-qingdao.oss-cn-qingdao.aliyuncs.com/AliyunJavaAgent.zip" -O AliyunJavaAgent.zip
      wget "http://arms-apm-cn-qingdao.oss-cn-qingdao-internal.aliyuncs.com/AliyunJavaAgent.zip" -O AliyunJavaAgent.zip

      華北2(北京)

      wget "http://arms-apm-cn-beijing.oss-cn-beijing.aliyuncs.com/AliyunJavaAgent.zip" -O AliyunJavaAgent.zip
      wget "http://arms-apm-cn-beijing.oss-cn-beijing-internal.aliyuncs.com/AliyunJavaAgent.zip" -O AliyunJavaAgent.zip

      華北3(張家口)

      wget "http://arms-apm-cn-zhangjiakou.oss-cn-zhangjiakou.aliyuncs.com/AliyunJavaAgent.zip" -O AliyunJavaAgent.zip
      wget "http://arms-apm-cn-zhangjiakou.oss-cn-zhangjiakou-internal.aliyuncs.com/AliyunJavaAgent.zip" -O AliyunJavaAgent.zip

      華北5(呼和浩特)

      wget "http://arms-apm-cn-huhehaote.oss-cn-huhehaote.aliyuncs.com/AliyunJavaAgent.zip" -O AliyunJavaAgent.zip
      wget "http://arms-apm-cn-huhehaote.oss-cn-huhehaote-internal.aliyuncs.com/AliyunJavaAgent.zip" -O AliyunJavaAgent.zip

      華北6(烏蘭察布)

      wget "http://arms-apm-cn-wulanchabu.oss-cn-wulanchabu.aliyuncs.com/AliyunJavaAgent.zip" -O AliyunJavaAgent.zip
      wget "http://arms-apm-cn-wulanchabu.oss-cn-wulanchabu-internal.aliyuncs.com/AliyunJavaAgent.zip" -O AliyunJavaAgent.zip

      華南1(深圳)

      wget "http://arms-apm-cn-shenzhen.oss-cn-shenzhen.aliyuncs.com/AliyunJavaAgent.zip" -O AliyunJavaAgent.zip
      wget "http://arms-apm-cn-shenzhen.oss-cn-shenzhen-internal.aliyuncs.com/AliyunJavaAgent.zip" -O AliyunJavaAgent.zip

      華南2(河源)

      wget "http://arms-apm-cn-heyuan.oss-cn-heyuan.aliyuncs.com/AliyunJavaAgent.zip" -O AliyunJavaAgent.zip
      wget "http://arms-apm-cn-heyuan.oss-cn-heyuan-internal.aliyuncs.com/AliyunJavaAgent.zip" -O AliyunJavaAgent.zip

      華南3(廣州)

      wget "http://arms-apm-cn-guangzhou.oss-cn-guangzhou.aliyuncs.com/AliyunJavaAgent.zip" -O AliyunJavaAgent.zip
      wget "http://arms-apm-cn-guangzhou.oss-cn-guangzhou-internal.aliyuncs.com/AliyunJavaAgent.zip" -O AliyunJavaAgent.zip

      西南1(成都)

      wget "http://arms-apm-cn-chengdu.oss-cn-chengdu.aliyuncs.com/AliyunJavaAgent.zip" -O AliyunJavaAgent.zip
      wget "http://arms-apm-cn-chengdu.oss-cn-chengdu-internal.aliyuncs.com/AliyunJavaAgent.zip" -O AliyunJavaAgent.zip

      中國(香港)

      wget "http://arms-apm-cn-hongkong.oss-cn-hongkong.aliyuncs.com/AliyunJavaAgent.zip" -O AliyunJavaAgent.zip
      wget "http://arms-apm-cn-hongkong.oss-cn-hongkong-internal.aliyuncs.com/AliyunJavaAgent.zip" -O AliyunJavaAgent.zip

      新加坡

      wget "http://arms-apm-ap-southeast-1.oss-ap-southeast-1.aliyuncs.com/AliyunJavaAgent.zip" -O AliyunJavaAgent.zip
      wget "http://arms-apm-ap-southeast-1.oss-ap-southeast-1-internal.aliyuncs.com/AliyunJavaAgent.zip" -O AliyunJavaAgent.zip

      亞太地區東南3(吉隆坡)

      wget "http://arms-apm-ap-southeast-3.oss-ap-southeast-3.aliyuncs.com/AliyunJavaAgent.zip" -O AliyunJavaAgent.zip
      wget "http://arms-apm-ap-southeast-3.oss-ap-southeast-3-internal.aliyuncs.com/AliyunJavaAgent.zip" -O AliyunJavaAgent.zip

      亞太地區東南5(雅加達)

      wget "http://arms-apm-ap-southeast-5.oss-ap-southeast-5.aliyuncs.com/AliyunJavaAgent.zip" -O AliyunJavaAgent.zip
      wget "http://arms-apm-ap-southeast-5.oss-ap-southeast-5-internal.aliyuncs.com/AliyunJavaAgent.zip" -O AliyunJavaAgent.zip

      亞太地區東北1(東京)

      wget "http://arms-apm-ap-northeast-1.oss-ap-northeast-1.aliyuncs.com/AliyunJavaAgent.zip" -O AliyunJavaAgent.zip
      wget "http://arms-apm-ap-northeast-1.oss-ap-northeast-1-internal.aliyuncs.com/AliyunJavaAgent.zip" -O AliyunJavaAgent.zip

      歐洲中部1(法蘭克福)

      wget "http://arms-apm-eu-central-1.oss-eu-central-1.aliyuncs.com/AliyunJavaAgent.zip" -O AliyunJavaAgent.zip
      wget "http://arms-apm-eu-central-1.oss-eu-central-1-internal.aliyuncs.com/AliyunJavaAgent.zip" -O AliyunJavaAgent.zip

      歐洲西部1(倫敦)

      wget "http://arms-apm-eu-west-1.oss-eu-west-1.aliyuncs.com/AliyunJavaAgent.zip" -O AliyunJavaAgent.zip
      wget "http://arms-apm-eu-west-1.oss-eu-west-1-internal.aliyuncs.com/AliyunJavaAgent.zip" -O AliyunJavaAgent.zip

      美國東部1(維吉尼亞)

      wget "http://arms-apm-us-east-1.oss-us-east-1.aliyuncs.com/AliyunJavaAgent.zip" -O AliyunJavaAgent.zip
      wget "http://arms-apm-us-east-1.oss-us-east-1-internal.aliyuncs.com/AliyunJavaAgent.zip" -O AliyunJavaAgent.zip

      美國西部1(矽谷)

      wget "http://arms-apm-us-west-1.oss-us-west-1.aliyuncs.com/AliyunJavaAgent.zip" -O AliyunJavaAgent.zip
      wget "http://arms-apm-us-west-1.oss-us-west-1-internal.aliyuncs.com/AliyunJavaAgent.zip" -O AliyunJavaAgent.zip

      華東1金融雲

      wget "http://arms-apm-cn-hangzhou-finance.oss-cn-hzjbp-b-internal.aliyuncs.com/AliyunJavaAgent.zip" -O AliyunJavaAgent.zip

      華東2金融雲

      wget "http://arms-apm-cn-shanghai-finance-1.oss-cn-shanghai-finance-1-internal.aliyuncs.com/AliyunJavaAgent.zip" -O AliyunJavaAgent.zip

      華南1金融雲

      wget "http://arms-apm-cn-shenzhen-finance-1.oss-cn-shenzhen-finance-1-internal.aliyuncs.com/AliyunJavaAgent.zip" -O AliyunJavaAgent.zip

      政務雲

      wget "http://arms-apm-cn-north-2-gov-1.oss-cn-north-2-gov-1.aliyuncs.com/AliyunJavaAgent.zip" -O AliyunJavaAgent.zip
      wget "http://arms-apm-cn-north-2-gov-1.oss-cn-north-2-gov-1-internal.aliyuncs.com/AliyunJavaAgent.zip" -O AliyunJavaAgent.zip
  4. 解壓探針。

    進入探針安裝包所在目錄,並執行以下命令將安裝包解壓到任意工作目錄下。

    unzip AliyunJavaAgent.zip -d /{user.workspace}/ 
    說明

    {user.workspace}是樣本目錄,請替換為真實的目錄。

  5. 添加AppName和LicenseKey參數。

    Java應用監控面板擷取到對應的LicenseKeyAppName代表接入到ARMS的哪一個應用中,您可以根據需要自訂您的應用程式名稱,在分布式架構中,同一個應用內可以包含多個對等的執行個體。

    請通過下列兩種方式,添加AppNameLicenseKey。

    • 方法一:將接入指令碼中的{LicenseKey}{AppName}替換為您從控制台獲得的LicenseKey以及該應用對應的AppName。

    • 方法二:指令碼中不填寫LicenseKeyAppName的相關資訊,在探針包的arms-agent.config檔案中添加以下配置。

      arms.licenseKey={LicenseKey} 
      arms.appName={AppName}
  6. 添加接入指令碼。

    {user.workspace}替換成實際探針安裝包的解壓目錄,將demoApp.jar替換為真實的JAR包地址。

    說明
    • 如果您使用的探針版本在2.7.3.5以下,請將本文中的AliyunJavaAgent/aliyun-java-agent.jar替換為ArmsAgent/arms-bootstrap-1.7.0-SNAPSHOT.jar。建議您儘快將探針升級至最新版本。

    • 在Windows作業系統中,請將指令碼中的/替換為\,並將.sh檔案替換為.bat檔案。

    • v2.7.1.4及以上版本探針已支援在接入應用監控時開通應用安全,如果需要開通應用安全,請在指令碼中添加-Darms.appsec.enable=true。應用安全的計費規則,請參見計費說明

    運行環境

    步驟

    Spring Boot或其他通過java -jar命令啟動的Java應用

    在啟動命令後加上-javaagent參數。請確保-javaagent參數寫在-jar參數之前。

    java -javaagent:/{user.workspace}/AliyunJavaAgent/aliyun-java-agent.jar -Darms.licenseKey={LicenseKey} -Darms.appName={AppName} -jar demoApp.jar

    Tomcat

    {TOMCAT_HOME}/bin/setenv.sh檔案中添加以下配置。

    JAVA_OPTS="$JAVA_OPTS -javaagent:/{user.workspace}/AliyunJavaAgent/aliyun-java-agent.jar -Darms.licenseKey={LicenseKey} -Darms.appName={AppName} " 

    如果您的Tomcat版本沒有setenv.sh設定檔,請開啟{TOMCAT_HOME}/bin/catalina.sh檔案,並在JAVA_OPTS後添加上述配置,具體樣本,請參見catalina.sh的第256行。

    Jetty

    {JETTY_HOME}/start.ini設定檔中添加以下配置。

    aliyun-java-agent.jar --exec
    -javaagent:/{user.workspace}/AliyunJavaAgent/aliyun-java-agent.jar
    -Darms.licenseKey={LicenseKey}
    -Darms.appName={AppName} 

    Resin

    1. 啟動Resin進程時,在conf/resin.xmlconf/resin.conf中添加以下標籤

      <server-default>
          <jvm-arg>-javaagent:{user.workspace}/AliyunJavaAgent/aliyun-java-agent.jar</jvm-arg>
          <jvm-arg>-Darms.licenseKey={LicenseKey}</jvm-arg>
          <jvm-arg>-Darms.appName={AppName}</jvm-arg>
      </server-default> 

      如果您使用的是conf/resin.properties配置,也可以在該檔案中添加以下標籤

      jvm_args : -javaagent:{user.workspace}/AliyunJavaAgent/aliyun-java-agent.jar -Darms.licenseKey={LicenseKey} -Darms.appName={AppName}
    2. conf/app-default.xml檔案中添加以下標籤。

      <library-loader path="{user.workspace}/AliyunJavaAgent/plugin"/> 

    如需在一台伺服器上部署同一應用的多個執行個體,可以通過-Darms.agentId參數(邏輯編號)來區分接入的JVM進程,例如:

    java -javaagent:/{user.workspace}/AliyunJavaAgent/aliyun-java-agent.jar -Darms.licenseKey={LicenseKey} -Darms.appName={AppName} -Darms.agentId=001 -jar demoApp.jar

  7. 重啟Java應用。

(可選)Docker環境安裝參考

對於Docker環境,可以參考以下Dockerfile樣本修改您的Dockerfile檔案。

# 將{original-docker-image:tag}替換為您的鏡像地址。
FROM {original-docker-image:tag}
# 可以根據需要替換工作目錄。
WORKDIR /root/
# 參考安裝探針的第4步,獲得所在地區的探針下載地址,請注意公網地址和VPC地址的區別。
RUN wget "http://arms-apm-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/AliyunJavaAgent.zip" -O AliyunJavaAgent.zip
# 解壓探針。
RUN unzip AliyunJavaAgent.zip -d /root/
# 參考安裝探針的第6步,將LicenseKey和AppName寫入環境變數中。
ENV arms_licenseKey={LicenseKey}
ENV arms_appName={AppName}
# 拼接必要的啟動指令碼,追加到JAVA_TOOL_OPTIONS環境變數中。
ENV JAVA_TOOL_OPTIONS ${JAVA_TOOL_OPTIONS} '-javaagent:/root/AliyunJavaAgent/aliyun-java-agent.jar -Darms.licenseKey='${arms_licenseKey}' -Darms.appName='${arms_appName}
### 檢查JAVA_TOOL_OPTIONS環境變數。
RUN env | grep JAVA_TOOL_OPTIONS

### 在下方添加自訂Dockerfile邏輯。
### ......

結果驗證

約一分鐘後,若Java應用出現在應用監控 > 應用列表頁面中且有資料上報,則說明接入成功。