DEV Community

Vigilmon
Vigilmon

Posted on

How to Monitor Your SolidStart Application with Vigilmon

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:

  1. The frontend — is your SolidStart SSR app serving HTML?
  2. API routes — are your server-side /api/* routes responding correctly?
  3. Health check endpoint — a dedicated endpoint that checks database/dependencies
  4. Cron jobs / scheduled tasks — are your background jobs running on schedule?
  5. 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 }
    );
  }
}
Enter fullscreen mode Exit fullscreen mode

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"}
Enter fullscreen mode Exit fullscreen mode

Step 3: Add a Vigilmon Monitor

  1. Sign up or log in at vigilmon.online
  2. Click Add Monitor
  3. Enter your health endpoint URL: https://yourapp.com/api/health
  4. Set Monitor Type to HTTP/HTTPS
  5. Set Check Interval to 60 seconds (or shorter for critical apps)
  6. Under Advanced Options, set Expected Status Code to 200
  7. Optionally set Response Body Must Contain to "status":"ok"
  8. Click Save

Vigilmon will now poll your SolidStart app from multiple global regions every minute.

Step 4: Set Up Alerts

  1. In Vigilmon, go to Alert Channels
  2. Add your preferred channel: email, Slack webhook, PagerDuty, or custom webhook
  3. 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
Enter fullscreen mode Exit fullscreen mode

Netlify

https://yourapp.netlify.app/api/health
Enter fullscreen mode Exit fullscreen mode

Cloudflare Workers / Pages

https://yourapp.pages.dev/api/health
Enter fullscreen mode Exit fullscreen mode

VPS / Node.js

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

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}`);
}
Enter fullscreen mode Exit fullscreen mode

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)