Hi,
I have an Icinga installation running nicely on a public server and monitoring the basics and NTP synchronization.
The next step is to monitor all the websites I’m hosting. I have half a dozen public servers that are currently hosting various web applications:
- WordPress
- OwnCloud
- Roundcube
- Dolibarr
- GEPI
- default (static) page
On my main production server alone, I have 30 web applications hosted each one as a virtual host with Apache.
Right now I’m wondering what the smartest approach would be to monitor all that stuff with Icinga. Should I create one Icinga service per virtual host and keep track of every single HTTP(S) response? Or should it be sufficient to just track the “default” static page of the server, the idea being that if that page is unreachable, all other web hostings on this machine will be unreachable too?
Let me give you an example. Here’s the default page on my production server. It’s a modified version of the static welcome page:
Here’s my tech blog, hosted on that server:
My OwnCloud installation also on that server:
And our local climbing club’s website, also on that server:
Now I wonder if I should create a separate service in Icinga to monitor the HTTPS response for each and every single hosting, or just check a single hosting like, say, the default server page https://sd-48011.dedibox.fr?
A similar thought goes for certificates. All the certificates for all the domains and subdomains hosted on this server are crammed into one single certificate in /etc/letsencrypt/live/sd-48011.dedibox.fr.
So I think it should be enough the check the certificate validity on the default https://sd-48011.dedibox.fr page. But I’m not sure.
Last but not least: are there other sensible things I can test on a web hosting besides HTTP(S) response and certificate validity?
Cheers from the sunny South of France,
Niki