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_statusshows 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
-
.htaccessmisconfiguration 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>
For a simple health file:
echo 'OK' > /var/www/html/health
chmod 644 /var/www/html/health
Step 2: Create a Vigilmon Monitor
- Log into vigilmon.online
- Click + New Monitor
- URL:
https://yourdomain.com/health - Check interval: 1 minute
- Regions: Select at least 2 for redundancy
- 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
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]);
Monitor https://yourdomain.com/health.php in Vigilmon to confirm PHP-FPM is responding.
Alert Configuration
Connect Vigilmon to your team's tools:
-
Slack
#opschannel 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)