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 d'exécution utilisée par votre moniteur.
est la seule valeur acceptée. |
| 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 d'exécution utilisée par votre moniteur.
est la seule valeur acceptée. |
| 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 16.10. Cela garantit que votre système de monitoring utilise les dernières fonctionnalités et mises à jour de sécurité Node.js
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 d'exécution.
est la seule valeur acceptée. |
| Chaîne | Oui | Le langage de script.
est la seule valeur acceptée. |
Demande d'échantillon
mutation { syntheticsUpdateScriptApiMonitor( guid: "ENTITY_GUID" monitor: { runtime: { runtimeType: "NODE_API" runtimeTypeVersion: "16.10" 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é.
Rétrograder la durée d'exécution d'un moniteur d'API scripté
Vous pouvez rétrograder un moniteur d'API scripté pour utiliser un environnement d'exécution legacy. Cela peut s'avérer nécessaire pour des raisons de compatibilité, mais veuillez noter que legacy environnements d'exécution ne seront plus pris en charge le 22 octobre 2024.
Important
Les environnements d'exécution hérités sont obsolètes et leur fin de vie est prévue pour le 22 octobre 2024. Le retour à des environnements d' legacy n'est pas recommandé, sauf pour des besoins de compatibilité temporaires.
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 rétrograder. |
| Chaîne | Oui | Définissez la valeur sur une chaîne vide
pour utiliser l'ancien environnement d' legacy. |
| Chaîne | Oui | Définissez la valeur sur une chaîne vide
pour utiliser l'ancien environnement d' legacy. |
| Chaîne | Oui | Définissez la valeur sur une chaîne vide
pour utiliser l'ancien environnement d' legacy. |
Demande d'échantillon
mutation { syntheticsUpdateScriptApiMonitor( guid: "ENTITY_GUID" monitor: { runtime: { runtimeType: "", runtimeTypeVersion: "", scriptLanguage: "" } } ) { 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 rétrogradation 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.