• EnglishEspañol日本語한국어Português
  • Inicia sesiónComenzar ahora

Te ofrecemos esta traducción automática para facilitar la lectura.

In the event of any inconsistency between the English version and the translated version, the English versionwill take priority. Please visit this page for more information.

Crea una propuesta

Guía de mejores prácticas de monitoreo sintético

Con el monitoreo sintético, puede monitor y probar sus aplicaciones y abordar problemas antes de que afecten a su usuario final. A continuación te damos cinco consejos para que puedas aprovechar toda su potencia.

Elige tu monitor Sintético

Los monitores Sintético son navegadores virtuales que miden el rendimiento de su sitio web y capturan números agregados de tiempo de carga, tiempo de actividad y tamaño promedio de descarga. También tendrá acceso a estadísticas detalladas sobre el incidente del tiempo de inactividad y el recurso de cada página.

Disponemos de siete tipos de monitor Sintético para elegir, dependiendo de lo que quieras monitor y cómo quieras hacerlo. Por ejemplo, un monitor de pasos es una excelente manera de crear lo que esencialmente funciona como un browser con script sin escribir código. Si está buscando una administración automatizada de su monitor Sintético, nuestra API NerdGraph le permite crear, actualizar y eliminar su monitor Sintético a través de llamada API.

Añade tu monitor Sintético

  1. Para agregar un monitor, vaya a one.newrelic.com > All capabilities > Synthetic Monitoring.

    Si tiene una cuenta basada en la UE, vaya a one.eu.newrelic.com.

  2. Haga clic en Create monitor.

  3. Seleccione un tipo de monitor y luego complete todos los campos obligatorios.

  4. Puede agregar una etiqueta, cambiar el período o seleccionar una versión de tiempo de ejecución diferente. Para ping y monitor browser simple, puede agregar una cadena de validación. Puede utilizar las opciones avanzadas para habilitar el monitoreo de subcadenas para los siguientes tipos de validaciones de respuestas:

    • Verify SSL (for ping and simple browser). Esta opción verifica la validez de la cadena del certificado SSL. Se puede duplicar ejecutando la siguiente sintaxis:

      bash
      $
      openssl s_client -servername {YOUR_HOSTNAME} -connect {YOUR_HOSTNAME}:443 -CApath /etc/ssl/certs > /dev/null
    • Bypass HEAD request (for ping monitors). Esta opción omite la solicitud HEAD predeterminada y en su lugar utiliza el verbo GET con una verificación de ping. La solicitud GET siempre ocurrirá si la solicitud HEAD falla.

    • Redirect is Failure (for ping). Si se produce un resultado de redireccionamiento cuando Redirect is Failure está habilitado, su monitor Sintético lo categoriza como una falla en lugar de seguir el redireccionamiento y verificar la URL resultante.

  5. Seleccione las ubicaciones desde donde desea que se ejecute su monitor. Recomendamos elegir al menos tres ubicaciones para evitar falsos positivos. En otras palabras, si al menos una ubicación arroja un resultado exitoso, entonces el extremo debe estar activado y se puede evitar la activación de una alerta.

  6. Dependiendo del tipo de monitor, aparecerá el símbolo de Save monitor, Validate o Write script.

  7. Vea sus resultados tal como los recibe en la página de resumen.

Vea la página de resumen de su monitor Sintético

En la página de resumen, verás información sobre el estado de tu monitor Sintético. Si algo creó un incidente activo que desencadenó una alerta, haga clic en el enlace de alerta crítica para abrir una nueva ventana.

Obtenga una descripción general del rendimiento de su aplicación

Para garantizar que los servicios web estén implementados, funcionando como se espera y sin errores, querrá tener acceso continuo a los resultados del rendimiento de su aplicación. El monitoreo sintético brinda este tipo de garantía al realizar pruebas automatizadas en su aplicación web para cada ubicación seleccionada. Su monitor Sintético anotará el tiempo de inactividad de la instancia y recopilará los números agregados, los resultados y las estadísticas detalladas de cada recurso de la página.

Para identificar rápidamente los monitores que están fallando, puede usar el índice de la página del monitor Sintético para ver qué monitor tiene incidentes abiertos, tasas de éxito durante 24 horas, cantidad de ubicaciones fallidas, período del monitor y tipo de monitor . Cuando hace clic en un monitor, accederá a la página Summary donde encontrará información para evaluar dónde falla ese monitor en particular, por qué falla, por ejemplo, último mensaje de error, códigos de respuesta de error, duración por dominio y más. Con esta información, tendrá una información más profunda y valiosa sobre el rendimiento de su aplicación a lo largo del tiempo.

Visualiza tu monitor en tu lista de entidad

Ver resultados monitor individuales

Puede ver el rendimiento de sus aplicaciones web a medida que se accede a ellas desde diferentes partes del mundo. Su página de resultados muestra cómo todo, desde el desarrollo hasta la producción, afecta la experiencia del usuario. Puede ordenar lo que aparece en la lista para identificar mejor áreas problemáticas o resultados inusuales. Intente filtrar por ubicación para comparar el rendimiento del monitor desde diferentes ubicaciones. Para hacer esto:

  1. Vaya a one.newrelic.com > All capabilities > Synthetic Monitoring.

  2. Haga clic en Monitor y luego haga clic en Results.

    Puede ver vistas actualizadas al minuto de las cargas de página más lentas para cada ubicación del monitor.

Comprender el impacto del tiempo de carga de cada recurso

Puedes ver cómo los diferentes componentes de tu sitio afectan tu carga general en la página de recursos de Sintético . Estos componentes pueden ser CSS, JavaScript, imágenes, HTML, etc. Puede profundizar en métricas detalladas recopiladas en el tiempo de ejecución, localizar información de rendimiento sobre el tiempo invertido por recursos de terceros e identificar códigos de respuesta HTTP para cada recurso. Para hacer esto:

  1. Vaya a

    one.newrelic.com

    y luego haga clic en

    Synthetic Monitoring

    .

  2. En el menú desplegable

    Monitors

    , seleccione su monitor.

  3. Haga clic en

    Monitor

    y luego haga clic en

    Resources

    .

Configurar y desarrollar una prueba browser con script

Al utilizar un navegador con secuencias de comandos, puede crear un flujo de trabajo de monitoreo complejo con los enlaces de Selenium JavaScript Webdriver. Por ejemplo, puede log sesión en la aplicación, navegar a un enlace en particular y esperar a que se cargue un elemento de página y agregue una afirmación. Para hacer esto, usted:

  1. Vaya a

    one.newrelic.com > All capabilities > Synthetic Monitoring

    .

  2. Haga clic en el botón

    Create monitor

    .

  3. Ingrese el nombre y los detalles de su monitor. Por ejemplo, sitename.com browser con secuencias de comandos.

  4. Seleccione las ubicaciones desde donde desea que se ejecute su monitor. Por ejemplo, Mumbai, Seúl, Columbus o Montreal.

  5. Elija una frecuencia para determinar con qué frecuencia su monitor funcionará desde esto. Por ejemplo, cinco minutos.

  6. Establezca un método de notificación para alertar a su equipo cuando ocurra un incidente de desempeño.

  7. Ahora está listo para escribir su script. Consulte este script de ejemplo para probar el rendimiento de newrelic.com y verificar que ciertos elementos se hayan cargado.

/**
* Script Name: Best Practices - Chrome 100
* Author: New Relic
* Version: 1.5
* Purpose: best practices example
* Reference: https://docs.newrelic.com/docs/synthetics/synthetic-monitoring/scripting-monitors/synthetic-scripted-browser-reference-monitor-versions-chrome-100/
*/
// -------------------- CONSTANTS
const SCRIPT_NAME = "Best Practices - Chrome 100" // name to record in script log
const IMPLICIT_TIMEOUT = 3000 // default implicit timeout is 10 seconds, 3 seconds x 8 findElement operations = 24 seconds, assuming all operations time out
const PAGE_LOAD_TIMEOUT = 60000 // default page load timeout is 60 seconds, fail early to prevent long duration timeouts
const SCRIPT_TIMEOUT = 20000 // default script timeout is 30 seconds
const USER_AGENT = "default" // set the user agent for Chrome
const PROTOCOL = "https://" // set the protocol
const USERNAME = "" // username:
const PASSWORD = "" // password@
const DOMAIN = "docs.newrelic.com" // your domain
const PATH = "/docs/new-relic-solutions/get-started/intro-new-relic/" // path to main page
const CHECK = "Need some inspiration first? Check out this intro video." // text to match on page
const AUTH = USERNAME + PASSWORD
const MAIN_URL = PROTOCOL + AUTH + DOMAIN + PATH
// -------------------- DEPENDENCIES
var assert = require("assert")
// -------------------- CONFIGURATION
await $webDriver.manage().setTimeouts({
implicit: IMPLICIT_TIMEOUT, // sets element load timeout
pageLoad: PAGE_LOAD_TIMEOUT, // sets page load timeout
script: SCRIPT_TIMEOUT // sets script timeout
})
// -------------------- VARIABLES
var By = $selenium.By
var loc = {
video: By.css("#gatsby-focus-wrapper > div.css-1uz5ayg > div > main > div > article > div > div > div:nth-child(1) > div > p:nth-child(2)"),
start: By.css("#gatsby-focus-wrapper > div.css-1uz5ayg > div > main > div > h1"),
e: [
{ step: 'signup', selector: By.css("#sign-up-for-new-relic-if-you-havent-already") },
{ step: 'ingest', selector: By.css("#ingest-some-data") },
{ step: 'dashboards', selector: By.css("#check-out-some-dashboards") },
{ step: 'data', selector: By.css("#add-more-data") },
{ step: 'alerting', selector: By.css("#set-up-alerting") },
{ step: 'users', selector: By.css("#add-users") }
]
}
// -------------------- FUNCTIONS
// for backwards compatibility with legacy runtimes
async function waitForAndFindElement(locator, timeout) {
const element = await $webDriver.wait(
$selenium.until.elementLocated(locator),
timeout,
"Timed-out waiting for element to be located using: " + locator
)
await $webDriver.wait(
$selenium.until.elementIsVisible(element),
timeout,
"Timed-out waiting for element to be visible using ${element}"
)
return await $webDriver.findElement(locator)
}
// -------------------- START OF SCRIPT
// Start logging
var start_time = new Date()
console.log("Starting synthetics script: " + SCRIPT_NAME)
// confirm timeouts are set
const {implicit, pageLoad, script} = await $webDriver.manage().getTimeouts()
console.log("Timeouts are set to:")
console.log(" IMPLICIT: " + implicit / 1000 + "s")
console.log(" PAGE LOAD: " + pageLoad / 1000 + "s")
console.log(" SCRIPT: " + script / 1000 + "s")
// Setting User Agent is not then-able, so we do this first (if defined and not default)
if (USER_AGENT && 0 !== USER_AGENT.trim().length && USER_AGENT != "default") {
$headers.add("User-Agent", USER_AGENT)
console.log("Setting User-Agent to " + USER_AGENT)
}
// if an error happens at any step, script execution is halted and a failed result is returned
console.log("1. get: " + MAIN_URL)
await $webDriver.get(MAIN_URL)
console.log("2. waitForAndFindElement: " + loc.video)
const textBlock = await waitForAndFindElement(loc.video, IMPLICIT_TIMEOUT)
console.log("3. getText: " + CHECK)
const text = await textBlock.getText()
console.log("4. assert.equal: " + text)
assert.equal(text, CHECK, "validation text not found")
console.log("5. waitForAndFindElement: " + loc.start)
const platformMenu = await waitForAndFindElement(loc.start, IMPLICIT_TIMEOUT)
console.log("6. takeScreenshot")
await $webDriver.takeScreenshot()
console.log("7. findElement")
loc.e.forEach(async function (nr, i) {
let n = i + 1
try{
// verify each asset has loaded
console.log(" " + n + ". " + nr.step + ": " + nr.selector)
await $webDriver.findElement(nr.selector)
}catch(exception){
console.error("Failure in Step 7." + n)
throw exception
}
})
// End logging
var end_time = new Date()
// Calculate the duration
var script_duration = end_time - start_time
// Log the times
console.log("Start time: " + start_time)
console.log("End time: " + end_time)
console.log("Duration: " + script_duration)
Copyright © 2024 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.