TypistTech.trellis-newrelic-php

Agente PHP de New Relic para Trellis

Rol de Ansible Etiqueta de GitHub (última versión) Rol de Ansible Puntuación de calidad de Ansible GitHub Patrocinar en GitHub Patrocinar vía PayPal Contratar a Typist Tech Seguir a @TangRufus en Twitter

Instala el agente PHP de New Relic en servidores Trellis.

Variables del Rol

# group_vars/<entorno>/vault.yml
# Este archivo debe ser encriptado. Consulta: https://roots.io/trellis/docs/vault/
##########################################################################

# Clave de licencia de New Relic
## Consulta: https://docs.newrelic.com/docs/accounts-partnerships/accounts/account-setup/license-key
vault_newrelic_license: xxxxxxxxxxx

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

# Indica el estado deseado del paquete.
# `latest` asegura que se instale la última versión.
# `present` no actualiza si ya está instalado.
# Opciones: present|latest
# Predeterminado: latest
newrelic_package_state: present

# Consulta los valores predeterminados aquí: https://github.com/TypistTech/trellis-newrelic-php/blob/master/defaults/main.yml
# Consulta también: https://docs.newrelic.com/docs/agents/php-agent/configuration/php-agent-configuration
newrelic_config:
  appname: "Mi increíble app {{ env }}"
  framework: no_framework
  transaction_tracer.detail: 1
  datastore_tracer.database_name_reporting.enabled: true

Modificando el Playbook de Trellis

Agrega este rol a dev.yml y server.yml inmediatamente después de role: php:

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

  roles:
      # Otros roles de Trellis ...
      - { role: php, tags: [php] }
+     - { role: TypistTech.trellis-newrelic-php, tags: [php, newrelic-php] }
      # Otros roles de Trellis ...

Requisitos

Instalación

Agrega este rol a galaxy.yml:

- src: TypistTech.trellis-newrelic-php # ¡Sensibilidad a mayúsculas!
  version: XXX.YYY.ZZZ # Verifica la última versión.

Ejecuta $ trellis galaxy install para instalar este nuevo rol.

Errores Comunes

vault_newrelic_license no está definido

Encripta tu clave de licencia de New Relic en group_vars/<entorno>/vault.yml. Consulta variables del rol.

New Relic fusiona múltiples entornos en una sola aplicación

Solución: Define un appname diferente para cada entorno.

Consejos:

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

newrelic_config:
  appname: "Mi increíble app {{ env }}"

Error después de actualizar la versión de PHP

New Relic fallará y causará que la provisión termine en errores al actualizar versiones mayores o menores de PHP (por ejemplo: de 7.4 a 8.0, de 8.0 a 8.1).

código de retorno diferente de cero
Advertencia de PHP: PHP Startup: No se puede cargar la biblioteca dinámica 'newrelic.so'
(intentó: /usr/lib/php/20180731/newrelic.so (/usr/lib/php/20180731/newrelic.so:
no se puede abrir el archivo compartido: No existe el archivo o el directorio),
/usr/lib/php/20180731/newrelic.so.so (/usr/lib/php/20180731/newrelic.so.so:
no se puede abrir el archivo compartido: No existe el archivo o el directorio)) en Unknown on

Después de cada actualización de versión mayor o menor de PHP (es decir, cuando ves el error anterior):

# Para configuraciones de múltiples servidores, realiza los siguientes pasos en cada servidor.
ssh [email protected]
sudo newrelic-install install
sudo reboot

# Espera a que los servidores se reinicien y luego reprovisiona
# Para configuraciones de múltiples servidores, solo necesitas reprovisionar una vez
trellis provision production

Limitaciones

  • Por defecto, solo se permite una aplicación APM de New Relic por servidor.

Extiende el bloque fastcgi_basic para incluir fastcgi_param PHP_VALUE "newrelic.appname={{ item.key }} ({{ env }})"; justo después de la línea include fastcgi_params; para sortear esta limitación.

Se agradecen las solicitudes de extracción.

Preguntas Frecuentes

Se ve increíble. ¿Dónde puedo encontrar más cosas como estas?

Este paquete no está en wp.org. ¿Dónde puedo dejar una reseña de :star::star::star::star::star:?

¡Gracias! Me alegra que te guste. Es importante que me hagas saber que alguien está utilizando este proyecto. Dado que no está alojado en wordpress.org, considera:

Patrocinio :heart:

¿Te encanta trellis-newrelic-php? Ayúdame a mantenerlo, un patrocinio aquí puede ayudar con eso.

Fondo de Coincidencia de Patrocinadores de GitHub

¿Sabías que GitHub va a igualar tu patrocinio?

Patrocina ahora a través de GitHub para duplicar tu generosidad.

¿Por qué no me contratas?

Estoy listo para aceptar trabajos de WordPress como freelance. Contáctame a través del formulario de contacto aquí o, por correo electrónico [email protected].

¿Quieres ayudar de otra manera? ¿Quieres ser patrocinador?

Contáctame: Tang Rufus

Comentarios

¡Por favor proporciona comentarios! Queremos que esta biblioteca sea útil en tantos proyectos como sea posible. Por favor, envía un issue y señala lo que te gusta y lo que no, o bifurca el proyecto y haz sugerencias. Ningún problema es demasiado pequeño.

Seguridad

Si descubres algún problema relacionado con la seguridad, envía un correo electrónico a [email protected] en lugar de utilizar el rastreador de problemas.

Créditos

Agente PHP de New Relic para Trellis es un proyecto de Typist Tech y mantenido por Tang Rufus, desarrollador freelance disponible para contratar.

La lista completa de colaboradores se puede encontrar aquí.

Agradecimientos especiales al equipo de Roots cuyo Trellis hace posible este proyecto.

Contribuciones

Por favor, consulta el CÓDIGO_DE_CONDUCTA para más detalles.

Licencia

Agente PHP de New Relic para Trellis está bajo la Licencia MIT.

Acerca del proyecto

Install New Relic PHP agent on Trellis servers

Instalar
ansible-galaxy install TypistTech.trellis-newrelic-php
Licencia
mit
Descargas
5.6k
Propietario