DEV Community

Vigilmon
Vigilmon

Posted on

Vigilmon for SaaS Companies: A Complete Uptime Monitoring Guide

Vigilmon for SaaS Companies: A Complete Uptime Monitoring Guide

For SaaS companies, uptime is revenue. A 30-minute outage doesn't just inconvenience users — it triggers churn, support tickets, breach-of-SLA notifications, and, for early-stage companies, permanent reputation damage on review sites like G2 and Capterra.

This guide covers how SaaS companies should structure their uptime monitoring with Vigilmon — from the API to the billing page to the onboarding email flow.


What SaaS Uptime Monitoring Must Cover

A typical SaaS product has multiple layers that can fail independently:

  1. Marketing site — the first thing prospects see; must be up 24/7
  2. Application login / auth — authentication failures block all users
  3. Core API — where the actual product lives
  4. Dashboard / UI — the React/Next.js/Vue frontend
  5. Billing & checkout — Stripe integration failures block upgrades and renewals
  6. Onboarding flow — signup → email confirmation → first setup step
  7. Background jobs — email delivery, report generation, data sync
  8. Third-party integrations — Slack/GitHub/Jira webhooks that users depend on

Tier 1: Critical Path Monitors (Add These First)

Marketing Site

Monitor: HTTP(S)
URL: https://yourproduct.com
Interval: 60s
Alert: status != 200 or latency > 3s
Enter fullscreen mode Exit fullscreen mode

Login / Auth Endpoint

Monitor: HTTP(S)
URL: https://app.yourproduct.com/login
Interval: 60s
Alert: status != 200
Enter fullscreen mode Exit fullscreen mode

Core API Health

Monitor: HTTP(S)
URL: https://api.yourproduct.com/health
Interval: 60s
Alert: status != 200
Enter fullscreen mode Exit fullscreen mode

Your API health endpoint should validate:

  • Database connectivity
  • Cache layer (Redis) connectivity
  • Any downstream services critical to core features
// Example Express.js health endpoint
app.get('/health', async (req, res) => {
  try {
    await db.raw('SELECT 1');
    await redis.ping();
    res.json({ status: 'ok', db: 'connected', cache: 'connected' });
  } catch (err) {
    res.status(503).json({ status: 'error', error: err.message });
  }
});
Enter fullscreen mode Exit fullscreen mode

SSL Certificate

Monitor: SSL Certificate
Domain: yourproduct.com
Alert: expires in < 14 days
Enter fullscreen mode Exit fullscreen mode
Monitor: SSL Certificate  
Domain: app.yourproduct.com
Alert: expires in < 14 days
Enter fullscreen mode Exit fullscreen mode

Tier 2: Revenue and Onboarding Monitors

Billing / Upgrade Page

Monitor: HTTP(S)
URL: https://app.yourproduct.com/billing
Interval: 60s
Alert: status != 200
Enter fullscreen mode Exit fullscreen mode

Billing page failures silently block upgrades and renewals — especially painful at end-of-trial for monthly subscribers.

Signup Flow

Monitor: HTTP(S)
URL: https://app.yourproduct.com/signup
Interval: 60s  
Alert: status != 200
Enter fullscreen mode Exit fullscreen mode

Email Delivery Heartbeat

Email confirmation is the first moment users interact with your product. If Sendgrid/Mailgun/SES is broken, you lose signups permanently.

// Scheduled job: every 5 minutes, send a test email and ping heartbeat
async function emailHealthCheck() {
  try {
    await sendTestEmail('health@yourproduct.com');
    await fetch(process.env.VIGILMON_HEARTBEAT_URL);
  } catch (err) {
    // Heartbeat not sent — Vigilmon will alert
    console.error('Email health check failed:', err);
  }
}
Enter fullscreen mode Exit fullscreen mode

Tier 3: Integration and Background Job Monitors

Webhook Receivers

If you receive webhooks from Stripe, GitHub, Slack, or any other service:

Monitor: HTTP(S)
URL: https://app.yourproduct.com/webhooks/health
Interval: 60s
Alert: status != 200
Enter fullscreen mode Exit fullscreen mode

Background Job Heartbeats

For each critical background job category, add a heartbeat that fires only when jobs are processing normally:

// Job: Send weekly digest emails
// Heartbeat interval: 7 days — alert if no ping for 8 days
async function sendWeeklyDigest() {
  await processAllUsers();
  await fetch(process.env.VIGILMON_WEEKLY_DIGEST_HEARTBEAT);
}
Enter fullscreen mode Exit fullscreen mode

SaaS Monitoring Coverage Matrix

Priority Monitor URL Alert
P0 Core API health /health Status != 200
P0 Auth/login page /login Status != 200
P0 SSL (marketing + app) Both domains < 14 days
P1 Marketing site Homepage > 3s or not 200
P1 Billing page /billing Status != 200
P1 Signup flow /signup Status != 200
P2 Email delivery Heartbeat No ping in > 6 min
P2 Background jobs Heartbeat Per job schedule
P3 Webhook receivers /webhooks/health Status != 200

SLA Reporting with Vigilmon

Many SaaS contracts include 99.9% uptime SLAs (< 8.7 hours downtime/year). Vigilmon's status history gives you the data to:

  • Verify you're meeting your SLA commitments
  • Identify which monitors contributed most to downtime
  • Provide customers with incident history when they ask

Conclusion

SaaS uptime monitoring isn't a single check — it's a layered approach covering every critical path from signup to billing. Start with Tier 1 (API + auth + SSL), add Tier 2 (billing + email), and complete with Tier 3 (integrations + background jobs).

Vigilmon makes this achievable in an afternoon, without a dedicated DevOps engineer.

Start monitoring your SaaS product free at vigilmon.online

Top comments (0)