为 PHP 设置 New Relic APM
有很多不同的 APM 工具可用,但在本书中,我们将只专注于使用 New Relic
。
New Relic
提供了很多性能监控工具,但在本书中,我们将专注于监控我们的 PHP 应用程序,以及它运行的基础设施。
在本节中,我们将在 EC2 实例中安装和配置 New Relic PHP
代理,以便我们可以开始收集 PHP 和服务器数据。
创建 New Relic 帐户和许可证密钥
在 EC2 实例中安装 New Relic
代理之前,您首先需要一个免费的 New Relic
账户。您可以在 https://newrelic.com/signup 注册,创建一个免费账户。在稍后的安装过程中,您将需要许可证密钥。
许可证密钥可在管理仪表板下的 New Relic API keys
页面找到:

您可以从此页面复制许可证密钥,并在后续步骤中使用它来设置代理。
在 PHP 8 容器中安装 New Relic 代理
要安装 PHP 代理,我们需要连接到用于为应用程序提供服务的 AWS EC2 实例。
使用 SSH 或 AWS EC2 Instance Connect Web
应用程序连接到 EC2 实例。
进入实例后,我们将在容器内安装代理。这可以是部署自动化的一部分,但在本书中,我们将手动安装它。您可以运行以下命令来连接到 PHP 容器:
docker exec -it docker-server-web-1 /bin/bash
进入容器后,运行以下命令来安装 PHP 代理:
curl -L "https://download.newrelic.com/php_agent/release/
newrelic-php5-10.2.0.314-linux.tar.gz" | tar -C /tmp -zx
export NR_INSTALL_USE_CP_NOT_LN=1 /tmp/newrelic-php5-*/newrelic-install install
运行这些命令后,系统将提示您输入 New Relic
许可证密钥。粘贴 New Relic API
密钥页面中的许可证密钥,然后完成安装过程:

安装完成后,您会发现在 /usr/local/etc/php/conf.d/newrelic.ini
中创建了一个新的 ini
文件。你可以手动修改该文件,设置自己喜欢的 PHP 应用程序名称,或者直接运行以下命令:
sed -i \
-e 's/newrelic.appname = "PHP Application"/newrelic.
appname = "NEWRELIC_TDDPHP"/' \
-e 's/;newrelic.daemon.app_connect_timeout =.*/newrelic.
daemon.app_connect_timeout=15s/' \
-e 's/;newrelic.daemon.start_timeout =.*/newrelic.daemon.
start_timeout=5s/' \
/usr/local/etc/php/conf.d/newrelic.ini
更新 newrelic.ini
文件后,通过运行以下命令重新启动 apache2
:
service apache2 restart
现在,New Relic PHP
代理已安装在为 Symfony 和 Behat 应用程序提供服务的 PHP 容器中。
接下来,我们将查看代理是否能向 New Relic
发送数据,并通过 New Relic
面板查看我们能获得哪些性能数据。