为部署在Docker中的PHP应用安装ARMS PHP Agent后,即可对PHP应用进行应用拓扑、调用链路追踪、异常事务和慢事务监控及SQL分析等监控。本文介绍如何为Docker中的PHP应用安装Agent。

说明 如果您需要试用新版PHP Agent,请立即开通ARMS试用版。新版PHP Agent的试用期结束时间请参见ARMS控制台公告。若您还有其他问题,可加入我们的钉钉答疑群:23328286。

为Docker中的PHP应用安装Agent

  1. 在需安装ARMS的机器上运行Docker容器。
    sudo docker run -d -p 11234:11234 <IMAGE>
    其中,您需要根据所在地域将<IMAGE>替换为以下地址。
    地域 下载地址
    杭州
    registry.cn-hangzhou.aliyuncs.com/arms-docker-repo/arms-hercules:v1.1
    上海
    registry.cn-shanghai.aliyuncs.com/arms-docker-repo/arms-hercules:v1.1
    青岛
    registry.cn-qingdao.aliyuncs.com/arms-docker-repo/arms-hercules:v1.1
    北京
    registry.cn-beijing.aliyuncs.com/arms-docker-repo/arms-hercules:v1.1
    张家口
    registry.cn-zhangjiakou.aliyuncs.com/arms-docker-repo/arms-hercules:v1.1
    深圳
    registry.cn-shenzhen.aliyuncs.com/arms-docker-repo/arms-hercules:v1.1
    香港
    registry.cn-hongkong.aliyuncs.com/arms-docker-repo/arms-hercules:v1.1
    新加坡
    registry.ap-southeast-1.aliyuncs.com/arms-docker-repo/arms-hercules:v1.1
    说明 此时,该机器的11234端口暴露了Hercules服务。若出现端口冲突,则将11234端口映射至该机器的其他端口。
  2. 根据所处网络环境选择公网下载地址或VPC下载地址,使用Wget命令下载Agent压缩安装包。

    在公网环境下的下载地址如下所示。

    地域 下载地址
    杭州
    wget "http://arms-apm-hangzhou.oss-cn-hangzhou.aliyuncs.com/arms-php-agent.zip" -O arms-php-agent.zip
    上海
    wget "http://arms-apm-shanghai.oss-cn-shanghai.aliyuncs.com/arms-php-agent.zip" -O arms-php-agent.zip
    青岛
    wget "http://arms-apm-qingdao.oss-cn-qingdao.aliyuncs.com/arms-php-agent.zip" -O arms-php-agent.zip
    北京
    wget "http://arms-apm-beijing.oss-cn-beijing.aliyuncs.com/arms-php-agent.zip" -O arms-php-agent.zip
    张家口
    wget "http://arms-apm-zhangjiakou.oss-cn-zhangjiakou.aliyuncs.com/arms-php-agent.zip" -O arms-php-agent.zip
    深圳
    wget "http://arms-apm-shenzhen.oss-cn-shenzhen.aliyuncs.com/arms-php-agent.zip" -O arms-php-agent.zip
    香港
    wget "http://arms-apm-hongkong.oss-cn-hongkong.aliyuncs.com/arms-php-agent.zip" -O arms-php-agent.zip
    新加坡
    wget "http://arms-apm-ap-southeast.oss-ap-southeast-1.aliyuncs.com/cloud_ap-southeast-1/arms-php-agent.zip" -O arms-php-agent.zip
    政务云
    wget "http://arms-apm-gov.oss-cn-north-2-gov-1.aliyuncs.com/arms-php-agent.zip" -O arms-php-agent.zip

    在VPC环境下的下载地址如下所示。

    地域 下载地址
    杭州
    wget "http://arms-apm-hangzhou.oss-cn-hangzhou-internal.aliyuncs.com/arms-php-agent.zip" -O arms-php-agent.zip
    上海
    wget "http://arms-apm-shanghai.oss-cn-shanghai-internal.aliyuncs.com/arms-php-agent.zip" -O arms-php-agent.zip
    青岛
    wget "http://arms-apm-qingdao.oss-cn-qingdao-internal.aliyuncs.com/arms-php-agent.zip" -O arms-php-agent.zip
    北京
    wget "http://arms-apm-beijing.oss-cn-beijing-internal.aliyuncs.com/arms-php-agent.zip" -O arms-php-agent.zip
    张家口
    wget "http://arms-apm-zhangjiakou.oss-cn-zhangjiakou-internal.aliyuncs.com/arms-php-agent.zip" -O arms-php-agent.zip
    深圳
    wget "http://arms-apm-shenzhen.oss-cn-shenzhen-internal.aliyuncs.com/arms-php-agent.zip" -O arms-php-agent.zip
    香港
    wget "http://arms-apm-hongkong.oss-cn-hongkong-internal.aliyuncs.com/arms-php-agent.zip" -O arms-php-agent.zip
    新加坡
    wget "http://arms-apm-ap-southeast.oss-ap-southeast-1-internal.aliyuncs.com/cloud_ap-southeast-1/arms-php-agent.zip" -O arms-php-agent.zip
    政务云
    wget "http://arms-apm-gov.oss-cn-north-2-gov-1-internal.aliyuncs.com/arms-php-agent.zip" -O arms-php-agent.zip
  3. 将安装包解压缩并移动至/usr/local/arms/arms-php-agent目录。
    unzip arms-php-agent.zip
    mkdir -p /usr/local/arms
    mv arms-php-agent /usr/local/arms/arms-php-agent
  4. 登录ARMS控制台
  5. 在左侧导航栏中选择应用监控 > 应用列表,并在应用列表页面顶部选择目标地域,然后在右上角单击接入应用
  6. 接入应用页面复制顶部的LicenseKey。
  7. php.ini配置文件中添加以下内容。
    extension=/usr/local/arms/arms-php-agent/arms-x.x.so
    [ARMS]
    arms.enable=1
    arms.app_name=<yourAppName>
    arms.license_key=<yourLicenseKey>
    arms.network_type=tcp
    arms.tcp_host=<host>
    arms.tcp_port=<port>
    说明
    • arms-x.x.so中的x.x为您的PHP应用的版本,目前支持5.4~7.3版本的PHP应用。
    • 若您的容器镜像是Alpine Linux系统,则将arms-x.x.so改为arms-[x.y]-alpine.so,其中[x.y]支持的版本值为5.5、5.6、7.0、7.1、7.2和7.3。
    • 自定义设置<yourAppName>,您的PHP应用会以此名称显示在ARMS控制台中。
    • <yourLicenseKey>替换为步骤6获取的LicenseKey。
    • <host><port>为容器访问主机的IP地址和端口号,端口号默认为11234,若步骤1更新了端口号,此处请同步更新。
    • 如果您的PHP应用对应的版本配置了with-config-file-scan-dir,则可在/etc/php/7.2/php-fpm/conf.d目录下新建arms.ini文件,内容与以上在php.ini文件中添加的内容一致。
  8. 可选:步骤2步骤7的操作命令可以添加至dockerfile文件自动运行。
  9. 重启您的PHP应用。