使用 monit 监控进程

使用 monit 监控进程

我正在尝试弄清楚如何使用 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 }

Monit 警报消息的文档

我自己没有测试过但应该可行。

编辑 :刚刚测试过并且有效!

相关内容