浏览应用程序性能数据

在上一节中,我们安装了一个工具来收集 PHP 应用程序的性能和使用数据。除非我们能够查看并理解这些数据,否则这些数据将毫无用处。

要查看我们刚刚安装的 PHP 代理收集的数据,请按照以下步骤操作:

  1. 返回位于 https://one.newrelic.comnew relic 仪表板,然后单击 APM & services 菜单项:

    image 2023 10 24 18 27 09 084
    Figure 1. Figure 11.3 – New Relic services – APM
  2. 接下来,单击仪表板上的 NEWRELIC_TDDPHP 项。您会注意到,这与我们在 /usr/local/etc/php/conf.d/newrelic.ini 文件中使用的 PHP 名称相同。

image 2023 10 24 18 27 52 731
Figure 2. Figure 11.4 – newrelic.ini – newrelic.appname

一旦您监控了大量应用程序,这些应用程序名称就会派上用场,因此,如果您能将应用程序名称标准化,那就再好不过了。您可以在 https://docs.newrelic.com/docs/new-relic-solutions/best-practices-guides/full-stackobservability/apm-best-practices-guide/ 上的官方文档中阅读有关 New Relic APM 最佳实践的更多信息。

单击 NEWRELIC_TDDPHP 项目后,您将被重定向到 APM 面板:

image 2023 10 24 18 28 52 563
Figure 3. Figure 11.5 – PHP APM dashboard

在仪表板上,您将能够查看有关我们正在监控的 PHP 应用程序的不同指标。例如,我们可以检查哪些数据库操作执行时间最长:

image 2023 10 24 18 29 31 659
Figure 4. Figure 11.6 – DB operations

您和您的团队可以从这些仪表板上报告的数据中学到很多东西。您可以发现性能瓶颈,并查看用户遇到的错误异常。

在错误仪表板上,您将能够查看有关应用程序报告的错误的指标:

image 2023 10 24 18 30 18 742
Figure 5. Figure 11.7 – Errors dashboard

您还可以点击错误项目本身,更深入地了解发生了什么:

image 2023 10 24 18 30 50 117
Figure 6. Figure 11.8 – Exception trace

在这里,你可以看到哪个特定对象抛出了异常,抛出了什么异常,以及堆栈跟踪。这些都是非常有价值的信息,可以帮助您和您的团队发现并解决问题。

监视设置中的其它容器

在我们的示例应用程序中,我们使用了多个容器。我们还可以监控这些容器,例如 MySQL 服务器,以及我们使用的示例 phpMyAdmin 容器。

在 EC2 控制台中,运行以下命令将 New Relic 代理安装到我们的 AWS EC2 Linux 实例中:

curl -Ls https://download.newrelic.com/install/newrelic-cli/scripts/install.sh | bash && sudo NEW_RELIC_API_KEY=<your licence key> NEW_RELIC_ACCOUNT_ID=<your account id> /usr/local/bin/newrelic install -n logs-integration

请确保包含您的 New Relic 许可证密钥和账户 ID,它们可以在 API 密钥页面找到,如本章前面所示。

安装过程结束后,回到 New Relic 控制面板,在左侧菜单中点击 "所有实体" 菜单项,然后选择 "容器"。然后,你将看到 EC2 实例中的所有 Docker 容器:

image 2023 10 24 18 33 14 134
Figure 7. Figure 11.9 – Docker containers performance monitoring

如果单击列表中的其中一个容器,您将能够获取有关该容器的更多指标,例如内存使用情况、CPU 利用率等:

image 2023 10 24 18 33 43 173
Figure 8. Figure 11.10 – MySQL container metrics

所有这些数据可视化工具都能帮助您更好地了解容器和应用程序的使用情况,并在出现性能问题时帮助您进行诊断。

总结

在本章中,我们介绍了将 APM 工具作为设置一部分的重要性。我们在 AWS EC2 实例和 Docker 容器中安装了 New Relic APM 代理,开始记录性能和使用数据。使用 APM 工具完全是可选的,但拥有 APM 工具将为您和您的团队提供真实的生产性能数据,从而帮助您和您的团队更快地解决问题。有了 APM 工具,您就能更好地了解您的应用程序,并帮助您优化和改进您的应用程序。