• EnglishEspañol日本語한국어Português
  • Inicia sesiónComenzar ahora

Te ofrecemos esta traducción automática para facilitar la lectura.

In the event of any inconsistency between the English version and the translated version, the English versionwill take priority. Please visit this page for more information.

Crea una propuesta

Rastreo distribuido para tus servicios PHP

Rastreo distribuido te permite ver el recorrido completo de tus solicitudes a lo largo de un sistema distribuido. El agente PHP instrumentado automáticamente con rastreo distribuyó una serie de funciones PHP nativas, así como algunos clientes HTTP de terceros:

Para el agente PHP, ofrecemos dos tipos de rastreo distribuido (para más detalles, consulte Cómo funciona el muestreo de intervalo):

  • Estándar (muestreo head-based): Antes de que llegue cualquier traza, determinamos un porcentaje determinado de traza para aceptar y analizar. Esto le brinda un punto de partida sólido para ver cómo el rastreo puede ayudarlo. Está activado de forma predeterminada en agente PHP 9.21.0 y superior.
  • Infinite Tracing (muestreo tail-based): Nuestro servicio basado en la nube acepta todas sus trazas y luego las clasifica para encontrar las más importantes. Después de configurar el seguimiento estándar, le recomendamos agregar esta opción porque analiza toda su traza y le brinda opciones de configuración para tomar muestras de la traza que más le importa.

Todos los pasos que necesitas para empezar con rastreo distribuido están aquí:

Nuevo agente PHP

Ya sea que solo desee probar el rastreo distribuido estándar (muestreo head-based) o también desee configurar Infinite Tracing (muestreo tail-based), debe comenzar configurando el rastreo estándar. Lo guiaremos a través de la instalación del agente APM para poner en marcha el muestreo head-based. Después de eso, puedes configurar Infinite Tracing, que es opcional pero recomendado.

Instale un agente para obtener rastreo estándar distribuido

Este es el mejor enfoque para configurar el rastreo distribuido estándar si aún no ha instalado ningún agente APM para sus servicios o si desea implementar servicios adicionales.

Si ya tiene algunos servicios instrumentados con este agente APM y desea incluirlos en rastreo distribuido, deberá habilitar rastreo distribuido manualmente para cada servicio. Consulte Opciones para agentes PHP más antiguos.

Sugerencia

Necesitará una cuenta de New Relic para configurar rastreo distribuido. Si aún no tiene una, puede crear rápidamente una cuenta gratuita.

Paso 1. Identificar servicios

Averigüe qué servicios se relacionan con su solicitud para que pueda instrumentar cada uno de ellos para enviar datos de traza a New Relic.

Paso 2. Instrumentar cada servicio con un agente de APM

Repetirás la rutina de instalación del agente para cada servicio involucrado en tu transacción. Si algunos de sus servicios utilizan otros idiomas, simplemente repita los pasos de instalación para esos idiomas.

Para iniciar la rutina de instalación, haga clic en el mosaico a continuación. Cuando haya terminado de instalar cada agente, regrese aquí para ver consejos para ver su traza.

Start installation

Paso 3. Ver traza

Después de instrumentar cada uno de sus servicios con el agente APM, genere algo de tráfico en su aplicación para que podamos capturar alguna traza. A continuación se muestran algunas formas de ver su traza en la UI:

Para obtener más ayuda para encontrar su traza en la UI:

Configurar el seguimiento infinito

El rastreo distribuido estándar para el agente APM (arriba) captura hasta el 10% de su traza, pero si desea que analicemos todos sus datos y encontremos la traza más relevante, puede configurar Infinite Tracing.

Sugerencia

Para obtener más información sobre esta característica, consulte Seguimiento infinito.

Antes de comenzar, primero asegúrese de cumplir con los requisitos.

Paso 1. Complete la instalación del nuevo agente

La configuración de Infinite Tracing se basa en el paso de instrumentación de la instalación del nuevo agente para el rastreo distribuido estándar. Después de terminar de instalar el agente, continúe con la configuración del observador de traza.

Paso 2. Configurar el observador de trazas

El observador de trazas es un servicio de New Relic basado en AWS que recopila y analiza todas sus trazas. Siga las instrucciones en Configurar traza observer. Cuando haya terminado, regrese aquí con su información de observador de traza y continúe con el siguiente paso para configurar el agente.

Paso 3: Configurar el agente para Infinite Tracing

Los ajustes de configuración de Infinite Tracing incluyen el rastreo estándar distribuido más información sobre el observador de traza. Tenga en cuenta que la configuración del lado del servidor no está disponible para Infinite Tracing.

Sugerencia

Si necesita ayuda con la configuración del proxy, consulte Soporte de proxy.

Paso 4. (Opcional) Personaliza el seguimiento infinito

Después de agregar los ajustes de configuración del agente, debería comenzar a ver datos en la UI de New Relic. Después de pasar algún tiempo analizando sus datos, es posible que desee ajustar algunas de las características de Infinite Tracing:

Opciones para agentes PHP más antiguos

Si tiene un agente PHP anterior, confirme que la característica de rastreo distribuido que desea sea compatible antes de habilitarla.

Guía de compatibilidad

Después de revisar la información de compatibilidad a continuación, consulte Configurar su agente PHP anterior.

Configura tu antiguo agente PHP

Consulte la configuración a continuación para habilitar rastreo distribuido.

Sugerencia

Si ha estado usando un agente antiguo sin rastreo distribuido, antes de activar rastreo distribuido, consulte Impactos en APM.

Establecer nivel de detalle de la traza

El soporte de rastreo distribuido depende del rastreador de transacciones del agente PHP. Cuando el rastreo distribuido está habilitado, se crea un tramo para cada segmento visto por el rastreador de transacciones.

A medida que se muestrean los intervalos, el agente PHP dará prioridad a los intervalos relacionados con llamadas externas por encima de otros intervalos, que luego se registran en orden descendente de duración.

Si descubre que se informan demasiados intervalos sin importancia para las llamadas a funciones PHP, puede reducir el detalle del rastreador de transacciones configurando newrelic.transaction_tracer.detail en 0. Luego puede usar la configuración newrelic.transaction_tracer.custom o el método API newrelic_add_custom_tracer para agregar segmentos y tramos de traza para la función PHP específica o los métodos que desea agregar a su traza.

Importante

Para las versiones del agente PHP 8.4 a 8.7: cuando rastreo distribuido está habilitado, estas versiones se comportan como si newrelic.transaction_tracer.detail estuviera configurado en 0 (como se describe anteriormente), lo que da como resultado que las llamadas a funciones de PHP no generen intervalos. Para obtener intervalos relacionados con llamadas a funciones PHP, actualice a la versión 9.0 o superior.

Aplicación y servicios de instrumento manual con API de agente PHP

Importante

La compatibilidad con W3C Trace Context se agregó en la versión 9.8. Con esto, la API para aplicaciones instrumentadas manualmente ha cambiado de las funciones relacionadas con la carga útil JSON:

newrelic_create_distributed_trace_payload()
newrelic_accept_distributed_trace_payload($payload)

A los formularios de matriz de encabezado:

newrelic_insert_distributed_trace_headers($outbound_headers)
newrelic_accept_distributed_trace_headers($inbound_headers)

Las funciones JSON ahora se consideran obsoletas y se eliminarán en una versión futura.

Si está utilizando una biblioteca no compatible o tiene un componente de sistemas distribuidos no basado en HTTP (como cola de mensajes), puede usar la API del agente PHP para identificar manualmente las transacciones que se incluirán en un rastreo distribuido. Este es un proceso de dos pasos:

  1. Modifica tu servicio o aplicación a

    create

    o

    insert

    los datos del rastreo distribuido

  2. Modifique su servicio o aplicación a

    accept

    datos de rastreo distribuido creados por otras transacciones o solicitudes.

El siguiente ejemplo utiliza una cola genérica de mensajes/trabajos. Si bien los detalles reales variarán según el tipo de sistema que intente agregar a un rastreo distribuido, los conceptos básicos son los mismos. Además, aunque hemos utilizado una cola de trabajos como ejemplo, puedes utilizar estos métodos con el componente any sistemas distribuidos.

Sugerencia

Cuando create a payload o insert headers, le estás diciendo a New Relic que deseas que esta solicitud o transacción o solicitud participe en un rastreo distribuido. Cuando los accept , vincula la solicitud o transacción actual con su solicitud o transacción principal.

Para obtener más información sobre el uso de instrumentación manual para obtener más detalles o ver conexiones entre servicios, consulte la documentación sobre las API de rastreo distribuida.

API de encabezado

API de carga útil (obsoleta)

Programas PHP de línea de comando

Los programas PHP ejecutados desde la línea de comando PHP siempre son muestreados por el rastreador distribuido del agente. Dependiendo de los programas que ejecutes, estos procesos podrían tener una sobrerrepresentación en tu colección de rastreo distribuido. En estas situaciones, puede optar por desactivar la instrumentación de línea de comando utilizando la configuración per-directory newrelic.enabled en su newrelic.ini files.

Copyright © 2024 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.