问题标签 [monit]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - 即使在重新启动后,我如何才能让乘客独立运行?
我有一些应用程序在 ruby 1.9.2 上运行 rails 3,并使用 nginx + 乘客部署在 Ubuntu 10.04 LTS 机器上。现在,我需要添加一个在 ruby 1.8.7 (REE) 和 Rails 2 上运行的新应用程序。我使用 RVM、Passenger Standalone 和反向代理完成了这项工作。
问题是,每次我必须重新启动服务器(例如安装安全更新)时,我都必须手动启动Passenger Standalone。
有没有办法自动启动它?我被告知要使用 Monit 或 God,但我无法编写适用于 Passenger Standalone 的正确配方。我在 God 和 RVM 方面也遇到了一些问题,所以如果你有一个不使用 God 的解决方案,或者如果你知道如何正确配置 God/Rvm,那就更好了。
apache - CentOS 上的 Monit 导致 httpd.pid 无法创建
解决方案是替换这一行:
有了这条线:
而且我还删除了“组 apache”。
原帖:
在 CentOS 上安装Monit并为 Apache (httpd) 服务设置警报后,该服务不再创建 /var/run/httpd.pid 文件。
httpd 服务运行正常。
最重要的是,好像这还不够,Monit 将服务的状态报告为:执行失败
自然,重新启动此类服务的唯一方法是杀死它,因为“重新启动”脚本看不到任何正在运行的进程。
这些是 /etc/monit.d/monitrc 文件的内容:
“服务 httpd 重启”的输出:
任何帮助将不胜感激。
ruby - OSX / Linux 上的 Monit + RVM + Thin
在尝试了几个小时(也尝试了上帝和 Bluepill)之后,我决定在这里问我的问题,因为我完全不知道如何解决这个问题。
我有一个 Rails 应用程序。我想使用 Thin 作为我的应用服务器。我想使用 Monit 来监控我的 Thin 实例。我使用 RVM 作为本地用户来管理我的 Ruby 版本。
我设置了以下监控文件,它可能会做我想做的事,但不会:
如果我只是将其复制/粘贴start program
到命令行(在 Monit 之外),它就可以工作。stop program
之后停止 Thin 实例也是如此。但是,通过 Monit 运行它似乎不起作用。
以详细模式运行它会-v
产生以下结果:
这让我相信 Thin 从不初始化。Monit 是作为什么运行的root
吗?因为如果确实如此,那么它显然不会安装正确的 gem,因为我使用的是 RVM 而不是“系统”Ruby。我目前在 OSX 上(但最终会部署到 Linux)——有人知道这可能是什么原因吗?如果Monit是通过root运行的,我怎么能让它使用RVM呢?或者我可以告诉 Monit 执行启动/停止程序Michael:staff
吗(我假设它会在 OSX 上?)
任何帮助深表感谢!
ruby-on-rails - 使用 monit 监控多个延迟工作的工作人员
我已经阅读了很多关于使用 monit 监控延迟作业的内容。实现非常简单直接。但是,当一个工人不够用时,我如何设置 monit 以确保,比如说,10 个工人不断运行?
ruby-on-rails - 杀死挂着的独角兽工作进程?
我目前正在虚拟服务器上运行一个大型 Rails 应用程序。我的设置使用 Unicorn 为 Rails 应用程序提供服务,前面有 nginx 作为代理服务器。
有时我会收到通知,说我的 CPU 使用率已经固定了很长时间。然后我登录并使用 htop 找到行为不良的进程来杀死它。那些行为不端的流程似乎总是独角兽工人。
我想知道的是,是否有一种方法可以设置监视器,或者上帝可以监视这些独角兽的“子进程”,如果它们长时间处于高 CPU 使用率,则将其杀死。我知道如何监控独角兽主进程,因为它将进程 ID 写入 PID 文件。但它永远不是主进程,只有子进程处理不当行为。
apache - 监控:在满足服务测试动作条件后延迟下一个监控周期
当我的服务器进入高负载时,Apache 的正常重启似乎使事情恢复了控制。所以我用这个配置设置了monit:
所以每 10 秒,我轮询一次服务器负载,当它超过 5 时,我优雅地重新启动 Apache。但是,这会暂时增加负载,因此我们陷入了死亡螺旋。我希望它在 10 秒后注意到负载为 5 或更多,然后优雅地重新启动 Apache,然后等待5 分钟左右,然后再次检查该特定指标。
有没有办法用monit做到这一点?
erb - 如何 erb'up monitrc 配置文件
下面是我的delayed_job monitrc 文件,我想将它用作erb 模板,以便我可以动态设置RAILS_ENV 变量。有谁知道该怎么做?
rvm - rvm 监控延迟作业
我正在尝试使用monit运行delayed_job,但它无法作为rvm的路径运行(基于每个用户的本地rvm安装)对命令不可用。我的应用程序是带有捆绑程序的 rails2 应用程序。Monit 无法找到捆绑程序。有人对我如何知道 rvm 的监控路径有任何建议吗?
我收到错误
我的配置/delayed_job.monitrc
和 script/delayed_job 可执行文件
r - 如何使用 Monit 保持 R 脚本运行?
我有一个希望在 Ubuntu 10.10 上连续运行的 R 脚本。我正在尝试设置 Monit 以确保它不会出现故障。当脚本启动时,它会创建一个 pid 文件,其中包含以下行:
然后我用以下几行设置了Monit:
Monit 启动正常,但是当我终止 R 进程时,R 进程没有再次启动。我显然做错了什么。它在启动进程的语法中吗?我注意到文档说 Monit 首先尝试停止程序,但我不知道任何用于停止 R 进程的命令。
可能相关的是,启动程序的上述行在 root 用户的 crontab 中时有效,但从我的用户 crontab 启动时无效。
非常感谢任何指导。
bash - 以受限用户身份运行 monit 并使其监视需要 root 权限的进程
我有一个用 Ruby 编写的特定脚本,需要 root 权限。大多数其他进程不需要它,因此很容易在 Monit 中设置。不是这个。
服务器需要监听386,这个端口只有root可以使用。我不会详细说明原因,因为 1) 我不是一个低级的人,2) 到目前为止,使用 sudo 时效果很好。
monit 配置文件很简单,如下所示:
注意:我把 /bin/sh 放在了停止程序中,因为这个进程没有停止程序。
如果我这样说:
它无法启动。没有提示。
也失败了。没有输出。
启动失败。
我还尝试使用> ~/out.log 2 > &1
捕获 stderr 和 stdout 重定向输出,但它似乎不起作用。
现在,我在 deploy 用户下启动 monit,这是受限制的。所以,我需要以某种方式以 root 身份运行 ldap 服务器,但事实证明这很难做到。
有人可以启发我吗?
干杯,
中号>