Monitor Types
Unseenr supports 13 different monitor types for checking the health of your services, infrastructure, and certificates.
HTTP/HTTPS (UPTIME)
The most common monitor type. Sends HTTP requests to your URL and checks the response.
- Methods: GET, POST, PUT, DELETE
- Custom Headers: Add authentication or custom headers as JSON
- Authentication: None, Basic Auth, or Bearer Token
- Expected Status Codes: Default is 200-399, customizable
- Keyword Check: Verify that a specific string exists (or doesn't exist) in the response body
- JSON Path Query: Extract a value from a JSON response and compare it (eq, neq, gt, lt, gte, lte, contains)
- Request Body: Send a custom body (for POST/PUT) with configurable content type
- Degraded Threshold: Mark as degraded if response time exceeds a threshold (default: 2000ms)
TCP
Checks if a TCP port is open and optionally verifies a banner response.
- Port: The TCP port to connect to
- Expected Banner: Optional string to match in the server's banner response
Ping (ICMP)
Sends ICMP ping packets to check host availability.
- Packet Count: Number of ping packets to send (default: 4)
- Tracks packet loss and jitter in addition to response time
DNS
Queries DNS records and verifies the response.
- Record Types: A, AAAA, MX, CNAME, TXT, NS, SOA, SRV
- Expected Value: The expected DNS response
- DNS Server: Custom DNS server to query (optional)
TLS Certificate (TLS_CERT)
Monitors SSL/TLS certificate expiry and validity.
- Warning Threshold: Days before expiry to trigger a warning (default: 30)
- Critical Threshold: Days before expiry to trigger a critical alert (default: 7)
- Tracks: certificate issuer, expiry date, days remaining
Domain Expiry (DOMAIN_EXPIRY)
Checks when your domain registration expires via WHOIS lookup.
- Warning Threshold: Days before expiry to alert (default: 30)
- Tracks: domain expiry date, registrar
Heartbeat
Passive monitors that expect your server to send periodic pings. See Heartbeat Monitors for details.
PostgreSQL (POSTGRES)
Connects to a PostgreSQL database and runs a health check query.
- Connection String: Encrypted with AES-256-GCM
- Custom Query: e.g.,
SELECT 1 - Expected Result: Verify the query returns the expected value
MySQL (MYSQL)
Same as PostgreSQL monitoring but for MySQL/MariaDB databases.
Redis (REDIS)
Connects to a Redis instance and verifies connectivity.
- Connection String: Encrypted with AES-256-GCM
Docker (DOCKER)
Monitors Docker container status.
- Container ID: The container to monitor
- Docker Host: TCP endpoint (e.g.,
tcp://host:2376) or Unix socket
WebSocket (WEBSOCKET)
Opens a WebSocket connection and optionally sends a message.
- Message: Optional message to send after connection
- Expected Response: Substring to verify in the response
SMTP
Checks SMTP server availability.
- Port: Default is 25
Common Settings
All monitor types share these settings:
| Setting | Default | Description |
|---|---|---|
| Interval | 5 min | Check frequency (1 min on Pro+) |
| Timeout | 10 sec | Maximum time to wait for response |
| Fail Threshold | 2 | Consecutive failures before marking as DOWN |
| Recheck on Failure | Yes | Immediately recheck after a failure |
| Required Regions | 1 | Number of regions that must confirm failure |
| Regions | FSN1 | Check regions (multi-region on Pro+) |
Monitor Limits
| Plan | Max Monitors |
|---|---|
| Free | 3 |
| Starter | 5 |
| Pro | 20 |
| Business | 100 |
| Scale | 300 |
| Platform | 1,000 |