🔭 Want to get alerted when your service stops working?
Go to Better Uptime and start with synthetic monitoring in 2 minutes.
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.
Go to Better Uptime and start with synthetic monitoring in 2 minutes.
Synthetic monitoring tools work by sending automated requests from a robot client to your app, simulating what a regular user would do. Here is an example of synthetic monitoring method called uptime 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.
Learn more about how uptime monitoring work in detail.
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:
Advanced availability monitoring options include:
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:
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.
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 dashboard.
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.
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.
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, according to the on-call schedule.
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 incident (MTTR). Check further information about incident management tools to optimise your monitoring process.
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 correctly.
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.
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.
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 double-check.
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.
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.
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 real-time.
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:
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.
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.
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
For more information, explore Better Uptime docs .
Are you a developer and love writing and sharing your knowledge with the world? Join our guest writing program and get paid for writing amazing technical guides. We'll get them to the right readers that will appreciate them.Write for us
Write a script, app or project on top of Better Stack and share it with the world. Make a public repository and share it with us at our firstname.lastname@example.org
or submit a pull request and help us build better products for everyone.
See the full list of amazing projects on github