Vous pouvez utiliser notre API NerdGraph pour effectuer des requêtes NRQL .
Présentation des requêtes avec NerdGraph
Vous pouvez exécuter une requête NRQL à l'aide du générateur de requêtes dans l'UI, ou vous pouvez utiliser notre API NerdGraph. NerdGraph vous donne la possibilité de faire certaines choses que vous ne pouvez pas faire depuis l'UI, comme effectuer des requêtes sur plusieurs comptes et exécuter des requêtes asynchrones.
Exigences
- Tous les types d'utilisateurs peuvent interroger les données des comptes auxquels ils ont accès. Si vous ne pouvez pas effectuer de requête via NerdGraph, c'est peut-être parce que vous n'avez pas accès à ce compte.
- Toutes les requêtes sont soumises aux limites de requêtesNRQL
Requête NRQL de base avec NerdGraph
Pour effectuer une requête NRQL de base à l'aide de NerdGraph, deux exigences principales sont nécessaires :
- Vous devez transmettre la requête NRQL en tant qu'argument de chaîne à l'objet NRQL
- Vous devez inclure le champ
results
dans votre requête
Par exemple, pour obtenir un décompte de tous les événements de transaction au cours de la dernière heure, vous devez exécuter la requête suivante, en spécifiant votre ID de compteNew Relic .
{ actor { account(id: YOUR_ACCOUNT_ID) { nrql(query: "SELECT count(*) FROM Transaction SINCE 1 HOUR AGO") { results } } }}
Cet exemple de requête renverrait un résultat comme celui-ci :
{ "data": { "actor": { "account": { "nrql": { "results": [ { "count": 1000 } ] } } } }}
Vous recherchez des détails sur la façon d’écrire une requête NRQL ? Voir la section doc NRQL.
Requête inter-comptes
Avec NerdGraph, vous pouvez exécuter une requête sur plusieurs comptes, ce que vous ne pouvez pas faire dans le générateur de requêtes. Vous aurez besoin des identifiants de compte pour les comptes que vous souhaitez interroger.
Voici un exemple d'exécution d'une requête NRQL inter-comptes :
{ actor { nrql( accounts: [ACCOUNT_ID_1, ACCOUNT_ID_2, ACCOUNT_ID_3] options: {} query: "YOUR_NRQL_QUERY" timeout: 70 ) { results } }}
Pour savoir comment créer un dashboard avec des données provenant de plusieurs comptes, consultez le didacticiel dashboard NerdGraph.
Créer des graphiques intégrables
En plus de renvoyer des données brutes, vous pouvez récupérer des liens de graphiques intégrables pour les données à utiliser dans une application. Par exemple, au lieu d'un seul décompte de transactions, vous pouvez créer un graphique illustrant une série chronologique de décomptes groupés au fil du temps. Ajoutez TIMESERIES
à votre requête avec embeddedChartUrl
:
{ actor { account(id: YOUR_ACCOUNT_ID) { nrql(query: "SELECT count(*) from Transaction TIMESERIES") { embeddedChartUrl } } }}
Cet exemple de requête NerdGraph renvoie l'URL du graphique dans la réponse suivante :
{ "data": { "actor": { "account": { "nrql": { "embeddedChartUrl": "https://chart-embed.service.newrelic.com/charts/EMBEDDABLE-CHART-ID" } } } }}
Si vous affichez l’URL du graphique intégré à l’aide d’un client HTTP standard, il renvoie une image montrant une visualisation de la réponse à la requête que vous avez soumise. Ces graphiques suivent les mêmes règles de graphiques intégrés que les graphiques intégrés créés ailleurs. Pour modifier le style de la visualisation des données, transmettez un argument chartType
à embeddedChartUrl
.
Facettes suggérées
Lorsque vous utilisez NerdGraph pour explorer vos données, vous pouvez utiliser le champ suggestedFacets
pour renvoyer l'attribut suggéré à utiliser dans la requête NRQL à facettes.
Requête à durée d'exécution plus longue
Si vous devez exécuter une requête NRQL plus longue, consultez requête asynchrone.
Autres options de requête
NerdGraph vous offre d'autres options de requête, telles que :