What is an SLA target?
A Service Level Agreement (SLA) target is a commitment to a specific uptime percentage over a defined period. Common SLA targets and their allowed downtime:
| SLA Target | Downtime / month | Downtime / year |
|---|---|---|
| 99% | 7h 18m | 3d 15h 36m |
| 99.5% | 3h 39m | 1d 19h 48m |
| 99.9% | 43m 12s | 8h 45m 36s |
| 99.95% | 21m 36s | 4h 22m 48s |
| 99.99% | 4m 19s | 52m 36s |
The difference between 99.9% and 99.99% looks small as a percentage, but it’s the difference between 43 minutes and 4 minutes of allowed downtime per month.
Setting an SLA target
Configure SLA targets per monitor under Monitor Settings > SLA:
- Enter your target percentage (e.g.,
99.9). - Select the reporting period — monthly or quarterly.
- Optionally enable breach alerts to get notified when your error budget is running low.
How uptime is calculated
Signalog calculates uptime using a simple, transparent formula:
uptime_percent = (successful_checks / total_checks) × 100
A check is counted as successful if it passes all configured validations (status code, keyword, timeout, contract). A check is failed if any validation fails or the request times out.
This calculation is based on actual check data, not estimated availability. If your monitor runs every 60 seconds and you have 30 days in the month, that’s approximately 43,200 checks. Each failed check reduces your uptime by roughly 0.002%.
Exclusions
Planned maintenance windows can be excluded from SLA calculations. When you create a maintenance window in the status page settings, checks during that period are excluded from both the total and failed counts.
Error budgets
An error budget is the inverse of your SLA target — it’s how much downtime you’re allowed before breaching your SLA.
error_budget = (1 - SLA_target / 100) × period_duration
budget_remaining = error_budget - actual_downtime
For a 99.9% monthly SLA:
- Error budget: 0.1% of ~43,200 minutes = 43.2 minutes
- If you’ve had 15 minutes of downtime so far this month, you have 28.2 minutes remaining.
- Budget consumed: 34.7%
Budget consumption tracking
Signalog tracks error budget consumption in real-time on the monitor detail page:
- Budget remaining — Time (in minutes) of allowed downtime left.
- Budget consumed — Percentage of the error budget used so far.
- Burn rate — How fast you’re consuming budget relative to the period. A burn rate of 1.0 means you’re consuming budget at exactly the expected pace. A burn rate above 1.0 means you’re on track to breach.
Breach detection
When your error budget is running low, Signalog can alert you before a breach occurs. Configure thresholds under the SLA settings:
- Warning at 75% consumed — You’ve used most of your budget. Avoid risky deploys.
- Critical at 90% consumed — Very little budget remains. Prioritize stability.
- Breached at 100% — The SLA has been missed for the current period.
Breach notifications are sent through your configured alert channels.
SLA reports
Generate SLA reports for any period via the dashboard or API:
curl https://api.signalog.dev/v1/monitors/{monitor_id}/sla \
-H "Authorization: Bearer YOUR_API_KEY" \
-G -d "period=monthly" -d "month=2025-01"
The response includes uptime percentage, total checks, failed checks, downtime minutes, error budget status, and a breakdown of incidents that contributed to downtime.
Next steps
- Create your first monitor and set an SLA target
- Track deployments to see how releases affect your error budget
- Understand how monitoring works for the full picture