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

Introduction to synthetic monitors

You can think of our synthetic monitors as crash test dummies for your websites, applications, and API endpoints. When you deploy a synthetic monitor, an API check or virtual browser instance runs through your most important workflows, testing your critical endpoints and reporting the results to New Relic. If there's an error, failure, or anomaly affecting your customer-facing apps, then your synthetic monitor will catch it and alert you, all before anyone has any time to notice.

Our synthetic monitoring capabilities work on your internal apps and behind firewalls, too. Set up a private location, then send containerized applications to manage the jobs (that is, to deploy the kind of synthetic monitor you'd like to deploy) in a secured context.

Synthetic monitors for proactive monitoring

Our synthetic monitors are more than just ping monitors. Synthetics can perform scriptable checks on your customer-facing or internal apps, down to the HTTP headers.

Setting up synthetic monitors with New Relic lets you:

  • Expand your browser monitoring with real, Selenium-powered scripted browsers, which test login procedures, searches, and other critical business transactions.
  • Run an API test to check certificates or make sure any kind of HTTP requests are completed.
  • Get extended use case coverage with additional Node modules for your scripted API monitors.
  • Easily diagnose whether an issue stems from the network or AWS location, a slow third party resource, or the health of your backend services or infrastructure.

You can view community-sourced examples of some synthetic monitors in our synthetics quickstarts. These examples are open source and not supported by New Relic, but contain valuable scripts and snippets that may help you cover common use cases in scripted API and scripted browser monitors.

Before you create your first synthetic monitor...

Below, you can get a high-level overview of system requirements, how we protect data, and how you can control permissions.

Types of synthetic monitors

Depending on the type of synthetic monitor you choose, you can:

You can also use the host not reporting feature in infrastructure monitoring. This allows you to take advantage of enhanced monitoring options and be notified when we've stopped receiving data from your hosts.

These are the seven types of synthetic monitors:

Type of synthetic monitor

Description

Broken links monitor

API name: BROKEN_LINKS

Provide a url and this monitor will test all the links on the page for success. If a failure is detected you can view the individual non-successful links that caused the failure.

Certificate check monitor

API name: CERT_CHECK

Proactively ping your domain certificates based on a configurable threshold. Pair with an alert to ensure you are notified when your certificates need to be renewed.

Ping monitor

API name: SIMPLE

Ping monitors are the simplest type of monitor. They simply check to see if an application is online. The synthetic ping monitor uses a simple Java HTTP client to make requests to your site.

For consistency with other synthetic monitor types, the user agent is identified as Google Chrome. However, the HTTP client is not a full browser, and it does not execute JavaScript. If you need JavaScript functionality, use a simple browser monitor.

Step monitor

API name: STEP_MONITOR

Step monitors are advanced, browser based monitors which require no code to set up.

The monitor can be configured to:

  • Assert modal
  • Assert text
  • Assert title
  • Assert an element
  • Click an element
  • Dismiss a modal
  • Double click an element
  • Enter a secure credential
  • Hover over an element
  • Locate an element by CSS class, HTML ID, link text, Xpath, or value
  • Navigate to a URL
  • Select from a dropdown
  • Type text

Simple browser monitors

API name: BROWSER

Simple browser monitors are simple, pre-built scripted browser monitors. They make a request to your site using an instance of Chrome or Firefox.

Compared to a simple ping monitor, this is a more accurate emulation of an actual customer visit.

Scripted browser monitors

API name: SCRIPT_BROWSER

Scripted browser monitors are used for more sophisticated, customized monitoring. You can create a custom script that navigates your website, takes specific actions, and ensures specific resources are present.

The monitor supports multiple browser types, including Chrome and Firefox. You can also use a variety of third-party modules to build your custom monitor.

API tests

API name: SCRIPT_API

API tests are used to monitor your API endpoints. This can ensure that your app server works in addition to your website. New Relic uses the http-request module internally to make HTTP calls to your endpoint and validate the results.

You can add and edit synthetic monitors directly in our UI.

Advanced testing with scripted browsers

Synthetic monitoring allows you to proactively monitor your website or API endpoint to ensure your content is not only available, but fully functional. Scripted browsers send real, Selenium-powered Chrome or Firefox instances to your site from locations around the world so you're confident that your content is always up, everywhere.

Scripted browsers expand your testing capabilities, so you can test uncommon user flows or beta-test complex procedures. For example, you can ensure your users are able to sign up for your newsletter, add an item to their cart, or search for and find a piece of critical content with a simple JavaScript-like language. Test your backend with API monitors, which allow you to run scripted tests against any API endpoint.

Additional features

Synthetic monitoring includes the following features:

Feature

Description

Real browsers

For simple browser and scripted browser monitors, they don't simply check that your host is up. It loads the actual page content in a real, fully virtualized Chrome or Firefox browsers (powered by Selenium) to provide testing that mirrors your users' actions.

Detailed results view

Synthetic monitoring stores every single run of your monitor for 13 months, so you can view a detailed breakdown of each and every check. You can get a snapshot of your website's performance and availability, or hunt down specific problems.

Comparative charts with browser monitoring

Use New Relic's comparative charting feature for a direct page load time comparison between real user () interactions and the synthetic monitors. For example, during a page outage, you can compare trends to see if an issue is also visible in synthetic monitoring, or if it is caused by other variables.

Device emulation

Use device emulation to simulate mobile or tablet devices in simple, scripted browser, and step monitors.

"Three strikes" before failure

Our monitors run three checks before entering a failed state. This multiple strike system helps reduce noise. For more on this, see this forum post on the three-strike behavior.

Advanced scripted monitoring

Use scripted browsers to run complex test cases against your website. Ensure critical processes like checkout and login are always running smoothly, and build a baseline to compare against when things go wrong. With a built-in scripting IDE based on Node.js, create scripts quickly without leaving your browser.

Global test coverage

Check coverage from locations around the world to ensure your users can access your website from anywhere, anytime. Monitor sites behind your firewall by adding the synthetic monitoring static IP addresses to your allow list. Use private locations to monitor internal sites or to expand your coverage to new locations.

Compatibility with popular analytics platforms

Synthetic monitoring specifically excludes scripts for popular analytics services, like Google Analytics. This ensures your analytics tools continue to receive the exact same data, even with thousands of monitors checking your website each month.

You can unblock any of the services blocked by default, or block additional services.

NerdGraph API functions

We include synthetic monitoring in NerdGraph, our GraphQL API. NerdGraph contains a number of query functions for synthetics, which you can review in our synthetics Nerdgraph documentation.

  • NerdGraph mutations for synthetics let you create, update and delete your monitors. You can also manage your secure credentials, private locations and monitor downtimes. View examples of these mutations in our documentation.
  • You can create synthetics from NerdGraph explorer, which lets you generate queries and mutations in your IaC, OaC, CI/CD pipelines and other applications.

REST API functions (Deprecated)

REST APIs are deprecated. We recommend that you use NerdGraph instead, as the new runtimes can only be managed by NerdGraph. To use REST API, see our docs:

Terraform

Terraform provides resources for each monitor type, and secure credentials and private locations. For more information, see our Introduction to Terraform, or review Terraform's docs on the Terraform registry .

What's next?

After you've set up some synthetic monitors, we recommend these next steps:

Copyright © 2024 New Relic Inc.

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