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.
Seguimiento de cambios utilizando NerdGraph (GraphQL)
La característica de seguimiento de cambios le permite realizar un seguimiento del efecto de diversos cambios en sus clientes y sistemas. Por ejemplo, si realiza alguna implementación, puede usar la característica de seguimiento de cambios para monitor los resultados en los gráficos UI de New Relic. También tendrás acceso a características que te ayudarán a comprender los efectos de esos cambios.
En lugar de designar qué cambios desea monitor usando nuestra CLI o una integración CI/CD, puede hacer lo mismo usando mutaciones GraphQL y consultar a través de nuestra API NerdGraph.
Para obtener información general sobre el uso de NerdGraph, consulte Introducción a NerdGraph. Si aún no lo ha hecho, cree su cuenta New Relic gratuita a continuación para comenzar a monitorear sus datos hoy.
Permisos de usuario: cualquier tipo de usuario puede usar NerdGraph para crear un marcador de despliegue y realizar un seguimiento de otros cambios, pero solo los usuarios de la plataforma completa pueden acceder a las experiencias UI de seguimiento de cambios seleccionadas.
Comprender los campos en el explorador NerdGraph
Los campos que utilizará en su consulta GraphQL se clasifican en estos tipos generales:
Para realizar un seguimiento de un cambio, como un despliegue, debe configurar lo siguiente:
Atributo
Descripción
entityGuid
El valor entityGuid es el identificador único asignado por New Relic a los componentes de su sistema durante los procesos de instrumentación y configuración. Para obtener más información sobre la entidad New Relic y cómo encontrar GUID de entidad, consulte esta guía.
version
El valor del atributo de versión puede ser cualquier cosa, aunque recomendamos utilizar el número de versión establecido durante el proceso de compilación. Para ver un ejemplo de cómo se puede hacer esto, consulte nuestra documentación del complemento de implementación de Jenkins a continuación. Si ya informa los números de versión a New Relic o por algún otro medio, le recomendamos usar los mismos aquí para prepararse para la próxima característica que le permitirá facetar y correlacionar datos por versión.
Sugerencia
Si está abandonando la API REST legacy , deberá comenzar a usar el GUID de entidad de su aplicación en lugar del ID de aplicación. Puede encontrar fácilmente el GUID en NerdGraph con esta consulta:
{
actor{
entitySearch(query:"domainId=INSERT_YOUR_APPID"){
count
query
results{
entities{
entityType
name
guid
}
}
}
}
}
Puede definir algún atributo opcional y útil para agregar contexto al cambio que está rastreando. Estos atributos también pueden habilitar ciertas características de seguimiento de cambios.
Atributo
Descripción
changelog
Puede enviar una URL o cualquier cadena para el atributo de registro de cambios. Por ejemplo: changelog: "Added: /v2/deployments.rb, Removed: None" o changelog: "https://github.com/nodejs/node/blob/v4.2.3/CHANGELOG.md".
description
Puede enviar cualquier cadena para el atributo de descripción. Por ejemplo: description: "Added a deployments resource to the v2 API".
El atributo de descripción puede ser donde usted elija insertar información codificada de sus procesos internos de gestión de despliegue. Puede utilizar ID o etiquetas que asigne a cada confirmación o despliegue que describan el aspecto organizacional o comercial del trabajo, por ejemplo, EU_MAINT_DMARK_v101.
commit
Puede enviar cualquier cadena para el atributo commit y le sugerimos utilizar el SHA de confirmación asociado con el despliegue o cambio, por ejemplo, commit: "r3ws4sa43f".
deepLink
Puede enviar cualquier URL para el atributo deepLink . Sugerimos usar uno que ayude a alguien a evaluar un cambio en New Relic para llegar rápidamente a un lugar donde pueda tomar más medidas, como Jenkins, ArgoCD o GitHub Actions. Aquí hay un ejemplo: deepLink: "http://localhost:8080/job/PipelineV2/configure".
deploymentType
Puede dividir los cambios relacionados con la implementación en diferentes tipos. Estos tipos se alinean con técnicas de implementación comunes, pero también existe un tipo OTHER . Los tipos incluyen:
BASIC
BLUE_GREEN
CANARY
ROLLING
SHADOW
OTHER
Asignar un tipo a cada despliegue lo ayudará a filtrar los resultados en las interfaces de seguimiento de cambios y los resultados de la consulta NerdGraph/NRQL.
groupId
Es posible que desee agrupar el despliegue en los casos en los que esté realizando una serie de cambios en una o más entidades o publicando muchos cambios en muchas entidades dentro de su sistema. Al establecer el mismo valor de atributo groupId para cada despliegue relacionado, puede ver más fácilmente estos cambios juntos en las interfaces de New Relic o usar groupId para restringir los resultados de la consulta.
El groupId puede ser cualquier cadena de su elección y puede continuar agregando despliegue a un grupo después del primer uso de groupId (en caso de que desee relacionar este despliegue con uno que sucedió hace semanas o incluso meses). .
Sugerencia
Además de utilizar el groupId para relacionar muchos despliegues, también puede utilizar el atributo para definir cambios de larga duración. Por ejemplo, dos despliegues con el mismo groupId podrían abarcar un período durante el cual se suprimieron las alertas o se estaba produciendo alguna migración.
usuario
Puede ser cualquier cadena, por ejemplo, user: "datanerd@example.com".
New Relic establece automáticamente el atributo timestamp y deploymentId . Puede proporcionar un valor timestamp como anulación, pero New Relic siempre generará deploymentId para garantizar la unicidad.
Atributo
Descripción
timestamp
La hora a la que se recibió la llamada de NerdGraph. Puede proporcionar una anulación aquí como el número de milisegundos desde la época de Unix. Por ejemplo: timestamp: 1032480000000.
Importante
Se aplica una limitación firme de que toda marca de tiempo debe ser +/- 24 horas de la hora actual en la que se recibe la llamada de NerdGraph o la carga útil será rechazada.
deploymentId
Un identificador único que se genera cuando se registra el despliegue. Si bien no puede configurar deploymentId, puede usarlo en su consulta NerdGraph y NRQL para ubicar un despliegue específico. Aquí hay un ejemplo: deploymentId: "8a3a594c-e726-4bc2-8078-26dffec9a3d8".
Crear un marcador de seguimiento de cambios usando una mutación
Para registrar un cambio, como un despliegue, deberá incluir los campos obligatorios y luego decidir si desea incluir campos opcionales.
A continuación se muestran algunos ejemplos de mutaciones de GraphQL que muestran algunas formas de crear un marcador de despliegue:
Después de haber utilizado mutaciones para designar los cambios que desea rastrear, puede analizar el efecto de esos cambios en la UI de New Relic:
Consulte sus cambios: puede escribir su propia consulta GraphQL o NRQL para ver detalles sobre los cambios que está siguiendo. Para más detalles, consulte consultar datos de cambio.