How to Set Up Uptime Monitoring in Better Stack
Uptime monitoring is the first line of defense against customer-facing outages. Without it, you learn about downtime from angry customer emails or social media posts. Better Stack checks your endpoints every 30 seconds from multiple global locations, detects failures within a minute, and routes alerts to the right people through the right channels. The difference between a 5-minute outage and a 45-minute one is often just how fast you find out.
But monitoring alone is not enough. You need intelligent alerting that pages the right engineer without causing alert fatigue, a status page that communicates with customers during incidents, and post-incident tools that help prevent recurrence. This guide covers the full setup from basic monitors to production-grade incident response.
Step-by-step guide
Add your critical endpoints as monitors
In Better Stack, navigate to Monitors and click 'Create Monitor.' Add each of your production endpoints: your main website, your API health check endpoint, your authentication service, and any critical third-party dependencies. Set the check interval to 30 seconds for customer-facing services and 60 seconds for internal services. Use HTTP monitors for web endpoints and TCP monitors for database or cache connectivity.
- Add monitors for each production web endpoint
- Add a monitor for your API health check route
- Add TCP monitors for critical infrastructure (database, cache)
Configure multi-region checking
Enable monitoring from multiple geographic regions to distinguish between global outages and regional issues. Select 3-5 regions that represent your user base. Configure the confirmation threshold: require failures from at least 2 regions before triggering an alert. This prevents false positives from transient network issues in a single region while still catching real outages quickly.
Set up on-call schedules and escalation policies
Go to Better Stack's On-call section and create a rotation schedule for your engineering team. Set primary and secondary on-call rotations. Create an escalation policy: if the primary on-call does not acknowledge within 5 minutes, alert the secondary. If neither responds within 10 minutes, alert the engineering manager. Connect alert channels: phone call for critical alerts, Slack and email for warnings.
- Create primary and secondary on-call rotations
- Set escalation timeouts (5 min primary, 10 min secondary)
- Configure alert channels: phone for critical, Slack for warnings
Create your public status page
Navigate to Status Pages and create a public-facing page. Add your major service components: Website, API, Authentication, Dashboard, and any integrations your customers depend on. Map each component to its corresponding monitor so status updates automatically when incidents are detected. Customize the page with your brand colors and domain. Share the status page URL with your customers and add a link in your product's footer.
Configure advanced monitoring checks
Beyond basic uptime, add content validation to your HTTP monitors. Check that your API returns a 200 status code AND that the response body contains expected content (like a specific JSON key). Set up SSL certificate monitoring to alert 30 days before expiration. Add domain expiration monitoring for your critical domains. These proactive checks catch issues before they become outages.
- Add response body validation to API monitors
- Enable SSL certificate expiration monitoring
- Add domain expiration monitoring for critical domains
Set up incident management workflows
Configure Better Stack's incident management to create a structured response process. When an alert fires, an incident is automatically created with the monitor name, failure details, and timestamp. Set up integrations to create a Slack channel for each incident, post updates to your status page, and create a post-incident review ticket in your project management tool. This automation ensures every incident follows the same process.
Build a monitoring dashboard and set SLA targets
Create a dashboard in Better Stack showing uptime percentages for each monitor over 7-day, 30-day, and 90-day windows. Set SLA targets and configure alerts when uptime drops below your target threshold. Use the historical data to generate monthly uptime reports for stakeholders. Track mean time to detection (MTTD) and mean time to resolution (MTTR) to measure your incident response improvement over time.
Common mistakes
Only monitoring the homepage
Your homepage can be up while your API is down, your authentication is broken, or your database is unreachable. Monitor every critical endpoint separately. Your health check endpoint should verify downstream dependencies (database, cache, message queue) and return unhealthy if any dependency is down.
Setting check intervals too long
A 5-minute check interval means you could be down for up to 5 minutes before anyone knows. For customer-facing services, 30-second intervals are standard. The cost difference is negligible, and the time savings during an outage is significant. Every minute of undetected downtime is a minute of customer frustration.
Not confirming from multiple regions
Single-region monitoring generates false positives from local network issues, ISP problems, or cloud provider regional incidents. Always require confirmation from at least 2 regions before alerting. This dramatically reduces false alarms while still catching real outages within 60-90 seconds.
Tips
Add a 'canary' monitor that checks a simple endpoint returning the current timestamp. If this monitor fails, you know the issue is infrastructure-level, not application-level, which speeds up triage.
Set up maintenance windows in Better Stack before planned deploys so expected downtime does not trigger alerts and does not count against your SLA metrics.
Create a private status page for internal use that shows more detailed information than the public page, including specific error messages and affected infrastructure.
Use Better Stack's heartbeat monitoring for cron jobs and background workers that should run on a schedule. If the heartbeat is not received, the worker has stopped.
How Vantage helps
Vantage helps PMs include uptime and monitoring requirements in their PRDs. When you define availability targets for a new feature in Vantage, the generated tickets include monitoring setup tasks, ensuring that every new service is observable from day one rather than having monitoring added as an afterthought post-launch.