安装与配置PHP Agent
要监控PHP应用,在透视宝云端的“配置→应用”页面中选择“PHP”语言,按照页面中的引导安装PHP Agent,详细说明如下。
获取授权编号
授权编号是透视宝用户身份识别的License Key,每个用户对应一个唯一的授权编号,在后续配置中需要使用。
安装SendProxy(可选)
SendProxy是主机与透视宝平台通讯的插件,如果您的主机需要与透视宝平台直接通讯且没有安装过SendProxy,请下载并安装该插件,详细说明请参考“安装SendProxy”。
下载PHP Agent安装包
PHP Agent只支持Linux系统,点击<下载PHP Agent(版本)>按钮或复制Wget链接,下载最新版本的PHP Agent安装包。
注意:支持PHP 5.3~5.6、PHP 7,请确保已安装php-curl扩展。
安装PHP Agent
1、创建cloudwise文件夹(如/var/cloudwise)并确保拥有读写权限,例如:
mkdir -p /var/cloudwise
2、解压缩安装包到cloudwise目录,例如:
unzip PHPAgent_Linux_2.0.0.zip -d /var/cloudwise
3、配置bin目录和php.ini路径
进入PHP Agent目录(如PHPAgent_Linux_2.0.0.zip),指定PHP环境的bin目录(如/usr/local/php-5.6.6/bin)和php.ini路径,例如:
bash install.sh -d '/usr/local/php-5.6.6/bin' -i '/usr/local/php-5.6.6/lib/php.ini'
4、进入PHP Agent目录(如PHPAgent_Linux_2.0.0.zip),配置License Key,例如:
bash install.sh -l 'J45Engw88Ner03Dg/So6MhERjkvt8hwk72kuJ7ewFzTv9vyfnhxvRg!!!!'
5、配置SendProxy地址(可选)
PHP Agent默认设置由本机SendProxy发送数据,如果需要从其他主机发送数据,则需要配置可用的SendProxy地址,例如:
bash install.sh -s 'http://10.0.3.46:26789'
6、执行如下命令启动PHP Agent:
bash install.sh start
7、重启 Apache 或 php-fpm
8、监控Docker
安装PHPAgent在docker中,需要下载AgentService,才能更好的展示Docker中的应用,请参考“在Docker中安装PHP Agent”按流程安装。
安装配置完成后,稍等几分钟您可以在“应用”模块查看PHP应用数据。请注意,从来没被访问过的应用不会显示在应用列表中。
要监控Docker中的PHP应用,需要安装PHP Agent、AgentService和SendProxy,请按照下述步骤进行安装。
注意:该安装方法仅适用于使用Dockerfile构建镜像的场景。
1、 首先在透视宝云端的“配置→应用”页面下载PHP Agent、Agent Service和SendProxy安装包。
2、 将下载的压缩包拷贝到宿主机系统的某个目录下(如/var/cloudwise,后续相关步骤均以此目录为例)并解压,例如:
unzip PHPAgent.zip –d /var/cloudwise unzip AgentService.zip -d /var/cloudwise unzip SendProxy.zip –d /var/cloudwise
3、 将AgentService目录中的startup.sh文件移动到/var/cloudwise目录下并赋予可执行权限。
cd /etc/workdir/PHPAgent hosts=`grep $(hostname) /etc/hosts | awk -F. '{print $1"."$2"."$3"."1}'` cw_hostip=`curl http://${hosts}:27799/smartagent/getHostIP 2>/dev/null` export cwhostip=${cw_hostip} export cwapptype=2 bash install_phpindocker.sh startindocker apache2-foreground
说明:由于Dockerfile 仅最后一个CMD可以生效,所以使用startup.sh替换之前启动Apache的命令,并把启动Apache的命令集成到startup.sh中,同时对PHP Agent进行了初始化操作。
4、 参考AgentService目录下dockerfile文件的内容,修改您自己的dockerfile配置,同时将PHP Agent引入到docker镜像。
FROM php:5-apache #php:5-apache 为新镜像的基础镜像 ADD ./data/ /etc/workdir/ #./data/ 为Dockerfile所在目录的相对路径 #/etc/workdir/为镜像的绝对路径 CMD ["/bin/bash","/etc/workdir/startup.sh"] #/etc/workdir/为镜像的绝对路径
5、 在dockerfile文件所在的目录下创建新镜像,命令如下(请勿遗漏最后的标点“.”):
docker build -t <new_image> .
6、 进入/var/cloudwise/AgentService目录,配置License Key,命令如下:
./init_licensekey.sh -c ‘J45Engw88Nc/fR1k7e53nvDuCBhOY1YDQll8UqotxYgsR5VnW1eKWg!!!!’
7、 启动SendProxy,命令如下:
./SendProxy.sh restart
8、 启动AgentService,命令如下:
./AgentService.sh start
9、 通过生成的新镜像启动容器,例如:
docker run -dit --name test_php_agent <new_image>
安装PHP Agent后,您可以在PHP Agent conf目录的app.conf文件中查看可配置项,主要配置项及相关说明见下表:
配置项 | 说明 |
UserTimeLimitBarFrequency | 用于设置慢请求的记录频率,单位为秒(s)。例如设置为60,则在60s内,对于同一个请求,只记录一次慢请求。 |
UserFunctionTimeLimitBar | 用于设置需要采集的方法的执行时间阈值,单位为微秒(μs)。例如设置为1000,则执行时间大于1000微秒(即大于1ms)的方法才会被采集。 |
UserTimeLimitBar | 用于设置慢请求的阈值,单位为毫秒(ms)。例如设置为500,则响应时间大于500ms的请求为慢请求。 |
PHP install bin path | 用于配置PHP 安装路径。安装PHP Agent时,默认会使用whereis php命令查找系统内的PHP进行安装,此时不需要修改该配置项。 如果PHP环境是通过编译安装的,需要通过该配置项设置PHP的安装路径(bin目录),即将install.sh脚本中的变量“APPD_PHP_PATH“的值修改为PHP环境的bin目录,例如“/usr/local/php-5.6.6/bin”。 |
此外,您还可以手动配置PHP Agent的数据发送端口。PHP Agent默认使用UDP端口发送数据,如果需要使用TCP端口发送数据,请在PHP Agent安装目录的conf 目录下,修改smart_agent.ini.tpl文件中的相关参数:
将“smart_agent.use_tcp”的值修改为“1“即可。
修改后需要重启PHP Agent及apache 或 php-fpm,重启后修改的数据发送方式才能生效。
安装应用PHP Agent后,您可以管理PHP Agent,包括启动、停止、重启等。
首先,进入PHP Agent安装目录下(如cloudwise/PHP Agent),然后执行相应命令管理PHP Agent。
启动、停止、重启PHP Agent后,需要重启Apache 或 php-fpm。
启动PHP Agent
在Linux系统中,执行以下命令可以启动PHP Agent:
bash install.sh start
停止PHP Agent
在Linux系统中,执行以下命令可以停止PHP Agent:
bash install.sh stop
重启PHP Agent
在Linux系统中,执行以下命令可以重启PHP Agent:
bash install.sh restart
查看PHP Agent状态
在Linux系统中,执行以下命令可以查看PHP Agent状态:
bash install.sh status
目前,PHP Agent支持的PHP版本、应用框架、应用服务器、数据库、API等说明如下:
类型 | 支持类型/版本 |
Web/App Server |
|
应用框架 | 支持所有应用框架 |
API |
|
PHP版本 | 运行模式NTS,ZTS,PHP-FPM
|
SQL数据库 |
|
NoSQL数据库 |
|
OS |
|