
# ECS应用接入APM
当您的应用部署在ECS（弹性云服务器）上时，请根据操作流程了解APM服务。本章将以在ECS上的Java应用接入APM为例子来介绍如何开启Java应用监控。
#### 前提条件
- 已[购买ECS](https://support.huaweicloud.com/usermanual-ecs/ecs_03_7002.html)。
- ECS满足[APM支持的操作系统](https://support.huaweicloud.com/productdesc-apm/apm_06_0007.html#section0)。
- ECS满足APM支持的[Java类型](https://support.huaweicloud.com/productdesc-apm/apm_06_0007.html)。
- 确保本地浏览器的时区、时间与ECS一致。
 
#### 操作流程
![](https://support.huaweicloud.com/qs-apm/zh-cn_image_0228754576.png "点击放大")
#### 步骤一：开通APM
请参考[开通和购买](https://support.huaweicloud.com/qs-apm/apm_00_0003.html)。
#### 步骤二：安装ICAgent
1. 获取AK/SK。
2. 登录**[应用性能管理](https://console.huaweicloud.com/apm/?locale=zh-cn)**。
3. 在左侧导航栏中选择"采集管理 \> Agent管理"。
4. 单击"安装ICAgent"，选择"主机类型"为"华为云主机"、"安装系统"为"Linux"。
5. 选择"安装方式"为"获取AK/SK凭证"，在文本框中输入已获取的AK/SK，生成ICAgent安装命令，单击"复制命令"，复制ICAgent安装命令。
   ![](https://support.huaweicloud.com/qs-apm/public_sys-resources/note_3.0-zh-cn.png)
   请确保输入正确的AK/SK，否则将无法安装ICAgent。
   ![](https://support.huaweicloud.com/qs-apm/zh-cn_image_0229758980.png "点击放大")
   
6. 使用ECS提供的远程登录功能以**root** 用户登录ECS，执行ICAgent安装命令进行安装。
   当显示"ICAgent install success"时，表示安装成功，ICAgent已安装在了"/opt/oss/servicemgr/"目录。
   
 
#### 步骤三：修改权限（可选）
若您使用非**root**用户启动程序，则您开启应用监控前需要执行如下命令修改探针文件与输出目录权限。
```
chmod -R 777 /opt/oss/servicemgr/ICAgent/pinpoint/
mkdir -p /paas-apm/collectors/pinpoint
chmod -R 777 /paas-apm
```
#### 步骤四：配置应用启动脚本并重启
1. 在ECS上，若不使用Tomcat容器启动服务，执行如下操作：
   1. 请在您的Java应用启动脚本中的java关键字后增加如下表格中的配置项，以确保Java应用被APM监控。
       表1需要增加的配置项 
      | **参数**            | **取值说明**                                                                                                           |
      |:---|:---|
      | -javaagent        | 采集探针依赖的jar包。 参数值固定，均取值为：/opt/oss/servicemgr/ICAgent/pinpoint/pinpoint-bootstrap.jar |
      | -Dapm_application | 应用名称。 由小写字母、数字、中划线（-）、下划线（_）组成，且以小写字母或下划线（_）开头，长度限制为1\~64位字符。                        |
      | -Dapm_tier        | 组成该应用的微服务名称。 由小写字母、数字、中划线（-）、下划线（_）组成，且以小写字母或下划线（_）开头，长度限制为1\~64位字符。                  |
         
      **启动脚本配置示例**
      （以下为以vmall应用、服务名称vmall-dao-service、vmall-user-service为例的示例启动脚本，您需要在自己的实际启动脚本中配置）
      - 配置前启动脚本如下：
        ```
        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-user-service-0.0.1-SNAPSHOT.jar --spring.config.location=file:/root/testdemo/application_userservice.yml > user.log 2>&1 &
        ```
        
      
      - 配置后启动脚本如下（区别已加粗）：
        ```
        java -javaagent:/opt/oss/servicemgr/ICAgent/pinpoint/pinpoint-bootstrap.jar -Dapm_application=vmall -Dapm_tier=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:/opt/oss/servicemgr/ICAgent/pinpoint/pinpoint-bootstrap.jar -Dapm_application=vmall -Dapm_tier=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 &
        ```
        
        
   
   2. 执行配置后的应用启动脚本，开启应用性能监控。
    

2. 在ECS上，若使用Tomcat容器启动服务则需添加探针，执行如下操作：
   1. 进入到Tomcat容器的bin路径下(根据自己Tomcat容器的路径)。
   
   2. 请将此命令拷贝至catalina.sh文件里：
      ```
      JAVA_OPTS="$JAVA_OPTS -javaagent:/opt/oss/servicemgr/ICAgent/pinpoint/pinpoint-bootstrap.jar -Dapm_application=xxx -Dapm_tier=xxx"
      ```
      ![](https://support.huaweicloud.com/qs-apm/public_sys-resources/note_3.0-zh-cn.png)
      -Dapm_application -Dapm_tier 按照[表1]标准自行配置。
      
   
   
   
   3. 执行配置后的应用启动脚本，开启应用性能监控。
    
#### 步骤五：在APM上管理应用
应用启动后，等待3分钟应用数据就会呈现在APM界面中，此时登录APM，您可以在APM上通过拓扑、调用链等进行应用性能优化，详细操作请参考[用户指南](https://support.huaweicloud.com/usermanual-apm/apm_02_0006.html)。
![](https://support.huaweicloud.com/qs-apm/zh-cn_image_0166975915.png "点击放大")
