在 Elastic Beanstalk 上安装时,New Relic 许可证的格式无效

在 Elastic Beanstalk 上安装时,New Relic 许可证的格式无效

我们创建了一个在 Elastic Beanstalk 实例上运行的应用程序,64 位 PHP 版本 5.4(因此不是旧版本)。我使用了New Relic 安装说明安装New Relic,查看phpinfo显示New Relic已经安装。

但是,我在 New Relic 中没有得到任何数据,因为它说许可证***invalid format***处于newrelic.licence

我从我的 New Relic 帐户获取许可证,它是一个 40 个字符的十六进制字符串。这是我正在使用的 .ebextensions 文件夹中的当前 newrelic.config 文件,其中大部分许可证密钥已被注释掉。

  packages:
    yum:
      newrelic-php5: []
    rpm:
      newrelic: http://yum.newrelic.com/pub/newrelic/el5/x86_64/newrelic-repo-5-3.noarch.rpm
    commands:
      configure_new_relic:
        command: newrelic-install install
        env:
          NR_INSTALL_SILENT: true
          NR_INSTALL_KEY: ec9a4...

相关 phpinfo 的 Skitch

有人能解释一下这是怎么回事吗?我尝试了两个不同的 New Relic 许可证密钥,但都出现了同样的错误,我还用单引号括起来,并只尝试了大写。现在我不知道该尝试什么了。我们不是 AWS 专家,所以很可能是一些简单的事情,比如不打开端口来允许验证许可证?

答案1

我遇到了同样的问题。他们的文档似乎不完整。解决方案是将此部分添加到您的 .ebextensions/newrelic.config 配置文件中。当您部署到 Beanstalk 时,这将创建一个新的 ini 文件,其中包含您的许可证密钥,PHP 将解析并获取该文件。

files:
  "/etc/php.d/newrelic.ini":
    mode: "000777"
    owner: ec2-user
    group: ec2-user
    content: |
      newrelic.license="YOUR-NEW-RELIC-LICENSE-KEY-HERE"

答案2

您需要编辑位于以下位置的文件:etc/php5/apache2/conf.d/newrelic.ini。在那里编辑许可证密钥字段并重新启动守护程序和 apache。

答案3

@afessler 的上述建议很有帮助。但这还不够,因为我的安装需要以下内容才能正常工作。对我来说,最初安装的旧 newrelic.ini 文件中需要包含其他信息。请记住,如果您已经运行了几次部署,则应删除旧的 newrelic.ini,因为在部署时它不会覆盖我。

为了检查,您还应该将 phpinfo.php 添加到应用程序根目录,以检查 New Relic 是否实际安装。

我将发布我的整个 .config 文件:

packages:
    yum:
        newrelic-php5: []
        newrelic-sysmond: []
    rpm:
        newrelic: http://yum.newrelic.com/pub/newrelic/el5/x86_64/newrelic-repo-5-3.noarch.rpm
    commands:
        "01":
            command: newrelic-install install
            env:
                NR_INSTALL_SILENT: true
                NR_INSTALL_KEY: [ENTER_LICENSE_KEY]
        "02":
            command: echo newrelic.appname="[ENTER_APP_NAME]" >> /etc/php.ini
        "03":
            command: nrsysmond-config –set license_key=[ENTER_LICENSE_KEY]
        "04":
            command: /etc/init.d/newrelic-sysmond start

    files:
        "/etc/php.d/newrelic.ini":
            mode: "000777"
            owner: ec2-user
            group: ec2-user
            content: |
                extension = "newrelic.so"
                [newrelic]
                newrelic.license = "[ENTER_LICENSE_KEY]"
                newrelic.logfile = "/var/log/newrelic/php_agent.log"
                newrelic.appname = "[ENTER_APP_NAME]"
                newrelic.daemon.logfile = "/var/log/newrelic/newrelic-daemon.log"

相关内容