DEV Community

Vigilmon
Vigilmon

Posted on

How to Monitor Your Apache HTTP Server with Vigilmon

How to Monitor Your Apache HTTP Server with Vigilmon

Apache HTTP Server remains one of the most widely deployed web servers globally. Whether you're running Apache on bare metal, VMs, or containers, keeping it monitored ensures you catch failures before your users do. This guide walks through setting up Apache monitoring with Vigilmon.

Why Apache Needs Dedicated Monitoring

Apache can fail in subtle ways that aren't immediately obvious:

  • mod_status shows healthy but specific vhosts return 500s
  • Worker threads exhausted under load
  • SSL certificates expired on virtual hosts
  • Upstream PHP-FPM or mod_wsgi connections timing out
  • .htaccess misconfiguration causing unexpected 403s

Setting Up Apache with Vigilmon

Step 1: Enable the Apache Status Endpoint

Add a health check location to your Apache config:

<VirtualHost *:80>
    ServerName yourdomain.com

    # Health check endpoint for monitoring
    <Location /health>
        SetHandler default-handler
        Require all granted
    </Location>

    ProxyPass / http://localhost:3000/
    ProxyPassReverse / http://localhost:3000/
</VirtualHost>
Enter fullscreen mode Exit fullscreen mode

For a simple health file:

echo 'OK' > /var/www/html/health
chmod 644 /var/www/html/health
Enter fullscreen mode Exit fullscreen mode

Step 2: Create a Vigilmon Monitor

  1. Log into vigilmon.online
  2. Click + New Monitor
  3. URL: https://yourdomain.com/health
  4. Check interval: 1 minute
  5. Regions: Select at least 2 for redundancy
  6. Alert on: 2 consecutive failures (avoids false alarms)

Step 3: SSL Certificate Monitoring

Vigilmon tracks SSL expiry automatically on HTTPS endpoints. Configure expiry alerts at:

  • 30 days out (plan renewal)
  • 14 days out (start renewal)
  • 7 days out (urgent renewal)

Step 4: Virtual Host Monitoring

If you run multiple virtual hosts on Apache, create a separate Vigilmon monitor for each:

https://site1.com/health → Monitor 1
https://api.site1.com/health → Monitor 2
https://site2.com/health → Monitor 3
Enter fullscreen mode Exit fullscreen mode

This gives you per-vhost visibility without shared alerting.

Monitoring Apache with PHP-FPM

If you're using Apache + PHP-FPM, add a PHP health check:

<?php
// /var/www/html/health.php
header('Content-Type: application/json');
echo json_encode(['status' => 'ok', 'php' => PHP_VERSION]);
Enter fullscreen mode Exit fullscreen mode

Monitor https://yourdomain.com/health.php in Vigilmon to confirm PHP-FPM is responding.

Alert Configuration

Connect Vigilmon to your team's tools:

  • Slack #ops channel for immediate visibility
  • Email for after-hours alerts
  • PagerDuty for on-call escalation
  • Webhooks for custom runbooks or auto-restart scripts

Response Time Benchmarking

Vigilmon tracks response time trends over time. For Apache:

  • Normal response: < 200ms
  • Degraded: 200ms - 1s
  • Alert threshold: > 1s

Setting response time alerts catches performance degradation before users notice.

Status Page Integration

Vigilmon's public status pages let you communicate Apache uptime to customers. When Apache goes down, the status page updates automatically — no manual intervention needed during incidents.

Conclusion

Apache monitoring with Vigilmon takes under 5 minutes to set up and gives you:

  • ✅ 1-minute health checks
  • ✅ SSL certificate expiry tracking
  • ✅ Multi-region verification
  • ✅ Per-vhost monitoring
  • ✅ Response time alerts
  • ✅ Team notifications via Slack/PagerDuty/email

The free tier supports up to 5 monitors — enough to cover your primary Apache instances. Get started at vigilmon.online.

Top comments (0)