Skip to main content

Monitors

Monitors are the core of UptimeIO. Each monitor represents a single endpoint, service, or resource you want to track. UptimeIO supports six monitor types:
Monitor TypeUse CaseExample
HTTP/HTTPSWebsites, APIs, web serviceshttps://api.example.com/health
KeywordContent validation on web pagesCheck if “Welcome” appears on homepage
Ping (ICMP)Server availability192.168.1.1 or server.example.com
Port (TCP)Service-specific monitoringSMTP (25), SSH (22), MySQL (3306)
DNSDNS resolution validationVerify example.com resolves to correct IP
HeartbeatCron jobs, scheduled tasksReceive pings from your backup script
Learn more about each monitor type in the Monitor Types section.

Check Intervals

Check intervals determine how frequently UptimeIO monitors your endpoints. Available intervals range from 30 seconds to 24 hours, configurable via a slider.

Plan Limits

PlanMinimum IntervalRecommended For
Free5 minutesPersonal projects, non-critical sites
Solo60 secondsSmall businesses, important services
Team60 secondsTeam projects, production services
Enterprise30 secondsMission-critical applications
Shorter intervals consume more checks per month. Balance monitoring frequency with your needs to optimize costs.

Multi-Region Monitoring

UptimeIO monitors your services from multiple geographic regions to provide accurate, globally-representative data and prevent false positives.

How It Works

1

Region Selection

When creating a monitor, you choose monitoring regions:
  • Auto: UptimeIO selects 2 regions based on intelligent load balancing
  • Manual: Select specific regions (Asia, Europe, North America, South America, etc.)
2

Distributed Checks

Each check interval, UptimeIO performs the check from one of your selected regions, rotating through them to ensure global coverage.
3

Consensus-Based Incidents

When a check fails, UptimeIO doesn’t immediately create an incident. Instead:
  1. Initial failure from Region A
  2. Retry after 1 second from Region B
  3. Final retry after 1 second from Region C
  4. Incident created only if all 3 checks fail from at least 2 different regions
This consensus mechanism requires 3 failed agents from at least 2 regions before declaring an incident, virtually eliminating false positives caused by transient network issues.

Incidents

Incidents represent periods when your monitored service is unavailable or not meeting expectations.

Incident Lifecycle

Incident Types

UptimeIO creates incidents for different types of failures:
The primary incident type when your service fails health checks. Triggered when consensus is reached (3 failures from 2+ regions).
Created when response times exceed your configured threshold. You can set custom thresholds per monitor.Recovery: Incident resolves when response time drops below 80% of threshold for 3 consecutive checks.
Alerts you when SSL certificates are approaching expiration. Configurable warning periods (e.g., 30 days, 7 days).
Triggered when DNS resolution fails or returns unexpected values for DNS monitors.
Coming Soon: Domain expiry monitoring to alert you before your domain registration expires

Notification Profiles

Notification profiles group multiple integrations together and can be assigned to one or more monitors. This allows you to manage notifications centrally rather than configuring each monitor individually.

Profile Structure

Notification Profile: "Production Alerts"
├── Integration: [email protected] (Email)
│   └── Events: Failures, Recoveries, SSL Expiry
├── Integration: +1234567890 (SMS)
│   └── Events: Failures only
└── Integration: Slack Webhook
    └── Events: All events

Event Cascade Filtering

UptimeIO uses a two-level cascade filter for notifications:
1

Profile-Level Events

First filter: Events enabled at the profile level. If an event is disabled here, NO integrations in the profile will receive it.
2

Integration-Level Events

Second filter: Each integration has its own event preferences. Both profile AND integration must have the event enabled for a notification to send.
This cascade system gives you fine-grained control. For example, enable all events at the profile level, but configure SMS to only receive critical failures while email receives everything.

Integrations

Integrations are the individual notification channels (email, SMS, webhooks, etc.) that receive alerts. Each integration belongs to your organization and can be added to multiple notification profiles.

Supported Integrations

TypeConfiguration RequiredUse Case
EmailEmail addressTeam notifications, audit trail
SMSPhone number (E.164 format)Critical alerts, on-call
WebhookURL, optional headersCustom integrations, CI/CD
SlackWebhook URLTeam collaboration
DiscordWebhook URLCommunity notifications
TelegramBot token, Chat IDPersonal alerts
PushoverUser key, API tokenMobile push notifications
PagerDutyIntegration keyIncident management
Learn how to configure each integration in the Integrations section.

Status Pages

Status pages are public-facing pages that show the real-time status of your services. They’re perfect for keeping customers informed during incidents.

Features

Custom Branding

Add your logo, colors, and custom CSS

Custom Domains

Use your own domain (e.g., status.yourcompany.com)

Subscriber Notifications

Users can subscribe to receive incident updates

Maintenance Windows

Schedule and communicate planned maintenance
Custom domains are available on all plans. Advanced customization features (full custom design, whitelabel) are available on Solo Basic and higher. Whitelabel status pages require Team or Organization plans.

Heartbeat Monitoring

Heartbeat monitors work differently from other monitor types. Instead of UptimeIO checking your service, your service (cron job, backup script, etc.) sends periodic “pings” to UptimeIO.

How It Works

1

Create heartbeat monitor

When you create a heartbeat monitor, UptimeIO generates a unique URL:
https://api.uptimeio.com/v1/heartbeat/abc123def456
2

Your service pings the URL

Your cron job or script makes an HTTP request to this URL after successful execution:
# At the end of your backup script
curl https://api.uptimeio.com/v1/heartbeat/abc123def456
3

UptimeIO monitors the pings

UptimeIO expects to receive pings at your configured interval (e.g., every hour). If a ping is missed beyond the grace period, an incident is created.

Configuration

  • Expected Interval: How often your job should run (e.g., 1 hour, 1 day)
  • Grace Period: Extra time allowed before marking as missed (e.g., 5 minutes)
  • Max Consecutive Misses: Number of missed pings before creating incident
Heartbeat monitoring is perfect for cron jobs, backup scripts, data sync tasks, and any scheduled process where you want to know if it stops running.

Data Retention

UptimeIO stores historical check data for different periods based on your plan:
PlanRetention PeriodUptime Calculations
Free3 monthsLast 90 days
Solo12 monthsLast 365 days
Team12 monthsLast 365 days
Enterprise24 monthsLast 730 days
Uptime percentages are calculated from all available data within your retention period. Older data is automatically archived and not included in calculations.

Notification Seats vs Team Seats

UptimeIO has two types of seats that affect how many people can receive notifications:

Team Seats

  • Purpose: Add team members to your organization
  • Access: Full dashboard access, can create/edit monitors
  • Notifications: Each team member can add 1 email and 1 SMS integration
  • Pricing: $4/month per additional team member (on Solo Pro, Team, Organization plans)
  • Plans: Not available on Free or Solo Basic

Notification Seats

  • Purpose: Add additional notification recipients without dashboard access
  • Access: No dashboard access
  • Notifications: Each seat allows 1 email and 1 SMS integration
  • Pricing: $2/month per additional notification seat (on Solo Pro, Team, Organization plans)
  • Plans: Not available on Free plan; Solo Basic includes 2 seats (no add-ons)

Seat Calculation

The maximum number of email/SMS integrations is:
Max Email/SMS = Owner + Team Seats + Notification Seats

Examples by Plan

PlanOwnerTeam SeatsNotification SeatsTotal Email/SMS
Free1001
Solo Basic1023
Solo Pro1157
Team151016
Organization Basic1102031
Free integrations (Slack, Discord, Webhooks, Telegram, Pushover, PagerDuty) don’t count toward seat limits and are unlimited on all plans.
Free plan users cannot purchase additional seats. Solo Basic includes 2 notification seats but cannot add more. Upgrade to Solo Pro or higher for add-on seats.

SMS Credits

SMS notifications consume credits based on your plan:
PlanMonthly CreditsCredit ExpiryPurchase Option
Free0N/ANot available
Solo Basic33 monthsAvailable
Solo Pro53 monthsAvailable
Team103 monthsAvailable
Organization Basic253 monthsAvailable
Organization Standard503 monthsAvailable
Organization Enterprise1003 monthsAvailable

Purchasing Additional Credits

PackagePricePer SMS Cost
10 credits$3.00$0.30
100 credits$15.00$0.15
200 credits$25.00$0.125
500 credits$55.00$0.11
1,000 credits$100.00$0.10
Monthly credits expire after 3 months. Purchased credits never expire and are used after monthly credits are exhausted.

Next Steps