如何配置 monit,在仅文件系统可用时检查进程以启动程序?

如何配置 monit,在仅文件系统可用时检查进程以启动程序?

我希望 monit 检查特定进程并仅在依赖的文件系统可用时启动它。

check process Tomcat with pidfile /path/to/tomcat/TOMCAT.PID 
        depends on abc
        start program = "../scripts/start_tomcat.sh"
        stop program = "../scripts/stop_tomcat.sh  -force"

check filesystem abc with path /path/to/abc
        if does not exist then restart

在上面的配置中,当文件系统发生故障时,monit 会反复启动和停止 tomcat,这会使 8080 端口一直处于监听状态。我想让启动程序仅在文件系统可用时运行。而不是反复启动和停止它。

答案1

在这里,你定义了重新开始作为行动文件系统,因此当文件不存在时,它将主要传播重新开始对所有依赖“检查”规则的操作如文档中所述:

如果重新启动服务,它将首先停止所有依赖于它的活动服务,然后在启动后,启动重新启动之前处于活动状态的所有依赖服务。

正如之前其他人所说,为什么文件系统会崩溃?如果这是一个已安装的目录,最好的方法是采取措施再次安装文件系统,并使用自定义的“执行文件系统规则中的操作并让 monit 通过依赖管理规则启动 tomcat。

更多详情请访问:https://mmonit.com/monit/documentation/monit.html#SERVICE-DEPENDENCIES

相关内容