【发布时间】:2016-07-13 19:54:31
【问题描述】:
我正在尝试使用 monit 来监控 Confluence 实例。
check process catalina with pidfile /usr/local/Confluence/work/catalina.pid
start program = "/etc/init.d/confluence start"
stop program = "/etc/init.d/confluence stop"
if does not exist then
...
if failed host confluence.dev.opt port 80 protocol http then
...
else if succeeded then
...
这些 if 语句中的每一个都调用一个单独的 bash 脚本来将 curl 请求发送到状态页面,该页面将电子邮件更新发送给所述页面的订阅者。
有时,catalina.pid 可以存在一个 pid 值,但没有人可以连接,就好像进程已经过时一样。但是,如果 confluence pid 实际上缺失,那么第一次和第二次检查都将失败,并且第三次检查会执行两次,从而导致执行 4 个单独的 curl 请求,从而产生垃圾邮件。
有没有什么办法只能在第一次检查通过后才能执行第二次检查?
【问题讨论】: