我試圖通過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回購中造成一個問題,但我不想確定它不是我忽略的那種愚蠢的東西。
謝謝!