Rastreo distribuido te permite ver el recorrido completo de tus solicitudes a lo largo de un sistema distribuido. Para el agente Go, 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 Go agente 3.16.0 y versiones posteriores.
- 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í:
- New Go agente: Pasos para el muestreo al tail-based y head-based para la instalación del nuevo agente
- Go agente más antiguo: opciones de seguimiento si tienes un Go agente más antiguo
- Instrumentación manual: Consejos para instrumentación adicional
Nuevo agente Go
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 para poner en marcha el muestreo head-based. Después de eso, puedes configurar Infinite Tracing, que es opcional pero recomendado.
Sugerencia
El agente Go requiere que instrumentes manualmente tus servicios Go, a diferencia de la instrumentación automática de los otros agentes de New Relic. Esto significa que necesita agregar algunas líneas a su código para usar el agente Go y habilitar rastreo distribuido.
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 Go 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.
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 del Nuevo agente de instalación para rastreo distribuido estándar.
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:
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:
- Configurar monitoreo de observador de trazas
- Configurar filtro de traza de atributo span
- Configurar filtro de traza aleatorio
Opciones para agentes Go mayores
Si tiene un Go agente anterior, use esta sección para determinar si la característica de distribución de rastreo que desea es compatible.
Después de la información de compatibilidad hay una sección que muestra los ajustes de configuración básicos para activar el rastreo distribuido estándar. Si su agente anterior admite Infinite Tracing y desea configurarlo, consulte los pasos anteriores.
Guía de compatibilidad
Después de revisar la información de compatibilidad a continuación, siga los ajustes de configuración:
Configura tu agente Go anterior
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.
Instrumentación manual adicional
Toda instalación del agente Go y el seguimiento distribuido requieren cierta instrumentación manual utilizando las configuraciones enumeradas en Configuración del agente Go. Aún así, es posible que necesites realizar alguna configuración adicional para optimizar tu configuración. Aquí hay algunas pautas para transacciones instrumentadas y solicitudes HTTP.
Para obtener más detalles sobre su uso, consulte el repositorio de GitHub del agente Go.