New Relic vous permet d'utiliser NerdGraph pour créer un moniteur d'API scripté. Le moniteur d'API scripté exécute du code JavaScript personnalisé pour tester les API et les services backend sans navigateur, en effectuant requests HTTP et en validant les réponses par programmation. Ce tutoriel fournit des exemples d'utilisation de l'API NerdGraph pour automatiser la création d'un moniteur d'API scripté.
Créer un moniteur API scripté
Vous pouvez créer un moniteur d'API scripté en utilisant la mutation syntheticsCreateScriptApiMonitor. Cette mutation vous permet de configurer des tests d'API personnalisés qui exécutent votre code JavaScript pour valider les points de terminaison d'API.
Paramètres d'entrée
paramètres | Type de données | Est-ce obligatoire ? | Description |
|---|---|---|---|
| Entier | Oui | Votre New Relic sur lequel le moniteur sera créé. |
| Array | Oui | éventail d'identifiants où le moniteur effectuera des vérifications (par exemple,
). |
| Chaîne | Oui | Nom d'affichage de votre moniteur d'API scripté. |
| Énumération | Oui | Fréquence d'exécution du moniteur. Options :
,
,
,
,
,
,
,
,
. |
| Chaîne | Oui | Le type d'exécution utilisé par votre moniteur.
est la seule valeur acceptée. |
| Chaîne | Oui | La version du type de runtime utilisée par votre monitor. Utilisez
pour la version actuelle de Node.js (recommandé). Les versions spécifiques plus anciennes comme
sont également acceptées mais seront dépréciées. |
| Chaîne | Oui | La langue utilisée par votre moniteur.
est la seule valeur acceptée. |
| Chaîne | Oui | Le code JavaScript exécuté par le moniteur. Il doit s'agir de texte brut, et non d'un encodage en base64. Le script peut utiliser l'objet $http pour effectuer requests HTTP et réaliser des tests d'API. |
| Énumération | Oui | État du moniteur. Options :
(le moniteur est actif et effectue des vérifications),
(le moniteur est inactif). |
| Virgule flottante | Non | L'Apdex cible du moniteur en secondes, utilisé pour alimenter les rapports SLA. Par défaut, 7,0 secondes. |
Demande d'échantillon
mutation { syntheticsCreateScriptApiMonitor( accountId: ACCOUNT_ID monitor: { locations: { public: ["LOCATION_1", "LOCATION_2"] } name: "YOUR_MONITOR_NAME" period: PERIOD runtime: { runtimeType: "RUNTIME_TYPE" runtimeTypeVersion: "RUNTIME_TYPE_VERSION" scriptLanguage: "SCRIPT_LANGUAGE" } script: "SCRIPT_CONTENT" status: STATUS apdexTarget: APDEX_TARGET } ) { errors { description type } }}Exemple de réponse
Une réponse positive renvoie null en cas d'erreur :
{ "data": { "syntheticsCreateScriptApiMonitor": { "errors": null } }}En cas de problème lors de la création du moniteur, le éventail errors contiendra des objets avec des champs description et type expliquant ce qui s'est mal passé.
Mettre à jour un moniteur d'API scripté
Vous pouvez mettre à jour un moniteur d'API scripté existant en utilisant la mutation syntheticsUpdateScriptApiMonitor. Cela vous permet de modifier la configuration d'un moniteur d'API scripté qui a déjà été créé.
Paramètres d'entrée
paramètres | Type de données | Est-ce obligatoire ? | Description |
|---|---|---|---|
| Chaîne | Oui | L'identifiant unique de l'entité du moniteur que vous souhaitez mettre à jour. |
| Array | Non | éventail d'identifiants où le moniteur effectuera des vérifications (par exemple,
). |
| Chaîne | Non | Nom d'affichage mis à jour pour votre moniteur d'API scripté. |
| Énumération | Non | Fréquence d'exécution du moniteur. Options :
,
,
,
,
,
,
,
,
. |
| Chaîne | Non | Le type d'exécution utilisé par votre moniteur.
est la seule valeur acceptée. |
| Chaîne | Non | La version du type de runtime utilisée par votre monitor. Utilisez
pour la version actuelle de Node.js (recommandé). Les versions spécifiques plus anciennes comme
sont également acceptées mais seront dépréciées. |
| Chaîne | Non | La langue utilisée par votre moniteur.
est la seule valeur acceptée. |
| Chaîne | Non | Le code JavaScript exécuté par le moniteur. Il doit s'agir de texte brut, et non d'un encodage en base64. |
| Énumération | Non | État du moniteur. Options :
(le moniteur est actif et effectue des vérifications),
(le moniteur est inactif). |
| Virgule flottante | Non | L'Apdex cible du moniteur en secondes, utilisé pour alimenter les rapports SLA. Par défaut, 7,0 secondes. |
Demande d'échantillon
mutation { syntheticsUpdateScriptApiMonitor( guid: ENTITY_GUID monitor: { locations: { public: ["LOCATION_1", "LOCATION_2"] } name: "YOUR_MONITOR_NAME" period: PERIOD runtime: { runtimeType: "RUNTIME_TYPE" runtimeTypeVersion: "RUNTIME_TYPE_VERSION" scriptLanguage: "SCRIPT_LANGUAGE" } script: "SCRIPT_CONTENT" status: STATUS apdexTarget: APDEX_TARGET } ) { errors { description type } }}Exemple de réponse
Une réponse positive renvoie null en cas d'erreur :
{ "data": { "syntheticsUpdateScriptApiMonitor": { "errors": null } }}En cas de problème lors de la mise à jour du moniteur, le éventail errors contiendra des objets avec des champs description et type expliquant ce qui s'est mal passé.
Mettre à niveau l'environnement d'exécution d'un moniteur d'API scripté
Vous pouvez mettre à niveau un moniteur d'API scripté pour utiliser le nouvel environnement d'exécution Node.js. Nous recommandons d'utiliser la version 22.20.0 pour la sortie la plus récente de Node.js.
Important
Gestion des versions de Node.js: des versions spécifiques de Node.js (telles que la 16.10) arriveront en fin de vie. Le 18 novembre 2026, les scripts pour monitorer les API qui utilisent encore d'anciennes versions de Node.js seront mis à niveau de force vers Node.js 22. La version actuellement prise en charge est 22.20.0. Pour garantir que vos systèmes de monitoring utilisent les dernières mises à jour et fonctionnalités Node.js, mettez à niveau vers runtimeTypeVersion: "22.20.0" avant cette date.
Paramètres d'entrée
paramètres | Type de données | Est-ce obligatoire ? | Description |
|---|---|---|---|
| Chaîne | Oui | L'identifiant unique de l'entité du moniteur que vous souhaitez mettre à niveau. |
| Chaîne | Oui | Le type d'exécution.
est la seule valeur acceptée. |
| Chaîne | Oui | La version du runtime. Utilisez
pour la version la plus récente de Node.js (recommandé). Les anciennes versions spécifiques comme
sont également acceptées mais seront dépréciées. |
| Chaîne | Oui | Le langage de script.
est la seule valeur acceptée. |
Demande d'échantillon
Mise à niveau vers Node.js version 22.20.0 (recommandé) :
mutation { syntheticsUpdateScriptApiMonitor( guid: "ENTITY_GUID" monitor: { runtime: { runtimeType: "NODE_API" runtimeTypeVersion: "22.20.0" scriptLanguage: "JAVASCRIPT" } } ) { errors { description type } }}Exemple de réponse
Une réponse positive renvoie null en cas d'erreur :
{ "data": { "syntheticsUpdateScriptApiMonitor": { "errors": null } }}En cas de problème lors de la mise à niveau de l'environnement d'exécution du moniteur, le éventail errors contiendra des objets avec des champs description et type expliquant ce qui s'est mal passé.
Déplacer un moniteur d'API scripté entre un site privé compatible VSE
Vous pouvez déplacer un moniteur d'API scripté entre un site privé compatible VSE. Lors du déplacement du moniteur entre sites privés avec l'exécution script vérifiée (VSE) activée, vous devez inclure le script pour régénérer les HMAC pour la validation de sécurité.
Paramètres d'entrée
paramètres | Type de données | Est-ce obligatoire ? | Description |
|---|---|---|---|
| Chaîne | Oui | L'identifiant unique de l'entité du moniteur que vous souhaitez déplacer. |
| Array | Oui | éventail de configuration de site privé. Chaque emplacement nécessite un
et
pour les emplacements compatibles VSE. |
| Chaîne | Oui | Le GUID de l’entité du site cible privé. |
| Chaîne | Oui | Le mot de passe VSE pour le site cible privé. |
| Chaîne | Oui | Le code JavaScript exécuté par le moniteur. Il est indispensable d'inclure cette fonctionnalité pour régénérer les HMAC lors du déplacement entre des emplacements compatibles VSE. |
Demande d'échantillon
mutation { syntheticsUpdateScriptApiMonitor( guid: "ENTITY_GUID" monitor: { locations: { private: [{ guid: "LOCATION_GUID", vsePassword: "YOUR_VSE_PASSWORD" }] } script: "SCRIPT_CONTENT" } ) { errors { description type } monitor { status } }}Exemple de réponse
Une réponse positive renvoie null en cas d'erreur et inclut l'état du moniteur :
{ "data": { "syntheticsUpdateScriptApiMonitor": { "errors": null, "monitor": { "status": "ENABLED" } } }}En cas de problème lors du déplacement du moniteur, le éventail errors contiendra des objets avec des champs description et type expliquant ce qui s'est mal passé.
Supprimer un moniteur d'API scripté
Lorsqu'un moniteur d'API scripté n'est plus nécessaire, vous pouvez le supprimer définitivement à l'aide de la mutation syntheticsDeleteMonitor.
Pour supprimer un moniteur, référez-vous à la section Supprimer un moniteur Synthétique.