Synthetic monitoring

{{Short description|Software monitoring technique}}

{{about|the software design technique|medical approach|Watchful waiting}}

{{essay|date=July 2017}}

{{technical|=October 2021|date=October 2021}}

In software design, web design, and electronic product design, synthetic monitoring (also known as active monitoring or proactive monitoring) is a monitoring technique that is done by using a simulation or scripted recordings of transactions. Behavioral scripts (or paths) are created to simulate an action or path that a customer or end user would take on a site, application, or other software (or even hardware). Those paths are then continuously monitored at specified intervals for performance, such as functionality, availability, and response time measures.

Synthetic monitoring enables a webmaster or an IT/Operations professional to identify problems and determine if a website or application is slow or experiencing downtime before that problem affects actual end users or customers. This type of monitoring does not require actual traffic, thus the name synthetic, as it enables companies to test applications 24x7, or test new applications prior to a live customer-facing launch.{{cite web |url=http://www.apmdigest.com/prioritizing-gartners-apm-model |title=Prioritizing Gartner's APM Model |date=15 March 2012 |publisher=APM Digest |access-date=28 April 2012 |archive-date=22 March 2012 |archive-url=https://web.archive.org/web/20120322000531/http://www.apmdigest.com/prioritizing-gartners-apm-model |url-status=live }}{{Cite news|url=http://apmdigest.com/apmacademy/are-you-monitoring-your-saas-applications-if-not-you-should-be|title=Are You Monitoring Your SaaS Applications? If Not, You Should Be|date=2017-02-14|work=APMdigest - Application Performance Management|access-date=2017-04-13|archive-date=2017-04-14|archive-url=https://web.archive.org/web/20170414082043/http://apmdigest.com/apmacademy/are-you-monitoring-your-saas-applications-if-not-you-should-be|url-status=live}}

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. Synthetic tests must be scripted in advance, so it is not feasible to measure performance for every permutation of a navigational path an end user might take. These scripts are then injected into the code of the application or website, which is then tested under artificial loads. This, of course, can be a contrast to actual load/traffic when the design goes live. In this case, real user monitoring is performed, where the performance metrics are tested against real loads. This is more suited for passive monitoring.

Synthetic testing is useful for measuring uptime, availability, and response time of critical pages and transactions (how a site performs from all geographies) but doesn't monitor or capture actual end user interactions, see Website monitoring.{{cite web |url=http://www.apmdigest.com/the-anatomy-of-apm-4-foundational-elements-to-a-successful-strategy |title=The Anatomy of APM - 4 Foundational Elements to a Successful Strategy |date=4 April 2012 |publisher=APM Digest |access-date=18 May 2012 |archive-date=8 June 2012 |archive-url=https://web.archive.org/web/20120608055528/http://www.apmdigest.com/the-anatomy-of-apm-4-foundational-elements-to-a-successful-strategy |url-status=live }}

Synthetic monitoring will report myriad metrics, and it's up to the a webmaster or an IT/Operations professional to identify which ones are most important. Common metrics from synthetic website monitoring includes Time to First Byte, Speed Index, Time to Interactive, and Page Complete.{{Cite web|url=https://www.machmetrics.com/speed-blog/site-speed-metrics-explained-ttfb-speed-index-interactive-load-complete/|title=Site Speed Metrics Explained - TTFB, Speed Index, Interactive, Load, Complete, and more|date=2019-02-22|website=MachMetrics Speed Blog|language=en-US|access-date=2020-01-17|archive-date=2020-03-18|archive-url=https://web.archive.org/web/20200318011300/https://www.machmetrics.com/speed-blog/site-speed-metrics-explained-ttfb-speed-index-interactive-load-complete/|url-status=live}}

Demand for synthetic monitoring has grown exponentially corresponding to the underlying growth in websites/applications. IT/Operations staff need mechanisms to identify health and performance issues in advance of their customers identifying and reporting them to avoid customer satisfaction issues. To accomplish this they can write custom simulation scripts, or leverage the growing number of commercial synthetic monitoring solutions. Example include:

  • New Relic's Synthetics
  • [https://www.manageengine.com/products/applications_manager/synthetic-monitoring.html ManageEngine Applications Manager's synthetic monitoring] via Real Browser Monitor(RBM)
  • F5's Distributed Cloud Synthetic Monitoring
  • Datadog's Automated Synthetic Monitoring
  • Powerhouse Nudge Synthetic Monitoring by Atakama Technologies
  • Alyvix's visual synthetic monitoring for applications and services

By implementing Synthetic Monitoring IT/Operations staffs are able to identify application issues in advance of them becoming critical, and take remedial action. Identifying such issues can be difficult because of:

  • The number of applications monitored by an average sized organization can be several hundred
  • Issues may vary by geography; for example performance issues may be evident to users in Asia, but may not appear to users in Europe
  • IT/Operations staff need not only to identify the fact that an issue exists, but also need diagnostic information on what is causing the identified issue
  • IT/Operations staff often lack the historical perspective on application performance which can be helpful in diagnosing an evolving issue

See also

References