0

Although EngineX is running, monit can't seem to figure it out.

Here's my monit log:

[PDT Apr 13 02:19:19] error    : HTTP error: Server returned status 400
[PDT Apr 13 02:19:19] error    : 'nginx' failed protocol test [HTTP] at INET[localhost:80] via TCP
[PDT Apr 13 02:19:19] info     : 'nginx' trying to restart
[PDT Apr 13 02:19:19] info     : 'nginx' stop: /etc/init.d/nginx
[PDT Apr 13 02:19:20] info     : 'nginx' start: /etc/init.d/nginx

The monitrc file contains the following configuration:

if failed port 80 protocol http and request '/ping.txt' # check for response
     with timeout 20 seconds
     then restart

I can access the file through lynx http://localhost:80/ping.txt without any problems.

Why would monit have trouble requesting the file when nginx is running just fine?

Miko
  • 1,709
  • 4
  • 22
  • 28

2 Answers2

0

Nginx older than 0.6.15 used to return 400 to requests like GET http://www.domain.com HTTP/1.0. I assume, you have updated Nginx in the last two years? If yes, please try to raise Nginx debugging level and post logs here.

minaev
  • 1,549
  • 12
  • 13
0

The issue turned out be the cause of version discrepancy.

My original monitrc file was intended for v5+, but the box it was running on used Monit 4.1

Miko
  • 1,709
  • 4
  • 22
  • 28