The Monitor resource allows you to create and manage uptime monitoring checks in Better Uptime.
Example Usage#
Basic HTTP Monitor#
API Endpoint Monitor#
Monitor with Expected Status#
Monitor with Keyword Check#
Monitor with Custom Headers#
SSL Certificate Monitor#
Monitor with Policy#
Ping Monitor#
Port Monitor#
Monitor with Maintenance Windows#
Argument Reference#
Required Arguments#
url(String) - The URL, IP address, or host to monitormonitorType(String) - Type of monitor. Options:status,expected_status_code,keyword,keyword_absence,ping,tcp,udp,smtp,pop,imap,ssl
Optional Arguments#
checkFrequency(Number) - Check frequency in seconds. Options: 30, 60, 120, 180, 300, 600, 1800, 3600, 86400. Default: 180requestTimeout(Number) - Request timeout in seconds (1-60). Default: 15confirmationPeriod(Number) - Confirmation period in seconds before marking as down. Default: 0monitorGroupId(Number) - Monitor group IDpronounceableName(String) - Pronounceable name for phone callspaused(Boolean) - Whether the monitor is paused. Default: falseport(Number) - Port number (for TCP/UDP monitors)regions(List) - Regions to check from (e.g., ["us", "eu", "as"])expectedStatusCodes(List) - Expected HTTP status codes (for expected_status_code type)requiredKeyword(String) - Required keyword in response (for keyword type)call(Boolean) - Enable phone call notifications. Default: falsesms(Boolean) - Enable SMS notifications. Default: falseemail(Boolean) - Enable email notifications. Default: truepush(Boolean) - Enable push notifications. Default: truepolicyId(Number) - Escalation policy IDrequestHeaders(List) - Custom HTTP headersrequestBody(String) - HTTP request body (for POST requests)followRedirects(Boolean) - Follow HTTP redirects. Default: falserememberCookies(Boolean) - Remember cookies between checks. Default: falseverifySSL(Boolean) - Verify SSL certificates. Default: truemaintenanceFrom(String) - Maintenance window start time (ISO 8601)maintenanceTo(String) - Maintenance window end time (ISO 8601)maintenanceTimezone(String) - Maintenance window timezone
Attribute Reference#
id(String) - The monitor IDstatus(String) - Current monitor status (up, down, paused, maintenance)createdAt(String) - Creation timestampupdatedAt(String) - Last update timestamp
Monitor Types#
HTTP Monitors#
status - Checks if URL returns 2xx status code
expected_status_code - Checks for specific status codes
keyword - Checks if response contains keyword
keyword_absence - Checks if response doesn't contain keyword
Network Monitors#
ping - ICMP ping check
tcp - TCP port check
udp - UDP port check
Email Monitors#
smtp - SMTP server check
pop - POP3 server check
imap - IMAP server check
SSL Monitor#
ssl - SSL certificate expiration check
Best Practices#
Check Frequency Guidelines#
| Service Type | Recommended Frequency | Reason |
|---|---|---|
| Critical API | 30-60 seconds | Immediate detection |
| Public Website | 60-180 seconds | Balance cost/detection |
| Internal Service | 180-300 seconds | Reduced load |
| SSL Certificates | 86400 seconds (daily) | Infrequent changes |
Timeout Configuration#
Confirmation Period#
Regional Monitoring#
Import#
Monitors can be imported using their ID:
Troubleshooting#
Monitor Shows Down but Service is Up#
Causes:
- Firewall blocking Better Uptime IPs
- Geographic restrictions
- Rate limiting
Solution:
- Whitelist Better Uptime IP ranges
- Adjust geographic restrictions
- Increase rate limits
False Positives#
Causes:
- Network instability
- Service intermittent issues
- Too short timeout
Solution:
SSL Verification Failures#
Cause: Self-signed certificates or certificate issues
Solution: