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
or your custom domain:
https://yoursite.com
Vigilmon setup:
- URL: production URL
- Expected status:
200 - Keyword: a string from your homepage (e.g., your company name)
- SSL monitoring: enabled (tracks TLS expiry on custom domains)
- 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() }),
};
};
This is available at:
https://your-site.netlify.app/.netlify/functions/health
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' };
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
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"
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):
- Monitor the webhook URL you gave to your CMS:
https://api.netlify.com/build_hooks/{HOOK_ID}
- 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
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:
- In Netlify → Site → Build & Deploy → Deploy Notifications, add a Slack notification for failed deploys
- 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)