New Relic te permite usar NerdGraph para crear monitores de ping (también conocidos como monitores simples). Los monitores de ping verifican si una URL o extremo es accesible realizando requests HTTP a intervalos regulares. Este tutorial proporciona ejemplos de cómo emplear la API NerdGraph para automatizar la creación de monitores de ping.
Crear un monitor de ping
Puede crear un monitor de ping empleando la mutación syntheticsCreateSimpleMonitor. Esta mutación le permite configurar el monitoreo para cualquier URL o extremo de acceso público.
parámetro de entrada
Parámetro | Tipo de datos | ¿Es obligatorio? | Descripción |
|---|---|---|---|
| Entero | Sí | New Relic donde se creará el monitor. |
| Matriz | Sí | matriz de identificador donde el monitor ejecutará comprobaciones (por ejemplo,
). |
| Cadena | Sí | El nombre para mostrar su monitor de ping. |
| Enumeración | Sí | Con qué frecuencia se ejecuta el monitor. Opciones:
,
,
,
,
,
,
,
,
. |
| Enumeración | Sí | El estado del monitor. Opciones:
(el monitor está activo y realizando comprobaciones),
(el monitor está inactivo). |
| Cadena | Sí | La URL o extremo a monitorear (por ejemplo,
). |
| Cadena | No | Texto que debe aparecer en la respuesta para que se apruebe la verificación. Si se especifica, el monitor fallará si este texto no se encuentra en el cuerpo de la respuesta. |
| Booleano | No | Si se debe validar el TLS/certificado SSL. Establezca en
para verificar la validez de la cadena del certificado SSL. |
| Flotante | No | Objetivo Apdex del monitor en segundos, empleado para completar reportes SLA. El valor predeterminado es 7,0 segundos. |
Solicitud de muestra
mutation { syntheticsCreateSimpleMonitor( accountId: ACCOUNT_ID monitor: { locations: { public: ["LOCATION_1", "LOCATION_2"] } name: "YOUR_MONITOR_NAME" period: PERIOD status: STATUS uri: "MONITORED_URI" advancedOptions: { customHeaders: { name: "HEADER_NAME", value: "HEADER_VALUE" } redirectIsFailure: REDIRECT_IS_FAILURE responseValidationText: "VALIDATION_TEXT" shouldBypassHeadRequest: BYPASS_HEAD_REQUEST useTlsValidation: TLS_VALIDATION } apdexTarget: APDEX_TARGET } ) { errors { description type } }}Ejemplo de respuesta
Una respuesta exitosa devuelve null para los errores:
{ "data": { "syntheticsCreateSimpleMonitor": { "errors": null } }}Si hay algún problema al crear el monitor, la matriz errors contendrá objetos con campos description y type que explican qué salió mal.
Actualizar un monitor de ping
Puede actualizar un monitor de ping existente empleando la mutación syntheticsUpdateSimpleMonitor. Esto le permite modificar la configuración de un monitor de ping que ya se creó.
parámetro de entrada
Parámetro | Tipo de datos | ¿Es obligatorio? | Descripción |
|---|---|---|---|
| Cadena | Sí | El de entidad única del monitor que desea actualizar. |
| Matriz | No | matriz de identificador donde el monitor ejecutará comprobaciones (por ejemplo,
). |
| Cadena | No | El nombre para mostrar actualizado para su monitor de ping. |
| Enumeración | No | Con qué frecuencia se ejecuta el monitor. Opciones:
,
,
,
,
,
,
,
,
. |
| Enumeración | No | El estado del monitor. Opciones:
(el monitor está activo y realizando comprobaciones),
(el monitor está inactivo). |
| Cadena | No | La URL o extremo a monitorear (por ejemplo,
). |
| Objeto | No | Encabezados HTTP personalizados para incluir en la solicitud. Cada encabezado tiene una propiedad
y
. |
| Booleano | No | Si es
, el monitor tratará las redirecciones HTTP (códigos de estado 3xx) como errores. |
| Cadena | No | Texto que debe aparecer en la respuesta para que se apruebe la verificación. Si se especifica, el monitor fallará si este texto no se encuentra en el cuerpo de la respuesta. |
| Booleano | No | Si es
, el monitor omitirá la solicitud HEAD inicial y solo realizará una solicitud GET. |
| Booleano | No | Si se debe validar el TLS/certificado SSL. Establezca en
para verificar la validez de la cadena del certificado SSL. |
| Flotante | No | Objetivo Apdex del monitor en segundos, empleado para completar reportes SLA. El valor predeterminado es 7,0 segundos. |
Solicitud de muestra
mutation { syntheticsUpdateSimpleMonitor( guid: "ENTITY_GUID" monitor: { locations: { public: ["LOCATION_1", "LOCATION_2"] } name: "YOUR_MONITOR_NAME" period: PERIOD status: STATUS uri: "MONITORED_URI" advancedOptions: { customHeaders: { name: "HEADER_NAME", value: "HEADER_VALUE" } redirectIsFailure: REDIRECT_IS_FAILURE responseValidationText: "VALIDATION_TEXT" shouldBypassHeadRequest: BYPASS_HEAD_REQUEST useTlsValidation: TLS_VALIDATION } apdexTarget: APDEX_TARGET } ) { errors { description type } }}Ejemplo de respuesta
Una respuesta exitosa devuelve null para los errores:
{ "data": { "syntheticsUpdateSimpleMonitor": { "errors": null } }}Si hay algún problema al actualizar el monitor, la matriz errors contendrá objetos con campos description y type que explican qué salió mal.
Eliminar un monitor Sintético
Esta API le permite eliminar un monitor existente empleando la mutación syntheticsDeleteMonitor con el parámetro guid.
parámetro de entrada
Parámetro | Tipo de datos | ¿Es obligatorio? | Descripción |
|---|---|---|---|
| Cadena | Sí | El de entidad única del monitor que desea eliminar. |
Solicitud de muestra
mutation { syntheticsDeleteMonitor(guid: "ENTITY_GUID") { deletedGuid }}Ejemplo de respuesta
Una eliminación exitosa devuelve el GUID del monitor eliminado:
{ "data": { "syntheticsDeleteMonitor": { "deletedGuid": "ENTITY_GUID" } }}Si hay algún problema al eliminar el monitor, se devolverá un error con detalles sobre lo que salió mal.