Synthetic Monitoring
The Ultimate Guide

Guide to Synthetic Monitoring

Regardless of the industry or size of your organization, you more than likely rely on your websites, web applications, APIs, and your entire IT infrastructure to be available, performing, and delivering a wonderful experience for your users. 

However, we know that websites and applications are not a “set and forget” type of implementation. Any variety of issues, including software bugs, hosting issues, third-party plugins, or worse yet, an attempt by hackers, could cause your websites, API, and applications to fail or dramatically affect performance for any length of time, causing frustration with users and affecting your organization’s bottom line. Are you proactively monitoring these services to ensure that they are continually performing as intended?

Luckily, there are synthetic monitoring tools and solutions that can help you keep track of your assets automatically. So, what is synthetic monitoring? The definition of synthetic monitoring is a technique that simulates actual user behavior and actions, or transactions, within a website, web application, API, etc., using a scripting tool. These scripts become the monitors, checks, or agents (depending on the vendor’s terminology) and can be automated to run at regular intervals to ensure they are functioning, available, and responding within specified performance thresholds. Synthetic monitoring can be implemented within your own network, inside your firewall, or externally from global locations to simulate the specific browsers your users utilized and the locations they arrive from.

Synthetic Monitoring – Why It Matters

Performance issues can happen anywhere, anytime due to the complex architectures of SaaS (Software as a service) offerings. Issues may be prevalent while accessing the services from the browser on a person’s computer, an app on a mobile device, across the web or an enterprise WAN, across third-party vendors and public cloud vendors, to the IT infrastructure running inside data centers. 

Synthetic monitoring lets you measure application performance 24/7 from every vantage point and alerts you to issues before they affect your users. Even if an issue arises during non-peak hours, or other low-traffic periods, you must quickly find, isolate, and fix the issue to protect revenue and brand equity.

Synthetic monitoring is an effective tool to monitor applications, pages, APIs, etc., from the user’s perspective, so you can better understand how they perform in front of the user. Synthetic monitoring can be implemented to run basic uptime checks to monitoring complex and critical business transactions. Additionally, these tool and solutions allow you to also test and monitor external, or third-party applications, to provide you with necessary performance data for resources that your sites or apps rely on.

Benefits of Synthetic Monitoring

To address the challenges of understanding and tracking the performance of modern web applications, synthetic monitoring can be the perfect solution. The purpose of your specific web page or application determines the paths your users take. In synthetic monitoring, the behavioral paths of the end users on a web app are scripted. Those scripts are run on set intervals, and, if necessary, from different checkpoints, and the performance, availability, functionality, and response time can be measured. 

Below are just some examples of the benefits of synthetic monitoring.

  • Continuously monitor web page speed and load times, application performance and availability.
  • Set up and receive alerts when downtime or pre-defined performance thresholds are met.
  • Examine backend server/infrastructure performance and metrics.
  • Monitor third-party services and APIs.
  • Monitor user transactions/flows that are critical to the business.
  • Set baseline performance metrics and compare against ongoing performance data.
  • Identify browser or device-specific issues.
performance report
Synthetic monitoring offers the benefits above (and more). Compared to other monitoring types, such as RUM (Real User Monitoring), which we will discuss later in this guide, synthetic monitoring is a cost-effective and reliable method of monitoring that will provide immediate ROI.

Do You Really Need Synthetic Monitoring?

Modern web applications and pages, such as single-page applications (SPAs), put the user experience at its utmost priority. Applications and pages are expected to be available 24/7, anywhere in the world, usable on any screen size, secure, flexible, scalable and be ready to meet traffic spikes on demand. Therefore, there are a lot of chances and opportunities for errors to occur. Website and web application technologies have grown tremendously over the years. Websites are now more than just the storage and retrieval of information to present content to users. They now allow users to interact more with the company in the form of online forms, shopping carts, Content Management Systems (CMS), online courses, etc. The list goes on and on. To help teams proactively identify errors, frequent and automated real-time synthetic monitoring checks should be considered.

These modern-day web applications and websites require more than basic HTTP (Hypertext Transfer Protocol) monitoring. They need to provide a pleasant experience to keep new customers and increase business. By implementing the correct monitoring method, you can ensure that elements, content, and the user experience is intact and functioning properly. The right synthetic monitoring solution can give you the technology and tools to provide and outstanding user experience for all your complex applications and pages.

It is especially important (some would say critical) for a business that depends primarily on their websites and applications to have incredible uptime and performance, 24/7. Users who rely on your sites, applications, and APIs for their fundamental needs or entertainment, will not tolerate even a few seconds’ delay. Proactive detection and diagnosis of web application and page performance issues are necessary. Synthetic monitoring can occur at different global checkpoints and at different frequencies to make sure you are delivering the best experience to your users all the time.

Real User Monitoring vs. Synthetic Monitoring
What is the Difference?

When looking for a website or application monitoring solution, you will come across two distinct types, active, or synthetic monitoring and passive monitoring, which is also known as real user monitoring, or RUM for short. As the name implies, RUM relies on real users to gather performance data on user paths, or transactions. RUM solutions typically work by utilizing a snippet of JavaScript code that tracks individual users and reports back on the various performance metrics and data, like response times, load times, errors, browsers, and locations, etc., and provides that data to a single dashboard to help teams observe and ensure applications and pages are responsive and functioning properly.

And as we have discussed in previous sections of this guide, synthetic monitoring is a type of active monitoring that, instead of relying on actual users for data, uses scripts of the various user journeys, paths, and transactions, and replays those at certain frequencies to continuously check performance of your web pages, apps, and APIs. Additionally, with most synthetic and RUM monitoring solutions, users have many options for setting up alerts, so if a web page goes down or an application is not performing within a specified threshold, an alert is immediately sent off to the appropriate team members.

Real User Monitoring vs. Synthetic Monitoring
Advantages & Disadvantages

As we have discussed in this guide, both RUM and synthetic monitoring are two types of monitoring concepts that are effective for understanding how your sites, applications, and APIs perform in front of users. Let us talk about some of the advantages and disadvantages of both RUM and synthetic monitoring to better understand which type is best suited for your organization.
  • Real user monitoring captures data in the background as real users browse through pages. However, this can also become a disadvantage because there can be a lot of data to sift through.
  • Synthetic monitoring does not depend on real users to produce performance monitoring data. Scripts can emulate complex, real user paths and transactions for continuous monitoring.
  • Depending on the synthetic monitoring solution utilized, scripting tools can be extremely user friendly and support many types of application frameworks and technologies.
  • Since RUM relies on real users, there may be monitoring performance gaps. This is where synthetic monitoring is an advantage. It can be run at regular frequencies and notify when issues happen, as well as helping to gauge and compare performance over time.
  • Synthetic monitors or devices can be set up to run from multiple locations. Unlike RUM where the data comes is dependent on users.
exchange server monitoring online reporting
While both these monitoring methods are powerful by themselves, they can also be used together to complement your overall monitoring strategy. It comes down to how complex your environment is, what types of applications need to be supported, and budget. There are many great monitoring solutions in the market, and we will talk more about what each solution offers later in this guide.

Real User Monitoring vs. Synthetic Monitoring vs. APM Tools

Over the last several years, there have been a couple of terms that continually get confused with one another: Application performance management and application performance monitoring. While the acronyms are the same, they are different, yet related concepts. The key difference is that application performance management is a broader concept that includes several different dimensions and areas of focus, which includes RUM as well as synthetic monitoring. Traditional APM (Application Performance Management) stack trace tools track and gather the following critical information about your applications and servers:
  • Identifying and resolving issues at the code-level
  • Availability, uptime, and performance of applications to ensure they are up and accessible to end users.
  • Response time measurements of page load times and user transactions to ensure pages and applications are performing adequately.
  • Information on system resources, such as disk usage, input/output, memory, and CPU usage.
  • Application request failures, or error rates, and application bottlenecks and bugs.
    Application performance monitoring tools and solutions provide useful information that is required for you to provide flawless user experience and reduce MTTR (mean time to resolution). Application performance monitoring focuses on to following aspects:
    • Monitoring normal flows and identifying any unusual behavior.
    • Collecting supporting data on system-wide abnormal behavior and issues.
    • Analyzing the data and how it is affecting the business.
    • Fixing the detected problems and place measures in place to prevent similar issues from happening again.
Application performance monitoring tools and solutions can notify you when an error occurs but may not be able to give you the “why” something is down, like a comprehensive application performance management tool can. However, application performance monitoring tools allow users to monitor performance benchmarks, identify potential issues and bugs, and monitoring your digital resources.

Synthetic Transaction Monitoring Explained

Synthetic transaction monitoring emulates how a typical user would access and use your pages, applications, or other webservices, so your teams can better understand overall performance from their perspective, and if necessary, adjust any performance bottlenecks. Synthetic transaction monitoring makes it easy for development teams by automatically alerting them when errors occur, giving them time to fix performance issues before impacting more users. Web development and IT teams have a significant role to play in business growth and revenue optimization.

Both your employees and users are now expecting better than ever experiences and performance while using your digital assets. If there is any problem that they face, it should be resolved in real-time. So, let us talk more about how synthetic transaction monitoring can be utilized to put all the pieces of your monitoring performance plan together and provide your users with a better overall experience. Synthetic transaction monitoring helps teams validate performance, maintain application performance baselines, and ensure a consistent user experience.

Monitor from Every Stage of Development
As development teams move to more agile practices, monitoring during the development process becomes more critical. Instead of waiting until software, applications, or web pages go into production to begin monitoring, teams can set up synthetic monitors during development, so as changes and updates are made, teams can better understand the effect on performance. This helps to ensure that any performance issues discovered in pre-production are resolved, and provide a better, more optimized application. Once your application goes live, the cost to fix bottlenecks and performance issues increases substantially. Employing synthetic monitoring at various stages of development brings your application performance life cycle together. It thins the barriers between your development, QA/QC, security, and operations teams and provides a common platform for metrics and diagnostics.
Measure the Impact of Third-party Applications and Components
Today’s websites and applications can depend on many third-party elements and APIs. For example, applications that support ecommerce paths to purchase, digital advertising, rating or review systems, embedded videos, etc. A typical web-based application will typically communicate with eight or more third-party services. To the user, this can enhance their experience and help to increase conversions for the business, however, these can also be problematic. If one of these third-party services is not performing properly, it can affect the experience and outcome of your user’s journey. And worse yet, your users will not realize that the issue is with an external resource, and instead, hold your company responsible and assume it is an issue with your system. Synthetic monitoring can help protect your organization from third-party application issues and maintain proper performance with your users.
Discover Performance Issues Before Your Users Do

Getting ahead of any application, page, or API performance issues is vital to ensuring that, when errors or downtime does occur, you and your teams can remedy the issue as soon as possible. The benefit of synthetic monitoring is that it is always running. Whether during times of high traffic or busy shopping days or times of low traffic, synthetic monitoring gives teams the early detection needed to find the root cause of performance issues and remedying them before impacting more users. Additionally, synthetic monitoring becomes more critical as your organization moves into more territories and regions. Keeping your systems, web pages, applications, and APIs up and running ensures that your business has a better chance of meeting its objectives.

When it comes to page or web application issues, preventing errors before they impact a wider audience is always a better solution than responding when issues occur. Without synthetic monitoring, by the time you or your teams are notified of downtime issues, the damage has already been done. Synthetic monitoring can help avoid embarrassing downtime events. Even if the issue lies with a third party, you can assure your users that you have identified the issue and are proactively working on resolving it.

Synthetic Monitoring – Best Practices

Synthetic monitoring is one of the best ways to ensure your websites, applications, and APIs are available and performing as you and your team intended. It can be as simple as regularly checking uptime of your website or, for more complex ecommerce paths, scripting the user experience and running more frequent monitoring checks. Whatever your need, synthetic monitoring is a great, cost-effective way to ensure uptime and performance. In this section, we will talk about best practices with synthetic monitoring.

Synthetic Monitoring Basics (For Beginners)

One of the most basic types of monitoring is uptime monitoring, which is just ensuring that your website, application, or API is available or not. It will not give you a definitive reason into why it is down, but you may receive a specific HTTP error message that can point you in the right direction. This is also sometimes called HTTP Monitoring, or protocol-based monitoring, and is one of the more basic synthetic monitoring checks that can be implemented. A request is sent from the client, the server receives it, and an HTTP message is sent back as the response. Most HTTP response messages are never seen by users, so these are important for development teams and website owners.

Typically, any error message will also be sent back along with the response. Based on monitoring settings, it will look for certain key components. If that is available, then a positive response is received. The response brings only the content of the page, which contributes to the page availability. Monitoring of page load time, page length, response time, and request code can also be observed with the traditional HTTP monitoring. This type of monitoring will not look for the aspects like CSS (Cascading Style Sheets), scripts, third-party content, and images that contribute to major parts of the web pages. There are certain circumstances where HTTP requests fail.

Intermediate Synthetic Monitoring (For Experienced Users)

A step up from uptime, or availability monitoring, is web page load time/page speed monitoring. This type of synthetic monitoring is considered intermediate as now you are focused on understanding performance with client-side/browser elements, like CSS, scripts, third-party components, images, etc., that basic HTTP checks do not include and take into consideration. Any website that users rely on heavily, whether it is for entertainment or more fundamental needs, like buying goods or services, should try to have an uptime of 99.9 percent. Frequent downtime is going to make the user frustrated and leave your site or application, costing the company lost revenue.

All the time and effort into developing and creating a solid web page is lost if you are not monitoring what page load times are for your users. Every element like text, navigation, headers, graphics, contact options, analytics, footers, contributes to the page load time. Furthermore, a broken link could cost you more if the link is present on a sales page. Broken links may arise if the destination URL is misspelled, or the page does not exist. It gives the user the impression that the site is not maintained properly. For this reason, monitoring every page element is crucial to providing a seamless experience.

Advanced Synthetic Monitoring (For Professionals)

More advanced synthetic monitoring techniques include setting up monitoring checks for more complex user transactions and paths, such as browsing through product pages, logging into a portal, and shopping cart/ecommerce paths to purchase. There are various monitoring tools and solutions available, both open-source and paid options, that provide a way to script these scenarios and workflows, either through manual line-by-line scripting, or using a script recording tool. While open-source monitoring solutions are free to use and may offer support for more than one type of scripting framework, the process of creating and setting up scripts just takes more time, which can take away form more important development projects.

However, some script recorders, like the EveryStep Web Recorder, which is part of the Dotcom-Monitor platform, is a straightforward way to script the critical scenarios from the actual browsers and devices used by your visitors. By monitoring the full user workflow from beginning to end, you can better understand performance through each step of the process. Being proactive in this approach allows teams to ensure applications or pages are loading quickly and properly, that content is rendering correctly, and performance is all within pre-defined thresholds to ensure your applications, pages, and APIs are all working as expected.

Try Dotcom-Monitor Free For 30 Days.
Sign up Today!

Benchmarking with Synthetic Monitoring

Baselining, benchmarking, and analyzing performance with a synthetic monitoring solution is an everyday practice to deliver top-of-the-line performance and experience to the customers. Synthetic monitoring offers a predictable environment for SaaS vendors to measure performance 24/7. Synthetic monitoring allows baseline tests to mimic the actions of your application. These tests are integral to testing transactions and geographic locations over multiple browsers and devices. Using the data gathered from your baseline tests will help support your monitoring efforts later, as well as verify that you are continually meeting performance requirements, help you find areas of improvement and present you results for planning capacity.

The difference between baselining and benchmarking is that while baseline tests are used, for example, to determine how responsive and fast your applications, as well as identifying bottlenecks, benchmark testing typically consists of not only the performance of applications, but the overall performance of your organization’s software, hardware, and network components. These metrics are used by organizations to maintain quality standards for their software releases and meet industry-specific standards. And like we mentioned in the previous section, benchmarking metrics are also commonly used to set industry SLAs (service level agreements).

Metrics to Track with Synthetic Monitoring

The requirements for today’s web applications and pages revolve around the fact that the user experience is priority number one, regardless of where or when they visit. Development teams must consider multiple desktop and mobile browsers, screen sizes, and location. All these variables require a variety of metrics be taken into consideration to determine overall performance. A few of the metrics that should be tracked include the following:

  • Response Time. Response time is the time it takes for a response to be sent from the server back to the client. However, there are other metrics that also need to be considered, such as the DNS (Domain Name System) time, connection time, Time to first byte (TTFB), and last byte. Issues with any of these could be an indication of limited bandwidth or your server.
  • Latency. Latency is the time between when a user makes a request to when that request is received and processed. Obviously, a lower latency is better and can lead to a seamless experience.
  • Load Time. While TTFB has become a more important metric in keeping users engaged, the overall page load time should not be ignored. DOM (Document Object Model) elements, CSS, scripts, third-party components all need to be monitored. Any performance lags here could be an indicator of large files, such as image files or JavaScript.
  • System and Network Resources. Any significant increase in response or load times could be indication that there is a problem with your physical hardware. Monitoring CPU usage, I/O, memory, and disk usage can give insight into whether the issue lies within your network or somewhere else.
Proactively monitoring these metrics allows you and your teams to better understand performance over time and pinpoint if future changes have negatively affected user performance.

Synthetic Monitoring in DevOps Explained

Synthetic monitoring, along with other software testing tasks like functional and performance testing, should be carried out at the same time, or as early as possible, throughout the software development process. Organizations that implement DevOps practices can shorten development cycles while delivering high-quality and performing software products in a continuous integration (CI) environment. DevOps practices have been around for more than a decade but have really gained popularity and adoption over the last several years. DevOps practices came about as part of the Agile methodology and brings together software development and operations functions.

Carrying out these development and testing processes in tandem allow teams to gain a more complete picture of how their applications will perform for users throughout the development process. This way, if at any time performance is out of line with expectations or bottlenecks and bugs creep into the application, it can be resolved during development. This is also known as shift-left testing, which refers to moving testing tasks to the left of production, or as early as possible in the software development process. Again, the goal being to streamline the development process while focusing on releasing quality software products at the same time, rather than carrying out tasks one after the other as was done in early software development practices. Once the application is pushed into production, any performance issues that arise while monitoring become more time-consuming to discover, and more expensive to fix.

Synthetic Monitoring Pros and Cons

While there are many benefits to implementing a synthetic monitoring solution for your web pages, web applications, APIs, and other web services, nothing is without drawbacks. We will now look at some of the major advantages and disadvantages of synthetic monitoring.

Synthetic Monitoring Advantages

  • Proactively monitor uptime, availability, and performance of your services, sites, and applications 24/7. No waiting for actual user data like RUM requires.
  • Monitor third-party applications. This is especially important for ecommerce sites that rely on third-party integrations and add-ons for shopping carts and payment applications.
  • Get notified when errors or issues occur and resolve them before users are impacted.
  • Set up monitors or monitoring devices from multiple locations, where your users are located.
  • Gain insights on overall infrastructure and server health and performance.
  • Script and monitor critical multi-step transactions and user paths.
  • Continuously track and meet SLAs.
Alert Throttling

Synthetic Monitoring Disadvantages

  • Unlike RUM, synthetic monitoring uses a scripted setup. We all know that the user journey is not as linear as we would like it to be, so by scripting certain paths, you may inadvertently ignore other paths. However, most modern web applications do not have complex paths, so it is not as much of disadvantage as it may seem.
  • Troubleshooting user or device issues in real-time. If your users run into issues with your website or applications, synthetic monitoring will not be able to identify the causes for the exact issues at the time they happen.

Synthetic Monitoring and Testing Checklist

With the digital landscape shifting everything on the web, and companies fighting for better user experiences, your sites and applications are no longer just a part of your business, it is the business. But how do you to go about it and remain successful? How do you ensure you are monitoring everything you need and not missing any gaps? This is where synthetic monitoring and performance management comes into the picture. Creating a synthetic monitoring checklist is a great start to gather all your web assets and understand where you need to begin your synthetic monitoring journey.

As we explained in earlier sections of this guide, synthetic monitoring can come in various forms. From simple uptime checks to scripting complex user journeys. The first step in creating a synthetic monitoring and testing checklist is to prioritize which applications and pages, and the infrastructure behind these, are most critical to your business. The focus should be on the applications and pages that are critical to the bottom line and how frequently they should be monitored. For critical applications, every minute might be necessary. From there you can work your way down the list. In addition to that, you will want to also know which browsers and devices are most popular with your visitors.

One way to get that information is from analytics tools like Google Analytics. This will help with scripting the paths based on specific browsers and devices. Lastly, do not forget about your applications or pages that use third-party APIs. These tend to go unnoticed until something goes wrong, however, their performance is critical to your performance, so make sure these are included, where applicable. Use these tips as a starting guide when implementing synthetic monitoring. And make sure as your system, applications, and pages change, so should your monitoring checks.

Open-source Synthetic Monitoring
Should You Be Paying for a Better Tool?

The debate of whether open-source software or commercial, or paid, software is better has been going on for decades. A quick search will provide you with endless options, which will not make it any easier when deciding whether which solution is right for you. However, we will cover some of the benefits of free, open-source, and paid synthetic monitoring tools, talk about some examples, and hopefully this will make your decision easier.

When considering any free or open-source synthetic monitoring tool, what you may typically, but not always find, is that they provide limited monitoring functionality. Additionally, you may find that comprehensive APM and infrastructure/network monitoring tools, like SolarWinds, AppDynamics, CA Technologies, ThousandEyes, or New Relic offer synthetic monitoring. While these are commercial solutions (and more expensive) and geared towards large enterprises, synthetic monitoring is just a piece of their overall offering. So, finding the right balance between a monitoring solution that supports your environment and requirements, without additional bells and whistles, would be the ideal solution.

Solarwinds logo
new relic logo
uptime robot
ca technologies

Free tools like UptimeRobot and StatusCake can create basic checks from a limited number of monitoring locations to check web page availability, response times, and uptime. If we look at open-source monitoring solutions, like Nagios or Prometheus, these solutions do offer more monitoring features and functionalities, but like other open-source software, setup can be time consuming, and you need to have a knowledgeable team to support it. Additionally, security and lack of customer support are other typical paint points of open-source software. While there may be a large community of developers behind the project, it is not a replacement for the dedicated support you would find with paid monitoring solutions.

Try Dotcom-Monitor Free For 30 Days.
Sign up Today!

Synthetic Monitoring Tools Comparison

Websites, applications, APIs, and web services have changed dramatically over the last decade. Websites have gone from simple pages displaying content to a business-critical service of your company, responsible for generating revenue. Applications and APIs too have seen a major shift. Where it was nice to be able to share basic information with other programs, there are now entire ecosystems for API creation and development, because, along with websites, applications and APIs are the driving force behind creating seamless user experiences and driving efficiencies and revenue. All these services must be working together and continually available and performing as your teams intended (and users expect). If they are not, they are going to be left waiting, frustrated, and go somewhere else.

 

When sites and applications were not as complex as they are now, there may have been no real need for monitoring. Content was relatively static, and other than be able to view on-page content, users were limited in what they could do. So, ultimately, no one really gave too much attention to how fast pages loaded or what their experience was like. Obviously, web applications technology and frameworks evolved, becoming more complex and dynamic. Additionally, as more browser versions came into the fold, the responsibility slowly pushed from the server to the browsers for rendering all these elements. All this complexity cannot be monitored manually from just a handful of people on your team, so the need to have a synthetic monitoring solution that can proactively monitor all your requirements, 24/7, is now a critical piece of your overall performance testing and monitoring strategy. Let us look at some of the best synthetic monitoring tools in the market.

Dotcom-Monitor

The Dotcom-Monitor platform provides a wide range of synthetic monitoring solutions. No matter what level of monitoring you are looking for, there is an option for you. The platform is broken out into four different packages. Start with one and add multiple packages as your business needs change.

  • Web Services. Monitor web services and APIs like SOAP (Simple Object Access Protocol), REST (Representational State Transfer), WebSockets, and SSL (Secure Sockets Layer) certificates.
  • Web Pages. Set up monitoring for web pages from multiple types of desktop and mobile browsers/devices.
  • Web Applications. For web apps or pages with critical multi-step transactions. Utilizes the EveryStep Web Recorder for point and click scripting. No complex coding necessary.
  • Internet Infrastructure. Complete end-to-end monitoring for email and web servers and protocols like FTP (File Transfer Protocol), VoIP (Voice Over Internet Protocol), ICMP/Ping, and more.

The Dotcom-Monitor platform is a SaaS-based solution, so there is no need for time-consuming setup or installation for any program files. Everything you need can be managed from the dashboard. And if you need to monitor applications from within your own network, from behind your firewall, the platform offers a Private Agent feature to allow for that capability. Lastly, the same platform for monitoring is also tied into the performance testing solution, LoadView. There are few solutions that combine both load testing and monitoring. Another solution that does is Apica. So, in the case of LoadView, for example, the web application scripts you create for load testing can be moved into the Dotcom-Monitor platform for continuous monitoring. For additional information on all the features and benefits of the Dotcom-Monitor platform, visit the Features page.

Uptrends

Uptrends is a well-known cloud-based monitoring solution. And compared to other solutions in the market, they offer a wide range of synthetic monitoring products, as well as a RUM option as well. Monitoring products include synthetic monitoring, RUM, server and network, and an on-premises monitoring solution as well. Uptrends has over 220 monitoring checkpoints, so there is no shortage of monitoring locations you can choose from. 

uptrends

However, not all checkpoints offer full-browser monitoring capabilities, some locations only offer basic HTTP uptime checks. In terms of pricing, Uptrends offers just few different monitoring packages, based on size of your company or team, from small, medium-sized, and enterprise-level companies. So, unlike Dotcom-Monitor, where the packages scale up based upon your monitoring needs, Uptrends packages various products within each tier, so you may get features included that you do not utilize.

site24x7

Site24x7

Site24x7 is a website monitoring solution that has been around a long time in the industry, so over time it has become a comprehensive monitoring solution. Like Uptrends, their monitoring services are offered in packages that include everything from basic website and transaction monitoring to all-in-one packages, full-fledged APM solutions, RUM, and everything in between. And like Uptrends, they also have a lot of monitoring locations, in fact, over 100 locations scattered across the world. 

One downside to Site24x7 is that users have commented that it does not support all the most popular languages and application frameworks and that more features were needed to make this a more robust monitoring solution. Also, because the Site24x7 platform is so comprehensive, users have noted that dashboard can be complex to navigate. However, they do offer the ability to customize the dashboard layout, so you can set it up to include only the metrics and devices you want to see.

Datadog

We talked about APM solutions earlier in this guide, but Datadog is one of the handful of popular APM solutions in the market today. And with APM solutions, you tend to get a bit of everything, like infrastructure monitoring, synthetic monitoring, RUM, observability, network monitoring, incident management, security, log management, etc.
datadog logo
Another solution like Datadog is Splunk. These tools pull data from various ecosystems, including on-premises and cloud services, like AWS (Amazon Web Services) and can display this information for development team, giving them full-stack visibility into all their systems and applications. These APM solutions also allow for unlimited integrations, like automation vendors, container vendors, performance testing, and in some cases, other monitoring solutions that we have listed in this guide.

Pingdom

Pingdom is another monitoring platform that offers both synthetic and RUM monitoring options for customers. Pingdom has been around since 2005 and is a well-known monitoring solution. Their synthetic monitoring solution offers basic uptime monitoring for websites and applications, as well as a transaction monitoring option that can record user transactions like the shopping cart process, login steps, product searches, and more. 

Pindgom users can set up alerts when uptime outages occur and notify the right person or team immediately via text, email, or third-party apps like Slack, PagerDuty, VictorOps, and more. Pingdom boasts over 100 servers from around the world to monitor performance. Pingdom was acquired by SolarWinds in 2014 and now users have the option to integrate with the SolarWinds APM platform for full-stack monitoring.

Dynatrace

Dynatrace is another comprehensive all-in-one APM platform used for full visibility into an organization’s IT infrastructure. Everything from websites, applications, and microservices to cloud automation, digital experience monitoring (DEM), and security are all available from within the Dynatrace platform.

dynatrace
Dynatrace’s history has its roots in synthetic monitoring solutions like Keynote and Gomez. Over time, as application frameworks became more complex and more browsers were introduced into the market, these solutions were discontinued. Today, Dynatrace can be deployed on-premises or from the cloud and utilizes AI to map, track, and log data metrics across an organization’s environment to automatically discover errors and impacts to the business.
Try Dotcom-Monitor Free For 30 Days.
Sign up Today!

Three Fundamental Synthetic Monitoring Features

We have discussed the various classes of web performance monitoring tools, like RUM, APM platforms, and compared various commercial and open-source synthetic monitoring solutions. Each of these solutions and monitoring types have their own advantages and disadvantages, however, if you are in the process of searching and evaluating a synthetic monitoring solution for your organization, here are the most essential monitoring features and capabilities you need in a synthetic monitoring tool or solution.

Support for Scripting Multi-step User Paths and Business Transactions

A key benefit of synthetic monitoring solutions, the ability to script complex and business-critical user paths and transactions is vital to ensuring that shopping cart processes, portal logins, product search functions, and more, are continually functioning properly for users. Additionally, the right scripting tool can make all the difference. Many open-source solutions provide manual scripting support, which can end up being time-consuming, leaving you spending more time scripting than setting up your monitoring tasks. And if your website or application changes regularly, this can end up being a burdensome task.

rendered in browser

Commercial-based synthetic monitoring solutions, like Dotcom-Monitor, provide a browser-based scripting tool, called the EveryStep Web Recorder, to quickly record and set up scripts for monitoring interactive applications and web pages by simply navigating through your applications the same way your users would. It supports real browsers, popular web application frameworks, and devices. Test automation tools like Selenium IDE are popular among development teams due to its low barrier to entry, but while free tools are appealing, these tools come with a large learning curve, testing limitations, and no dedicated support if you run into issues. Having the right scripting tool can make all the difference. The ability to quicky create scripts that emulate your user’s actions will provide you with better monitoring data down the road.

Monitoring Multiple Test Scenarios

Compared to RUM, where the monitoring data must come from the actions of real users, synthetic monitoring allows teams to set up a variety of scenarios that can be used to compare against each other and to see how performance varies between each one. This gives teams more flexibility and provides insight into how the performance of different scenarios may be impacted. For example, if you are monitoring web pages, maybe you want to understand how performance varies between desktop and mobile devices. And even more, maybe you want to set up your mobile device with a specific network speed. With a synthetic monitoring tool, like Dotcom-Monitor, you can do this. Or perhaps your web team wants to create multiple landing pages for your site and wants to carry out some A/B testing. Synthetic monitoring can be used to check overall page performance, as well as ensuring that users can navigate through the page as intended.

Another use case for synthetic monitoring is testing how your pages or applications perform with a CDN (Content Delivery Network) and without one. No doubt your users can access content from anywhere in the world, so how your sites and applications respond from around the world is another consideration to monitor. A CDN can be useful for delivering content faster to users located farther from your origin server. Synthetic monitoring can be used to compare performance across different geographies. And not only that, if you are using a CDN, synthetic monitoring can ensure your provider is meeting the agreed upon uptime, availability, and performance SLAs.

Alerting and Reporting

Synthetic monitoring is all about being proactive. Getting informed quickly about downtime or performance issues is key to ensuring impacts to performance are limited to as few users as possible. A synthetic monitoring tool or solution should be able to provide all the data you need to pinpoint areas that need attention. Depending on your site or application, you may need as frequent as down to the minute monitoring or a monitoring check every few hours for those that are not as business critical. Make sure the tool or solution you use can provide this flexibility. When seconds matter, this can make or break user engagement.

A solution like Dotcom-Monitor provides multiple alert mechanisms, such as text, phone, call, emails, and webhooks. Dotcom-Monitor also provides support for third-party alert and workflow tools your team already uses, like PagerDuty, Slack, ServiceNow, and more. Alerts can be set up to be sent to teams, individuals, as well as configured to be sent during certain times of the day or even when downtime occurs for longer than anticipated. Additionally, with a variety of external global monitoring locations, you can better understand if uptime or availability issues are due to local outages or more widespread.

Lastly, performance charts and dashboards should provide your team with a visual representation of page and application monitoring performance data to assist in quickly identifying areas of downtime or errors are occurring. The Dotcom-Monitor platform provides a variety of reporting options that can be selected while creating your monitoring device.

performance report
Online Analytics.

This includes waterfall charts, monitoring device summary data, host breakdown, and errors. Additionally, for web page and web application monitoring, users can view a video capture of the monitoring session to see errors from the user’s perspective.

network cloud
Visual Traceroute.

The visual traceroute shows specifically where network errors are occurring as data packets pass through routers and switches on their way to their destination. These are displayed visually on a map to give teams a better way to identify exactly which nodes are causing errors. It is also here where you can see metrics and data on round-trip time (RTT), IP (Internet Protocol) addresses, and DNS-specific issues.

Real-time Dashboards.

Dashboards provide a window into current, real-time performance of your devices and tasks. These can be configured to include any number of devices and can be shared with internal individuals, teams, and stakeholders.

SLA Reports.

The SLA report can be used to track a service provider’s adherence to SLA requirements. This special, on-demand report can be configured by specific locations, reporting periods (daily, weekly, monthly, or quarterly), SLA uptime, and start and end dates. Once the report is ready, uptime will be displayed in green. Any periods of downtime will be displayed in red. Periods where monitoring was postponed will be displayed in yellow.

Try Dotcom-Monitor Free For 30 Days.
Sign up Today!

The Ultimate Synthetic Monitoring FAQ

Synthetic monitoring is an effective method to proactively track the performance of your web pages, applications, web services, and overall system performance. Unlike RUM, which relies on real user data to understand performance, synthetic monitoring can be automated to run 24/7 and is an ideal method for ensuring that the user’s experience is hassle free. Get alerted when performance errors occur so you and your teams can troubleshoot them before impacting additional users. Additionally, monitoring checks can be set up from multiple locations around the world, so if most of your users are in specific regions, you can ensure your most critical applications performance from those regions are always performing optimally. Let us look at some of the most frequently asked questions regarding synthetic monitoring.

Table of Contents

What is synthetic monitoring?

Synthetic monitoring is a type of monitoring that simulates actual user behavior and actions, or transactions, within a website, web application, API, etc., using a scripting tool. These scripts become the automated checks that run at regular intervals to ensure they are functioning, available, and responding within specified performance thresholds.

 

How does synthetic monitoring work?

Synthetic monitoring works by automating simulated checks against a website, application, or API, in the same way a typical user would navigate through them. These checks can be set up at regular intervals, such as every minute to once a day, to proactively check for uptime, errors, or availability. If at any time performance thresholds are not met, or a web page goes down, alerts can be sent to the necessary individuals so you can get back up and running.

 

How do you run a synthetic monitoring test?

Running a synthetic monitoring test is the best way to proactively ensure your pages, applications, and APIs are up and running. Monitoring tests can be run for basic HTTP/S uptime checks, web page load times, or for more complex sites and applications, scripting critical user steps and monitoring each step of the user journey. Next, you want to set the appropriate monitoring locations, schedules, and alert types (groups or individuals) and how the alert is sent, such as text, email, or phone call for example. Lastly, you will want to set up your reports and reporting frequency so you can compare monitoring performance over time.

 

How does synthetic monitoring differ from real user monitoring (RUM)?

Synthetic monitoring, compared to real user monitoring (RUM), is different in a few ways. One of the major differences is that with synthetic monitoring, you can continually monitor your pages or applications at various times 24/7. RUM requires actual user data, so to get that data, users need to be using your site, application, or API. While this is ideal because you are getting data from actual users, getting enough data can take a lot of time. Additionally, where synthetic monitoring can be set up to monitor tasks with various browsers, RUM is dependent on the user’s browser, so there may be monitoring gaps.

 

How does synthetic website monitoring differ from other types of synthetic monitoring?

There are various levels of synthetic monitoring and website monitoring is just one of the numerous types of synthetic monitoring. Like we mentioned in this guide, there is also availability and transaction monitoring. Synthetic website monitoring, which can also be referred to as web performance monitoring, is typically used to monitor page speed load times, along with the various page elements or components, and response times from various browsers. This can give users a good picture on the overall performance from both the client and server side.

 

Companies today must monitor performance of their SaaS-based solutions for an optimal user experience. Monitoring performance can be a challenge since it varies extensively across user locations and geographies. These applications and their content need to traverse a path of geography-specific variables, such as CDNs (Content Delivery Networks), local ISPs, etc., while in route to end users. This level of complexity can eventually affect the experiences of end users differently. This is where synthetic monitoring tools come into play and can cut through the complexity. We discussed a lot of different monitoring tools in this guide. Some vendors provide a comprehensive APM solution, however, these can be expensive for most companies. Some of the more popular synthetic monitoring tools in the market today are Dotcom-Monitor, Pingdom, Uptrends, Site24x7, and Datadog.

 

Who performs synthetic monitoring?

Typically, IT teams, whether it is web development or operations (DevOps) teams are tasked with implementing synthetic monitoring within their organization. However, the data provided can be shared with marketing teams, for example, to optimize on-page elements that may be causing pages to load slowly for users. This ensures pages are always optimized when updates are implemented. Make sure that your pages do not include assets with large file sizes, like images, CSS, and JavaScript.

 

How is acceptance testing performed on websites?

Acceptance testing, or user acceptance testing (UAT) is a type of software testing that is performed by clients or end users towards the end of the software development lifecycle, typically before changes are put into production. Acceptance testing is completed after other testing, like unit, system, and integration testing has been completed. This ensures that development teams have fixed and bugs and that the website performing as intended and are ready for the end users to test. Acceptance testing may also include performance (load and stress) testing. The objective of website acceptance testing is to verify that the site meets the goals of the business and can handle the necessary traffic and real-world users. Proper acceptance testing allows users to test specific scenarios to ensure they can carry out and test specific steps, not just placing users in front of your site without setting any goals.

 

Can you use synthetic monitoring to benchmark a website?

One of the advantages to synthetic monitoring is that you can continuously monitor your APIs, websites, and applications from multiple locations. This provides an ongoing stream of performance data that development teams can use to baseline performance prior to production. Once your application, page, or API is put into production, this data can be used to determine and set specific alerting thresholds, for example, and ensure performance is always within the appropriate range. Additionally, teams can also benchmark their sites and applications against competitors in their industry.

 

What are the main benefits of synthetic monitoring vs. other types of monitoring?

Compared to other types of monitoring like RUM, synthetic monitoring offers many great benefits for development teams. Here is a brief list of some of the most notable features and benefits of synthetic monitoring.

  • Proactively and continuously monitoring applications, APIs, and pages, from the user’s perspective, to identify issues before they potentially impact more users.
  • Monitor from specific regions or countries where your users are located and compare that performance of other regions.
  • Monitor business-critical and complex transactions or paths, like searching for products, check out process, logging into customer portals, etc.
  • Monitor third-party APIs and applications that are essential to your business requirements.
  • Monitor SaaS application to ensure uptime and performance SLAs are continuously being met.
  • Identify the root cause of any performance issues to maintain high levels of customer satisfaction.

 

What is a good uptime percentage with synthetic monitoring?

Uptime is the measurement of a system’s reliability and is the percentage of time that the specific service is available and operational. It is one of the most popular metrics for measuring website performance. Obviously, if you site is down, customers will not be able to visit, which can affect the bottom line. Downtime can cost a company more than just potential business. It can negatively impact brand recognition as well. A good uptime percentage is typically between 95 or 99 percent, however, it really depends on the industry and the organization’s goals. For example, for financial institutions, where high availability is critical, uptime percentages of 99.999 percent are typically common, which equates to just over five minutes of downtime per year.

 

Are there any free or open-source synthetic monitoring tools?

There are many free and open-source synthetic monitoring tools available, and we discussed some of them in this guide. Free and open-source synthetic monitoring tools like Checkly, Prometheus, Nagios, UptimeRobot, StatusCake, and Zabbix. It is important to note that while these tools may be free to use, they typically do not offer the robust features that paid, or commercial, synthetic monitoring solutions can offer. Additionally, open-source tools tend to require more manual set up and limited support options.

 

What is the best synthetic monitoring tool?

performance report

While organizations have many choices when it comes to choosing a synthetic monitoring tool, we think the Dotcom-Monitor platform offers a wide range of solutions to meet the needs of your business. From monitoring web services and APIs to web pages and applications, the Dotcom-Monitor platform has a solution to meet your goals. The Dotcom-Monitor platform provides performance monitoring solutions to help ensure all your KPIs (Key Performance Indicators) are met, such as availability, functionality, uptime, page load speed, as well as individual web page components. With enterprise-grade monitoring and performance testing capabilities, the Dotcom-Monitor platform provides all the features and benefits your teams require, like browser-based monitoring, configurable alerts, global monitoring locations, a point and click scripting tool, third-party integrations, private agents for monitoring behind your firewall, and so much more. Review comprehensive performance reports that include waterfall charts with element-by-element detail, summary of monitoring tasks, host breakdowns, error reporting, and video capture for web page and web application monitoring solutions.

Try Dotcom-Monitor Free For 30 Days.
Sign up Today!