Te ofrecemos esta traducción automática para facilitar la lectura.
En caso de que haya discrepancias entre la versión en inglés y la versión traducida, se entiende que prevalece la versión en inglés. Visita esta página para obtener más información.
La mayoría de las variables de configuración del agente PHP se pueden configurar por directorio. Esta opción se utiliza a menudo cuando hay un único servidor web que sirve varias aplicaciones y desea ajustar la configuración (por ejemplo, el nombre de la aplicación) aplicación por aplicación.
El proceso para establecer valores por directorio depende del entorno. Este documento describe los tres entornos más comunes:
Cuando se utiliza el módulo PHP, Apache proporciona dos mecanismos para configurar variables PHP fuera del archivo INI:
Utilice la sintaxis de los ejemplos del archivo INI cuando su servidor web ofrezca múltiples dominios. Para ver cada uno de estos dominios por separado en New Relic:
Para su dominio principal, establezca newrelic.appname = "My Main Domain" en su archivo INI global.
Anule el valor de cada uno de los hosts virtuales agregando php_value entradas como parte de la configuración de su host virtual.
Importante
Asegúrese de utilizar el nombre de módulo adecuado para su instalación de PHP. Reemplace PHP_MODULE en los ejemplos siguientes con el nombre del módulo PHP5 instalado. Este nombre depende de la distribución de Linux y/o PHP que se utilice. Por ejemplo, los nombres comunes incluyen php5_module, mod_php5, php_module, etc. Las mayúsculas pueden variar.
Para los servidores Apache, puede encontrar los nombres de los módulos de una de las siguientes maneras. Cada uno generará una lista de módulos instalados.
Desde la línea de comando, ejecute:
bash
$
apachectl -t-D DUMP_MODULES
OR
Desde dentro de una página web, utilice:
<?php
print_r(apache_get_modules());
?>
A continuación se muestra un ejemplo de separación de dominios, donde PHP_MODULE es el nombre de su módulo PHP5.
<VirtualHost 192.168.42.43>
ServerName www.myvhost1.com
DocumentRoot"/path/to/vhost1/"
...
<IfModule PHP_MODULE>
php_value newrelic.appname "Virtual Host 1"
</IfModule>
</VirtualHost>
<VirtualHost 192.168.123.45>
ServerName www.myvhost2.com
DocumentRoot"/path/to/vhost2/"
...
<IfModule PHP_MODULE>
php_value newrelic.appname "Virtual Host 2"
</IfModule>
</VirtualHost>
En el ejemplo anterior, newrelic.appname se establece en un valor diferente para cada host virtual.
Para valores de cadena y numéricos, utilice php_value name VALUE, donde:
name es el nombre de la configuración INI a modificar como se indica en la configuración INI de PHP.
VALUE es el valor que desea establecer para ese host virtual en particular.
Asegúrese de incluir los valores de cadena entre comillas ".
Si desea cambiar una configuración booleana, use la sintaxis php_flag name VALUE, donde name es el nombre de la variable que figura en la configuración INI de PHP y VALUE es on o off.
Para deshabilitar completamente el agente New Relic para un host virtual, use un indicador booleano:
<VirtualHost 192.168.56.78>
ServerName www.myvhost3.com
DocumentRoot"/path/to/vhost3/"
...
<IfModule PHP_MODULE>
php_flag newrelic.enabled off
</IfModule>
</VirtualHost>
Utilice la sintaxis de los ejemplos del archivo INI dentro de un archivo .htaccess . Por ejemplo:
php_value newrelic.appname "My Blog App"
Esto le permite controlar la configuración por directorio desde dentro de los directorios.
En este ejemplo, su servidor web tiene su raíz de documentos en /data/webroot. También tienes dos subdirectorios para aplicaciones especializadas:
Su
/data/webroot/blog
contiene una aplicación de blog.
Su /data/webroot/shop contiene una aplicación de carrito de compras.
Para que las tres partes de su sitio se informen como aplicaciones distintas en la UI de New Relic:
Establezca el nombre de su aplicación principal en su archivo INI.
Anule ese nombre utilizando un archivo .htaccess en cada uno de los directorios especializados.
Cualquier parte de su servidor web (por ejemplo, /data/webroot/something) que no tenga un archivo .htaccess específico utilizará el nombre de la aplicación global definido en el archivo INI.
Importante
El archivo .htaccess debe estar en el directorio de nivel superior de esa aplicación. Los objetos en ese directorio, o sus subdirectorios, usarán el valor especificado en el archivo .htaccess .
El Administrador de procesos FastCGI (PHP-FPM) está dedicado a PHP. Genera una serie de procesos de trabajo que esperan solicitudes. Aumenta el rendimiento al no reinicializar el motor PHP en cada invocación, lo que permite que cada proceso maneje una cantidad de solicitudes antes de reciclarse.
Cuando se utiliza PHP-FPM, existen dos mecanismos para configurar variables PHP fuera del archivo INI y una técnica especial para NGINX:
Importante
Cambiar variables por directorio puede ser más difícil si usa PHP-FPM. Debe utilizar varios grupos PHP-FPM, uno para cada host virtual o aplicación única.
Un pool es un conjunto dedicado de trabajadores secundarios que solo atenderá solicitudes para ese grupo. Debido a que requiere hijos trabajadores dedicados, PHP-FPM escala mal si tiene una gran cantidad de hosts virtuales o aplicaciones para las que desea configurar opciones individuales.
Para configurar PHP-FPM por directorio:
Establezca el nombre de la aplicación principal en el archivo INI.
Configure dos grupos para las dos aplicaciones adicionales.
Anule la configuración del nombre de la aplicación en esos grupos.
Cada grupo debe tener un mecanismo de conexión único (para que pueda identificar qué grupo usar en el archivo de configuración de su servidor web). A continuación se muestra un ejemplo de php-fpm.conf:
[app1]
listen=/tmp/pool-app1.sock
php_value[newrelic.appname]="My App 1"
[app2]
listen=/tmp/pool-app2.sock
php_value[newrelic.appname]="My App 2"
[app3]
listen=/tmp/pool-app3.sock
php_flag[newrelic.enabled]=off
El formato general de la configuración de las variables por grupo es php_value[name] = VALUE para variables numéricas o de cadena, o php_flag[name] = VALUE para valores booleanos. Siempre coloque los valores de cadena entre comillas ". Los valores booleanos deben ser on o off.
Una vez configurado el archivo de configuración, se debe indicar al servidor web que utilice los diferentes grupos para diferentes partes del sitio web. Para obtener más información, consulte la documentación de su servidor web.
Puede utilizar la sintaxis del ejemplo del archivo INI para CGI/FastCGI en un archivo .user.ini . Es similar a un archivo .htaccess para Apache pero es exclusivo de PHP-FPM. El directorio en el que se ejecuta PHP se analiza en busca de un archivo .user.ini . Más información sobre esta característica está disponible en la documentación de los archivos PHP user.ini.
Cambie el nombre de la aplicación siguiendo los siguientes pasos en el directorio raíz de la página web.
Crea el archivo .user.ini
Añade la configuración que deseas cambiar newrelic.appname = "New Appname"
Guarda el archivo.
De forma predeterminada, el .user.ini file se lee cada cinco minutos, por lo que no es necesario reiniciar
Esto es útil en los siguientes escenarios:
La configuración del servidor no funciona. En la configuración NGINX/PHP-FPM, puede haber una falta de comunicación entre FastCGI y PHP y la información de fastcgi_param PHP_VALUE newrelic.appname="Appname"
nunca llega a PHP.
El .htaccess no funciona, como cuando PHP está implementado con suPHP
Importante
Esta sección se aplica sólo a PHP 5.3.3 o superior.
Aquí hay un pequeño fragmento de un archivo de configuración de NGINX que muestra el procedimiento general para pasar valores a su administrador FastCGI en función de una ubicación de NGINX.
Aunque recomendamos cambiar el nombre de la aplicación con la configuración INI global o por directorio, en algunos casos esto puede no ser posible. Por ejemplo, las limitaciones del proveedor pueden impedirle modificar los archivos de configuración.
Antes de comenzar, le recomendamos leer las pautas de la API de llamada para newrelic_set_appname() para garantizar la captura más completa de la traza de la transacción asignada al nombre de su aplicación.
Si no tiene acceso al código de su aplicación, o si necesita aislar sus aplicaciones en sus propios hosts virtuales por otros motivos, utilice las siguientes configuraciones por directorio para anular cualquier configuración del archivo de configuración.
Nombres de aplicaciones acumuladas
Si desea tener una visión general del rendimiento del servidor en todos los hosts virtuales o en todas las aplicaciones, es conveniente poder informar a más de una aplicación a la vez. Por ejemplo, informe a una aplicación específica de host virtual, así como a una aplicación acumulativa.
Para ello, establezca más de un nombre de aplicación para el parámetro newrelic.appname separando cada nombre de aplicación con un punto y coma. El nombre de la aplicación principal es el primero y el nombre de la aplicación secundaria es el siguiente. Puede definir hasta dos nombres de aplicaciones adicionales.