我们在 Debian wheezy(oldstable) linux服务器上运行rabbitmq,redis和celery。所有这些都安装为init.d
脚本并在启动时启动。我们想留意他们并收到电子邮件提醒,如果其中任何一个发生故障。
我检查过supervisord和runit等工具。但是,它们似乎都要求受监视的进程不是守护进程。
如何完成这项工作?还有其他工具可以完成工作吗? PLS。指教。
答案 0 :(得分: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
答案 1 :(得分:0)
根据rsm的建议,我们创建了一个名为daemonsitter的简单工具来监视Systemd守护进程。我们已经在github(https://github.com/dataglen/daemonsitter.git)的apache许可下将其作为开源发布。