DEV Community

Vigilmon
Vigilmon

Posted on

How to Monitor Your Netlify Site with Vigilmon

How to Monitor Your Netlify Site with Vigilmon

Netlify hosts millions of JAMstack sites, serverless functions, and edge-powered applications. It's reliable, but "Netlify is up" doesn't mean your specific site is working — a failed build, a broken Netlify Function, or a misconfigured redirect can silently serve errors. Vigilmon monitors your Netlify deployment from outside Netlify's own infrastructure.

What Can Fail on Netlify?

  • Failed deploy — last deploy had a build error, so Netlify reverted to the previous version
  • Netlify Function timeout — function exceeds 10s (or 26s) limit, returns 503
  • Custom domain DNS misconfiguration — site unreachable from a specific region
  • Netlify Edge Function error — throws unhandled exception, returns 500
  • Environment variable missing — function runs but crashes at runtime
  • Netlify platform incident — CDN degraded in a specific region

Setting Up Vigilmon Monitoring for Netlify

1. Production Site URL

https://your-site.netlify.app
Enter fullscreen mode Exit fullscreen mode

or your custom domain:

https://yoursite.com
Enter fullscreen mode Exit fullscreen mode

Vigilmon setup:

  1. URL: production URL
  2. Expected status: 200
  3. Keyword: a string from your homepage (e.g., your company name)
  4. SSL monitoring: enabled (tracks TLS expiry on custom domains)
  5. Interval: 5 minutes

2. Netlify Function Health Check

Add a simple health function:

// netlify/functions/health.js
exports.handler = async (event) => {
  return {
    statusCode: 200,
    body: JSON.stringify({ status: 'ok', timestamp: Date.now() }),
  };
};
Enter fullscreen mode Exit fullscreen mode

This is available at:

https://your-site.netlify.app/.netlify/functions/health
Enter fullscreen mode Exit fullscreen mode

Monitor with:

  • Expected status: 200
  • Keyword: "ok"
  • Interval: 5 minutes

3. Netlify Edge Function Check

For edge functions (netlify/edge-functions/):

// netlify/edge-functions/edge-health.js
export default async (request) => {
  return new Response(JSON.stringify({ status: 'ok', runtime: 'edge' }), {
    headers: { 'Content-Type': 'application/json' },
  });
};

export const config = { path: '/edge-health' };
Enter fullscreen mode Exit fullscreen mode

Monitor https://yoursite.com/edge-health separately from serverless functions.

4. API Route Health (if using Next.js on Netlify)

If you run Next.js on Netlify, your API routes are serverless functions:

https://yoursite.com/api/health
Enter fullscreen mode Exit fullscreen mode

Add this as a separate monitor.

Monitoring Netlify's Deploy Status via API

Netlify's API lets you check your latest deploy status:

curl -H "Authorization: Bearer $NETLIFY_TOKEN" \
  "https://api.netlify.com/api/v1/sites/{SITE_ID}/deploys?per_page=1"
Enter fullscreen mode Exit fullscreen mode

You can add this as a Vigilmon HTTP monitor:

  • URL: https://api.netlify.com/api/v1/sites/{SITE_ID}/deploys?per_page=1
  • Header: Authorization: Bearer {NETLIFY_TOKEN}
  • Expected status: 200
  • Keyword: "ready" (indicates last deploy succeeded)

If the last deploy failed, the response won't contain "ready" as the state — Vigilmon alerts you.

Monitoring Content Freshness (for CMS-driven sites)

If your Netlify site rebuilds when content changes (via Contentful, Sanity, or Strapi webhooks):

  1. Monitor the webhook URL you gave to your CMS:
   https://api.netlify.com/build_hooks/{HOOK_ID}
Enter fullscreen mode Exit fullscreen mode
  1. Or monitor a page for freshness by checking for content unique to recent updates.

Netlify Status Monitoring

Monitor Netlify's own status:

https://www.netlifystatus.com/api/v2/status.json
Enter fullscreen mode Exit fullscreen mode

Keyword check: "All Systems Operational".

Alert Configuration

For production marketing sites:

  • 2 consecutive failures → Slack alert
  • 5 consecutive failures → email escalation
  • Reason: Netlify CDN caches aggressively; a single failure may be a CDN hiccup

For Netlify Functions (API routes):

  • 1 failure → immediate alert (functions don't have CDN caching to absorb issues)

For staging/preview:

  • Slack only, lower urgency

Post-Deploy Smoke Test with Netlify Notifications

Combine Netlify's deploy notifications with Vigilmon:

  1. In Netlify → Site → Build & Deploy → Deploy Notifications, add a Slack notification for failed deploys
  2. In Vigilmon, monitor your production URL to catch runtime failures post-deploy

You get notified twice: Netlify tells you the build failed, Vigilmon tells you the site is serving errors.

Summary

Monitor URL What It Catches
Production site yoursite.com Site down, bad content
Serverless function /.netlify/functions/health Function runtime failures
Edge function /edge-health Edge runtime failures
Deploy status API api.netlify.com/api/v1/sites/... Failed deploys
Netlify status netlifystatus.com/api/v2/status.json Platform incidents

Start monitoring your Netlify site with Vigilmon — free plan, no credit card required.


Vigilmon — uptime monitoring with multi-region checks and instant Slack alerts.

Top comments (0)