使用APM管理電商應用
更新時間 2024-03-11 11:36:08
最近更新時間: 2024-03-11 11:36:08
分享文章
本文主要介紹使用APM管理電商應用
本實踐基于某手機銷售電商應用為例,幫助您理解如何將該電商應用接入APM并進行管理。
該電商應用情況介紹:
該應用包含四個微服務,每個微服務包含一個實例:
- API網關服務:名稱為vmall-apigw-service,主要負責應用整體的服務鑒權、限流、過濾等。
- 商品管理服務:名稱為vmall-product-service,主要負責商品查詢、購買等。
- 用戶管理服務:名稱為vmall-user-service,主要負責用戶登錄,以及購買商品時的用戶身份核實等。
- 數據持久服務:名稱為vmall-dao-service,主要負責請求數據庫操作。
下面介紹如何將APM接入該電商應用并管理起來。
操作流程
- 將應用部署到服務器。
- 安裝Agent。Agent是APM的采集代理,用于實時采集拓撲和調用鏈數據,您需要將其安裝在應用所在服務器上。
- 修改應用啟動參數,以確保APM可以監控應用。
- 在APM上管理應用,例如通過拓撲查看應用情況。
操作步驟
步驟 1 將應用部署到服務器。
- 登錄服務器,創建應用目錄并進入目錄,本實踐以目錄/root/testdemo為例。
- 下載并安裝應用需要的JRE 1.8版本。
- 執行如下命令將應用下載至創建的/root/testdemo目錄并安裝。
curl -l //demos.obs.daliqc.cn/demo_install.sh > demo_install.sh && bash demo_install.sh
說明執行該命令需要具有公網訪問權限。
步驟 2 安裝Agent。
步驟 3 修改應用啟動腳本start.sh的參數,確保應用被APM監控。
在服務啟動腳本的java命令之后,配置apm-javaagent.jar包所在路徑,并指定java進程的應用名。
添加-javaagent參數示例:
java -javaagent:/xxx/apm-javaagent/apm-javaagent.jar=appName={appName}
修改前后應用啟動腳本對比如下:
修改前:
export PATH=/root/testdemo/jdk1.8.0_111/bin:$PATH
java -Xmx512m -jar /root/testdemo/ecommerce-persistence-service-0.0.1-SNAPSHOT.jar --spring.config.location=file:/root/testdemo/application_dao.yml > dao.log 2>&1 &
java -Xmx512m -jar /root/testdemo/ecommerce-api-gateway-0.0.1-SNAPSHOT.jar --spring.config.location=file:/root/testdemo/application_api.yml > api.log 2>&1 &
java -Xmx512m -jar /root/testdemo/ecommerce-user-service-0.0.1-SNAPSHOT.jar --spring.config.location=file:/root/testdemo/application_userservice.yml > user.log 2>&1 &
java -Xmx512m -jar /root/testdemo/ecommerce-product-service-0.0.1-SNAPSHOT.jar --spring.config.location=file:/root/testdemo/application_prod.yml > prod.log 2>&1 &
java -Xmx512m -jar /root/testdemo/cloud-simple-ui-1.0.0.jar --spring.config.location=file:/root/testdemo/ui.properties > ui.log 2>&1 &
修改后:
export PATH=/root/testdemo/jdk1.8.0_111/bin:$PATH
java -javaagent:/xxx/apm-javaagent/apm-javaagent.jar=appName=vmall-dao-service-Xmx512m -jar /root/testdemo/ecommerce-persistence-service-0.0.1-SNAPSHOT.jar --spring.config.location=file:/root/testdemo/application_dao.yml > dao.log 2>&1 &
java -javaagent:/xxx/apm-javaagent/apm-javaagent.jar=appName=vmall-apigw-service -Xmx512m -jar /root/testdemo/ecommerce-api-gateway-0.0.1-SNAPSHOT.jar --spring.config.location=file:/root/testdemo/application_api.yml > api.log 2>&1 &
java -javaagent:/xxx/apm-javaagent/apm-javaagent.jar=appName=vmall-user-service -Xmx512m -jar /root/testdemo/ecommerce-user-service-0.0.1-SNAPSHOT.jar --spring.config.location=file:/root/testdemo/application_userservice.yml > user.log 2>&1 &
java -javaagent:/xxx/apm-javaagent/apm-javaagent.jar=appName=vmall-product-service -Xmx512m -jar /root/testdemo/ecommerce-product-service-0.0.1-SNAPSHOT.jar --spring.config.location=file:/root/testdemo/application_prod.yml > prod.log 2>&1 &
java -Xmx512m -jar /root/testdemo/cloud-simple-ui-1.0.0.jar --spring.config.location=file:/root/testdemo/ui.properties > ui.log 2>&1 &
步驟 4 修改完成后,便可啟動應用。
等待三分鐘左右,在APM界面上即可看到應用相關數據,并根據數據監控應用、定位應用的異常。