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);
Run it with:
deno run --allow-net --allow-env server.ts
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;
}
3. Create a Vigilmon Account
- Go to vigilmon.online and sign up for free
- Verify your email
- 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"
}
}
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"]
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.
- Go to Status Pages in Vigilmon
- Add the monitors you want to display
- 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
}
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)