Cette traduction automatique est fournie pour votre commodité.
En cas d'incohérence entre la version anglaise et la version traduite, la version anglaise prévaudra. Veuillez visiter cette page pour plus d'informations.
Suivre les modifications à l'aide de NerdGraph (GraphQL)
La fonctionnalité suivi des changements vous permet de suivre l'effet de divers changements sur vos clients et votre système. Par exemple, si vous effectuez un déploiement, vous pouvez utiliser la fonctionnalité de suivi des changements pour monitorer les résultats dans les graphiques UI de New Relic. Vous aurez également accès à des fonctionnalités qui vous aideront à comprendre les effets de ces changements.
Au lieu de désigner les changements que vous souhaitez monitorer en utilisant notre CLI ou une intégration CI/CD (intégration et livraison continue), vous pouvez faire la même chose en utilisant des mutations GraphQL et des requêtes via notre API NerdGraph.
autorisations utilisateur : tout type d'utilisateur peut utiliser NerdGraph pour créer un marqueur de déploiement et suivre d'autres modifications, mais seule la plateforme utilisateur complète peut accéder aux expériences d' UI de suivi des changements organisées.
Comprendre les champs dans l'explorateur NerdGraph
Les champs que vous utiliserez dans votre requête GraphQL appartiennent à ces types généraux :
Pour suivre une modification, comme un déploiement, vous devez définir les éléments suivants :
Attribut
Description
entityGuid
La valeur entityGuid est l'identifiant unique attribué par New Relic à vos composants système lors des processus d'instrumentation et de configuration. Pour plus d'informations sur l'entité New Relic et pour trouver le GUID de l'entité, consultez ce guide.
version
La valeur de l'attribut de version peut être n'importe quoi, bien que nous vous recommandons d'utiliser le numéro de version défini pendant votre processus de génération. Pour voir un exemple de la manière dont cela peut être réalisé, consultez notre documentation sur les plugins de déploiement Jenkins ci-dessous. Si vous signalez déjà les numéros de version à New Relic ou par un autre moyen, nous vous recommandons d'utiliser la même méthode ici pour vous préparer à la prochaine fonctionnalité qui vous permettra de facetter et de corréler les données par version.
Conseil
Si vous abandonnez l'API REST legacy, vous devrez commencer à utiliser GUID d'entité de votre application au lieu de l'appID. Vous pouvez facilement trouver le GUID dans NerdGraph avec cette requête :
{
actor{
entitySearch(query:"domainId=INSERT_YOUR_APPID"){
count
query
results{
entities{
entityType
name
guid
}
}
}
}
}
Vous pouvez définir des attributs facultatifs et utiles pour ajouter du contexte au changement que vous suivez. Ces attributs peuvent également permettre certaines fonctionnalités de suivi des changements.
Attribut
Description
changelog
Vous pouvez soumettre une URL ou n’importe quelle chaîne pour l’attribut changelog. Par exemple : changelog: "Added: /v2/deployments.rb, Removed: None" ou changelog: "https://github.com/nodejs/node/blob/v4.2.3/CHANGELOG.md".
description
Vous pouvez soumettre n’importe quelle chaîne pour l’attribut description. Par exemple : description: "Added a deployments resource to the v2 API".
L'attribut description peut être l'endroit où vous choisissez d'insérer des informations codifiées provenant de vos processus de gestion de déploiement internes. Vous pouvez utiliser les identifiants ou les balises que vous attribuez à chaque validation ou déploiement qui décrivent l'aspect organisationnel ou commercial du travail, par exemple, EU_MAINT_DMARK_v101.
commit
Vous pouvez soumettre n'importe quelle chaîne pour l'attribut commit, et nous vous suggérons d'utiliser le SHA de validation associé au déploiement ou à la modification, par exemple, commit: "r3ws4sa43f".
deepLink
Vous pouvez soumettre n’importe quelle URL pour l’attribut deepLink . Nous vous suggérons d'en utiliser un qui aidera quelqu'un à évaluer un changement sur New Relic pour accéder rapidement à un endroit où il peut prendre d'autres mesures, comme Jenkins, ArgoCD ou GitHub Actions. Voici un exemple : deepLink: "http://localhost:8080/job/PipelineV2/configure".
deploymentType
Vous pouvez diviser les modifications liées aux déploiements en différents types. Ces types s'alignent sur les techniques de déploiement courantes, mais il existe également un type OTHER . Les types incluent :
BASIC
BLUE_GREEN
CANARY
ROLLING
SHADOW
OTHER
Attribuer un type à chaque déploiement vous aidera à filtrer les résultats sur le suivi des changements d'interface et les résultats des requêtes NerdGraph/NRQL .
groupId
Vous souhaiterez peut-être regrouper le déploiement dans les cas où vous apportez une série de modifications à une ou plusieurs entités ou effectuez de nombreuses modifications sur plusieurs entités de votre système. En définissant la même valeur d'attribut groupId pour chaque déploiement associé, vous pouvez plus facilement voir ces modifications ensemble dans les interfaces New Relic ou utiliser groupId pour affiner les résultats de la requête.
Le groupId peut être n'importe quelle chaîne de votre choix, et vous pouvez continuer à ajouter un déploiement à un groupe après la première utilisation du groupId (au cas où vous voudriez relier ce déploiement à un déploiement qui s'est produit il y a des semaines ou même des mois).
Conseil
En plus d'utiliser l'attribut groupId pour relier de nombreux déploiements, vous pouvez également utiliser l'attribut pour définir des modifications de longue durée. Par exemple, deux déploiements avec le même groupId pourraient encadrer une période pendant laquelle des alertes ont été supprimées ou une migration était en cours.
user
Peut être n’importe quelle chaîne, par exemple, user: "datanerd@example.com".
New Relic définit automatiquement les attributs timestamp et deploymentId . Vous pouvez fournir une valeur timestamp en guise de remplacement, mais deploymentId sera toujours généré par New Relic pour garantir l'unicité.
Attribut
Description
horodatage
L'heure à laquelle l'appel NerdGraph a été reçu. Vous pouvez fournir ici un remplacement sous la forme du nombre de millisecondes depuis l'époque Unix. Par exemple : timestamp: 1032480000000.
Important
Il existe une limitation ferme selon laquelle tous les horodatages doivent être de +/- 24 heures de l'heure actuelle à laquelle l'appel NerdGraph est reçu, sinon les frais seront rejetés.
deploymentId
Un identifiant unique généré lors de l’enregistrement du déploiement. Bien que vous ne puissiez pas définir deploymentId, vous pouvez l'utiliser dans votre requête NerdGraph et NRQL pour localiser un déploiement spécifique. Voici un exemple : deploymentId: "8a3a594c-e726-4bc2-8078-26dffec9a3d8".
Créer un marqueur de suivi des changements à l'aide d'une mutation
Pour enregistrer une modification, telle qu'un déploiement, vous devez inclure les champs obligatoires, puis décider si vous souhaitez inclure des champs facultatifs.
Voici quelques exemples de mutations GraphQL qui montrent quelques façons de créer un marqueur de déploiement :
Après avoir utilisé des mutations pour désigner les modifications que vous souhaitez suivre, vous pouvez analyser l'effet de ces modifications dans l'UI de New Relic :
Interrogez vos modifications : vous pouvez écrire votre propre requête GraphQL ou NRQL pour voir les détails des modifications que vous suivez. Pour plus de détails, voir Requête de modification des données.