安装与配置PHP Agent

安装PHP Agent

在Docker中安装PHP Agent

配置PHP Agent

管理PHP Agent

兼容性说明


安装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 Agent

要监控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

7.png

说明:由于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/为镜像的绝对路径

8.png

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后,您可以在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“即可。

1530867418160165.jpg

修改后需要重启PHP Agent及apache 或 php-fpm,重启后修改的数据发送方式才能生效。


管理PHP Agent

安装应用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

  • Apache 2.2/2.4

  • Nginx 1.5.4/1.6.3/1.8.0/1.9.3

应用框架

支持所有应用框架

API

  • CURL

  • IO

  • cgi-fcgi

  • cgi

  • apache2handler

  • apache2filter

  • aolserver

  • apache

  • litespeed

  • fpm-fcgi

  • Cl

PHP版本

运行模式NTS,ZTS,PHP-FPM

  • PHP 5.1 (php5.1.6-nts / php-5.1.6-zts)

  • PHP 5.3 (php5.3.29-zts / php5.3.3-nts / php5.3.29-fpm)

  • PHP 5.4 (php5.4.40-zts / php5.4.40-fpm)

  • PHP 5.5 (php5.5.22-zts / php5.5.22-fpm)

  • PHP 5.6 (php5.6.2-zts / php5.6.10-nts / php5.6.2-fpm)

  • PHP 7 (php7-zts / php7-nts / php7-fpm)

SQL数据库

  • MySQL

  • SQLite

  • PDO:MySQL

  • PDO:SQLite

NoSQL数据库

  • Memcache

  • Redis

  • MongoDB

OS

  • Ubuntu 12.04及以上版本(64位)

  • CentOS 5.2及以上版本(64位)

  • RedHat   5.3/5.6/5.7/5.8/6.0

  • SUSE Enterprise 10及以上版本(64位)

  • FreeBSD 7.4及以上版本(64位)

  • Debian 6.0及以上版本 (64位)