【发布时间】:2012-04-15 20:28:45
【问题描述】:
下面是一个redis的upstart脚本。如何创建 pid 以便使用 monit 进行监控?
#!upstart
description "Redis Server"
env USER=redis
start on startup
stop on shutdown
respawn
exec sudo -u $USER sh -c "/usr/local/bin/redis-server /etc/redis/redis.conf 2>&1 >> /var/log/redis/redis.log"
【问题讨论】:
-
既然已经指定了
respawn,为什么还要使用monit? -
@auny 除了 upstart/respawn 还使用 monit 的原因是 respawn 只知道进程是否处于活动状态,但不知道应用程序是否处于不良状态或不是。另一方面,Monit 可以以不同的方式与应用程序交互,例如点击 http 状态端点,以处理进程可能正在运行但应用程序处于错误或损坏状态的情况,这表明进程需要重新启动。
-
Redis 现在有自己的 pid 功能(redis.conf 中的 pidfile) -- download.redis.io/redis-stable/redis.conf