TypistTech.trellis-newrelic-php

Trellis New Relic PHP Agent

Ansible 角色 GitHub 标签(最新版本) Ansible 角色 Ansible 质量评分 GitHub GitHub 赞助 通过 PayPal 赞助 聘请 Typist Tech Twitter 关注 @TangRufus

Trellis 服务器上安装 New Relic PHP agent

角色变量

# group_vars/<environment>/vault.yml
# 此文件应加密。见: https://roots.io/trellis/docs/vault/
##########################################################################

# New Relic 许可证密钥
## 见: https://docs.newrelic.com/docs/accounts-partnerships/accounts/account-setup/license-key
vault_newrelic_license: xxxxxxxxxxx

# group_vars/<environment>/main.yml
###################################

# 表示所需的包状态。
# `latest` 确保安装最新版本。
# `present` 如果已安装则不更新。
# 选项: present | latest
# 默认: latest
newrelic_package_state: present

# 在此检查默认值:https://github.com/TypistTech/trellis-newrelic-php/blob/master/defaults/main.yml
# 另见: https://docs.newrelic.com/docs/agents/php-agent/configuration/php-agent-configuration
newrelic_config:
  appname: "我的精彩应用 {{ env }}"
  framework: no_framework
  transaction_tracer.detail: 1
  datastore_tracer.database_name_reporting.enabled: true

改造 Trellis 的剧本

将此角色添加到 dev.ymlserver.yml 紧接着 role: php

  # `dev.yml` & `server.yml`

  roles:
      # 其他 Trellis 角色 ...
      - { role: php, tags: [php] }
+     - { role: TypistTech.trellis-newrelic-php, tags: [php, newrelic-php] }
      # 其他 Trellis 角色 ...

要求

安装

将此角色添加到 galaxy.yml

- src: TypistTech.trellis-newrelic-php # 区分大小写!
  version: XXX.YYY.ZZZ # 检查最新版本!

运行 $ trellis galaxy install 以安装此新角色。

常见错误

vault_newrelic_license 未定义

group_vars/<environment>/vault.yml 中加密您的 New Relic 许可证密钥。请参阅 角色变量

New Relic 将多个环境合并成单个应用程序

解决方案:为不同环境定义不同的 appname

提示:

# group_vars/all/main.yml
#########################

newrelic_config:
  appname: "我的精彩应用 {{ env }}"

升级 PHP 版本后的错误

在升级 PHP 大版本或小版本时(例如:从 7.4 到 8.0,或从 8.0 到 8.1),New Relic 可能会失败并导致配置错误。

非零返回代码
PHP 警告: PHP 启动: 无法加载动态库 'newrelic.so'
(尝试:/usr/lib/php/20180731/newrelic.so(/usr/lib/php/20180731/newrelic.so:
无法打开共享对象文件:没有此类文件或目录),
/usr/lib/php/20180731/newrelic.so.so(/usr/lib/php/20180731/newrelic.so.so:
无法打开共享对象文件:没有此类文件或目录))在未知位置

在每次 PHP 大版本或小版本升级后(即:当您看到上述错误时):

# 对于多服务器设置,在每台服务器上执行以下步骤。
ssh [email protected]
sudo newrelic-install install
sudo reboot

# 等待服务器重启,然后重新配置
# 对于多服务器设置,只需重新配置一次
trellis provision production

限制

  • 默认情况下,每台服务器只能有一个 New Relic APM 应用程序。

扩展 fastcgi_basic,以在 include fastcgi_params; 之后包含 fastcgi_param PHP_VALUE "newrelic.appname={{ item.key }} ({{ env }})"; 以解决此限制。

欢迎提交 Pull 请求。

常见问题

看起来很棒。我在哪里可以找到更多类似的资源?

这个包不在 wp.org 上。我可以哪里给个 :star::star::star::star::star: 评论?

谢谢!很高兴你喜欢它。让我们知道有人在使用这个项目是很重要的。由于它不托管在 wordpress.org,请考虑:

赞助 :heart:

喜欢 trellis-newrelic-php 吗?帮助我维护它, 这里赞助 可以对此有所帮助。

GitHub 赞助匹配基金

您知道 GitHub 将匹配您的赞助 吗?

立即通过 GitHub 赞助 双倍您的赞助。

为什么不雇我?

随时准备接受自由职业的 WordPress 工作。通过 这里 的联系表单或电子邮件 [email protected] 联系我。

想以其他方式帮助吗?想成为赞助商?

联系: Tang Rufus

反馈

请提供反馈! 我们希望让这个库在尽可能多的项目中有用。 请提交 问题,指出您喜欢和不喜欢的地方,或者分叉项目并提出建议。 没有问题是太小的。

安全性

如果您发现任何安全相关的问题,请发送电子邮件至 [email protected],而不是使用问题追踪器。

感谢

Trellis New Relic PHP Agent 是一个 Typist Tech 项目,由 Tang Rufus 维护,提供自由职业开发服务。

完整的贡献者列表请见 这里

特别感谢 Roots 团队,他们的 Trellis 使这个项目成为可能。

贡献

请参见 CODE_OF_CONDUCT 以获取详情。

许可证

Trellis New Relic PHP Agent 依据 MIT 许可证 发布。

关于项目

Install New Relic PHP agent on Trellis servers

安装
ansible-galaxy install TypistTech.trellis-newrelic-php
许可证
mit
下载
5.6k