Monit 是用于对系统中的进程、文件、目录、以及设备等进行监视和管理的工具。Monit 包含一个内嵌的 HTTP(S) Web 界面,你可以使用浏览器方便地查看 Monit 所监视的服务器。Monit只能监控一台主机是免费的,M/monit可以集中监控多台运行monit的服务器,需要购买授权,但也提供全功能试用一个月。

monit特点:监控配置简单灵活,可以监控项目足够强大,web页面功能强大直观,可以配合外部脚本自动修复工作不正常的程序,官方文档详细
缺点:在实际使用M/monit中发现误报高,受网络环境影响严重,不支持snmp感觉不够主流

一、下载

官方网站:http://www.mmonit.org/
去官网下载 monit和mmonit 的最新版本。
其中 monit为单服务器版本;M/monit 为多服务器版本,但免费用户只能使用一个月,一个月后想继续使用需更新证书

二、monit安装和配置

2.1 安装和启动monit

将下载的安装包解压到/opt,编辑opt/monit/conf/monitrc 文件,配置完成后将其拷贝到etc目录。
运行/opt/monit/bin/monit -t 检查有无语法错误,之后运行 /opt/monit/bin/monit start 启动monit。启动成功会显示 IP+port,若能通过IP+port访问web端,安装成功。
可以运行monit -h 查看参数的帮助文档,常用参数:

 -c file   指定配置文件
 -t   测试配置文件
 reload  重新初始化monit
 status   打印所有监控的服务的完整状态报告
 stop/start

2.2 配置monitrc文件

 set daemon  120    #设置monit作为守护进程运行,每2分钟监视一次
 set logfile syslog facility log_daemon   #设置日志文件
 set idfile /var/.monit.id  #设置id文件
 set statefile /var/.monit.state  #设置状态文件
# set mailserver mail.bar.baz,    # 设置邮件服务器,单用户版要设置,mmonit不需要设置
#                backup.bar.baz port 10025,  # 备份邮件服务器
#                localhost                   #
#set eventqueue      #这个选项是当邮件服务器挂掉时存储警报,稍后发送,一般用不到
#     basedir /var/monit  #存储目录
#     slots 100           # 存储邮件数量
set mmonit http://monit:monit@192.168.1.10:8080/collector   #发送到mmonit  ,在mmonit中要填写这里的用户名和密码,可以设置多个
set mmonit http://monit:monit@192.168.1.11:8080/collector
and register without credentials
set httpd port 2812 and  #设置web访问端口
use address 192.168.11.119  # 本机使用的端口,尽量填写外网ip和public DNS
#   allow 0.0.0.0/0                   #允许访问的ip段
allow 192.168.11.119              #允许访问的ip
allow monit:monit       # 设置页面监控访问的用户名和密码
#    allow @monit           # 允许monit组的用户访问(rw)
#    allow @users readonly  # 允许users组用户访问,只有只读权限
#***************************************************************#
# *****这里写具体要监控的服务******#
#****************常见服务监控见官方例子*********************#

三、M/monit 安装和配置

安装M/monit

1.解压安装包
2.安装mysql数据库
3.简单配置数据库,创建一个数据库mmonit并创建一个对此数据库有所有权的用户

grant all privileges on mmonit.*to  username@‘localhost’ identified by “password”;   

若数据库不在本地,请修改localhost为相应的需要访问的ip地址
4.在M/monit安装目录的db文件夹中将mmonit-schema.mysql 导入上步所创的mmonit数据库

配置M/monit

编辑/mmonit/conf/server.xml文件,进行mmonit的配置

<Connector address=”*” port=”8080″ processors=”10″ />  更改web端口
<Realm url=”mysql://username:password@database’ip:3306/相应database”    其它的数据库连接方式注释掉
    minConnections=”5″
    maxConnections=”250″
    reapConnections=”3000″ />

3.3 启动M/monit

/mmonit/bin/mmonit start

在将monit安装在需要监控的机器上,设置转到mmonit,登陆mmonit就可以看到监控的机器了,设置好monit端的连接用户名密码就可以了。至此就可以通过mmonit的web端进行监控了,web端设置比较简单,这里不多说。
ps:mmonit的web端默认的账号密码为admin swordfish

四、官方文档

http://mmonit.com/wiki/
http://mmonit.com/wiki/Monit/FAQ
http://mmonit.com/documentation/mmonit_manual.pdf
http://mmonit.com/monit/documentation/monit.html
http://mmonit.com/monit/documentation/monit.pdf