---
title: "Alert settings"
summary: "Settings for the alert evaluation loop and alert email."
description: "Whether the alert engine runs, how often it evaluates, how long history is kept, and how alert email is addressed and limited."
status: preview
generated: true
read_when:
  - "Alerts are evaluating too slowly, or not at all."
  - "You are setting a default alert email destination or changing the per-address limit."
---

Every setting below is read once at startup and requires a restart to change.
Built-in defaults are overridden by nonempty environment values.
For the first Pitot alpha, unset `PITOT_` variables accept `FANOUT_` equivalents with a names-only deprecation warning. Explicitly empty primary variables block fallback.
Unknown `PITOT_` names fail startup; platform-injected service names are tolerated.
Vendor credentials and endpoints keep the vendor's documented names.

| Environment variable | Type | Default |
|---|---|---|
| `PITOT_ALERTS_EMAIL_DEFAULT_TO` | string | — |
| `PITOT_ALERTS_EMAIL_HOURLY_LIMIT` | integer | `30` |
| `PITOT_ALERTS_ENABLED` | boolean | `true` |
| `PITOT_ALERTS_EVALUATION_INTERVAL` | duration | `30s` |
| `PITOT_ALERTS_HISTORY_DAYS` | integer | `7` |

## Notes

### `PITOT_ALERTS_EMAIL_DEFAULT_TO`

A comma-separated list of addresses that receive alerts from rules with no webhook and no email recipients of their own; requires SMTP.

### `PITOT_ALERTS_EMAIL_HOURLY_LIMIT`

Caps the alert emails sent to one address in any rolling hour, across all rules. Notifications over the limit are suppressed, not delayed, and shown on the rule; 0 suppresses all alert email.

### `PITOT_ALERTS_ENABLED`

Runs the alert evaluation engine.

### `PITOT_ALERTS_EVALUATION_INTERVAL`

Schedules alert evaluation; use a Go duration of at least 1s.

### `PITOT_ALERTS_HISTORY_DAYS`

Sets alert history retention in days.