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:
- Add and edit monitors.
- Use an API to manage your monitors.
- Set up monitors from specific locations or for private servers.
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: | 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: | 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: | 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 |
Step monitor API name: | Step monitors are advanced, browser based monitors which require no code to set up. The monitor can be configured to:
|
Simple browser monitors API name: | 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: | 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: | 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 |
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.
|
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:
- Check how your synthetics data turns your aggregated results into metrics, allowing you to see patterns and identify causes of poor performance.
- See how each and every monitor result is broken down.
- Want to supplement your synthetics data with real-user data? Check out our Improve your website's performance tutorial.
- Create alerts that notify you if your website or API endpoint is inaccessible. You can even expand your geographical coverage or monitor internal websites by creating private locations.
- You can also query your monitor results for a closer look. New Relic retains monitor results for thirteen months, ensuring you can compare usage year over year.