Implementing Change Tracking
Clase 5 de 23 • Curso de Observabilidad Avanzada con New Relic
Resumen
La capacidad de visualizar cambios en tiempo real en tus aplicaciones es crucial para la resolución eficiente de problemas y el mantenimiento de un rendimiento óptimo. El seguimiento de cambios (change tracking) en la plataforma New Relic ofrece precisamente esta funcionalidad, permitiéndote identificar rápidamente cuándo y cómo las modificaciones en tu código afectan el comportamiento de tus aplicaciones.
¿Qué es el seguimiento de cambios en New Relic y por qué es importante?
El seguimiento de cambios es una funcionalidad de New Relic que proporciona marcadores visuales en tus gráficos para indicar cuándo se realizaron cambios en tu aplicación. Estos marcadores son especialmente útiles durante situaciones críticas, como cuando recibes una alerta a las 3 de la mañana y necesitas determinar rápidamente qué salió mal.
Existen varias razones por las que el seguimiento de cambios representa una mejora significativa sobre los métodos tradicionales de investigación:
- Reduce el tiempo de diagnóstico al mostrar visualmente cuándo ocurrieron los cambios.
- Contextualiza el rendimiento con marcadores de despliegue, permitiéndote correlacionar cambios con impactos.
- Facilita la identificación de regresiones y el impacto de los cambios en el rendimiento.
- Mejora la transparencia y comunicación del equipo, ya que cada marcador incluye detalles sobre quién realizó el cambio.
¿Cuáles son las capacidades principales del seguimiento de cambios?
El seguimiento de cambios en New Relic ofrece un conjunto robusto de capacidades:
-
Registro de cambios a través de múltiples canales: Puedes registrar cambios mediante la API de New Relic, NerdGraph CLI, Jenkins o GitHub Actions.
-
Visibilidad en todos los productos: Los marcadores son visibles en todos los productos de New Relic, incluyendo APM, Browser, Infrastructure y otros.
-
Interfaz detallada: Cada marcador de seguimiento proporciona una interfaz que muestra tendencias de logs, errores y análisis de impacto.
-
Almacenamiento a largo plazo: Los marcadores se almacenan en su forma original durante 13 meses, lo que te permite referenciar cambios antiguos como base para entender el impacto de nuevos cambios.
¿Cómo implementar el seguimiento de cambios con GitHub Actions?
Para configurar el seguimiento de cambios utilizando GitHub Actions, debes seguir estos pasos específicos:
Configuración inicial en New Relic
- Inicia sesión en la plataforma New Relic y navega hasta la entidad para la que quieres implementar el seguimiento de cambios.
- Busca la sección "Deployments" y haz clic en "Setup Now".
- En la instalación guiada, selecciona el método de instrumentación "GitHub Actions".
- Crea o selecciona una clave de API de usuario para la integración.
Configuración de secretos en GitHub
Para que la acción de GitHub funcione correctamente, necesitas configurar dos secretos en tu repositorio:
- Ve a la configuración del repositorio en GitHub.
- Navega a "Secrets and variables" > "Actions".
- Crea dos nuevos secretos de repositorio:
NEW_RELIC_API_KEY
: Tu clave de API de usuario de New Relic- Un segundo secreto específico proporcionado por New Relic (usualmente relacionado con el GUID de la entidad)
Creación del archivo de flujo de trabajo de GitHub Actions
- Crea un directorio
.github/workflows
en la raíz de tu repositorio. - Crea un archivo YAML (por ejemplo,
new-relic-change-tracking.yaml
) con la configuración proporcionada por New Relic.
name: New Relic Change Tracking
on:
release:
types: [published]
jobs:
newrelic-deployment:
runs-on: ubuntu-latest
name: New Relic
steps:
- name: Set Release Version from Tag
run: echo "RELEASE_VERSION=${{ github.event.release.tag_name }}" >> $GITHUB_ENV
- name: Create Deployment Marker
uses: newrelic/deployment-marker-action@v2.3.0
with:
apiKey: ${{ secrets.NEW_RELIC_API_KEY }}
guid: ${{ secrets.NEW_RELIC_DEPLOYMENT_ENTITY_GUID }}
version: ${{ env.RELEASE_VERSION }}
user: ${{ github.actor }}
changelogUrl: ${{ github.event.release.html_url }}
description: "Fleet Command Deployment Marker"
Este archivo de flujo de trabajo crea marcadores de seguimiento de cambios cuando se publica una nueva versión en GitHub. La configuración incluye detalles importantes como la clave de API, el GUID de la entidad, la versión de la publicación y el usuario que realizó el cambio.
Implementación y verificación
- Crea una solicitud de extracción (PR) con los cambios realizados.
- Una vez fusionada la PR, crea una nueva versión en GitHub.
- Espera unos minutos (3-5) para que el marcador de seguimiento de cambios aparezca en la interfaz de New Relic.
¿Qué información proporciona la vista detallada de un marcador de seguimiento?
Cuando haces clic en un marcador de seguimiento de cambios en New Relic, accedes a una vista detallada que incluye:
- Información de GitHub: Detalles sobre el cambio, incluyendo quién lo realizó y qué versión se lanzó.
- Datos de métricas importantes: New Relic muestra datos relevantes para entender cómo el cambio afectó el rendimiento de tu aplicación.
- Análisis de impacto: Puedes ver si el cambio causó nuevos errores o regresiones en el rendimiento.
- Datos predictivos: New Relic puede utilizar datos históricos para predecir cómo el cambio podría afectar el rendimiento futuro (tres horas después del cambio).
Un aspecto importante a tener en cuenta es que la acción de GitHub solo se activa en nuevas versiones publicadas que requieren nuevas etiquetas. Si intentas usar una etiqueta existente, la acción no creará un nuevo marcador de seguimiento.
El seguimiento de cambios en New Relic es una herramienta poderosa para entender rápidamente el impacto de los cambios en tus aplicaciones, especialmente en situaciones críticas. La próxima vez que recibas una alerta en medio de la noche, estos marcadores te ayudarán a identificar la causa raíz mucho más rápido, contactar a las personas adecuadas y resolver los problemas de manera eficiente, mejorando tanto la experiencia del usuario como los resultados del negocio.
¿Has implementado ya el seguimiento de cambios en tus aplicaciones? Comparte una captura de pantalla de tu marcador de seguimiento de cambios y su vista detallada en los comentarios para que todos podamos ver cómo funciona en tu entorno.