Synthetic Monitoring is an active approach to testing a website or web service by simulating visitor requests to test for availability, performance, and function.

Synthetic Monitoring is a generic term applied to many different types of website and server monitoring solutions. Synthetic monitors operate like bots that connect to websites, web services, APIs, and servers to verify availability, function, and performance using a network of checkpoints external to the website’s own servers from various parts of the network or world.

Considered an “active” or “proactive” approach to testing, Synthetic Monitoring and conducts the test on a schedule in contrast to passive monitoring solutions (like Real User Monitoring) that require user action to initiate the test. With passive monitoring, an issue can go unnoticed for quite some time during periods of reduced site traffic. Because Synthetic Monitoring’s active approach to testing a website or service, most consider it the first line of defense against outages and slowdowns.

Types of Synthetic Monitoring

Although the list of monitor types is large, most monitors fall into one of three categories: availability, performance, and Transaction Monitoring. The more advanced monitors such as Web Application monitors and Full Page Checks cover two or more of the categories.

Availability Monitoring

Availability Monitoring (also called uptime monitoring) is the most basic form of monitoring and at its core means that the site or service is accessible, but some definitions expand that definition to include checking that the website or service functions properly as well (Advanced Availability Monitoring). In its most simple form, an availability monitor sends a Get or a ping and verifies the response for a successful code. More Advance Availability monitors may check for specific content, response time, attempt to authenticate a user, perform an API call, or verify a DNS or SSL certificate entry.

Web Performance Monitoring

Web Performance Monitoring takes Availability Monitoring to the next level and may check the page load speed, show performance on an element-by-element basis, and report on frontend and backend response times. Frequently Web Performance Monitoring uses a native browser to load the returned content for Real Browser Monitoring and Full Page Checks. Loading the returned content into an actual browser window can capture errors that don’t appear initially in the first response. Issues captured by Web Performance Monitoring include checking for content, errors and slow responses caused by third-party content, and slow responding CDNs and databases. Web Performance Monitoring also includes multi-browser monitoring and mobile monitoring.

Transaction Monitoring

Transaction Monitoring or Web Application Monitoring takes Synthetic Monitoring to yet a higher level. The checkpoint computer runs a script that can login to a service, complete forms, purchase products, and respond to system prompts. Transaction Monitoring tests the “happy paths” to ensure that visitors can complete their tasks.

How does Synthetic Monitoring work?

As described earlier, Synthetic Monitoring involves other computers or checkpoints that attempt on a regularly scheduled basis to interact with a web or network entity (Inside or outside the firewall). The process requires four or five steps depending on whether an error occurred during the test.

  1. The monitoring system chooses a checkpoint to do the check and sends the instruction to the checkpoint.
  2. The checkpoint initiates contact, checks the response, and proceeds based on the type of check the monitor requires.
  3. The checkpoint reports its results and findings back to the monitoring system.
  4. The system records the information for reporting, if the check resulted in an error, the service immediately requests a new test from another checkpoint. If the checkpoint reports the same error, the system declares the error confirmed.
  5. The system sends out an alert for the confirmed error based on the escalation settings and duty schedules.

Depending on the type of test, this process may occur as frequently as every minute or up to once an hour. Most brands check for availability ever minute, performance every five minutes, and transactions every 15 minutes.

Geographic distribution of checkpoints

Synthetic Monitoring requires simulating the end user experience, and testing from the same geographic locations as the end users is key to successful monitoring. Because errors may only affect some users, the more granular the testing, the more likely the monitoring system will capture a regionalized error. The size and distribution of the checkpoint network becomes increasingly more important with a global audience.

Why use Synthetic Monitoring?

Any company or brand that provides content or services through a network or the Internet needs Synthetic Monitoring to protect productivity, revenue, and reputation. When availability and performance are mission critical, a brand can't wait for end-users to notify them of a problem. By the time end users begin to complain, it is too late. The brand has taken on damage due to the problems, and until the problem is resolved, the brand’s reputation and revenue suffer.

Faster problem resolution

Content and supporting technology change continuously and the slightest change to the site or infrastructure can bring any brand to its knees if not everything goes as planned. Poor performance and outages appear quickly when using Synthetic Monitoring. Instant access to detailed reports about an error (sometimes with screenshots), allow teams to respond quickly. Often teams can find the root cause and implement a fix before the end users become aware.

Alerting

Alerts should happen before end users experience problems with a site or service. Although some passive approaches to monitoring include alerting, Synthetic Monitoring’s proactive approach works well for alerting a team to issues early. Synthetic Monitoring can check and verify many details and identify situations before they become problems such as reduced performance from a database server.

Tracking third-party content

Third party content comes in many different forms, e.g., advertising, payment management systems, CDNs, and analytic solutions. The performance of these third-party vendors affects the performance of the host site. Using an independent monitoring service allows brands to hold their third-party vendors accountable for their product’s availability and performance.

SLAs and Synthetic Monitoring

Besides performance and function, companies use Synthetic Monitoring to validate SLAs (Service Level Agreement). Detailed reports allow companies the ability to show the exact availability percentage for any given period. Some companies use the reports to provide proof to their customers that they have met the obligations of their SLA, other companies use the reports to track the availability of websites and services on which they rely.

Conclusion

With Synthetic Monitoring, a brand can proactively monitor web and network assets and receive alerts when things do not work as expected. Because of the flexibility offered from Synthetic Monitoring, a brand should consider Synthetic Monitoring their first line of defense to protect availability, performance, and function.