trellis-newrelic-php

Trellis New Relic PHP Агента

Ansible Role GitHub tag (latest SemVer) Ansible Role Ansible Quality Score GitHub GitHub Sponsor Sponsor via PayPal Hire Typist Tech Twitter Follow @TangRufus

Установите агента New Relic PHP на серверах Trellis.

Переменные ролей

# 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.yml и server.yml сразу после role: php:

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

  roles:
      # Другие роли Trellis ...
      - { role: php, tags: [php] }
+     - { role: TypistTech.trellis-newrelic-php, tags: [php, newrelic-php] }
      # Другие роли Trellis ...

Требования

  • Ansible v2.7 или позже
  • Python v3.7.6 или позже
  • Trellis v1.3.0 или позже
  • Учетная запись New Relic

Установка

Добавьте эту роль в galaxy.yml:

- src: TypistTech.trellis-newrelic-php # Чувствительно к регистру!
  version: XXX.YYY.ZZZ # Проверьте последнюю версию!

Запустите $ trellis galaxy install, чтобы установить эту новую роль.

Общие ошибки

vault_newrelic_license не определен

Зашифруйте свой лицензионный ключ New Relic в group_vars/<environment>/vault.yml. Смотрите переменные ролей.

New Relic объединяет несколько окружений в одно приложение

Решение: Определите разные appname для разных окружений.

Советы:

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

newrelic_config:
  appname: "Мое удивительное приложение {{ env }}"

Ошибка после обновления версии PHP

New Relic может не работать и провоцировать ошибки при обновлении основных или минорных версий PHP (например: с 7.4 до 8.0 или с 8.0 до 8.1).

некорректный код возврата
PHP Warning:  PHP Startup: Не удалось загрузить динамическую библиотеку '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

Ограничения

  • По умолчанию на сервере может быть только одно приложение APM New Relic.

Расширяет блок fastcgi_basic для включения fastcgi_param PHP_VALUE "newrelic.appname={{ item.key }} ({{ env }})"; сразу после строки include fastcgi_params;, чтобы обойти это ограничение.

Приглашаются запросы на изменение.

ЧАВО

Похоже, это потрясающе. Где я могу найти нечто подобное?

Этот пакет отсутствует на wp.org. Где я могу оставить :star::star::star::star::star: отзыв?

Спасибо! Рад, что вам это нравится. Важно, чтобы я знал, что кто-то использует этот проект. Поскольку он не размещен на wordpress.org, пожалуйста, подумайте о:

Спонсорство :heart:

Любите trellis-newrelic-php? Помогите мне поддерживать его, спонсорство здесь может помочь с этим.

Фонд соответствия спонсоров GitHub

Знаете ли вы, что GitHub собирается удвоить ваше спонсорство?

Спонсируйте сейчас через GitHub, чтобы удвоить вашу доброту.

Почему бы вам не нанять меня?

Готов к фрилансу по WordPress. Свяжитесь со мной через контактную форму здесь или по электронной почте [email protected]

Хотите помочь другим способом? Хотите стать спонсором?

Контакт: Tang Rufus

Обратная связь

Пожалуйста, дайте обратную связь! Мы хотим сделать эту библиотеку полезной в как можно большем количестве проектов. Пожалуйста, отправьте issue и укажите, что вам нравится и что нет, или форкните проект и сделайте предложения. Нет слишком мелкой проблемы.

Безопасность

Если вы обнаружите любые вопросы, связанные с безопасностью, пожалуйста, отправьте электронное письмо на [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
Загрузки
5596
Владелец