# Monitoring stubs (Phase 0)

## Signals

| Signal | Source | Threshold (draft) |
|--------|--------|-------------------|
| HTTP 5xx rate | Nginx/Pulse | > 1% for 5m |
| Queue depth | Horizon | waiting > 100 for 10m |
| Failed jobs | `failed_jobs` | any spike |
| Disk | host | < 15% free |
| Health | `GET /health` | status != ok for 3m |

## Channels

- Email / Slack webhook (configure in ops before go-live)
- Pulse UI at `/pulse`
- Horizon UI at `/horizon`

## Test alert

```bash
php artisan tinker --execute="logger()->error('TRA monitoring test alert');"
```

Confirm the log shipper / on-call path receives it once wired.
