部署
UniAgent安装包
当服务器上存在多种语言的应用时,推荐使用UniAgent安装。UniAgent安装包内集成了Java、PHP、.NET Core 等多个语言的探针,安装后不需要手工修改应用的配置文件,所有嵌入探针的动作均由UniAgent自动完成,并且可以自动监控Docker容器内的应用。
安装路径固定为/opt/tingyun-oneagent,UniAgent安装步骤如下:
下载UniAgent包,并执行安装脚本。
sudo ./tingyun-agent-oneagent-版本.sh
重启PHP宿主服务(apache或php-fpm)。
sudo service httpd start
或
sudo service php-fpm start
BIN安装包
要将探针安装到指定目录下时,必须使用bin包进行安装。
参数:
--license 指定license, 必须填写
--collectors 指定collector地址, 必须填写
--prefix 指定安装路径, 默认为/opt
--appname 指定应用名称,默认为PHP Application, 支持从环境变量获取, 例如 `\${CUSTOM_ENV_NAME}`
--skipcheck 跳过检查collector连通性, 当构建docker镜像时请设置为true
例如:
sudo ./tingyun-agent-php-版本.x86_64.bin --license=您的license --collectors=地址:端口 \
--appname=应用名称 --skipcheck=true
安装步骤:
运行bin包进行安装,默认安装到 /opt/ 下。
sudo ./tingyun-agent-php-版本.x86_64.bin --license=您的license --collectors=地址:端口
安装脚本会尝试自动查找php路径并修改php.ini,将探针tingyun.so加到php.ini内。
如果您需要将bin包安装到指定位置,请使用 --prefix 参数。
sudo ./tingyun-agent-php-版本.x86_64.bin --prefix=/path/to
重启php宿主服务(apache或php-fpm)。
sudo service httpd start
或
sudo service php-fpm start
docker镜像构建:
将安装包拷贝到Dockerfile所在目录。
修改Dockerfile,以下为举例,请酌情修改。
FROM php:7.1-fpm # web application RUN cp /usr/local/etc/php/php.ini-production /usr/local/etc/php/php.ini RUN echo "<?php phpinfo(); ?>" > /var/www/html/info.php # install tingyun agent COPY tingyun-agent-php-3.2.0.0.x86_64.bin . RUN sh ./tingyun-agent-php-3.2.0.0.x86_64.bin \ --license="B9wJmHhxdcGRIZNR" --collectors="192.168.5.50:7665" --appname="\${CUSTOM_ENV_NAME}" --skipcheck=true RUN rm -rf ./tingyun-agent-php-3.2.0.0.x86_64.bin # run web application ENTRYPOINT ["php-fpm"]
手动安装PHP扩展
当无法在标准位置查找到PHP或缺少PHP某些信息时,自动安装PHP扩展失败,此时需要我们手动安装。
创建 phpinfo() 脚本。
echo "<?php phpinfo(); ?>" > /path/to/info.php
使用浏览器访问info.php。
运行安装脚本。
sudo /opt/tingyun-php/scripts/install-by-web.sh Looking for phpinfo() in web ... Please input phpinfo url:
录入info.php对应的URL。
安装脚本会尝试利用phpinfo信息查找PHP路径并修改php.ini,将探针tingyun.so加到php.ini内。
重启Web容器。