DEV Community

Vigilmon
Vigilmon

Posted on

How to Monitor Azure App Service with Vigilmon

Azure App Service is one of the most popular ways to deploy web apps, APIs, and backends on Microsoft Azure. It handles a lot of the infrastructure complexity for you — but it doesn't make your app immune to downtime. Cold starts, deployment issues, misconfigured health probes, and dependency failures can all bring your app down unexpectedly.

This guide shows you how to monitor your Azure App Service with Vigilmon so you're always the first to know when something goes wrong.

Common Azure App Service Failure Modes

Before setting up monitors, it's worth understanding what typically goes wrong:

  • Cold starts: After periods of inactivity (especially on free/basic tiers), App Service can take 10–30 seconds to respond to the first request
  • Deployment failures: A bad release can cause the app to crash or return 500s
  • SSL certificate expiry: Custom domain SSL certificates expire if not renewed
  • Scaling issues: Autoscaling can lag during traffic spikes
  • Dependency failures: Your app might be up but unable to connect to Azure SQL, Cosmos DB, or external APIs

External uptime monitoring catches all of these from the user's perspective — which is what matters most.

Setting Up Azure App Service Monitoring with Vigilmon

Step 1: Identify Your Health Check Endpoint

Azure App Service has a built-in health check feature, but you should also expose your own /health endpoint that verifies your app's critical dependencies are reachable. A good health endpoint:

  • Returns 200 when everything is healthy
  • Returns 503 when a critical dependency is down
  • Responds in under 1 second

Example with Express.js:

app.get('/health', async (req, res) => {
  try {
    await db.query('SELECT 1'); // verify DB connection
    res.status(200).json({ status: 'healthy' });
  } catch (err) {
    res.status(503).json({ status: 'unhealthy', error: err.message });
  }
});
Enter fullscreen mode Exit fullscreen mode

Step 2: Sign Up for Vigilmon

Go to vigilmon.online — the free tier includes 10 monitors with 3-minute check intervals, no credit card required.

Step 3: Add an HTTP Monitor

  1. In the Vigilmon dashboard, click Add Monitor
  2. Select HTTP monitor type
  3. Enter your app's URL (e.g., https://myapp.azurewebsites.net/health or your custom domain)
  4. Set expected status code to 200
  5. Set check interval to 3 minutes (or lower on paid plans from $6/month)
  6. Enable multi-region checks — Vigilmon checks from US, EU, and AP regions simultaneously

Step 4: Monitor SSL Certificate Expiry

If you're using a custom domain, add a second monitor with SSL certificate monitoring enabled. Vigilmon will alert you when your certificate is approaching expiry so you have time to renew it before users see browser warnings.

Step 5: Configure Alerts

Set up your alert channels:

  • Email: Instant notification to your inbox
  • Slack: Post to your #alerts or #incidents channel
  • Discord: Great for smaller dev teams
  • PagerDuty: For on-call rotation and escalation
  • Webhooks: Trigger Azure Logic Apps or Azure Functions for automated remediation

Key Metrics to Track

Metric Target Why It Matters
Uptime % > 99.9% SLA baseline
Response time < 500ms User experience
SSL expiry > 14 days Prevent certificate errors
Regional availability All 3 regions Catch Azure regional issues

Alert Configuration Tips

Use confirmation from multiple regions: Configure Vigilmon to alert only after confirming an outage from at least 2 regions. This eliminates false positives from transient network issues.

Separate staging and production monitors: Set up separate Vigilmon monitors for your staging slot and production slot. This lets you catch issues in staging during deployment before swapping to production.

Alert on slow responses, not just downtime: Configure response-time alerts so you know when your app is degraded but not fully down. A 5-second response time is nearly as bad as no response.

Heartbeat Monitoring for Azure WebJobs and Functions

If you're running Azure WebJobs or background workers alongside your App Service, use Vigilmon's heartbeat monitor. Your job sends a ping to a unique Vigilmon URL at the end of each successful run. If the ping doesn't arrive within the expected window, you get alerted — perfect for catching silent cron job failures.

Why Not Just Use Azure Monitor?

Azure Monitor is powerful but complex — it's designed for infrastructure-level telemetry, not end-to-end user-facing uptime checks. Vigilmon complements Azure Monitor by:

  • Checking your app from the outside, like a real user would
  • Providing a simpler dashboard focused on uptime and response time
  • Offering multi-channel alerts without Azure alerting configuration overhead

Get Started in 5 Minutes

Your Azure App Service deserves better than manual checks. Sign up at vigilmon.online for free and have your first monitor running in under 5 minutes.

With Vigilmon's free tier covering 10 monitors and paid plans starting at just $6/month, there's no reason to fly blind.

Top comments (0)