Synthetic Monitoring for web applications
Functioning web applications = satisfied users
How can I guarantee that my web applications consistently perform for every user, both inside or outside a network?
Synthetic monitoring is an “umbrella term” for many different types of website- and server monitoring solutions. Synthetic monitors function like bots that connect to website, web services, APIs and servers, to check availability, functions and performances. They use a network of checkpoints outside the websites’ own servers. This can proactively simulate traffic in the area to ensure availability and performances. The goal is to find availability issues or problems in the application before they occur with real end users.
Frequent synthetic monitoring related questions
- Are all my applications available?
- Are all my applications responding with the correct status code?
- Are my API interfaces working correctly?
- Does the web application deliver the right content?
- Are all my menus and paths navigable?
- How fast do my applications respond?
- Do the pages in the internal network behave the same as behind my reverse proxy or firewall?
- Do frequent calls of special transactions slow down my applications?
Availability monitoring & web performance monitoring
Availability monitoring is the most simple form of monitoring, checking if the web application or service is accessible. In its simplest form, a check sends a “get” and checks the response for a successful code. Furthermore, it can search for specific content or check response times.
- Check the HTTP status code for the expected code
- Check the response time of the application
- Check if the expected content is on the page
- Check if unexpected content is displayed
- Check how much data is sent as response
- Check specific port via http/https
- Check if certain web pages are successfully blacklisted
Check your APIs
Developers and service providers are using more and more APIs to bring data and services into their applications, to increase data traffic and to make data available to the front ends. Therefore, it makes sense to proactively monitor your REST APIs for availability, performance and functional accuracy.
- Check the return code of the request
- Check the authentication or credentials
- Check the response time of the APIs’ calls
- Check the json or xml content for existing elements
End to End Monitoring (E2E)
E2E takes availability monitoring to the next level and can check page load speed, view performance element by element and report on front-end and back-end responses’ times. A native browser is used for this purpose.
This is done by running a pre-built script that can log into a service, fill out forms, perform actions for example buy products and respond to system prompts. Individual menu or navigation steps can be simulated to ensure that visitors can complete their tasks. These scripts can be assembled with a powerful recorder GUI by clicking simple navigation steps together and adding appropriate content checks (Object Spy) to see if the page displays exactly what is expected. This works for all major browsers for both web applications and mobile apps.
E2E Monitoring checks
What we can check:
- Is the system responsive to inputs?
- Are the systems free from crashes or annoying application hangs?
- Do the systems function for office locations as well as for remote access scenarios?
- Do complex tasks and processes complete in a reasonable amount of time?
- Is the end-user experience consistent?
Which info we can provide:
- Get info about the runtime of the whole task
- Get info about the time between the steps to find out which actions slow down the request
- Get a complete report of the task in error case as well as in regular case
- Screenshots in error cases are helping to understand where task are failed
Check out an example of a product purchase on Amazon: at about 50 seconds, the video shows how i-Vertix sets the status for the E2E test to CRITICAL because the product price is not the expected one and how to display the report or the screenshot of the error.