El agente PHP consta de dos partes:
- El módulo de extensión PHP,
newrelic.so
- El daemon agente,
newrelic-daemon
El daemon actúa como un proxy entre el agente PHP y el recolector New Relic para reducir el tráfico de la red y mejorar el tiempo de respuesta de la aplicación instrumentada. Si el daemon no se está ejecutando, no se informan datos a New Relic.
Estados iniciales o inactivos daemon PHP
Cuando el daemon está en un estado inicial o inactivo, debe ocurrir two transacción antes de que comience a informar.
En un estado initial :
- Con la primera transacción, el daemon agrega su aplicación recién informada a su propia tabla de información de la aplicación.
- Una vez que se agrega la aplicación, el daemon informa la segunda transacción a New Relic.
En un estado idle :
- La primera transacción despierta al daemon y restablece la conexión con New Relic.
- La segunda transacción informa datos a New Relic.
Procesos de vigilancia y trabajadores.
Si realiza una lista de procesos, verá que siempre hay dos procesos daemon ejecutándose:
$ ps -ef | grep newrelic-daemonnewrelic 1368 1 0 00:28 ? 00:00:00 /usr/bin/newrelic-daemon ...newrelic 1370 1368 0 00:28 ? 00:00:00 /usr/bin/newrelic-daemon ...
Tener dos procesos en ejecución es un comportamiento normal. La primera columna es el propietario del proceso, la segunda es el ID del proceso (PID) y la tercera es el ID del proceso principal (PPID).
Procesos daemon | Comentarios |
---|---|
Perro guardián (primer proceso) | El primer proceso, el que pertenece al PID 1, es el proceso de "vigilancia". Vigila el segundo proceso, que es el proceso del "trabajador". |
Trabajador (segundo proceso) | El proceso de trabajo hace lo siguiente:
|
Terminando procesos | Cuando el daemon se finaliza correctamente (normalmente ejecutando ImportanteSi necesita finalizar manualmente el daemon, finalice siempre el perro guardián, no el trabajador. Si el proceso de trabajo encuentra un error fatal y finaliza inesperadamente, el proceso de vigilancia volverá a generar inmediatamente un nuevo proceso de trabajo. Esto ayuda a garantizar que el daemon experimente un tiempo de inactividad mínimo absoluto. |
Detener el daemon
Se pueden utilizar los siguientes métodos para matar al daemon:
Recommended process: Utilice
/etc/init.d/newrelic-daemon stop
. Este es el método preferido para interactuar con el daemon.Mata el proceso directamente con su ID de proceso:
kill 1368Utilice el archivo PID de vigilancia:
kill `cat /var/run/newrelic-daemon.pid`