我正在尝试弄清楚如何使用 monit 在我的某个进程再次开始运行时获取通知。让我说清楚 - 一开始进程正在运行,停止运行,然后再次运行。我希望在进程再次开始运行时收到通知,但我找不到使用 monit 执行此操作的方法。(只是为了清楚起见,如果它停止运行,我不想重新启动它,但如果它开始运行,我希望收到通知)您能帮助我并告诉我如何使用 monit 实现我的目的吗?如果 monit 不是我问题的答案,您能告诉我是什么吗?谢谢
答案1
我会实现 PID 更改通知。事实是,如果进程停止并重新启动,则其具有相同 PID 的可能性非常小。
check process myprocess with pidfile /var/run/myprocess.pid
if changed pid then exec "/my/script"
哪里/my/script
可以有一个发送电子邮件的脚本。
另外,您可以使用 Monit 内置的警报消息:
check process myprocess with pidfile /var/run/myprocess.pid
alert foo@bar only on { pid }
我自己没有测试过但应该可行。
编辑 :刚刚测试过并且有效!