El monitoreo sintético ejecuta comprobaciones automatizadas y programadas en las aplicaciones y extremos desde las ubicaciones que elija —ubicaciones públicas que New Relic opera en todo el mundo o ubicaciones privadas dentro de su propia red. Cada monitor realiza una solicitud real o un recorrido del usuario en un intervalo fijo y reporta el resultado, para que pueda detectar fallas, ralentizaciones y flujos interrumpidos lo antes posible.
Debido a que esas comprobaciones siempre se están ejecutando, proporcionan disponibilidad, funcionalidad y una línea de base de rendimiento para las aplicaciones (tanto extremos de API como recorridos de browser). APM y el monitoreo de browser le indican cómo se comportó el tráfico real, mientras que los monitores Sintéticos le indican si la funcionalidad crítica funciona como se espera en todo momento, incluso en regiones con poco tráfico o antes de que un lanzamiento llegue a los usuarios.
Ejemplos de casos de uso
El monitoreo sintético de New Relic abarca un espectro que va desde pings de tiempo de actividad ligeros que cubren la disponibilidad de manera amplia hasta recorridos de API y navegadores completamente programados mediante scripts que ejercitan sus flujos más complejos. En los monitores programados mediante scripts que se ejecutan desde ubicaciones privadas, puede ir aún más lejos, extendiendo el tiempo de ejecución con sus propios módulos npm para verificar casi cualquier cosa accesible desde su red.
Silbido
La comprobación más económica que puede ejecutar es una solicitud HTTP programada que confirme que un extremo está en línea y es lo suficientemente rápido. Lo suficientemente económica como para ejecutarla con frecuencia en cientos de extremos, lo que la convierte en la base para los informes generales de disponibilidad y tiempo de actividad. Detecta interrupciones, no funcionalidades rotas, por lo que debe considerarlo como la primera señal en lugar de una prueba de que la aplicación funciona.
Para comenzar, consulte Agregar y editar monitores para crear uno y Ver los resultados del monitor de ping para leer lo que informa.
API con scripts
Usa Node.js con la API $http para encadenar requests, llevar la autenticación y el estado a través de los pasos, y usar un assertion en el estado, la carga y el tiempo. Úselo para codificar una transacción comercial real en la capa de servicio, o para observar una dependencia de terceros en la que confía pero que no controla. En ubicaciones privadas, use require() para que sus propios módulos alcancen protocolos que no sean HTTP o llamen a las API de modelo, almacén de vectores y cloud con sus SDK existentes.
Para comenzar, consulte Escribir pruebas de API sintéticas para crear su primer script y Importar módulos de Node.js para extenderlo con bibliotecas.
Browser sencillo
Carga la página en una instancia real de Chrome o Firefox, por lo que la comprobación ejecuta el JavaScript, los activos, la CDN y la caché, en lugar de solo el código de estado. Detecta errores de script que bloquean la representación, paquetes faltantes y etiquetas de terceros que fallan silenciosamente y que un ping nunca ve. No se requiere código, por lo que es la forma más rápida de obtener cobertura de representación real en muchas páginas.
Para comenzar, consulte Agregar y editar monitores para crear uno, y Emulación de dispositivos para probar las ventanas gráficas de dispositivos móviles y tabletas.
Browser con script
Controla un navegador real con la API $browser (Selenium Webdriver) a través de recorridos de varios pasos, condicionales y autenticados. Una comprobación valida toda la ruta desde el navegador hasta la capa de datos, como el inicio de sesión, la búsqueda, el pago o un flujo interno crítico. Es el monitor más lento y que consume más recursos, así que resérvelo para los recorridos que generan ingresos y confianza.
Para comenzar, consulte Introducción a los monitores de browser con script para conocer los conceptos básicos y la referencia del browser con script para obtener la API de $browser completa.
La API con script y los monitores de browser con script ejecutan el JavaScript, por lo que puede usar require() en sus propios módulos npm. Puede impulsar las comprobaciones de protocolo, cloud-SDK y documentos anteriores de la misma manera. En las ubicaciones privadas, esos módulos se instalan desde su propio registro y se ejecutan dentro de la red. Almacene cualquier clave o token como credenciales seguras.
Código personalizado y extensibilidad
Los monitores programados de New Relic no son comprobadores de función fija —son programas. Si puede expresarlo en código, puede monitorearlo. Eso significa que puede crear una cadena de lógica personalizada, hacer una consulta de sus propios datos de New Relic y extender los monitores con su propio código y módulos.
Aportar su propio código
Los monitores con scripts le permiten usar require() en sus propios módulos. En las ubicaciones privadas, monta un directorio que contiene un package.json y el administrador de trabajos ejecuta npm install al inicio, por lo que cualquier paquete npm o biblioteca interna se convierte en parte del monitor —lo suficiente para hablar protocolos no HTTP (TCP, WebSocket, MQTT, LDAP, SFTP, SMTP), llamar a SDK de proveedores de la nube o decodificar formatos propietarios. El alcance de los monitores es todo el ecosistema de paquetes más su propio código, no una lista de características fija —por lo que una nueva necesidad significa agregar una dependencia, no presentar una solicitud de característica.
Ejecútelo de forma privada, dentro de su red
Debido a que los monitores programados se ejecutan en el administrador de trabajos de Sintéticos, puede ejecutarlos desde ubicaciones privadas dentro de su propia red. Eso significa probar los sistemas internos con sus propios módulos, instalados desde su propio registro, sin exponer nada a la red pública de Internet.
Reciba alertas sobre anomalías de telemetría
Un monitor de API programado mediante scripts puede consultar sus propios datos de New Relic y alertar sobre el resultado según la lógica que defina en los scripts personalizados, proporcionando cobertura para escenarios que no encajan dentro de las condiciones de alerta, como consultar datos durante un período de tiempo más largo o comparar resultados con un período de tiempo anterior:
- Consulte los datos: llame a la API de NerdGraph con
$http, usando una clave de API almacenada como credencial segura, para ejecutar una consulta NRQL. - Alerta sobre desviaciones: utilice una
assertiono una lógica similar para que la comprobación falle cuando el resultado cruce un umbral o se desvíe de un período anterior.