DEV Community

Vigilmon
Vigilmon

Posted on

How to Monitor Your Deno Application with Vigilmon

How to Monitor Your Deno Application with Vigilmon

Deno is the secure, modern runtime for JavaScript and TypeScript built on V8 and Rust. As Deno adoption grows for backend services, understanding how to monitor your Deno apps in production is essential. Vigilmon provides uptime monitoring, SSL checks, and status pages that work perfectly with Deno-based HTTP servers.

Why Monitor Your Deno App?

Deno applications power APIs, microservices, and edge functions. Without monitoring:

  • You won't know when endpoints go down
  • SSL certificate expiry can silently break your app
  • Users experience errors before you do

Setting Up Vigilmon for Deno

1. Create a Simple Deno HTTP Server

// server.ts
const port = parseInt(Deno.env.get("PORT") ?? "8000");

const handler = async (req: Request): Promise<Response> => {
  const url = new URL(req.url);

  if (url.pathname === "/health") {
    return new Response(JSON.stringify({ status: "ok", ts: Date.now() }), {
      headers: { "Content-Type": "application/json" },
    });
  }

  return new Response("Hello from Deno!");
};

console.log(`Server running on port ${port}`);
await Deno.serve({ port }, handler);
Enter fullscreen mode Exit fullscreen mode

Run it with:

deno run --allow-net --allow-env server.ts
Enter fullscreen mode Exit fullscreen mode

2. Add a Health Check Endpoint

Vigilmon pings your endpoint periodically. Expose a /health route that returns HTTP 200 when your service is healthy:

if (url.pathname === "/health") {
  // Check dependencies (DB, cache, etc.)
  const healthy = await checkDependencies();

  if (!healthy) {
    return new Response(JSON.stringify({ status: "degraded" }), {
      status: 503,
      headers: { "Content-Type": "application/json" },
    });
  }

  return new Response(JSON.stringify({ status: "ok" }), {
    headers: { "Content-Type": "application/json" },
  });
}

async function checkDependencies(): Promise<boolean> {
  // Add your dependency checks here
  return true;
}
Enter fullscreen mode Exit fullscreen mode

3. Create a Vigilmon Account

  1. Go to vigilmon.online and sign up for free
  2. Verify your email
  3. Click Add Monitor

4. Configure Your Monitor

In the Vigilmon dashboard:

  • URL: https://your-deno-app.com/health
  • Monitor Type: HTTP/HTTPS
  • Check Interval: 1 minute (free tier)
  • Expected Status: 200
  • Alert Contacts: Add your email or Slack webhook

5. Enable SSL Monitoring

If your Deno app uses HTTPS, Vigilmon automatically checks your SSL certificate and alerts you 14, 7, and 3 days before expiry. No extra configuration needed.

Deploy Deno to Production

Deno Deploy (Edge)

For Deno Deploy, your app runs at https://your-app.deno.dev. Add this URL directly to Vigilmon.

// deno.json
{
  "tasks": {
    "dev": "deno run --allow-net --allow-env server.ts",
    "start": "deno run --allow-net --allow-env --allow-read server.ts"
  }
}
Enter fullscreen mode Exit fullscreen mode

Self-Hosted with Docker

FROM denoland/deno:alpine-1.44.1

WORKDIR /app
COPY . .

RUN deno cache server.ts

EXPOSE 8000
CMD ["deno", "run", "--allow-net", "--allow-env", "server.ts"]
Enter fullscreen mode Exit fullscreen mode

Monitoring Multiple Deno Services

If you run multiple Deno microservices, add each as a separate monitor in Vigilmon:

Service URL Interval
API Gateway /health 1 min
Auth Service /health 1 min
Worker Service /health 5 min

Set Up a Public Status Page

Vigilmon lets you create a public status page like status.your-app.com. Your users can check service health without emailing support.

  1. Go to Status Pages in Vigilmon
  2. Add the monitors you want to display
  3. Share the link with your users

Alert Configuration

Configure alerts for:

  • Email: Instant notification when a monitor goes down
  • Slack: Post alerts to your ops channel
  • Webhook: Trigger your own incident pipeline
# Example webhook payload Vigilmon sends:
{
  "monitor": "Deno API",
  "status": "down",
  "url": "https://your-deno-app.com/health",
  "downAt": "2026-08-04T10:00:00Z",
  "responseTime": null
}
Enter fullscreen mode Exit fullscreen mode

Conclusion

Monitoring your Deno application with Vigilmon takes under 5 minutes to set up. You get:

  • Uptime monitoring with 1-minute checks
  • SSL certificate expiry alerts
  • Public status page for your users
  • Instant alerts via email, Slack, or webhook

Start free at vigilmon.online — no credit card required.

Top comments (0)