---
title: "Catch outages before your users do | Grafana Labs"
description: "Detect outages before users do and validate performance before traffic spikes."
---

> For a curated documentation index, see [llms.txt](/llms.txt). For the complete documentation index, see [llms-full.txt](/llms-full.txt).

## Grafana Cloud Synthetic Monitoring

Before your users encounter a problem, [Synthetic Monitoring](/docs/grafana-cloud/testing/synthetic-monitoring/) lets you:

- Simulate real user interactions — from simple uptime pings to complex browser journeys
- Verify availability and performance from 20+ locations around the world

In a single Grafana dashboard:

1. You define checks as code.
2. Version the checks in Git, and manage them via Terraform or the API.
3. Debug failures by correlating with metrics, logs, and traces.

[Try it out in Grafana Play](https://play.grafana.org/a/grafana-synthetic-monitoring-app/home?from=now-3h&to=now&timezone=utc&var-probe=%24__all&var-region=%24__all&var-check_type=%24__all)

## What keeps you up at night?

Role / WorriesWhat you get with the app

**SRE, On-Call Engineer**

- I find out services are down when users report it, not from my own alerts
- By the time I know there’s a problem, it’s already affecting people

<!--THE END-->

- Checks run continuously from 20+ locations around the world. You get alerted the moment something degrades, before users encounter it.
- When a check fails, you correlate it directly with metrics, logs, and traces in the same Grafana dashboard, so you’re not switching tools to investigate

**Developer**

- I need to know if my endpoint is up and performing, especially after a release
- No way to validate this without waiting for real traffic or a user complaint

<!--THE END-->

- HTTP, DNS, ping, and multi-step browser checks let you verify availability and performance at any time, including when real traffic is low
- You can run checks against internal endpoints too, using private probes behind your firewall, not just public-facing URLs

**Platform, DevOps Engineer**

- Synthetic monitoring setup is a pile of manually configured GUI checks
- Nobody can review them, nobody versioned them, and nobody understands them except the person who set them up

<!--THE END-->

- Checks are defined as code using k6, versioned in Git, and deployed via Terraform or API, the same way you manage everything else in your stack
- 8 check types from simple pings to complex multi-step browser journeys, all manageable as code

**VP Engineering, Engineering Manager**

- Paying for synthetic monitoring as part of a Datadog or New Relic contract
- The cost has grown every time we’ve added a service or location

<!--THE END-->

- Execution-based pricing: you pay for what you run, not per seat or per host
- 100k API executions and 10k browser executions included free every month, and Synthetic Monitoring runs in the same Grafana Cloud instance you already have. No separate contract.
