How It Works
The uptime monitoring workflow runs on a cron schedule, checking your configured endpoints and recording their status.By default, Upptime checks your sites every 5 minutes. This is configurable in the workflow file.
The Uptime Workflow
The uptime check is powered by theuptime.yml workflow:
.github/workflows/uptime.yml
Workflow Triggers
The uptime workflow can be triggered in three ways:Scheduled (Cron)
Scheduled (Cron)
Runs automatically every 5 minutes:You can customize this schedule using standard cron syntax.
Repository Dispatch
Repository Dispatch
Can be triggered programmatically via the GitHub API:
Manual Trigger
Manual Trigger
Can be manually triggered from the GitHub Actions UI:
Configuring Sites to Monitor
Sites are configured in your.upptimerc.yml file:
.upptimerc.yml
Advanced Check Types
Upptime supports different types of health checks:- HTTP/HTTPS
- TCP Ping
- Custom Headers
The default check type for web endpoints:
What Gets Checked
For each configured site, Upptime:- Sends a request to the URL
- Records the HTTP status code (200, 404, 500, etc.)
- Measures response time in milliseconds
- Commits the result to the repository’s history
- Opens or closes issues based on up/down status
All check results are stored in YAML files under the
history/ directory, creating a complete audit trail.Status Detection
Upptime determines if a site is up or down based on:- HTTP status codes: 2xx and 3xx are considered “up”
- Network connectivity: Connection timeouts or DNS failures mark sites as “down”
- Response time: Sites that don’t respond within the timeout are marked as “down”
History Files
Each monitored site gets its own history file:history/google.yml
GitHub Actions Benefits
Using GitHub Actions for monitoring provides:Zero Cost
Free for public repositories, included in GitHub Free minutes for private repos
No Server Required
Completely serverless - no infrastructure to maintain
Git-Based History
All monitoring data is versioned in git with complete history
Transparent
All workflow runs are visible in the Actions tab
Frequency and Limits
Next Steps
- Learn about Response Time Tracking
- Configure Incident Management
- Set up Notifications