HTTP Monitor
Monitor HTTP/HTTPS endpoints with advanced validation, custom headers, request bodies, and SSL certificate checking.
Most Popular Monitor
Creating an HTTP Monitor
Navigate to Monitors
Go to Monitors in the sidebar and click New Monitor.
Select HTTP Monitor
Choose HTTP Monitor from the monitor type options.
Configure Basic Settings
Enter the required configuration:
- Name - Descriptive name (e.g., "Production API Health Check")
- URL - Full HTTPS/HTTP URL to monitor
- Interval - Check frequency (30s, 1min, 5min, etc.)
- Timeout - Max wait time for response
Configuration Options
| Option | Description | Example |
|---|---|---|
url | Endpoint to monitor (required) | https://api.example.com/health |
method | HTTP method | GET, POST, PUT |
interval | Check frequency (seconds) | 60 (1 minute) |
timeout | Response timeout (seconds) | 30 |
expectedStatus | Expected HTTP status code | 200, 201, 204 |
headers | Custom request headers | JSON object with headers |
body | Request body (for POST/PUT) | JSON or plain text |
followRedirects | Follow HTTP redirects | true (default) |
validateSSL | Verify SSL certificates | true (default) |
Advanced Features
Custom Headers
Add custom headers to your HTTP requests for authentication, content-type, or API keys:
{
"Authorization": "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"Content-Type": "application/json",
"X-API-Key": "your-api-key-here",
"User-Agent": "BlackTide-Monitor/1.0"
}Sensitive Data
Request Body (POST/PUT)
For POST or PUT requests, you can send a JSON or plain text body:
{
"action": "health_check",
"timestamp": "2024-02-14T10:00:00Z",
"source": "blacktide_monitor"
}Response Validation
Validate the response beyond just the status code:
- Expected Status - Check specific status code (200, 201, etc.)
- Response Body Contains - Verify response includes specific text
- JSON Schema Validation - Validate response structure
- Response Time - Alert if latency exceeds threshold
{
"expectedStatus": 200,
"bodyContains": ""status":"healthy"",
"maxResponseTime": 2000
}SSL/TLS Validation
By default, BlackTide validates SSL certificates and alerts you before they expire. You can optionally disable SSL validation for self-signed certificates in development.
Certificate Expiry Alerts
Multi-Location Checks
Run checks from multiple geographic locations to ensure global availability:
- US East (Virginia)
- US West (California)
- EU West (Ireland)
- EU Central (Frankfurt)
- Asia Pacific (Singapore)
- South America (São Paulo)
Geographic Redundancy
Example Configurations
Simple GET Request
{
"name": "API Health Check",
"url": "https://api.example.com/health",
"method": "GET",
"interval": 60,
"timeout": 30,
"expectedStatus": 200,
"locations": ["us-east-1", "eu-west-1"]
}Authenticated POST Request
{
"name": "Create User Test",
"url": "https://api.example.com/users",
"method": "POST",
"interval": 300,
"timeout": 30,
"headers": {
"Authorization": "Bearer YOUR_API_TOKEN",
"Content-Type": "application/json"
},
"body": "{\"email\":\"test@example.com\"}",
"expectedStatus": 201
}GraphQL Endpoint
{
"name": "GraphQL API",
"url": "https://api.example.com/graphql",
"method": "POST",
"headers": {
"Content-Type": "application/json"
},
"body": "{"query":"{health{status}}"}"
"expectedStatus": 200,
"bodyContains": ""status":"ok""
}Common Use Cases
REST API Monitoring
- Monitor
/healthor/statusendpoints - Validate response structure with JSON schema
- Track response time trends
Website Uptime
- Monitor homepage or critical pages
- Check for specific content (logo, text, etc.)
- Verify SSL certificate validity
Third-Party API Dependency
- Monitor external APIs your app depends on
- Track availability of payment gateways (Stripe, PayPal)
- Alert before third-party rate limits
Troubleshooting
Timeouts
If your monitor is timing out:
- Increase the timeout setting (default: 30s)
- Check if the endpoint is slow in production
- Verify network connectivity from our check locations
False Positives
To reduce false alarms:
- Set
consecutiveFailures: 3in alert rules - Enable multi-location checks (fail only if all locations fail)
- Increase timeout for slow endpoints
SSL Validation Errors
If you're getting SSL errors:
- Verify certificate is valid and not expired
- Check intermediate certificate chain
- Disable SSL validation for self-signed certs (dev only)
Best Practices
HTTP Monitoring Best Practices
- Use dedicated health endpoints - Create lightweight
/healthroutes that don't hit the database - Set appropriate intervals - 60s for critical APIs, 5min for standard services
- Enable multi-location - Always check from 2+ locations to avoid false alarms
- Monitor response time - Set latency thresholds to catch performance degradation early
- Validate response content - Don't just check status codes, verify the response body too
Next Steps
- Configure Alert Rules - Get notified when monitors fail
- TCP Monitor - Monitor port connectivity
- TLS Monitor - Dedicated SSL certificate monitoring