-1

我们在Debian wheezy (oldstable) linux 服务器上运行 rabbitmq、redis 和 celery。所有这些都作为init.d脚本安装并在引导时启动。我们希望密切关注它们并在其中任何一个出现故障时收到电子邮件警报。

我检查了诸如 supervisord 和 runit 之类的工具。但是,它们似乎都要求受监控的进程不是守护进程。

如何完成这项工作?还有其他工具可以完成工作吗?请。建议。

4

2 回答 2

1

我不是这方面的专家,但由于 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

于 2015-07-04T11:34:11.227 回答
0

根据 rsm 的建议,我们创建了一个名为 daemonsitter 的简单工具来监视 Systemd 守护进程。我们已在 github ( https://github.com/dataglen/daemonsitter.git )上以 apache 许可的形式将其作为开源版本发布。

于 2015-08-17T02:55:02.000 回答