TypistTech.trellis-newrelic-php
Agente PHP de New Relic para Trellis
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?
- Artículos en el blog de Typist Tech
- Plugins de WordPress de Tang Rufus en wp.org
- Más proyectos en el perfil de GitHub de Typist Tech
- Mantente informado en el boletín de Typist Tech
- Sigue la cuenta de Twitter de Tang Rufus
- Contrata a Tang Rufus para construir tu próximo gran sitio
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:
- :heart: patrocinar este proyecto
- :star: dar estrellas a este repositorio de Github
- :eyes: seguir este repositorio de Github
- tuitear algo bueno mencionando a @TangRufus
- escribir publicaciones en blogs
- enviar solicitudes de extracción
- contratarme
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.
Install New Relic PHP agent on Trellis servers
ansible-galaxy install TypistTech.trellis-newrelic-php