我们在Debian wheezy (oldstable) linux 服务器上运行 rabbitmq、redis 和 celery。所有这些都作为init.d
脚本安装并在引导时启动。我们希望密切关注它们并在其中任何一个出现故障时收到电子邮件警报。
我检查了诸如 supervisord 和 runit 之类的工具。但是,它们似乎都要求受监控的进程不是守护进程。
如何完成这项工作?还有其他工具可以完成工作吗?请。建议。
我们在Debian wheezy (oldstable) linux 服务器上运行 rabbitmq、redis 和 celery。所有这些都作为init.d
脚本安装并在引导时启动。我们希望密切关注它们并在其中任何一个出现故障时收到电子邮件警报。
我检查了诸如 supervisord 和 runit 之类的工具。但是,它们似乎都要求受监控的进程不是守护进程。
如何完成这项工作?还有其他工具可以完成工作吗?请。建议。
我不是这方面的专家,但由于 Debian Jessie 守护程序由 管理systemd
,我建议您使用sytemd
而不是init.d
,然后使用它
systemctl
来监视您的守护程序。我发现这systemctl
对于监控非常有用,而且可能还有更多工具systemd
可以做到这一点。
要完成对您的问题的回答,通过使用systemctl status <daemon>
您可以了解守护程序的状态,我认为它也适用于init.d
脚本。
rsm@matrice:~$ systemctl status alienware-kbl
● alienware-kbl.service - alienware-kbl daemon
Loaded: loaded (/usr/lib/systemd/system/alienware-kbl.service; enabled)
Active: active (running) since Sat 2015-07-04 10:30:17 CEST; 3h 7min ago
Main PID: 1024 (alienware-kbl)
CGroup: /system.slice/alienware-kbl.service
├─1024 /bin/bash /usr/bin/alienware-kbl --start-daemon
└─1029 /usr/bin/python2.7 /usr/share/alienware-kbl/Daemon.py --start-daemon
作为一个新手/新手程序员,我发现让守护进程结束systemd
比结束更容易init.d
根据 rsm 的建议,我们创建了一个名为 daemonsitter 的简单工具来监视 Systemd 守护进程。我们已在 github ( https://github.com/dataglen/daemonsitter.git )上以 apache 许可的形式将其作为开源版本发布。