How to Monitor Your SolidStart Application with Vigilmon
SolidStart is SolidJS's full-stack meta-framework — bringing server-side rendering, API routes, and edge deployment to the SolidJS ecosystem. When your SolidStart app goes down, you want to know before your users do. This guide shows you how to set up uptime monitoring with Vigilmon.
What to Monitor in a SolidStart App
A production SolidStart app has several layers worth monitoring:
- The frontend — is your SolidStart SSR app serving HTML?
-
API routes — are your server-side
/api/*routes responding correctly? - Health check endpoint — a dedicated endpoint that checks database/dependencies
- Cron jobs / scheduled tasks — are your background jobs running on schedule?
- SSL certificate — is your TLS cert valid and not about to expire?
Step 1: Create a Health Check API Route
SolidStart uses file-based routing for API routes. Create a dedicated health endpoint:
// src/routes/api/health.ts
import { json } from '@solidjs/router';
import type { APIEvent } from '@solidjs/start/server';
export async function GET(event: APIEvent) {
try {
// Optional: check your database connection
// await db.execute('SELECT 1');
return json({
status: 'ok',
timestamp: new Date().toISOString(),
version: process.env.APP_VERSION ?? 'unknown',
});
} catch (error) {
return json(
{ status: 'error', message: 'Health check failed' },
{ status: 503 }
);
}
}
This creates a GET /api/health endpoint that returns a 200 OK with a JSON body when your app is healthy, or 503 Service Unavailable if any dependency is down.
Step 2: Test Your Health Endpoint
Verify the endpoint works before adding monitoring:
curl -i https://yourapp.com/api/health
# HTTP/2 200
# content-type: application/json
# {"status":"ok","timestamp":"2026-08-04T12:00:00.000Z","version":"1.0.0"}
Step 3: Add a Vigilmon Monitor
- Sign up or log in at vigilmon.online
- Click Add Monitor
- Enter your health endpoint URL:
https://yourapp.com/api/health - Set Monitor Type to HTTP/HTTPS
- Set Check Interval to 60 seconds (or shorter for critical apps)
- Under Advanced Options, set Expected Status Code to
200 - Optionally set Response Body Must Contain to
"status":"ok" - Click Save
Vigilmon will now poll your SolidStart app from multiple global regions every minute.
Step 4: Set Up Alerts
- In Vigilmon, go to Alert Channels
- Add your preferred channel: email, Slack webhook, PagerDuty, or custom webhook
- Configure alert thresholds (e.g., alert after 2 consecutive failures from 2+ regions)
Multi-Region Monitoring for Edge Deployments
SolidStart apps are often deployed to edge networks (Netlify Edge, Cloudflare Workers, Vercel Edge). Edge deployments introduce regional behavior — a function might work in the US but fail in Southeast Asia due to KV store or D1 database latency.
Vigilmon's multi-region consensus model is ideal here:
- Checks originate from multiple continents simultaneously
- An alert fires only when 3+ independent probe nodes confirm the failure
- Single-region network blips never trigger a false alert
Monitoring SolidStart on Different Deployment Targets
Vercel
SolidStart apps on Vercel deploy as serverless functions. Monitor your production URL:
https://yourapp.vercel.app/api/health
Netlify
https://yourapp.netlify.app/api/health
Cloudflare Workers / Pages
https://yourapp.pages.dev/api/health
VPS / Node.js
https://yourapp.com/api/health
Monitor the production URL, not the local dev server.
Monitoring SSR-Rendered Pages
Beyond API routes, monitor your most important SSR pages directly:
| URL | What It Checks |
|---|---|
https://yourapp.com/ |
Homepage + SSR rendering pipeline |
https://yourapp.com/dashboard |
Authenticated page (if publicly accessible) |
https://yourapp.com/api/health |
API layer + database |
For each, Vigilmon checks:
- HTTP status code (200 expected)
- Response time
- SSL validity
- Response body patterns (optional)
Heartbeat Monitoring for Scheduled Tasks
If your SolidStart app triggers background jobs or uses a cron service, add heartbeat monitoring:
// Your scheduled task (cron job, Vercel cron, etc.)
export async function runDailyReport() {
// ... task logic ...
// Signal Vigilmon that the job completed successfully
await fetch(`https://vigilmon.online/api/heartbeat/${process.env.VIGILMON_HEARTBEAT_ID}`);
}
If the heartbeat ping doesn't arrive within the expected window, Vigilmon alerts you — catching silent cron failures.
What Does a Good SolidStart Monitor Set Look Like?
For a production SolidStart app, create these monitors in Vigilmon:
| Monitor | URL | Interval |
|---|---|---|
| Homepage | https://yourapp.com/ |
60s |
| Health Check | https://yourapp.com/api/health |
60s |
| SSL Certificate | https://yourapp.com |
24h |
| Heartbeat | Via VIGILMON_HEARTBEAT_ID | Per-job schedule |
Conclusion
SolidStart's performance-first architecture means your app will fly — but no framework protects you from deployment failures, database outages, or expired TLS certs. External uptime monitoring with Vigilmon gives you visibility into what your users actually experience: is the endpoint reachable, responding correctly, and serving over a valid HTTPS connection?
Add your SolidStart app to Vigilmon for free — setup takes 2 minutes.
Top comments (0)