Synthetic Monitoring

Synthetic performance monitoring, sometimes called proactive monitoring, involves having external agents run scripted transactions against a web application.  These scripts are meant to follow the steps a typical user might–search, view product, log in, check out–in order to assess the experience of a user. Synthetic or directed monitoring is a method to monitor your applications by simulating users – directing the path taken through the application.  Because synthetic monitoring is a simulation of typical user behavior or navigation through a website, it is often best used to monitor commonly trafficked paths and critical business processes. This directed monitoring provides information as to the uptime and performance of your critical business transactions, and most common paths in the application. Those paths are then continuously monitored at specified intervals for performance, such as functionality, availability, and response time measures.

Synthetic testing is also useful for measuring availability and response time of critical pages and transactions, and can complement Real User Monitoring to show how a site performs from various geographies.

Synthetic monitoring is valuable because it enables Cayan to identify problems and determine if a website or web application is slow or experiencing downtime before that problem affects end-users or customers. This type of monitoring does not require actual web traffic so it enables companies to test web applications 24x7, or test new applications prior to a live customer-facing launch. This approach complements Cayan's passive monitoring systems to help provide visibility on application health during off peak hours when transaction volume is low.

Synthetic monitoring helps Cayan answer a number of questions, including:

  • Monitor your application availability 24 x 7 – even during off hours
  • Be the first to know your application is down
  • Know if your remote site is reachable
  • Understand the performance impact that third-party services have on your business apps
  • Monitor performance availability of SaaS applications
  • Test B2B web services that use SOAP, REST or other web service technologies
  • Monitor critical databases queries for availability
  • Objectively measure service-level agreements (SLAs)
  • Baseline and analyze performance trends across geographies
  • Complement real user monitoring by synthetically monitoring availability during periods of low traffic

Cayan is using synthethic monitoring extensively to measure the availability of its web sites and services, and ensure that we're meeting our SLAs. Every minute, using a neutral third party like Pingdom, Cayan validates that its and its partners' services are available by executing a number of synthetic transactions, including:

  • Executing Genius, MerchantWare, and Transport.Web transactions
  • Logging in to our Merchant Portals

The results are then reported on our Pingdom status page and to StatusPage.io, so that we can promptly notify our merchants and partners of our availability. If the synthetic transactions notice anything out of the ordinary, these alerts will trigger a PagerDuty notification to our Incident Response Team and Network Operations Center.

This approach complements our passive application monitoring solution, which uses Splunk to constantly pouring over the machine data generated by our merchants' transactions, looking for any anomalies. We'll be covering that in more detail in an upcoming article.