> ## Documentation Index
> Fetch the complete documentation index at: https://docs.upmetr.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Uptime Monitors

> Monitor website and API availability with HTTP health checks

Uptime monitors check your websites and APIs at regular intervals and alert you when they go down. Upmetr includes HTTP retries, recovery thresholds, SSL certificate tracking, and maintenance mode.

## Creating a Monitor

1. Navigate to **Monitors**
2. Click **Add Monitor**
3. Configure the settings:

| Setting                | Description                                      | Default |
| ---------------------- | ------------------------------------------------ | ------- |
| **Name**               | Descriptive label for the monitor                | —       |
| **URL**                | The endpoint to check (`http://` or `https://`)  | —       |
| **Check Interval**     | How often to check (1, 5, 10, 15, 30, 60 min)    | 60s     |
| **Timeout**            | Max wait time before marking as down             | 30s     |
| **Expected Status**    | HTTP status code to expect                       | 200     |
| **Failure Threshold**  | Consecutive failures before creating an incident | 1       |
| **Recovery Threshold** | Consecutive successes before auto-resolving      | 2       |

4. Click **Save**

The monitor starts checking immediately.

## How Checks Work

Each check follows this flow:

1. **HTTP request** sent to the URL
2. If the request fails, Upmetr **retries up to 2 more times** (3 total attempts) with a 1-second delay between retries
3. If all attempts fail, the check is marked as **down**
4. After reaching the **failure threshold**, an incident is created

### Anti-Flapping (Recovery Threshold)

To prevent alert noise from intermittent issues, monitors use a **recovery threshold**:

* When a monitor goes down, it stays in the "down" state
* When it starts responding again, Upmetr requires **N consecutive successful checks** before marking it as "up" and auto-resolving the incident
* Default recovery threshold is **2** — the monitor must pass 2 checks in a row before recovering

<Note>
  This prevents scenarios where a flaky endpoint triggers repeated "down → up → down" notifications.
</Note>

## SSL Certificate Monitoring

For HTTPS URLs, Upmetr automatically tracks SSL certificates:

* **Certificate validity** — Is the certificate valid?
* **Expiration date** — When does it expire?
* **Days until expiry** — Countdown displayed in the UI

### SSL Alerts

| Condition                          | Severity |
| ---------------------------------- | -------- |
| Certificate expires in **14 days** | Warning  |
| Certificate expires in **7 days**  | Critical |
| Certificate **expired**            | Critical |

SSL alerts are automatic — no additional configuration needed.

## Monitor Status

| Status          | Meaning                                         |
| --------------- | ----------------------------------------------- |
| **Up**          | URL is responding with the expected status code |
| **Down**        | URL is not responding or returning errors       |
| **Degraded**    | URL is slow or returning unexpected responses   |
| **Pending**     | Monitor hasn't completed its first check yet    |
| **Maintenance** | Monitor is paused (maintenance mode)            |

## Maintenance Mode

Put a monitor in maintenance mode to temporarily pause checks without deleting the monitor:

1. Open the monitor detail page
2. Toggle **Maintenance Mode** on
3. Checks are paused — no alerts will fire

When maintenance is disabled, checks resume at the next interval.

<Warning>
  Maintenance mode does not retroactively resolve existing incidents. If a monitor was down before entering maintenance, the incident remains open.
</Warning>

## Metrics & History

Each monitor tracks:

* **Response time** — Latency in milliseconds
* **Uptime percentage** — Rolling 24h, 7d, 30d
* **Daily uptime aggregates** — Historical availability data
* **Incident history** — Timeline of down events

View these on the monitor detail page (click any monitor in the list).

## Troubleshooting

| Issue                                   | Solution                                                                                                          |
| --------------------------------------- | ----------------------------------------------------------------------------------------------------------------- |
| **Monitor shows "Down" but site works** | Check the expected status code. Verify the URL is accessible from Upmetr's server (firewall rules, geo-blocking). |
| **Too many false alerts**               | Increase the failure threshold or check interval. Verify the endpoint doesn't have rate limiting.                 |
| **SSL expiry not showing**              | Only works for HTTPS URLs. Ensure the URL uses `https://`.                                                        |
| **Monitor stuck in "Pending"**          | Wait for the first check interval to complete. Check backend logs if persistent.                                  |
