---
title: "Configure custom alerts | Grafana Cloud documentation"
description: "Learn how to configure custom alerts in Synthetic Monitoring using PromQL queries."
---

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

# Configure custom alerts

You can use [Grafana Alerting](/docs/grafana-cloud/alerting-and-irm/alerting/) to view pre-configured Synthetic Monitoring alert rules, create custom alert rules, and set up alert notifications.

## Create custom alert rules

You can create [PromQL](https://prometheus.io/docs/prometheus/latest/querying/basics/) queries for check metrics to create custom Grafana alerts.

**Example query**: check if latency exceeds 1 second.

YAML ![Copy code to clipboard](/media/images/icons/icon-copy-small-2.svg) Copy

```yaml
sum by (instance, job) (rate(probe_all_duration_seconds_sum{}[10m]))
/
sum by (instance, job) (rate(probe_all_duration_seconds_count{}[10m])) > 1
```

**Example query**: check if the probe error rate is higher than 10%.

YAML ![Copy code to clipboard](/media/images/icons/icon-copy-small-2.svg) Copy

```yaml
1 - (
sum by (instance, job) (rate(probe_all_success_sum{}[10m]))
/
sum by (instance, job) (rate(probe_all_success_count{}[10m]))
) > 0.1
```

For more examples, refer to the [most popular Synthetic Monitoring alerts](/blog/2022/01/11/top-5-user-requested-synthetic-monitoring-alerts-in-grafana-cloud/) and find the [distinct metrics for the various check types](/docs/grafana-cloud/testing/synthetic-monitoring/create-checks/checks/).

To explore the different options and settings for creating alerts, refer to [Configure Alert Rules](/docs/grafana-cloud/alerting-and-irm/alerting/alerting-rules/).

## Access alert rules from Alerting

Synthetic monitoring alert rules can also be found in [Grafana Cloud Alerting](/docs/grafana-cloud/alerting-and-irm/alerting/) within the `synthetic_monitoring` namespace. Default rules are created inside the `default` rule group.

You can then use alert labels to [configure the alert notifications](/docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/notifications/) in Grafana Alerting.

The default Synthetic Monitoring alert rules set the `namespace` and `alert_sensitivity` labels. For reference, the default configuration of the `low` sensitivity alert rule is as follows:

YAML ![Copy code to clipboard](/media/images/icons/icon-copy-small-2.svg) Copy

```yaml
alert: SyntheticMonitoringCheckFailureAtLowSensitivity
expr: instance_job_severity:probe_success:mean5m{alert_sensitivity="low"} < 75
for: 5m
labels:
  . namespace: synthetic_monitoring
annotations:
  description: check job {{ $labels.job }} instance {{ $labels.instance }} has a success rate of {{ printf "%.1f" $value }}%.
  summary: check success below 75%
```

> Note
> 
> Alerts can be edited in Synthetic Monitoring on the alerts page or in the Cloud Alerting UI.
> 
> It’s possible that substantially editing a default Synthetic Monitoring alert rule in the Cloud Alerting UI causes it to no longer be editable in the Synthetic Monitoring UI. In that case, the alert rule can only be edited in Cloud Alerting.
> 
> For example, if you edit the value `0.9` to `0.75`, this change propagates back to the Synthetic Monitoring alerts tab, and the alert then fires according to your edit. However, if you edit the value `0.9` to `steve`, the alert becomes invalid and no longer editable in the Synthetic Monitoring alerts tab UI.

## Alert notifications

After you have configured your alert rules and enabled your check to trigger alerts, you can set up Alerting notifications to know when a probe fails. Refer to [Alerting Notifications](/docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/notifications/) for more details.

## Link to Synthetic Monitoring dashboards in alert notifications

To quickly access your Synthetic Monitoring check dashboards when an alert fires, add a link in your alert rule’s notification message.

Synthetic Monitoring checks are identified by their *job* and *instance* pair, so you must include those labels as query parameters in the dashboard URL.

The following example URL links to the Synthetic Monitoring check dashboard for the specific check that triggered the alert. Replace `<GRAFANA STACK URL>` with the URL of your Grafana stack:

![Copy code to clipboard](/media/images/icons/icon-copy-small-2.svg) Copy

```none
<GRAFANA STACK URL>/a/grafana-synthetic-monitoring-app/scene?var-job={{ $labels.job }}&var-instance={{ $labels.instance }}
```
