我正在尝试设置 Monit,以便它可以跟踪域,以防 PHP 崩溃。例子:
check file php7.3-fpm-pidfile with path /var/run/php/php7.3-fpm.pid
start program = "/usr/sbin/service php7.3-fpm start" with timeout 60 seconds
stop program = "/usr/sbin/service php7.3-fpm stop"
if does not exist then restart
if failed unixsocket /run/php/php7.3-fpm-domain.co.uk.sock then restart
if failed unixsocket /run/php/php7.3-fpm-domain2.co.uk.sock then restart
if failed unixsocket /run/php/php7.3-fpm-domain3.co.uk.sock then restart
作为一个简单的测试:
check file php7.3-fpm-pidfile with path /var/run/php/php7.3-fpm.pid
start program = "/usr/sbin/service php7.3-fpm start" with timeout 60 seconds
stop program = "/usr/sbin/service php7.3-fpm stop"
if does not exist then restart
if failed unixsocket /run/php/php7.3-fpm-domain.co.uk.sock then restart
然而,重新启动 Monit 时,最终失败:
/etc/monit/conf-enabled/php-fpm:14: 语法错误 'unixsocket'
我使用的是Monit 5.31.0,它应该足够新才能有这个unixsocket
选项。我缺少什么?
您确定要检查文件吗?从我的角度来看,您会检查进程吗?
我建议检查 unixsocket 和进程:
您不能在所有检查中使用所有可用的测试(“if”语句)。
手册片段,请参阅https://www.mmonit.com/monit/documentation/monit.html
连接测试仅适用于进程或主机服务。