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.
For a short demo of how to create synthetic monitors with New Relic, watch the below video (5:10 minutes).
Before you create your first synthetic monitor...
If you haven't already, create your free New Relic account so that you can create your first synthetic monitor.
Below, you can get a high-level overview of system requirements, how we protect data, and how you can segment monitoring capabilities by roles within an organization.
Types of synthetic monitors
You can proactively monitor your website or API endpoints with synthetic monitors. Depending on the type of monitor, you can:
- Add and edit monitors.
- Use our NerdGraph API or the synthetics REST API to manage 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 New Relic has stopped receiving data from your hosts.
These are the seven types of synthetic monitors:
Type of synthetic monitor
Broken links monitor
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
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 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 monitors are advanced monitors which require no code to set up.
The monitor can be configured to:
Simple browser monitors
Simple browser monitors are simple, pre-built scripted browser monitors. They make a request to your site using an instance of Google Chrome.
Compared to a simple ping monitor, this is a more accurate emulation of an actual customer visit. The user agent is identified as
Scripted browser monitors
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 uses Google Chrome browser. You can also use a variety of third-party modules to build your custom monitor.
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. You can also create some synthetic monitors with Terraform. To learn how, watch this short YouTube video (approx. 3:25 minutes).
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 Google Chrome instances to your site from locations around the world so you're confident that your content is always up, everywhere.
Enhanced monitoring and reporting
Synthetic monitoring aggregates the results of each check into metrics, allowing you to see patterns and identify causes of poor performance. Synthetic monitoring also stores each and every monitor result, so you can see exactly where your website broke down.
Alerts 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.
Synthetic monitoring includes the following features:
With simple browser and scripted browser monitors, synthetic monitoring doesn't simply check that your host is up. It loads the actual page content in a real, fully virtualized Google Chrome browser (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 (browser monitoring) 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.
Use device emulation to simulate mobile or tablet devices in simple and scripted browser monitors.
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.
REST API functions
Synthetic monitoring includes a REST API, which you can use to manage: