Synthetic monitoring
Synthetic monitoring runs scripted, simulated user transactions against a production service from external locations on a fixed cadence — typically every 1-5 minutes from multiple geographies. Unlike real-user monitoring, synthetic checks run regardless of actual traffic, so they detect availability gaps during low-traffic periods and verify the full user flow end-to-end.
Common synthetic check types: simple availability ping (HTTP GET expecting 200), full transaction flow (login → search → add-to-cart → checkout), API contract check (POST a known payload, assert response schema), and DNS/CDN/SSL check (verify the edge layers haven't broken). Tools include Datadog Synthetics, Grafana Synthetic Monitoring, Pingdom, StatusCake. The trade-off vs real-user monitoring: synthetic catches outages even with zero real users (useful at night), but it can miss failure modes that only specific user paths trigger. Healthy practice runs both — synthetic for availability SLO, real-user for performance SLO.
Related terms
- Real user monitoring (RUM)
Real user monitoring (RUM) instruments actual user sessions in the browser or mobile client to capture performance and error metrics as users experience them — Core Web Vitals (LCP, INP, CLS), JavaScript errors, network requests, custom timing marks.
- SLO
A Service-Level Objective is a target reliability metric for a service — typically expressed as a percentage over a time window.
- Apdex score
Apdex (Application Performance Index) is a single 0-1 score that summarises user-perceived performance: requests faster than a target T are 'satisfied' (weight 1), requests between T and 4T are 'tolerating' (weight 0.