Incident response

Monitors

Check websites and APIs with HTTP requests, response-time tracking, keyword verification, failure thresholds, SSL expiry, and recovery alerts.

Monitors

Monitors check your websites, APIs, and services by periodically sending HTTP/HTTPS requests and checking if they respond correctly. Get instant alerts when your services go down and recovery notifications when they come back up.

How It Works MonoDuty sends HTTP requests to your endpoint at configurable intervals. We check the status code, response time, keyword presence, and SSL certificate validity. If consecutive failures exceed your threshold, we alert your team and create an incident.

Key Features

  • HTTP/HTTPS Monitoring β€” Support for GET, POST, and custom HTTP methods
  • Response Time Tracking β€” Monitor latency and track performance trends
  • Uptime Percentage β€” 30-day rolling uptime calculation
  • SSL Certificate Monitoring β€” Track SSL expiry and get early warnings
  • Keyword Verification β€” Verify specific content exists (or doesn't) in responses
  • Custom Headers & Body β€” Send authentication headers or POST bodies
  • Failure Thresholds β€” Configure consecutive failures before alerting (default: 3)
  • Auto Incidents β€” Automatically create incidents when services go down
  • Recovery Alerts β€” Get notified when services come back up
  • Daily Statistics β€” View daily uptime percentages, response times, and check counts

Creating a Monitor

Via Dashboard

  1. Navigate to Dashboard β†’ Monitors
  2. Click "New Monitor"
  3. Enter a name (e.g., "Production API")
  4. Enter the URL to monitor (e.g., https://api.example.com/health)
  5. Configure check settings:
    • Method β€” GET (default), POST, etc.
    • Expected Status β€” 200 (default)
    • Check Interval β€” How often to check (min 60 seconds)
    • Timeout β€” Request timeout (1–30 seconds)
    • Failure Threshold β€” Consecutive failures before alerting (default: 3)
  6. Optionally add keyword verification, custom headers, or request body
  7. Configure notification channels
  8. Click "Create"

Via API

curl -X POST https://api.monoduty.com/api/uptime-monitors \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Production API",
    "url": "https://api.example.com/health",
    "method": "GET",
    "expected_status": 200,
    "interval_seconds": 300,
    "timeout_ms": 10000,
    "failure_threshold": 3,
    "channels": [
      {"type": "EMAIL", "target": "[email protected]"},
      {"type": "SLACK", "target": "https://hooks.slack.com/..."}
    ]
  }'

Health Check Configuration

Monitor Parameters

ParameterTypeDefaultDescription
urlstringβ€”URL to monitor (http:// or https://)
methodstringGETHTTP method (GET, POST, HEAD, etc.)
expected_statusnumber200Expected HTTP response status code
timeout_msnumber10000Request timeout in milliseconds (1000–30000)
interval_secondsnumber300Check frequency in seconds (min 60)
failure_thresholdnumber3Consecutive failures before alerting
keywordstringnullKeyword to check in response body
keyword_must_containbooleantruetrue = keyword must exist, false = keyword must not exist
headersobjectnullCustom request headers (e.g., Authorization)

Monitor States

A monitor can be in one of the following states:

StateDescriptionAlert?
pendingJust created, waiting for first checkNo
upService is responding correctlyRecovery alert (if was down)
degradedFailures detected but below thresholdNo
downConsecutive failures exceeded thresholdYes β€” creates incident
βœ“
Automatic Incident Creation When a monitor transitions to "down" state, MonoDuty automatically creates a CRITICAL incident and notifies all configured channels. When the service recovers, a recovery notification is sent.

SSL Certificate Monitoring

For HTTPS endpoints, Monitors automatically check your SSL certificate validity:

  • Automatic Detection β€” SSL certificate details are captured on every health check
  • Days Remaining β€” Track how many days until your certificate expires
  • Expiry Dashboard β€” View SSL expiry dates for all monitors at a glance
  • Error Detection β€” Detect expired, self-signed, or misconfigured certificates
SSL Expiry Warning Keep an eye on the SSL days remaining in your dashboard. We recommend renewing certificates at least 30 days before expiry to avoid service disruptions.

Daily Statistics

Monitors automatically generate daily statistics for each monitor:

  • Total Checks β€” Number of health checks performed
  • Successful / Failed β€” Breakdown of check results
  • Average Response Time β€” Mean response latency in milliseconds
  • Min / Max Response Time β€” Response time range
  • Uptime Percentage β€” Daily uptime (successful / total Γ— 100)