本来准备使用satl推送supervisor来着,研究了一下monit官方文档并试用了一下,这几天使用下来与supervisor对比感受.
Monit - utility for monitoring services on a Unix system
- 管理监控:
- 管理:process,programs(任何脚本),files,directories,filesystems.
- 监控处理:auto restart not run, auto restart not respond, stop when use too much resource, monitor change(timestamps, checksum, size, 内容), 网络检测(tcp/ip, socket, protocol(任何协议), ssl), system resources(cpu,mem,load,io,空间…)
- 服务依赖: 依赖检测,顺序启动服务
- 日志及监控:
- 支持记录日志到syslog或自己的日志文件
- error判断规则自定义发送alert message
- web界面
- 语法
SYNOPSIS
monit [options]
两者的ctl脚本操作比较相似, monit不仅仅是个服务管理系统,资源监控也是相当丰富,比supervisor强大太多.
区别如下,如有错误,请指正:
monit | supervisor |
---|---|
非常小,安装简单 | 只支持python2.4-2.7之间的版本,pip安装稍显复杂 |
c编写,无其它依赖 | python编写,依赖其它第三方库 |
配置语法灵活,功能强大 | 功能一般,只能处理了进程 |
支持监控告警 | 不支持告警 |
非侵入 | 侵入式,需要supervisor启动,而且不支持daemoned |
支持服务依赖 | 依赖支持不友好 |
monit 使用帮助
1 | [root@web53 monit.d]# monit --help |
当前系统进程
1 | [graylog2@web53 bin]$ ps ux fww |
配置monit的服务
1 | [root@web53 monit.d]# cat * |
启动monit管理服务
1 | [graylog2@web53 bin]$ ps ux |
从日志上可以看出启动过程
1 | [CST Sep 27 22:00:00] info : Reinitializing monit daemon |
1 | [root@web53 ~]# monit status |