Synthetic monitoring runs scripted checks (HTTP requests, browser transactions, DNS lookups, TLS handshakes, or multi-step workflows) at fixed intervals from geographically distributed probe nodes, simulating how a real user or client would interact with your service.
Each check measures availability, response time, latency, and correctness—such as verifying HTTP status codes, content assertions, or SSL certificate validity. Results are aggregated and compared against thresholds to trigger alerts on uptime or SLA breaches. For example, a check might run every 5 minutes from three regions, making an HTTPS request to your API endpoint and verifying the response contains expected data.
Synthetic monitoring differs from Real User Monitoring (RUM), which passively collects telemetry from actual live user sessions. Synthetic is controlled and predictable; RUM captures real-world variability. A common synthetic check is a health check that validates DNS resolution, TLS handshake success, or certificate expiry. Many vendors (AWS CloudWatch Synthetics, Datadog, Pingdom) offer browser-based synthetic tests using headless Chrome or Selenium to run full transaction workflows—login flows, multi-page journeys, form submissions—and report detailed waterfall timings.
WarningSynthetic checks running from a narrow set of fixed probe locations can appear "green" (all passing) while real users on different networks, devices, or geographies experience degradation. Pair synthetic monitoring with real user data and uptime monitoring for a complete observability picture.
Use synthetic monitoring to catch regressions before users do, validate third-party dependencies, and track performance trends across geographies.