我把下一个文件放入/etc/monit/conf.d/sidekiq
:
check process sidekiq with pidfile /data/my_app/current/tmp/pids/sidekiq.pid
并且期望当服务未运行时,monit 将记录一条消息。
我正在运行 sidekiq 进程:
# ps aux | grep sidekiq
deploy 3265 1.1 11.9 855108 121636 ? Sl 12:52 0:02 sidekiq 3.0.0 my_app [0 of 20 busy]
并且3265
有/data/my_app/current/tmp/pids/sidekiq.pid
然后我重新启动 monit(无警报),然后kill -9 3265
。
monit 的日志中没有任何动静...我错在哪里?
答案1
我检查了进程名称ps -p 20688 -o comm=
并发现它的名称ruby
不是sidekiq
!
因此,当我将其替换check process sidekiq ...
为时check process ruby ...
,monit 开始看到它并在我终止该进程时记录一条消息。