> ## Documentation Index
> Fetch the complete documentation index at: https://pulse-41cf5b0d.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Global Monitoring Regions in PulseGuard

> Select from 50 monitoring locations across North America, Europe, Asia Pacific, South America, Africa, and the Middle East.

PulseGuard runs checks from 50 probe locations spread across North America, Europe, Asia Pacific, South America, Africa, and the Middle East. When you assign multiple regions to a monitor, each location runs the check independently and reports its own result and latency. This gives you a real-time view of your service's availability from the perspective of users in every geography you care about.

## Why Multi-Region Monitoring Matters

A service can be down in Tokyo while remaining fully operational in New York. Without regional probes, a monitoring system that checks from a single location either misses that regional outage entirely or — if it happens to probe from the affected region — fires a false global alert. PulseGuard solves both problems.

<CardGroup cols={2}>
  <Card title="Detect regional failures" icon="map-location-dot">
    PulseGuard tracks failures per region independently. A `DOWN` result in `ap-northeast-1` doesn't mask a `UP` result in `us-east-1` — you see the full picture.
  </Card>

  <Card title="Suppress false global alerts" icon="shield-halved">
    PulseGuard requires a majority of your selected regions to report `DOWN` before declaring a global outage, preventing a single flaky probe from waking your on-call team.
  </Card>

  <Card title="Latency heatmaps" icon="chart-bar">
    Response times are recorded per region and visualised as a global latency heatmap on your monitor detail page.
  </Card>

  <Card title="Regional incident tracking" icon="triangle-exclamation">
    Regional incidents are tracked separately from global incidents, giving you granular incident history without noise.
  </Card>
</CardGroup>

## Configuring Check Regions

Set the `checkRegions` field on any monitor to a JSON array of region codes. When `checkRegions` is omitted, PulseGuard uses its default single-probe behaviour. When you provide one or more region codes, all selected regions run the check in parallel on every scheduled tick.

```yaml theme={null}
monitors:
  - name: My API
    url: https://api.example.com/health
    checkRegions:
      - us-east-1
      - eu-west-1
      - ap-northeast-1
```

<Tip>
  Start with three to five geographically distributed regions that represent your primary user segments. You can always add more regions later without any downtime or data loss.
</Tip>

### Alert Threshold with Multi-Region Checks

When multi-region checking is active, PulseGuard automatically adjusts the alert threshold to use the higher of your configured `alertThreshold` value **or** 50% of your selected regions. This means that even if `alertThreshold` is set to `1`, a single failing region among five selected regions will not trigger a global incident.

<Note>
  If you deliberately want to alert on a single regional failure — for example, you have a critical presence in one specific region — create a separate monitor scoped to that region alone with a low `alertThreshold`.
</Note>

## Available Regions

### North America

| Code             | Name                    | Flag |
| ---------------- | ----------------------- | ---- |
| `us-east-1`      | US East (N. Virginia)   | 🇺🇸 |
| `us-east-2`      | US East (Ohio)          | 🇺🇸 |
| `us-west-1`      | US West (N. California) | 🇺🇸 |
| `us-west-2`      | US West (Oregon)        | 🇺🇸 |
| `us-central-1`   | US Central (Iowa)       | 🇺🇸 |
| `us-south-1`     | US South (Texas)        | 🇺🇸 |
| `us-northeast-1` | US Northeast (New York) | 🇺🇸 |
| `us-southeast-1` | US Southeast (Atlanta)  | 🇺🇸 |
| `us-mountain-1`  | US Mountain (Denver)    | 🇺🇸 |
| `ca-central-1`   | Canada (Toronto)        | 🇨🇦 |
| `ca-west-1`      | Canada (Vancouver)      | 🇨🇦 |
| `mx-central-1`   | Mexico (Querétaro)      | 🇲🇽 |

### Europe

| Code           | Name               | Flag |
| -------------- | ------------------ | ---- |
| `eu-west-1`    | Europe (Ireland)   | 🇮🇪 |
| `eu-west-2`    | Europe (London)    | 🇬🇧 |
| `eu-west-3`    | Europe (Paris)     | 🇫🇷 |
| `eu-central-1` | Europe (Frankfurt) | 🇩🇪 |
| `eu-central-2` | Europe (Zurich)    | 🇨🇭 |
| `eu-north-1`   | Europe (Stockholm) | 🇸🇪 |
| `eu-south-1`   | Europe (Milan)     | 🇮🇹 |
| `eu-south-2`   | Europe (Madrid)    | 🇪🇸 |
| `eu-south-3`   | Europe (Athens)    | 🇬🇷 |
| `eu-east-1`    | Europe (Warsaw)    | 🇵🇱 |
| `eu-east-2`    | Europe (Vienna)    | 🇦🇹 |
| `eu-benelux-1` | Europe (Amsterdam) | 🇳🇱 |
| `eu-benelux-2` | Europe (Brussels)  | 🇧🇪 |
| `eu-scand-1`   | Europe (Helsinki)  | 🇫🇮 |
| `eu-scand-2`   | Europe (Oslo)      | 🇳🇴 |

### Asia Pacific

| Code             | Name                       | Flag |
| ---------------- | -------------------------- | ---- |
| `ap-east-1`      | Asia Pacific (Hong Kong)   | 🇭🇰 |
| `ap-southeast-1` | Asia Pacific (Singapore)   | 🇸🇬 |
| `ap-southeast-2` | Asia Pacific (Sydney)      | 🇦🇺 |
| `ap-southeast-3` | Asia Pacific (Jakarta)     | 🇮🇩 |
| `ap-southeast-4` | Asia Pacific (Melbourne)   | 🇦🇺 |
| `ap-southeast-5` | Asia Pacific (Bangkok)     | 🇹🇭 |
| `ap-southeast-6` | Asia Pacific (Ho Chi Minh) | 🇻🇳 |
| `ap-northeast-1` | Asia Pacific (Tokyo)       | 🇯🇵 |
| `ap-northeast-2` | Asia Pacific (Seoul)       | 🇰🇷 |
| `ap-northeast-3` | Asia Pacific (Osaka)       | 🇯🇵 |
| `ap-south-1`     | Asia Pacific (Mumbai)      | 🇮🇳 |
| `ap-south-2`     | Asia Pacific (Hyderabad)   | 🇮🇳 |

### South America

| Code         | Name                         | Flag |
| ------------ | ---------------------------- | ---- |
| `sa-east-1`  | South America (São Paulo)    | 🇧🇷 |
| `sa-west-1`  | South America (Santiago)     | 🇨🇱 |
| `sa-north-1` | South America (Bogotá)       | 🇨🇴 |
| `sa-south-1` | South America (Buenos Aires) | 🇦🇷 |

### Africa

| Code           | Name               | Flag |
| -------------- | ------------------ | ---- |
| `af-south-1`   | Africa (Cape Town) | 🇿🇦 |
| `af-central-1` | Africa (Nairobi)   | 🇰🇪 |
| `af-west-1`    | Africa (Lagos)     | 🇳🇬 |
| `af-north-1`   | Africa (Cairo)     | 🇪🇬 |

### Middle East

| Code           | Name                   | Flag |
| -------------- | ---------------------- | ---- |
| `me-south-1`   | Middle East (Bahrain)  | 🇧🇭 |
| `me-central-1` | Middle East (Dubai)    | 🇦🇪 |
| `me-west-1`    | Middle East (Tel Aviv) | 🇮🇱 |

## Example: Global Coverage Configuration

The following YAML example configures a single API monitor with probes in six strategically distributed regions covering every major inhabited continent.

```yaml theme={null}
monitors:
  - name: Global API Health
    url: https://api.example.com/health
    type: HTTP
    interval: 60
    timeout: 10
    checkRegions:
      - us-east-1        # US East Coast
      - eu-west-1        # Western Europe
      - ap-northeast-1   # Japan / East Asia
      - ap-south-1       # South Asia
      - sa-east-1        # South America
      - af-south-1       # Africa
```

## Related Pages

<CardGroup cols={3}>
  <Card title="Overview" icon="house" href="/monitors/overview">
    Full monitor configuration reference including the `checkRegions` field.
  </Card>

  <Card title="Monitor Types" icon="list" href="/monitors/monitor-types">
    Choose the right monitor type for your use case.
  </Card>

  <Card title="Assertions" icon="check-double" href="/monitors/response-assertions">
    Validate response content from every region.
  </Card>
</CardGroup>
