Te ofrecemos esta traducción automática para facilitar la lectura.
En caso de que haya discrepancias entre la versión en inglés y la versión traducida, se entiende que prevalece la versión en inglés. Visita esta página para obtener más información.
Actualmente, New Relic admite dos versiones de la API de monitoreo sintético: v1 y v3. La versión 3 se lanzó en octubre de 2016. Version 1 is deprecated y eventualmente dejará de estar disponible. No se ha anunciado ninguna fecha de terminación. Sin embargo, no se realizarán más desarrollos ni modificaciones a la v1.
Advertencia
Recomendación: Cree nuevos monitores utilizando la API de monitoreo sintético v3 y migre el script v1 a su equivalente v3.
Debe utilizar la clave de API de su usuario administrador para realizar el REST API de sintéticos sllamada. La clave REST de API de la cuenta no funcionará.
Advertencia
La API REST de sintéticos limita la tasa de solicitudes de una cuenta a tres solicitudes por segundo. Las solicitudes realizadas que superen este umbral devolverán un código de respuesta 429.
Estos ejemplos muestran el comando curl:
Para ver una lista de todos los monitores en New Relic para su cuenta, envíe una solicitud GET a https://synthetics.newrelic.com/synthetics/api/v1/monitors. Por ejemplo:
Una solicitud exitosa devolverá una respuesta 200 OK . Los datos devueltos serán un objeto JSON en el siguiente formato:
{
"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
}
]
}
Para ver un único monitor existente en New Relic, envíe una solicitud GET a https://synthetics.newrelic.com/synthetics/api/v1/monitors/{id}. Reemplace {id} en el siguiente ejemplo con el ID del monitor específico.
Una solicitud exitosa devolverá una respuesta 200 OK . Los datos devueltos serán un objeto JSON en el siguiente formato:
{
"id": UUID,
"name": string,
"type": string,
"frequency": integer,
"uri": string,
"locations": array of strings,
"status": string,
"slaThreshold": double,
"userId": integer,
"apiVersion": string
}
Una ID de monitor no válida devolverá el error 404 Not Found: el monitor especificado no existe.
Para agregar un nuevo monitor a su cuenta en New Relic, envíe una solicitud POST a https://synthetics.newrelic.com/synthetics/api/v1/monitors con una carga útil JSON que describa el monitor:
"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],
"status": string (ENABLED, DISABLED) [required],
"slaThreshold": double,
}
Además, a add a scripted monitor a través de la API REST se llama a extremos de API adicionales para enviar el script para el monitor recién creado.
Una solicitud exitosa devolverá una respuesta 201 Created , con el URI del monitor recién creado especificado en el encabezado location . Los posibles códigos de error incluyen:
400 Bad Request
: Uno o más de los valores del monitor no son válidos o el formato de la solicitud no es válido. Por ejemplo, la frecuencia está fuera de los límites o una o más de las ubicaciones especificadas no son válidas (consulte el mensaje de error en el cuerpo de la respuesta).
402 Payment Required
: La creación del monitor aumentará sus checks programados más allá del límite de checks comprados de su cuenta.
Para actualizar un monitor existente en New Relic, envíe una solicitud PUT a https://synthetics.newrelic.com/synthetics/api/v1/monitors/{id}. Además, para monitores con script, siga los procedimientos para actualizar el script codificado en BASE64.
Reemplace {id} en el siguiente ejemplo con el ID del monitor específico y reemplace el atributo API REST de sintéticos con sus valores específicos.
Las solicitudes PUT están destinadas a reemplazar la entidad objetivo, por lo que todos los atributos necesarios en la carga útil JSON al crear un nuevo monitor también se requieren al actualizar un monitor existente.
Una solicitud exitosa devolverá una respuesta 204 No Content con un cuerpo vacío. Los posibles códigos de error incluyen:
400 Bad Request
: Uno o más de los valores del monitor no son válidos o el formato de la solicitud no es válido. Por ejemplo, la frecuencia está fuera de los límites o una o más de las ubicaciones especificadas no son válidas (consulte el mensaje de error en el cuerpo de la respuesta).
404 Not Found
: El monitor especificado no existe.
Para eliminar un monitor existente en New Relic, envíe una solicitud DELETE a https://synthetics.newrelic.com/synthetics/api/v1/monitors/{id}. Reemplace {id} en el siguiente ejemplo con el ID del monitor específico.
Una solicitud exitosa devolverá una respuesta 204 No Content con un cuerpo vacío. Una solicitud fallida devolverá la respuesta: 404 Not Found: el monitor especificado no existe.
Para recuperar la lista de ubicaciones válidas en New Relic, use el siguiente comando.
curl -v \
-X GET -H 'X-Api-Key:{Admin_User_Key}' https://synthetics.newrelic.com/synthetics/api/v1/locations
Gestión del monitor con script
Además de la API general, existen varios métodos API para los tipos de monitor scripted browser (SCRIPT_BROWSER) y api test (SCRIPT_API).
Estos ejemplos muestran el comando curl.
Para ver el script asociado con un monitor SCRIPT_BROWSER o SCRIPT_API específico en New Relic para su cuenta, envíe una solicitud GET a https://synthetics.newrelic.com/synthetics/api/v1/monitors/{id}/script. Reemplace el {id} con la ID del monitor específico. Por ejemplo:
Actualice el nuevo monitor con una versión codificada en BASE64 del script hasta el extremo ${MONITOR_UUID}/script .
Para obtener más información, consulte el ejemplo.
Para actualizar la script asociada con un monitor SCRIPT_BROWSER o SCRIPT_API específico en New Relic para su cuenta, envíe una solicitud PUT a https://synthetics.newrelic.com/synthetics/api/v1/monitors/{id}/script con una carga útil JSON que contenga scriptText (obligatorio). Los datos scriptLocations son necesarios solo para la ubicación privada con Verified Script Execution activado.
La contraseña utilizada para generar la cadena HMAC debe coincidir con la contraseña establecida para la ubicación privada. Al generar la cadena HMAC, utilice el algoritmo SHA256.
{
"scriptText": BASE64 encoded String,
"scriptLocations": [
{
"name": Location name,
"hmac" BASE64 encoded String of SHA256 HMAC for location
}
]
}
Reemplace el {id} con la ID del monitor específico. Aquí hay un ejemplo del script:
var assert = require('assert');
assert.equal('1', '1');
Este ejemplo utiliza password como contraseña para scriptLocation.
Una solicitud exitosa devolverá una respuesta 204 No Content con un cuerpo vacío. Los posibles códigos de error incluyen:
400 Bad Request:
Cadena codificada en BASE64 no válida para scriptText o hmac.
403 Forbidden:
El monitor especificado no es del tipo script o script.
404 Not Found:
El monitor especificado no existe.
Ejemplo browser con script
A continuación se muestra un ejemplo del uso de la API REST de New Relic y el script bash para crear un script de monitor de navegador.
El siguiente ejemplo muestra el comando curl para crear un script de monitor de navegador.
En la parte superior del script, reemplace las variables con sus valores específicos.
Para la variable scriptfile , identifique el nombre de archivo del script que se creará. A continuación se muestra un script de muestra que se puede guardar como sample_synth_script.js para utilizarlo en el ejemplo:
Cadena: el URI para los tipos de monitorSIMPLE y BROWSER ; por ejemplo, http://my-site.com. Opcional para SCRIPT_BROWSER y SCRIPT_API.
userID
Entero: el ID de usuario específico.
Extremo de monitor específico
Al realizar una llamada API REST para un monitor específico, incluya el monitor_uuid como parte del extremo. El monitor_uuid es el GUID que forma parte de la URL. Por ejemplo, un monitor de monitoreo sintético seleccionado tiene esta URL: