---
title: "Introduction | Grafana Cloud documentation"
description: "Introduction Synthetic Monitoring is a black-box monitoring solution provided as part of Grafana Cloud. It tests the externally visible behavior of your systems, the way a user reaches them, instead of relying on instrumentation in their code or infrastructure. Black-box monitoring complements white-box monitoring, which uses data from inside your systems, such as application metrics, logs, and traces. Black-box monitoring shows that users are affected, and white-box monitoring helps you find out why."
---

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

# Introduction

[Synthetic Monitoring](/grafana/plugins/grafana-synthetic-monitoring-app) is a black-box monitoring solution provided as part of Grafana Cloud. It tests the externally visible behavior of your systems, the way a user reaches them, instead of relying on instrumentation in their code or infrastructure. Black-box monitoring complements white-box monitoring, which uses data from inside your systems, such as application metrics, logs, and traces. Black-box monitoring shows that users are affected, and white-box monitoring helps you find out why.

A check is a scheduled test of a target. The check is the configuration, not a single run: it defines what to test, what counts as success, how often to test, and which [probes](#probes) run the test. The job name and target together uniquely identify a check. A check execution is one run of a check from one probe, so one check produces many executions over time.

You can use Synthetic Monitoring to:

- **Assess availability, performance, and correctness**: Ensure that your services are available, and are also performing well and returning the correct information to your users to guarantee a great user experience.
- **Troubleshoot issues with metrics and logs**: Find the root cause of problems with endpoints you’re monitoring by exploring metrics and logs collected during each check run. [Prometheus metrics](/docs/grafana-cloud/send-data/metrics/metrics-prometheus/) and [Logs](/docs/grafana-cloud/send-data/logs/) from checks are published directly to your Grafana Cloud account.
- **Monitor from the outside**: Probes test your systems over the network without access to their internals. HTTP, Ping, DNS, and TCP checks are built on [Prometheus blackbox exporter](https://github.com/prometheus/blackbox_exporter). MultiHTTP, k6 scripted, and k6 browser checks run on [k6](/docs/k6/latest/), and traceroute checks use [mtr](https://github.com/tonobo/mtr).
- **Alert the right people at the right time**: Use Synthetic Monitoring to leverage Prometheus-style alerting to ensure if a check fails, alerts are making their way to the right people through the right notification method.

## Supported check types

Synthetic Monitoring supports the following check types:

- Ping endpoints that support ICMP
- HTTP and HTTPS requests
- k6 scripted checks that run a k6 test
- k6 browser checks to run k6 tests using a headless browser
- Multiple HTTP/S requests
- DNS to test domain name resolution
- TCP connection checks
- Traceroute check for running traceroute from probes to targets

TLS is supported where applicable.

Refer to [Check types](/docs/grafana-cloud/testing/synthetic-monitoring/create-checks/checks/) for more details.

## Probes

A probe is an instance of the Synthetic Monitoring agent that runs tests against your targets from a specific location and sends the results to Grafana Cloud. Grafana Labs operates public probes around the world, and you can install private probes in your own environment.

### How probes run checks

When you create a check, you select which probes run it. Each selected probe executes the check independently at every scheduled interval. The probes don’t rotate or take turns. If you select five probes and set the check frequency to one minute, the check runs from all five probes every minute.

This execution model has two practical consequences:

- **Execution count scales with the number of probes.** Each probe run counts as a separate execution. A check with five probes at a one-minute frequency produces five executions per minute, not one. Execution count affects billing. For details, refer to [Understand your Synthetic Monitoring invoice](/docs/grafana-cloud/platform/pricing-and-usage/synthetic-monitoring/).
- **Requests arrive concurrently from different locations.** Because probes run independently, multiple requests can reach your target at nearly the same time. If your target has session, rate-limit, or single-use authentication behavior, design your checks to tolerate concurrent requests.

### Public probes

Public probes are instances of the open source [Synthetic Monitoring Agent](https://www.github.com/grafana/synthetic-monitoring-agent) operated by Grafana Labs at distributed locations around the world. Checks run from configured locations and write results directly to your Grafana Cloud account.

If you need to allow access through your firewall, refer to [source IP addresses for allow-listing](/docs/grafana-cloud/account-management/allow-list/).

Refer to [Public probes](/docs/grafana-cloud/testing/synthetic-monitoring/create-checks/public-probes/) for more details.

### Private probes

You can also install private probes and run checks from your environment or any other locations you choose.

Refer to [Set up private probes](/docs/grafana-cloud/testing/synthetic-monitoring/set-up/set-up-private-probes/) for more details.

## Alerting

By default, Synthetic Monitoring alerting uses [Grafana Alerting](/docs/grafana-cloud/alerting-and-irm/alerting/).

Refer to [Synthetic Monitoring alerting](/docs/grafana-cloud/testing/synthetic-monitoring/configure-alerts/) for more details.

## Configuration as Code

You can manage synthetic monitoring resources such as checks and probes through the UI. To integrate synthetic monitoring with your existing DevOps workflows, you can also manage these resources as code via Terraform and Grizzly, and programmatically using the API.

For instructions and more details, refer to [Provision via Code and API](/docs/grafana-cloud/testing/synthetic-monitoring/set-up/provision-synthetic-monitoring-resources/).

## Billing and usage

Synthetic monitoring usage is billed the same way metrics and logs are billed. For more information, refer to [Synthetic Monitoring pricing](/docs/grafana-cloud/platform/pricing-and-usage/synthetic-monitoring/).

## Next steps

Refer to [Set up Synthetic Monitoring in Grafana Cloud](/docs/grafana-cloud/testing/synthetic-monitoring/set-up/grafana-cloud/) for set up and installation instructions.

Refer to [Create your first check](/docs/grafana-cloud/testing/synthetic-monitoring/get-started/create-your-first-check/) to get up and running with Synthetic Monitoring.
