前面mongrel或者fastcgi老是宕的问题,google之后,想robbin请教无回音的情况下,只好使用下下策:监测ruby进程,如果有问题,重新启动。于是找到了monit。
Monit
是一个开源系统监控软件,对于文件系统(包括目录)、进程、服务等都能够进行监控,并能够进行
“if condition then action”
的操作。
目前
monit
在
unix
系统上都能够使用。
这里给出一个我的实际配置案例,其他详细信息请到网站上查询(主站:
http://mmonit.com/monit/
;配置案例:
http://mmonit.com/wiki/Monit/ConfigurationExamples
)
安装
monit
之后,需要一个配置文件:
monitrc,
一般放在
/etc
下
,
下面是具体配置;
一、monit下载安装,不必说;
二、monit配置文件:缺省是etc下的monitrc
三、测试monit配置文件是否正确:monit -t
四、退出monit:monit quit
五、运行monit:monit
六、配置文件中的基本配置;
set daemon 10 #启动按照daemon方式,10表示每10s检测一次。有点变态。一个小时检测360次,一天就有8000次左右。你自己设呗。
set httpd port 2812 and
use address 61.128.121.155 # only accept connection from localhost
allow 218.31.158.252 # allow localhost to connect to the server and
allow admin:monit # require user 'admin' with password 'monit'
allow @monit # allow users of group 'monit' to connect (rw)
allow @users readonly # allow users of group 'users' to connect readonly
上面的英文解释已经很清楚了。照着做。
配置的好处,是可以在网上监控你的系统运行情况。
配置文件中的监控类的配置。
方法一:使用对进程进行检查,mongrel和thin都可以采用这个方法。
对mongrel进行守护;
check process mongrel100
with pidfile /home/saq/app/myapp/tmp/pids/mongrel.100.pid
start program = "/home/saq/app/ruby/bin/mongrel_rails start -c /home/saq/app/myapp -eproduction -p100 -d -P /home/saq/app/myapp/tmp/pids/mongrel.100.pid"
stop program = "/home/saq/app/ruby/bin/mongrel_rails stop -P /home/saq/app/myapp/tmp/pids/mongrel.100.pid"
if failed port 100 protocol HTTP
request /main
with timeout 20 seconds
then restart
if 5 restarts within 5 cycles
then timeout
解释:
1.mongrel100是任意的名称,monit使用;
2.pidfile非常关键,这是每个mongrel进程实例的pid,缺省在rails应用的tmp/pids中,你可以自己制定
3.start和stop:就是实际在命令行中可以操作的、控制进程的命令,是字符串方式。命令行的关键在于启用-P这个选项,制定pid所在的文件。
4.if语句:port 100是监控的端口号,protocol HTTP表示协议,后面的request就是具体的一个 可用的url,这里可以设计一个测试action,较少占用资源的。
5.对thin进行守护;
关于集群:如果需要使用集群,创建多个进程检测即可。
道理类似,只是在start、stop部分修改即可。
6.补充说明:方法一的前提条件是需要首先产生pid,这样以来,monit才可以监控这个进程,是啊,你不告诉你是谁,我怎么监控呢。所以进程需要先运行,然后再运行monit。当然还有一个简单方法就是使用monit start all启动所有的监控的服务。类似的命令有monit stop all,monit restart all.然后执行monit,让monit在后台以daemon方式运行。
分享到:
相关推荐
在构建高性能、高可用性的Web应用环境中,"基于Ubuntu Nginx Mongrel Mysql部署rails monit-5.0"的方案是一个常见的选择。这个方案结合了多种强大的工具和技术,以确保应用程序的稳定运行和高效管理。以下是这些关键...
Monit 是一个开源的系统和进程监控工具,它可以在Linux系统中用来监控系统服务、文件、目录、网络接口等,并在出现问题时进行自动修复或通知管理员。CentOS 7是基于RHEL(Red Hat Enterprise Linux)的一个流行的...
Monit是一款功能非常丰富的进程、文件、目录和设备的监测软件。它可以自动修复那些已经停止运作的程序,特使适合处理那些由于多种原因导致的软件错误。
Monit 监控工具(客户端) Monit 是一个功能强大且灵活的监控工具,能够自动化地监控服务器的性能和进程。下面是关于 Monit 监控工具的详细知识点: 安装 Monit Monit 可以在多种 Linux 发行版上安装,包括 ...
Monit 是一款强大的系统监控工具,它允许用户对运行在Linux或Unix系统上的服务、进程、文件、目录、网络资源等进行实时监控。通过Monit,你可以轻松地检测和管理服务器上的各种状态,如内存使用、CPU负载、磁盘空间...
Monit 是一款强大的系统管理工具,专为Unix系统设计,用于监控和管理进程、文件、目录和设备。它具备自动修复功能,可以在检测到错误时执行预设的响应操作,如启动、重启或关闭进程。此外,Monit 还能监控文件、目录...
Ansible-monit.zip,配置monit的ansible角色。还将设置ssh、ntp和cron.anxs-monit的基线监视,ansible是一个简单而强大的自动化引擎。它用于帮助配置管理、应用程序部署和任务自动化。
Monit 是一个开源工具,用于管理系统进程、文件系统、网络接口和系统状态。在Linux和Unix-like系统中,Monit 可以监控指定的服务是否正常运行,并在出现问题时自动修复或重启服务,确保系统的稳定性和可靠性。这个...
Monit 是一个开源的系统监控工具,用于在Unix和Linux操作系统上监视系统进程、文件、目录、文件系统、网络接口、TCP/UDP端口等。它可以在资源出现问题时自动修复,比如重启失败的服务或者恢复被篡改的文件。Monit 的...
docker-monit可用于从提取该图像包括监控版本5.13概述此映像将monit安装到以下位置: / opt / monit Monit配置为由runit(phusion / baseimage-docker的init系统)执行和管理。 它将以名为monit的非特权用户身份...
Monit 是一款在 Unix-like 系统中广泛使用的开源监控工具,主要用于监控系统服务、文件、目录、程序以及网络资源的状态。"monit-4.9.tar" 是这个软件的一个特定版本,通常以 tar 归档文件的形式提供,用于在各种 ...
Monit 是一款强大的开源服务监控管理工具,专为Linux系统设计,它允许用户对系统中的进程、文件、目录、网络服务等进行实时监控,并在发现问题时自动修复或通知管理员。这款工具不仅提供了命令行接口,还包含了一个...
Ansible角色,用于安装Monit并设置服务监视。 用法(示例) 典型的最小用法: - role : monit 在不安装和使用自定义服务的情况下配置monit: - role : monit monit_setup : configure monit_custom_services ...
Monit 是一款轻量级的监控工具,它可以实时监测系统中的各种服务状态,如HTTP服务器、数据库服务、邮件服务等,以及硬件资源如内存、CPU和磁盘空间。当检测到异常时,Monit可以采取相应措施,如重启服务、发送警告...
Monit 服务器监控系统搭建指南 一、Monit 介绍 Monit 是一种跨平台的开源工具,用于监控 Unix/Linux 系统。它安装起来非常容易,也非常轻量级(大小只有 500KB),并不需要任何第三方程序、插件或代码库。Monit ...
Monit 是一个开源的系统监控工具,用于管理进程、文件、目录、设备、网络接口等。它可以在系统异常时自动修复问题,确保服务的稳定运行。`monit_bin-源码.rar` 提供了 Monit 的源代码,这对于开发者和系统管理员来说...
AsydSolutions/monit 这是来自官方的分支,包括一些小的更改,用于从 XML Web API 获取更详细的输出以用于 ASYD(即主机故障通知)。 ASYD 版本基于带有上述补丁的最新稳定版 Monit(当前为 5.11)。 您可以查看...
monit_bin 食谱 从源安装monit。 包括设置工具monitensite、monitdisite。 为创建的配置添加 LWRP。 要求 制作(构建必不可少) 平台 乌本图 智能操作系统 用法 recipe[monit]默认安装。 从其他食谱调用 include...
在这个名为 "Ansible-ansible-role-monit.zip" 的压缩包中,包含了一个名为 "ansible-role-monit-master" 的文件,这表明这是一个Ansible的角色(role)用于配置Monit。在Ansible中,角色是一种组织和重用配置代码的...
当我发现EPEL存储库中的Monit一年都没有更新时,我想到了一种随时获取最新版本的方法。 该存储库包含来自 规范文件,并将最新的Monit版本重建到COPR,GetPageSpeed存储库和PackageCloud。 技术的 该git存储库是使用...