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.
Actuellement, New Relic prend en charge deux versions de l'API monitoring Synthétique : v1 et v3. La version 3 est sortie en octobre 2016. Version 1 is deprecated et ne sera finalement plus disponible. Aucune date de fin n'a été annoncée. Cependant, aucun développement ou modification supplémentaire ne sera apporté à la v1.
Prudence
Recommandation : créez un nouveau moniteur à l’aide de l’ API Synthetics v3 et migrez le script v1 vers son équivalent v3.
Vous devez utiliser la clé API de votre utilisateur administrateur pour faire appel à l'API REST de Synthetics.
Prudence
L'API REST Synthetics limite le taux de requests d'un compte à trois requests par seconde. Les demandes effectuées au-delà de ce seuil renverront un code de réponse 429.
Ces exemples montrent la commande cURL :
Pour afficher une liste de tous les moniteurs dans New Relic pour votre compte, envoyez une requête GET à https://synthetics.newrelic.com/synthetics/api/v1/monitors. Par exemple:
Une demande réussie renverra une réponse 200 OK . Les données renvoyées seront un objet JSON au format suivant :
{
"count": integer,
"monitors":[
{
"id": UUID,
"name": string,
"type": string,
"frequency": integer,
"uri": string,
"locations": array of strings,
"status": string,
"slaThreshold": double,
"userId": integer,
"apiVersion": string
}
]
}
Pour afficher un seul moniteur existant dans New Relic, envoyez une requête GET à https://synthetics.newrelic.com/synthetics/api/v1/monitors/MONITOR_ID. Remplacez le MONITOR_ID dans l’exemple suivant par l’ID du moniteur spécifique.
Une demande réussie renverra une réponse 200 OK . Les données renvoyées seront un objet JSON au format suivant :
{
"id": UUID,
"name": string,
"type": string,
"frequency": integer,
"uri": string,
"locations": array of strings,
"status": string,
"slaThreshold": double,
"userId": integer,
"apiVersion": string
}
Un ID de moniteur non valide renverra l'erreur 404 Not Found: le moniteur spécifié n'existe pas.
Pour ajouter un nouveau moniteur à votre compte dans New Relic, envoyez une requête POST à https://synthetics.newrelic.com/synthetics/api/v1/monitors avec une charge JSON qui décrit le moniteur :
"frequency": integer (minutes) [required, must be one of 1,5,10,15,30,60,360,720, or 1440],
"uri": string [required for SIMPLE and BROWSER type],
"locations": array of strings (send a GET request to https://synthetics.newrelic.com/synthetics/api/v1/locations to get a list of valid locations) [at least one required],
Une requête réussie renverra une réponse 201 Created , avec l'URI du moniteur nouvellement créé spécifié dans l'en-tête location . Les codes d’erreur possibles incluent :
400 Bad Request:Une ou plusieurs valeurs du moniteur ne sont pas valides, ou le format de la demande n'est pas valide. Par exemple, la fréquence est hors limites ou un ou plusieurs des emplacements spécifiés ne sont pas valides (voir le message d'erreur dans le corps de la réponse).
402 Payment Required:La création du moniteur augmentera vos contrôles programmés au-delà de la limite de contrôles achetés de votre compte.
Pour mettre à jour un moniteur existant dans New Relic, envoyez une requête PUT à https://synthetics.newrelic.com/synthetics/api/v1/monitors/MONITOR_ID. De plus, pour le moniteur scripté, suivez les procédures pour mettre à jour le scriptcodé en BASE64.
Remplacez le MONITOR_ID dans l’exemple suivant par l’ID du moniteur spécifique et remplacez l’ attribut REST de l’APISynthetics par vos valeurs spécifiques.
Requests PUT sont destinées à remplacer l'entité cible, donc tous les attributs requis dans la charge JSON lors de la création d'un nouveau moniteur sont également requis lors de la mise à jour d'un moniteur existant.
Une requête réussie renverra une réponse 204 No Content , avec un corps vide. Les codes d’erreur possibles incluent :
400 Bad Request:Une ou plusieurs valeurs du moniteur ne sont pas valides, ou le format de la demande n'est pas valide. Par exemple, la fréquence est hors limites ou un ou plusieurs des emplacements spécifiés ne sont pas valides (voir le message d'erreur dans le corps de la réponse).
404 Not Found: Le moniteur spécifié n'existe pas.
Pour supprimer un moniteur existant dans New Relic, envoyez une requête DELETE à https://synthetics.newrelic.com/synthetics/api/v1/monitors/MONITOR_ID. Remplacez le MONITOR_ID dans l’exemple suivant par l’ID du moniteur spécifique.
Une requête réussie renverra une réponse 204 No Content , avec un corps vide. Une demande infructueuse renverra la réponse 404 Not Found: le moniteur spécifié n'existe pas.
Pour récupérer la liste des emplacements valides dans New Relic, utilisez la commande suivante.
bash
$
curl-v\
>
-X GET -H'X-Api-Key:API_KEY' https://synthetics.newrelic.com/synthetics/api/v1/locations
Gestion du moniteur scripté
En plus de l'API générale, il existe plusieurs méthodes API pour les types de moniteurs scripted browser (SCRIPT_BROWSER) et api test (SCRIPT_API).
Ces exemples montrent la commande cURL.
Pour afficher le script associé à un moniteur SCRIPT_BROWSER ou SCRIPT_API spécifique dans New Relic pour votre compte, envoyez une requête GET à https://synthetics.newrelic.com/synthetics/api/v1/monitors/MONITOR_ID/script. Remplacez le MONITOR_ID par l’ID du moniteur spécifique. Par exemple:
Mettez à jour le nouveau moniteur avec une version codée en BASE64 du script au point de terminaison $MONITOR_UUID/script.
Pour plus d'informations, reportez-vous à l'exemple.
Pour mettre à jour le script associé à un moniteur SCRIPT_BROWSER ou SCRIPT_API spécifique dans New Relic pour votre compte, envoyez une requête PUT à https://synthetics.newrelic.com/synthetics/api/v1/monitors/MONITOR_ID/script avec une charge JSON contenant le scriptText (obligatoire). Les données scriptLocations sont requises uniquement pour le site privé avec Verified Script Execution activé.
Le mot de passe utilisé pour générer la chaîne HMAC doit correspondre au mot de passe défini pour le site privé. Lors de la génération de la chaîne HMAC, utilisez l'algorithme SHA256.
{
"scriptText": BASE64 encoded String,
"scriptLocations":[
{
"name": Location name,
"hmac" BASE64 encoded String of SHA256 HMAC for location
}
]
}
Remplacez MONITOR_ID par l’ID du moniteur spécifique. Voici un exemple de script :
var assert = require('assert');
assert.equal('1', '1');
Cet exemple utilise password comme mot de passe pour scriptLocation.
Une requête réussie renverra une réponse 204 No Content avec un corps vide. Les codes d’erreur possibles incluent :
400 Bad Request: Chaîne codée BASE64 non valide pour scriptText ou hmac.
403 Forbidden: Le moniteur spécifié n'est pas du type SCRIPT_BROWSER ou SCRIPT_API.
404 Not Found: Le moniteur spécifié n'existe pas.
Exemple de navigateur scripté
Voici un exemple d'utilisation de l'API REST de New Relic et du script bash pour créer un moniteur de navigateur scripté.
L'exemple suivant montre la commande cURL pour créer un moniteur de navigateur scripté.
En haut du script, remplacez les variables par vos valeurs spécifiques.
Pour la variable scriptfile , identifiez le nom de fichier du script à créer. Voici un exemple de script qui peut être enregistré sous sample_synth_script.js pour être utilisé dans l'exemple :
Chaîne : l'URI pour les types de moniteursSIMPLE et BROWSER ; par exemple, http://my-site.com. Facultatif pour SCRIPT_BROWSER et SCRIPT_API.
userID
Entier : l'ID utilisateur spécifique.
Point de terminaison du moniteur spécifique
Lorsque vous faites un appel d'API REST pour un moniteur spécifique, incluez le monitor_uuid dans le point de terminaison. Le monitor_uuid est le GUID qui fait partie de l'URL. Par exemple, un moniteur de synthèse sélectionné a cette URL :