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.
El 22 de octubre de 2024 pondremos fin a la vida útil de las versiones minion privado (CPM) en contenedores y tiempo de ejecución sintético legacy. A partir del 26 de agosto de 2024, ya no podrá crear nuevos monitores empleando versiones legacy de tiempo de ejecución sintética. Sintéticos API REST solo admite la creación de monitores empleando versiones legacy de tiempo de ejecución sintético. Emplee las API de NerdGraph para gestionar sus monitores Sintético empleando nuestros últimos tiempos de ejecución para evitar la degradación.
Nuestra API REST de sintéticos es una forma de administrar su monitor de monitoreo sintético a través de API, pero la forma recomendada es usar nuestra API NerdGraph.
Permisos
Para utilizar la API REST de sintéticos, debe tener permisos relacionados con el monitoreo sintético y un .
Esta API se puede utilizar para todos los monitores de monitoreo sintético. (También hay disponibles métodos API adicionales para browser con secuencias de comandos y monitores de prueba de API para actualizar las script asociadas con esos monitores). Todos los datos de monitoreo sintético están disponibles a través de la API. Los ejemplos de API muestran el comando curl.
Para cuentas con sede en EE. UU., utilice el siguiente extremo:
La API REST de monitoreo sintético 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 .
Para ver una lista de todos los monitores en su cuenta New Relic, envíe una solicitud GET a $API_ENDPOINT/v3/monitors. Por ejemplo:
bash
$
curl-v\
>
-H"Api-Key:$API_KEY"$API_ENDPOINT/v3/monitors
Una solicitud exitosa devolverá una respuesta 200 OK . Los datos devueltos serán un objeto JSON en el siguiente formato:
{
"monitors":[
{
"id":"2a1bc369-7654-489d-918e-f6g135h7i2jk",
"name":"monitor1",
"type":"BROWSER",
"frequency":60,
"uri":"http://example.com",
"locations":["AWS_US_WEST_1"],
"status":"DISABLED",
"slaThreshold":7,
"options":{},
"modifiedAt":"2016-09-26T23:12:46.981+0000",
"createdAt":"2016-09-26T23:12:46.981+0000",
"userId":0,
"apiVersion":"0.2.2"
}
],
"count":1
}
Argumentos de consulta:
offset: La compensación del recuento del monitor. El valor predeterminado es 0. Por ejemplo, si tiene 40 monitores y usa un valor de compensación de 20, devolverá el monitor 21-40.
limit: El número de resultados por página, máximo 100. El valor predeterminado es 50.
Puede incluirlos en su comando curl de la siguiente manera:
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á 404 Not Found: The specified monitor doesn't exist.
Importante
El 22 de octubre de 2024 pondremos fin a la vida útil de las versiones minion privado (CPM) en contenedores y tiempo de ejecución sintético legacy. A partir del 26 de agosto de 2024, ya no podrá crear nuevos monitores empleando versiones legacy de tiempo de ejecución sintética. Sintéticos API REST solo admite la creación de monitores empleando versiones legacy de tiempo de ejecución sintético. Emplee las API de NerdGraph para gestionar sus monitores Sintético empleando nuestros últimos tiempos de ejecución para evitar la degradación.
Para agregar un nuevo monitor a su cuenta de monitoreo sintético, envíe una solicitud POST a $API_ENDPOINT/v3/monitors con una carga útil JSON que describa el monitor.
Todos los campos del siguiente ejemplo son obligatorios a menos que se indique lo contrario:
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 $API_ENDPOINT/v3/monitors/$MONITOR_ID. Además, para monitores con script, siga los procedimientos para actualizar el script codificado en BASE64.
Todos los campos son obligatorios. Sin embargo, se cambiará el TYPE del monitor cannot .
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 parchear un monitor existente en New Relic, envíe una solicitud PATCH a $API_ENDPOINT/v3/monitors/$MONITOR_ID.
Las solicitudes de PATCH están destinadas a actualizar un atributo individual de su monitor de monitoreo sintético en lugar de actualizar la entidad completa, por lo que puede proporcionar solo el atributo que desea actualizar.
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 monitoreo sintético, envíe una solicitud DELETE al extremo/v3/monitors/$MONITOR_ID:
bash
$
curl-v\
>
-H"Api-Key:$API_KEY"\
>
-X DELETE $API_ENDPOINT/v3/monitors/$MONITOR_ID
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 su monitor de monitoreo sintético, use el siguiente comando:
bash
$
curl-v\
>
-X GET -H"Api-Key:$API_KEY"$API_ENDPOINT/v1/locations
API script para browser con script y monitor de prueba de API
Además de la API general, existen varios métodos API para el navegador con secuencias de comandos (SCRIPT_BROWSER) y el navegador de prueba API (SCRIPT_API). Estos ejemplos muestran el comando curl.
Para ver el script asociado a un SCRIPT_BROWSER o SCRIPT_API específico en los monitores Sintético de su cuenta, envíe una solicitud GET a $API_ENDPOINT/v3/monitors/$MONITOR_ID/script. Por ejemplo:
bash
$
curl-v
$
-H"Api-Key:$API_KEY"
$
$API_ENDPOINT/v3/monitors/$MONITOR_ID/script
Una solicitud exitosa devolverá una respuesta 200 OK . Los datos devueltos serán un objeto JSON en el siguiente formato:
{
"scriptText": BASE64 encoded string
}
Los posibles códigos de error incluyen:
403 Forbidden: El monitor especificado no es de tipo script o script.
404 Not Found: El monitor especificado no existe o el script asociado con el monitor no existe.
Para agregar un nuevo monitor con script a sus monitores de monitoreo sintético con la API REST:
Para actualizar el script asociado con un monitor SCRIPT_BROWSER o SCRIPT_API específico, envíe una solicitud PUT a $API_ENDPOINT/v3/monitors/$MONITOR_ID/script con una carga JSON que contenga scriptText (obligatorio).
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_BROWSER o SCRIPT_API.
404 Not Found: El monitor especificado no existe.
Al crear o actualizar un monitor para ubicación privada que tiene activada la ejecución de script verificada , debe usar scriptLocations para establecer la contraseña:
{
"scriptText": BASE64 encoded String,
"scriptLocations":[
{
"name": Location name,
"hmac" BASE64 encoded String of SHA256 HMAC for location
}
]
}
La contraseña utilizada para generar la cadena HMAC debe coincidir con la contraseña establecida para la ubicación privada. Si tiene varias ubicaciones con la ejecución de script verificada habilitada, cada ubicación debe tener calculado el HMAC . Al generar la cadena HMAC, utilice el algoritmo SHA256 con el script y la contraseña.
Aquí hay un ejemplo del script:
var assert =require('assert');
assert.equal('1','1');
Este ejemplo utiliza password como contraseña para scriptLocation:
Debe eliminar el último carácter de nueva línea tanto del script como del valor HMAC calculado antes de codificar en BASE64.
Pasos de cálculo:
Calcule el valor HMAC del script. Una forma es utilizar: cat script | openssl dgst -sha256 -hmac "password" > hmac
Elimine el carácter de nueva línea si openssl agregó uno.
Codifique el HMAC en BASE64 sin saltos de línea.
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: