Synthetic monitoring is a way of monitoring websites and applications by
simulating user actions. Its purpose is to test
the availability, performance, and function of a given service.
Synthetic monitoring is called an active or proactive monitoring solution as
it runs automated tests at a pre-defined frequency. In comparison, Real User
Monitoring (RUM) is considered a passive monitoring solution, meaning it needs
real users to initiate the test.
In this article, you will learn the following:
What is synthetic monitoring and how does it work.
What are the types of synthetic monitoring.
What are the benefits of synthetic monitoring and why to use it.
Synthetic vs. Real User Monitoring (RUM) monitoring.
A common use case is when we want to check whether our homepage is accessible to visitors from the web 24/7. To make sure it is, we can use an automated script called uptime monitor, which will test it automatically for us every x minutes.
Practically this monitor sends a GET request to the homepage automatically on a specified interval, 1 minute for example. If the given URL doesn't respond with a working site: 200 OK response code, the monitor starts an incident and proceeds to alert the on-call team.
Synthetic monitoring is an approach to monitoring rather than a specific method.
It encompasses different types of monitoring, which are used to monitor
availability, performance, and function. The types are:
Availability monitoring checks the availability (accessibility) of a given
service. The main forms of availability monitoring are:
Uptime monitoring checks the availability of a
given URL, as shown in the example above.
Ping monitoring checks the availability of any
given endpoint by sending a simple ping request. An example is pinging a
server to ensure that it is reachable.
SSL certificate monitoring checks the
validity of websites’ security certificates. This prevents situations when
Google shows security warnings to users accessing sites without valid SSL
API monitoring checks API functionality by sending
requests and testing whether they are provided with correct responses - either
a success code or a specific data.
DNS monitoring checks that the Domain Name System
(DNS) is configured correctly. This often helps to discover many hacker
Web Performance Monitoring
Web performance monitoring or page speed monitoring gives visibility into the
perceived user experience on a given website, on a specific device, or with a
particular web browser. The two main types of performance monitoring are:
Real browser monitoring (RBM) checks website's performance by using a real
browser window. It loads the website with all its elements exactly how a real
user would see it.
Mobile website monitoring checks the performance like RBM but also
simulates screen sizes and resolutions of specific mobile devices. This gives
more insights into the performance on iOS and Android devices.
Transaction monitoring checks that paths users usually take on your website work
correctly. These paths usually include multi-step processes like signup, user
login, search, payment confirmations, and more. Transaction monitoring is
ideally combined with real browser monitoring to simulate everything a real user
could do and encounter on a website to provide the most accurate picture.
What are the benefits of synthetic monitoring?
Automated with regular frequency
Synthetic monitoring can run every minute, every hour, 24 hours a day, 7 days a
week, the whole year. It’s a fully automated script, and once set, it needs
little to no maintenance while still providing the same valuable information.
Different monitor types allow for testing anything from the latency of a
homepage to the load times of specific steps of a user signup flow. This gives
space to many applications and helps developers to monitor everything they need.
With monitors based around the world, it allows checking the availability,
performance, and function from different locations worldwide. This allows
distinguishing regional errors from incidents affecting all users and allows for
optimization for a global audience. Here is an example of spiked response times
in the Asia region shown by the Better Uptime
Browser and device-specific
Accessing whether a service works correctly becomes much easier by simulating
real user behavior. Thanks to the browser and specific device monitoring, any
performance changes can be quickly discovered and investigated.
Works inside and outside the firewall
Synthetic monitoring can be applied both inside and outside of the firewall -
meaning that you can also monitor machines inside your data centers or local
network, not just from the global perspective.
Why use synthetic monitoring?
Fix issues before they affect your users
Synthetic monitoring automatically monitors any performance degradation or
availability issues of websites, apps, or APIs. If any issue is identified, it
starts the incident management process, alerting
the right person on the team.
As it is fully automated and can run as often as every 30 seconds, it helps with
discovery of any problems right when they occur. And in best scenarios, it
allows the teams to fix them before they affect a significant number of users.
Combined with a swift incident response, good synthetic monitoring can
significantly improve the time it takes to acknowledge an incident
(MTTA) and the time it takes to resolve an
Protect vital business processes
Every online business has essential business transactions that are of the
highest importance. Those actions that users take directly influence the bottom
line. They include new signups, cart checkouts, or subscription payments.
With synthetic monitoring, and specifically transaction monitoring, these
processes can be monitored from over the globe, assuring they are working
Benchmark and plan improvements
By consistently running over a long period of time, synthetic monitoring gives a
unique insight into app's performance. With data about latency, page speed, and
more, you can identify long-term trends and explore potential improvements.
This set of historical performance data also allows benchmarking against
competitors or older versions of apps and products.
Improve user experience
By monitoring and recording data from real browser monitoring, you can get
valuable insights into what parts of the website might cause a bad experience
for users. You can pinpoint performance issues from a website to a specific
component and optimize them.
Hold 3rd parties accountable
Integrations like payment processing, site search, recommendation plugins, CDNs,
CRMs or analytics are integral in many modern applications.
Monitoring their functionality is necessary to accommodate for any performance
degradations or downtime incidents. Monitoring them is also essential in both
incident communication to your users and holding your vendors accountable.
Although some vendors have public status pages, like
status.hubspot.com it's always better to
Measure SLAs guarantee
Service level agreements (SLAs) are an essential part of enterprise offerings
for many software businesses. Outbidding a competitor with better availability
can play a decisive role in the sales process.
Vendors can use synthetic monitoring providers to
arm themselves with data showing adherence to their SLAs. While their clients
can do the same to get paid penalties when the SLAs are not adhered to.
Prepare for launches
When starting to serve new world locations, synthetic monitoring helps you to
access the performance at the new geography before the real launch.
Similarly, when publishing new websites or new process flows, synthetic
monitoring can check if everything is working correctly before you start
directing real users to it.
Synthetic vs. Real User Monitoring (RUM) monitoring?
Real user monitoring (RUM), in comparison to synthetic monitoring, is
an active monitoring method, which means it is initiated by real user
activity. RUM shows you how users are interacting with your website right in
At the core, it is advanced website analytics like Google or Cloudflare
Analytics, focusing on websites performance rather than on referral channels or
conversions. RUM can be summed into 4 main points:
Based on real users
RUM monitoring shows you how real users are interacting with you website in
real-time. It tracks data like visits, load times, performance from different
geographic locations, devices, and browsers.
Even though you can simulate browsers from different locations with synthetic
monitoring as well, you can never really know how thousands of users are
experiencing your service without RUM.
Tracks all user actions
RUM tracks everything that is happening in real-time compared to synthetics,
which only runs scheduled pre-defined tests. By tracking real user behavior, you
can identify trends and problems which you didn’t even know existed.
You might, for example, identify outliers in performance for some geographical
locations, which you didn’t before thought of testing with synthetics.
To get any valuable insights with RUM you need to have users visiting your
website. Without traffic, you won’t have enough data to draw actionable
conclusions. Because of that, RUM is usually set up after synthetic monitoring,
and once substantial website traffic is achieved.
The issue with RUM is that it produces large volumes of data that need to be
analyzed to be valuable. Compared to synthetics, which answers simple questions,
like is homepage reachable? or is website's SSL certificate valid?, RUM only
shows what is happening, and you need to find the questions to ask.
Since both synthetic and real user monitoring provides great insights, the best
practice is to use them together and enjoy the benefits of both.
How to start with synthetic monitoring?
Better Uptime is a synthetic monitoring tool that
offers a wide range of monitoring options. Here is how to get notified whenever
a URL becomes unavailable (returns code other than 200 OK).