Uptime Monitoring
Monitor your websites, APIs, servers, and services with real-time alerts and public status pages.
Introduction
The Uptime Monitoring feature provides comprehensive service availability monitoring. Track your infrastructure health, receive instant alerts when services go down, and keep your customers informed with public status pages.
Key Features
- Multiple Monitor Types — HTTP, Ping, Port, SSL, DNS, and more
- Real-time Alerts — Get notified instantly via email, Slack, or webhooks
- Public Status Pages — Branded status pages with incident history
- Incident Management — Track and communicate incidents
- Maintenance Windows — Schedule maintenance without triggering alerts
- Performance Charts — Historical response time and uptime graphs
Monitor Types
HTTP/HTTPS Monitor
Check website availability and response time by making HTTP/HTTPS requests.
- URL to monitor
- Expected HTTP status codes (default: 200-299)
- Request method (GET, POST, PUT, etc.)
- Custom headers and body
- SSL certificate validation
Keyword Monitor
Verify specific text appears (or doesn't appear) on a webpage.
- URL to check
- Keyword to find or exclude
- Match type: contains, equals, or regex
- Case sensitivity option
Ping Monitor
Use ICMP ping to check if a host is reachable.
- Hostname or IP address
- Timeout duration
- Packet count configuration
Port Monitor
Check if a specific TCP port is open and accepting connections.
- Hostname or IP address
- Port number
- Connection timeout
Heartbeat/Cron Monitor
Passive monitoring that expects regular "pings" from your services.
- Expected interval (how often service should ping)
- Grace period before marking as down
- Unique token for API endpoint
POST /api/v1/uptime/heartbeat/{token}
SSL Certificate Monitor
Monitor SSL certificate expiration dates and get warned before they expire.
- Hostname to check
- Port (default: 443)
- Alert thresholds: 30, 14, or 7 days before expiration
DNS Monitor
Check DNS record resolution.
- Domain to check
- Record type (A, AAAA, CNAME, MX, TXT, etc.)
- Expected value (optional)
Creating Monitors
- Navigate to Uptime Monitoring from the main navigation
- Click Create Monitor
- Select the monitor type
- Configure the settings (URL, interval, alerts, etc.)
- Save the monitor
The monitor will begin checking immediately after creation.
Check Intervals
Configure how frequently monitors check your services:
| Interval | Description |
|---|---|
| 1 minute | Real-time monitoring (Pro/Enterprise) |
| 5 minutes | Standard monitoring |
| 15 minutes | Basic monitoring |
| 30 minutes | Low-priority services |
Alert System
Get notified immediately when your services go down or recover.
Alert Types
| Type | Description |
|---|---|
| Down Alert | When a monitor detects a failure |
| Recovery Alert | When a monitor comes back online |
| Degraded Alert | When response time exceeds threshold |
| Reminder Alert | Periodic reminders for ongoing incidents |
| Expiration Warning | SSL or domain expiration approaching |
Notification Channels
- In-App — Real-time notifications via WebSocket
- Email — Customizable email alerts
- Slack — Rich formatted messages with action buttons
- Discord — Embedded messages with status colors
- Microsoft Teams — Adaptive card notifications
- Custom Webhook — Send alerts to any URL
Alert Configuration
Configure alerts per monitor:
- Choose which channels to notify
- Set consecutive failures before alerting
- Configure reminder intervals
- Set quiet hours to avoid late-night alerts
Public Status Pages
Create branded status pages to keep your customers informed about service availability.
Features
- Custom Branding — Logo, colors, and company information
- Real-time Status — Live monitor status display
- Uptime Graphs — Historical uptime percentage visualization
- Incident History — Past incidents and resolutions
- Maintenance Notices — Scheduled maintenance windows
- Email Subscriptions — Let customers subscribe for updates
- Custom Domain — Use your own domain (Enterprise)
Creating a Status Page
- Navigate to Status Pages
- Click Create Status Page
- Configure branding and settings
- Select which monitors to display
- Configure subscriber settings
- Publish the status page
- Share the public URL with customers
Incident Management
Track and communicate incidents with your team and customers.
Incident Status
| Status | Description |
|---|---|
| Investigating | Issue detected, investigation underway |
| Identified | Root cause identified, working on fix |
| Monitoring | Fix deployed, monitoring for stability |
| Resolved | Issue fully resolved |
Severity Levels
| Level | Description |
|---|---|
| Minor | Degraded performance, partial outage |
| Major | Significant impact, multiple services affected |
| Critical | Complete outage, all users affected |
Maintenance Windows
Schedule planned maintenance to prevent false alerts and notify customers.
- Navigate to Maintenance Windows
- Click Schedule Maintenance
- Select affected monitors
- Set the maintenance window time
- Add a description for the status page
- Save the maintenance window
During maintenance windows:
- Monitors continue to run but don't trigger alerts
- Status pages show "Scheduled Maintenance"
- Subscribers receive maintenance notifications
Dashboard Widget
The Uptime Overview widget on your dashboard provides:
- Overall uptime statistics
- Monitor status summary (up/down counts)
- Average uptime percentage
- Monitor list with response times
- Recent open incidents
- Real-time WebSocket updates
Performance Charts
Each monitor's detail page includes interactive performance charts:
- Response Time Chart — Historical response times with min/max/avg lines
- Uptime Percentage Chart — Daily/weekly/monthly uptime visualization
- Incident Timeline — Visual timeline of incidents and maintenance
- Status Distribution — Pie chart showing up/down/degraded distribution
Time Ranges
- Last 24 hours (default)
- Last 7 days
- Last 30 days
- Last 90 days
- Custom date range
Using Heartbeat Monitoring
Heartbeat monitoring is perfect for monitoring cron jobs, scheduled tasks, or any service that should run on a schedule.
- Create a Heartbeat monitor in Jasper
- Copy the unique token from the monitor settings
- Configure your service or cron job to ping the endpoint:
curl -X POST https://heyjasper.ai/api/v1/uptime/heartbeat/{token} - If the service fails to ping within the expected interval, an alert is triggered
Tip: Add the heartbeat ping at the end of your cron jobs so it only reports success when the job completes successfully.
API Access
Access uptime monitoring data programmatically:
| Endpoint | Description |
|---|---|
GET /api/v1/uptime/overview |
Organization stats |
GET /api/v1/uptime/monitors |
List monitors |
GET /api/v1/uptime/monitors/{uuid} |
Monitor details |
GET /api/v1/uptime/monitors/{uuid}/checks |
Check history |
GET /api/v1/uptime/incidents |
List incidents |
GET /api/v1/uptime/statistics |
Aggregated stats |
Troubleshooting
Monitors Not Checking
- Verify the Laravel scheduler is running
- Check that queue workers are processing jobs
- Review the Job Queue in Admin settings
- Check the check_results table for recent entries
Alerts Not Sending
- Verify notification channels are configured
- Check user notification preferences
- Review failed jobs in the queue
- Check application logs for errors
Status Page Not Loading
- Verify the status page is set to "published"
- Check that monitors are attached to the status page
- Verify the slug is correct in the URL
Need help? Check the general troubleshooting guide or contact support for assistance.