【问题标题】:supervising daemons in debian监督 debian 中的守护进程
【发布时间】:2015-09-21 23:55:52
【问题描述】:

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

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

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

【问题讨论】:

  • 如果您正在运行 Debian/wheezy (如 rsm 答案的评论中所述),则不应将其称为 stable (因为它不再是 stable 而是 oldstable,这将再次改变)。最好使用明确的代号(如 wheezy
  • 检查immortal.run 可能有帮助

标签: debian supervisord daemons runit


【解决方案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 上创建守护进程要容易得多

【讨论】:

  • 我们正在运行 Debian Wheezy(以前的稳定版本)并且必须单独添加 systemd。由于这是一个生产服务器,我们需要小心地从 init 迁移到 systemd。会检查的。
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 2012-09-01
    • 1970-01-01
    • 2014-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-03
    • 2011-10-04
    • 1970-01-01
    相关资源
    最近更新 更多