• EnglishEspañol日本語한국어Português
  • Log inStart now

Get started with synthetic monitoring

Have an application that needs to stay live? Synthetic monitoring helps you proactively catch and resolve issues before they affect your customers, all without an installation.

Check page load performance

Our simple browser monitor lets you check the availability and performance of a single page, including a full page load.

Paste in a URL

Grab the URL of a page you want to test and drop it in the URL field. For best results, we recommend:

  • Selecting at least three locations that your monitor deploys from. This helps you avoid false positives on your checks.
  • Using multiple browser types, using a combination of Chrome and Firefox.
  • Adjusting the time period between checks with the Period dropdown. How often you test is entirely up to you.

View your data

When your monitor starts reporting, you can view your data in the synthetics Summary page. Go to one.newrelic.com > Synthetic monitoring > (Select a monitor) > (View your Summary page).

Mimic simple user workflows with codeless monitoring

You can build codeless step monitors that run through common user workflows. This is a good choice if you want to mimic simple behaviors across your app, like navigating across different pages, testing page elements, or typing and submitting text into text fields.

Sign into your New Relic account

Once you've signed in to your New Relic account, go to one.newrelic.com > Synthetic monitoring > Create a monitor. Choose the User step execution tile.

Create your step monitor

Give your monitor a name, choose how often your monitor runs its workflow, select from the available browser and emulated device types, and select the location your monitor deploys from.

Go to one.newrelic.com > Synthetic monitoring > Create a monitor, then choose User step execution.

Define your steps

Mix and match from a selection of 12 prebuilt steps. Your monitor can be simple, like clicking buttons to hop through different pages, or you can test a journey that looks like:

  1. A customer goes to your web app

  2. They type their email into a page modal

  3. They select from a dropdown and navigate to a different page

  4. They select something on this page, such as an item to purchase

  5. They fill out forms with secure credentials purchase that item, then submits those forms

    Whatever you choose to build, remember to click Validate before saving your monitor. Validating checks that the steps you've strung together run successfully.

View your data

When your monitor starts reporting, you can view your data in the synthetics Summary page. Go to one.newrelic.com > Synthetic monitoring > (Select a monitor) > (View your Summary page).

Test site behavior with scripted monitoring

Scripted browser monitors are a flexible monitor type that let you test website behavior. Scripting lets you deploy monitors that respond to your web apps like a customer might, choosing different paths across your site depending on conditions you've scripted.

You might choose to create a scripted browser monitor instead of a step monitor if:

  • You want to define custom timeout values
  • You want a script to take actions not offered in our step builder
  • You want to set conditions that change the path your monitor takes if those conditions are met
//Visit `http://telco.nrdemo.com/`
$webDriver.get("http://telco.nrdemo.com/");

$webdriver.get() sends your monitor to the domain you want to monitor.

$webDriver.get("http://telco.nrdemo.com/").then(function(){
//Find a link with display text that matches `About`
return $webDriver.findElement($selenium.By.linkText("About")).click();
//Click the link that matches `About`
}).then(function(){
return $webDriver.findElement($selenium.By.partialLinkText("Home")).click();
});

Once your monitor goes to a URL, $webDriver.findElement() finds the defined element, then implements an action, in this case click(). When the action is complete, the monitor navigates back to the home page using the same logic.

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);
}
await $webDriver.get("http://telco.nrdemo.com/")
await $webDriver.findElement($selenium.By.id("supportDropDown")).click();
//Wait up to 20000 seconds for the FAQ page to appear
let aboutPage = await waitForAndFindElement($selenium.By.id("supportFAQLink"), 20000)
await aboutPage.click();

Scripted browser monitors can wait a specified amount of time before reporting an error. Since some images or dynamic elements take time to generate, you can give parameters to $webDriver.waitForandFindElement(). In this snippet, your monitor finds "supportFAQLink", then waits 20000 seconds before reporting an error.

$webDriver.get("http://example.com/login.jsp").then(function(){
return $webDriver.findElement($selenium.By.name("username")).sendKeys($secure.SECURE_USERNAME);
}).then(function(){
//Find the password field by specifying its name, then submits a secured password.
return $webDriver.findElement($selenium.By.name("password")).sendKeys($secure.SECURE_PASSWORD);
}).then(function(){
//Find and click the login button.
return $webDriver.findElement($selenium.By.xpath("//inp[@value='Login']")).click();
});

You can test elements that require login info, too. We recommend that you create unique credentials for your script.

Go to one.newrelic.com > Synthetic monitoring > Create a monitor, then choose User flow/functionality for scripted browser.

What's next?

Now that you've created your first set of monitors, you're ready to explore our other features. We recommend checking out these docs:

Copyright © 2024 New Relic Inc.

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