我试图通过Monit监视本地Apache实例上的VHost。相同的域同时接受http和https流量,所以我想要同时监控。Monit只为HTTPS网站使用HTTP
此外,域解析的IP转到负载平衡当前Apache实例与运行Apache的另一个服务器之间的通信量的服务器。我需要monit的监视当地情况下,我希望能避免在/etc/hosts中添加任何记录文件,所以我在想,Monits配置设置with http headers []
就足够了,我认为这是(只是监控localhost,但将头文件Host
设置为虚拟域名)。
不管怎么说,主要的问题我似乎遇到了,就是即使我配置monit的监测经过主机都HTTP和HTTPS协议,它可以监控通过只是HTTP两台主机,但是端口设置为443我需要使用https协议。
针对Apache的monit的配置文件是:
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
下面是该检查monit的状态:
[[email protected] 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
所以这是很明显,我认为https的失败,因为它仍然在努力使用端口HTTP,即使我在配置中有protocol https
。
任何输入将不胜感激。我有一种感觉,这可能是一个错误,并在Monit Github回购中造成一个问题,但我不想确定它不是我忽略的那种愚蠢的东西。
谢谢!