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.
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?
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
- 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.
Real User Monitoring vs. Synthetic Monitoring vs. APM Tools
- 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.
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.
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 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.
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.
- 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.
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.
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.
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.
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.
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 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.
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 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.
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.
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.
Three Fundamental Synthetic Monitoring Features
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.
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.
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.
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.
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.
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.
The Ultimate Synthetic Monitoring FAQ
Table of Contents
- What is synthetic monitoring?
- How does synthetic monitoring work?
- How do you run a synthetic monitoring test?
- How does synthetic monitoring differ from real user monitoring (RUM)?
- How does synthetic website monitoring differ from other types of synthetic monitoring?
- What are the most popular synthetic monitoring tools?
- Who performs synthetic monitoring?
- How is acceptance testing performed on websites?
- Can you use synthetic monitoring to benchmark a website?
- What are the main benefits of synthetic monitoring vs. other types of monitoring?
- What is a good uptime percentage with synthetic monitoring?
- Are there any free or open-source synthetic monitoring tools?
- What is the best synthetic monitoring tool?
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.
What are the most popular synthetic monitoring tools?
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?
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?
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.