Назад | Перейти на главную страницу

Неверный формат лицензии New Relic при установке на Elastic Beanstalk

Мы создали приложение, работающее на экземпляре Elastic Beanstalk, 64-битный PHP версии 5.4 (не устаревший). Я использовал Инструкции по установке New Relic для установки New Relic, и просмотр phpinfo показывает, что New Relic установлен.

Однако я не получаю никаких данных в New Relic, потому что он говорит, что лицензия ***invalid format*** под newrelic.licence

Я получаю лицензию из своей учетной записи New Relic, и это шестнадцатеричная строка из 40 символов. Вот текущий файл newrelic.config в папке .ebextensions, которую я использую, с закомментированной большей частью лицензионного ключа.

  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

Может ли кто-нибудь пролить свет на то, что здесь происходит? Я пробовал два разных лицензионных ключа New Relic с той же ошибкой, я также заключил его в одинарную кавычку и пробовал только прописные буквы. И на данный момент у меня нет идей, что попробовать. Мы не гуру AWS, поэтому очень легко может быть что-то простое, например, не открывать порт для проверки лицензии?

Я столкнулся с той же проблемой. Их документация кажется неполной. Решение - добавить этот раздел в ваш файл конфигурации .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"

Вышеупомянутое от @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"

Вам необходимо отредактировать файл, расположенный по адресу: etc / php5 / apache2 / conf.d / newrelic.ini. Отредактируйте поле лицензионного ключа и перезапустите deamon и apache.