I'm trying to monitor a VHost on the local Apache instance via Monit. The same domain accepts both http and https traffic, so I wanted to monitor both.
Also, the IP that the domain resolves to goes to a server that load balances the traffic between the current Apache instance and another server running Apache. I need Monit to monitor the local instance, and I was hoping to avoid adding any records in the /etc/hosts file, so I was thinking that Monits config setting
with http headers  would suffice, and I think it is (Just monitoring localhost, but setting the headers
Host to the vhost domain).
Anyways, the main problem I seem to be running into, is even though I configure Monit to monitor the host via both http and https protocols, it monitors both hosts via just http, however the port is set to 443 for the one I need using https protocol.
The Monit config file for Apache is:
check process httpd with pidfile /var/run/httpd/httpd.pid start program = "/bin/systemctl restart httpd.service" with timeout 60 seconds stop program = "/bin/systemctl stop httpd.service" check host localhost with address localhost if failed port 80 protocol http with http headers [Host: www.domain.com, Cache-Control: no-cache] and request / with content = "www.domain.com" then restart if failed port 443 protocol https with http headers [Host: www.domain.com, Cache-Control: no-cache] and request / with content = "www.domain.com" then restart if 5 restarts within 5 cycles then timeout
And here's the Monit status for that check:
[root@server enabled-monitors]# monit status localhost The Monit daemon 5.14 uptime: 14m Remote Host 'localhost' status Connection failed monitoring status Monitored port response time FAILED to [localhost]:443/ type TCPSSL/IP protocol HTTP port response time 0.001s to [localhost]:80/ type TCP/IP protocol HTTP data collected Tue, 26 Apr 2016 10:44:32
So it's fairly obvious to me that the https is failing because its still trying to use port HTTP, even though I have
protocol https in the configuration.
Any input would be much appreciated. I have a feeling this may be a bug, and ill create an issue in the Monit Github repo, but I wan't to make sure it's not something silly that I overlooked.