Skip to main content

HTTP Monitor

Monitor HTTP/HTTPS endpoints with advanced validation, custom headers, request bodies, and SSL certificate checking.

Creating an HTTP Monitor

1

Navigate to Monitors

Go to Monitors in the sidebar and click New Monitor.

2

Select HTTP Monitor

Choose HTTP Monitor from the monitor type options.

3

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

OptionDescriptionExample
urlEndpoint to monitor (required)https://api.example.com/health
methodHTTP methodGET, POST, PUT
intervalCheck frequency (seconds)60 (1 minute)
timeoutResponse timeout (seconds)30
expectedStatusExpected HTTP status code200, 201, 204
headersCustom request headersJSON object with headers
bodyRequest body (for POST/PUT)JSON or plain text
followRedirectsFollow HTTP redirectstrue (default)
validateSSLVerify SSL certificatestrue (default)

Advanced Features

Custom Headers

Add custom headers to your HTTP requests for authentication, content-type, or API keys:

Example Headers
json
{
  "Authorization": "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
  "Content-Type": "application/json",
  "X-API-Key": "your-api-key-here",
  "User-Agent": "BlackTide-Monitor/1.0"
}

Request Body (POST/PUT)

For POST or PUT requests, you can send a JSON or plain text body:

JSON Body Example
json
{
  "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
Response Validation Config
json
{
  "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.

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)

Example Configurations

Simple GET Request

Health Check
json
{
  "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

API with Auth
json
{
  "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

GraphQL Query
json
{
  "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 /health or /status endpoints
  • 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: 3 in 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

Next Steps