在Linux / Unix中简单但可用于生产的过程监视器


8

我正在为流行的VPS中的帐户寻找一个简单的过程监视器。我爱主管和Monit,但对我来说似乎太过分了。

我想要某个东西

  1. 作为守护程序运行(因此,我的VPS帐户可以在启动时启动它,还可以通过cron“启动”,以防显示器本身出现故障)
  2. 通过将东西作为子进程生成(例如Supervisor)或通过执行返回true或false 的轮询命令(例如BASH if语句)进行监视
  3. 方便于使用(需要最低配置)和生产稳定 (不知几软件似乎满足这两个要求)
  4. 适用于托管VPS-在用户模式下运行,内存使用量最少

Answers:


2

您正在寻找程序daemontools。(如果这是“主管”监视器的意思,请随时忽略我的其余回答。)

daemontools是用于管理UNIX服务的工具的集合。

监督监视服务。它启动服务,如果服务终止,则重新启动服务。设置新服务很容易:所有监管需求是一个带有运行该服务的运行脚本的目录。

multilog将错误消息保存到一个或多个日志。它可以选择为每行添加时间戳,并为每个日志添加或排除与指定模式匹配的行。它会自动旋转日志以限制使用的磁盘空间量。如果磁盘已满,它将暂停并重试,而不会丢失任何数据。

它简单,灵活且功能强大。基本思想是,对于每个要运行的服务,daemontools启动一个子进程(称为supervise),然后启动您的服务。supervise 配置服务的环境变量uid / gid,然后保持服务的标准输入和标准输出打开,以便可以发送信号。该服务不需要自行守护,也不必管理pid文件。主服务不需要root即可运行,您可以将受监视服务的目录放在任何位置。


runit将替代daemontools。这也是非常简单和低级的。基本上,运行过程所需的只是一个包含一些exec命令的文件,例如,exec sleep 300然后从包含运行脚本的目录创建一个符号链接,然后/etc/service/name完成。
Tombart 2013年

1

简单的答案是,您已经拥有一个-每个Unix系统都具有-init和/ etc / inittab。

init的工作是产生inittab中列出的进程,对其进行监视,并在退出时重新启动它们。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.