Ce tutoriel expliquera comment utiliser notre API NerdGraph pour configurer votre topologie. La configuration de la topologie permet à vos décisions d'alerte de mieux corréler les incidents.
Exigences
La corrélation topologique est actuellement en exploitation limitée. Voir les exigences de topologie.
Pour utiliser NerdGraph, vous aurez besoin d'une clé utilisateur.
Aperçu du tutoriel
Avec les alertes de New Relic, vous pouvez créer des décisions personnalisées qui régissent la manière dont vos incidents sont corrélés. Un type de logique de décision personnalisée utilise le concept de « topologie », qui est une représentation de votre carte de services : la manière dont les services et les ressources de votre infrastructure sont liés les uns aux autres.
Ce tutoriel vous montrera comment utiliser NerdGraph pour :
- Configurez votre topologie en créant des sommets et des arêtes
- Supprimer les sommets et les arêtes
- Récupérer les données de topologie
Avant d'utiliser NerdGraph pour configurer votre topologie, vous devez avoir une compréhension de base de :
- Que sont les décisions corrélées et comment fonctionne la corrélation topologique.
- La structure topologique que vous essayez d'implémenter. Une façon de comprendre cela est d’utiliser notre fonctionnalité de cartographie des services pour voir comment les entités de votre infrastructure sont liées les unes aux autres.
- Qu'est-ce que NerdGraph et comment utiliser l'explorateur API NerdGraph pour exécuter une requête.
Exemples de mutations
Dans NerdGraph, les mutations sont requests qui exécutent une action (en savoir plus sur la terminologie NerdGraph), comme la création d'une ressource ou la modification d'une configuration.
Dans cette section, nous vous montrerons comment utiliser les mutations aiTopologyCollector
pour créer, modifier ou supprimer votre topologie.
Dans les sections de création, nous allons créer des sommets et des arêtes pour représenter cette carte de service :

Ce tutoriel utilise NerdGraph pour créer des sommets et des arêtes qui représentent ces entités et leurs relations.
Créer des sommets
La mutation suivante crée un ou plusieurs sommets, qui représentent votre entité de monitoring et sont la source d'où provient votre incident.
L'appel NerdGraph ci-dessous utilise les champs suivants :
accountId
:Votre identifiant de compte New Relic.name
:Le nom du sommet. Cette valeur est sensible à la casse et doit être unique dans le graphique.vertexClass
: La classe de sommet peut êtreapplication
,host
,cloud service
,cluster
oudatastore
. Cette classification permet à votre logique de décision de restreindre votre corrélation basée sur la topologie afin de restreindre les sommets correspondant à ces classifications.definingAttributes
: Un ensemble d'attributs (paires valeur clé) qui correspondent à l'attribut d'un événement incident . Il s'agit généralement d'identifiants uniques qui apparaissent sur tous les incidents, tels que le GUID d'entité ou d'autres identifiants. Si un incident contient l'une des paires valeur-clé dudefiningAttributes
d'un sommet, il est associé à ce sommet. Pour en savoir plus sur les attributs et comment ils peuvent être ajoutés, voir Ajouter un attribut.
Exemple d'appel :
mutation { aiTopologyCollectorCreateVertices( accountId: NEW_RELIC_ACCOUNT_ID vertices: [ { name: "ServiceA" vertexClass: APPLICATION definingAttributes: [{ key: "application/name", value: "ServiceA" }] } { name: "ServiceB" vertexClass: APPLICATION definingAttributes: [{ key: "application/name", value: "ServiceB" }] } { name: "ServiceC" vertexClass: APPLICATION definingAttributes: [{ key: "application/name", value: "ServiceC" }] } { name: "HOST1" vertexClass: HOST definingAttributes: [ { key: "host/name", value: "HOST1" } { key: "availability-zone", value: "us-west-2a" } { key: "region", value: "us-west-2" } ] } { name: "HOST2" vertexClass: HOST definingAttributes: [ { key: "host/name", value: "HOST2" } { key: "availability-zone", value: "us-west-2b" } { key: "region", value: "us-west-2" } ] } { name: "HOST3" vertexClass: HOST definingAttributes: [ { key: "host/name", value: "HOST3" } { key: "availability-zone", value: "us-west-2c" } { key: "region", value: "us-west-2" } ] } ] ) { result }}
Créer des bords
Cette mutation est utilisée pour créer une ou plusieurs arêtes, qui représentent les relations entre les sommets.
L'appel NerdGraph ci-dessous utilise ces champs :
accountId
:Votre identifiant de compte New Relic.fromVertexName
: Le nom du sommet à partir duquel l'arête démarre.toVertexName
:Le nom du sommet de connexion.directed
:Un booléen qui décrit comment les sommets se connectent.true
indique une relation à sens unique (par exemple, un service appelant un autre) etfalse
indique . Par défaut, dirigé =true
.
Exemple d'appel :
mutation { aiTopologyCollectorCreateEdges( accountId: NEW_RELIC_ACCOUNT_ID edges: [ { directed: true, fromVertexName: "ServiceA", toVertexName: "ServiceB" } { directed: true, fromVertexName: "ServiceB", toVertexName: "ServiceC" } { directed: false, fromVertexName: "ServiceA", toVertexName: "HOST1" } { directed: false, fromVertexName: "ServiceA", toVertexName: "HOST2" } { directed: false, fromVertexName: "ServiceA", toVertexName: "HOST3" } { directed: false, fromVertexName: "ServiceB", toVertexName: "HOST1" } { directed: false, fromVertexName: "ServiceB", toVertexName: "HOST2" } { directed: false, fromVertexName: "ServiceB", toVertexName: "HOST3" } { directed: false, fromVertexName: "ServiceC", toVertexName: "HOST1" } { directed: false, fromVertexName: "ServiceC", toVertexName: "HOST2" } { directed: false, fromVertexName: "ServiceC", toVertexName: "HOST3" } ] ) { result }}
Supprimer les sommets
Cette mutation supprime des sommets de votre graphe topologique. Notez que la suppression d’un sommet supprime toutes les arêtes qui lui sont connectées.
L'appel NerdGraph ci-dessous utilise ces champs :
accountId
:Votre identifiant de compte New Relic.vertexNames
:Une liste de noms de sommets que vous souhaitez supprimer.
Exemple d'appel :
mutation { aiTopologyCollectorDeleteVertices( accountId: NEW_RELIC_ACCOUNT_ID vertexNames: ["ServiceA", "ServiceB", "ServiceC", "HOST1", "HOST2", "HOST3"] ) { result }}
Supprimer les bords
Cette mutation supprime les arêtes reliant les sommets de votre graphe topologique.
L'appel NerdGraph ci-dessous utilise ces champs :
accountId
:Votre identifiant de compte New Relic.edgeIds
:Une liste d’ID d’arête que vous souhaitez supprimer.
Exemple d'appel :
mutation { aiTopologyCollectorDeleteEdges( accountId: NEW_RELIC_ACCOUNT_ID edgeIds: [ "d8a7971b-575d-42e9-aa13-43a50c5a7d10" "0da5cb92-0428-4890-992b-2823d037cb5e" ] ) { result }}
Exemples de requêtes
Dans NerdGraph, les requêtes sont utilisées pour récupérer des données, par opposition aux mutations, qui effectuent des actions (en savoir plus sur la terminologie). Les requêtes Nerdgraph ne sont pas statiques, ce qui signifie que vous pouvez demander plus ou moins de données en fonction de vos besoins. Pour récupérer vos données de topologie, vous utiliserez la requête aiTopology
.
Récupérer les sommets
Cette requête renvoie une liste de sommets dans votre graphique topologique.
{ actor { account(id: NEW_RELIC_ACCOUNT_ID) { aiTopology { vertices { vertices { id name definingAttributes { key value } updatedAt vertexClass } count cursor } } } }}
Récupérer les arêtes
Cette requête renvoie une liste d’arêtes dans votre graphique topologique :
{ actor { account(id: NEW_RELIC_ACCOUNT_ID) { aiTopology { edges { edges { id toVertexName fromVertexName directed updatedAt } cursor count } } } }}