我们有监听端口 9000 的套接字监听器,因此下面是我们为 monit 编写警报的方式。监听器通过 yajsw 守护进程工具运行。因此,目前当它在端口 9000 上失败时,我们会收到一封电子邮件。我们想要扩展的是,如果它没有运行,则停止、卸载、安装并最终启动程序。我们有所述进程的所有脚本,但如何放入 monit?所有这些都在 shell 脚本文件中。
check process cs9000 with pidfile /var/run/wrappercs9000.pid # check your app pid
start program =
stop program =
if failed port 9000 # if you want to check your app that listen on port 9000
then
restart
答案1
和监控,您将无法重新启动程序,除非您提供start program
和stop program
指令。当您填充这些选项并重新启动 Monit 时,您将能够根据流程条件采取行动。
一个例子:
check process nslcd
with pidfile "/var/run/nslcd/nslcd.pid"
start program = "/sbin/service nslcd start"
stop program = "/sbin/service nslcd stop"
if 10 restarts within 11 cycles then timeout
if cpu usage > 95% for 11 cycles then restart
if totalmemory > 472 MB then restart
如果您希望“停止程序”运行脚本,请提供该脚本的完整路径。