Uptime Monitoring
Automated health checks for HTTP, TCP, SSL, and NATS services.
Fyren monitors your services on configurable intervals and automatically updates component status when failures are detected.
Monitor Types
HTTP / HTTPS
Sends a GET request to the configured URL and checks the response.
- Follows redirects automatically
- Any 2xx status code is accepted by default, or set a specific expected status code
- Custom request headers supported (e.g., for authentication)
TCP
Opens a raw socket connection to the configured host and port. Useful for databases, message brokers, and other non-HTTP services.
URL formats: tcp://host:port or host:port
SSL Certificate Expiry
Connects via TLS and reads the peer certificate. Reports the certificate issuer, expiration date, and days remaining.
- Marks the monitor as down when the certificate expires within a configurable warning period (default: 14 days)
- SNI supported for servers hosting multiple certificates
NATS
Connects to a NATS messaging server and verifies connectivity. Supports multiple authentication modes.
| Auth Mode | Config Fields |
|---|---|
| None | — |
| Token | token |
| Username/Password | user, pass |
| JWT + NKey | jwt, nkey_seed |
| Credentials file | creds (full .creds file content) |
Authentication is configured through the monitor's headers field using JSON keys: auth_type, token, user, pass, jwt, nkey_seed, creds.
URL formats: nats://host:port, host:port, or just host (defaults to port 4222)
Configuration
Each monitor has the following settings:
| Setting | Range | Default | Description |
|---|---|---|---|
| Interval | 30–3600s | 60s | How often to run the check |
| Timeout | 1000–30000ms | 10000ms | Max time to wait for a response |
| Failure threshold | 1–10 | 3 | Consecutive failures before status change |
| Expected status code | — | Any 2xx | HTTP-only: specific status code to expect |
| Custom headers | — | — | JSON object of request headers |
| Active | — | true | Enable or disable the monitor |
How Status Updates Work
- Failure detection — When a monitor accumulates consecutive failures equal to the failure threshold, the linked component is set to
major_outage - Auto-incident creation — If enabled on the monitor, an incident is automatically created when the threshold is breached (see Incident Management)
- Recovery — When checks pass again, the component status is restored and any auto-created incident is resolved (if auto-resolve is enabled)
Manual Operations
- Test connection — Send a one-off check before saving a monitor via
POST /api/v1/admin/monitors/test - Toggle active — Enable or disable a monitor without deleting it via
PATCH /api/v1/admin/monitors/:id/toggle
API Reference
See Admin Endpoints — Monitors for the full API.