当前位置: 首页 > 工具软件 > Monit > 使用案例 >

monit简介

龙凯
2023-12-01

一、简介

    Monit是一个在类unix平台下用于监视进程、文件、目录和设备的软件,运行于应用层,可以修复停止运作或运作异常的程序,适合处理那些由于多种原因导致的软件错误。

二、安装

   假定下面的安装和配置均在root身份下进行。

   安装很简单,下载monit的源代码(现在最新版本是4.10.1)monit-4.10.1.tar.gz,将其放到适合的目录中,然后解压,configure(默认设置即可),make,make install 。具体在终端中使用如下命令:

tar –xzf monit-4.10.1.tar.gz

cd monit-4.10.1

./configure

make

make install

很快就可以安装完毕。

三、配置

 

set daemon  120                             # 设置monit作为守护进程运行,并且每2分钟监视一次

                                            # 2分钟是默认的时间间隔,从网上的看到的多个配置的例子

                                            # 看到的时间间隔也是2分钟,应该是比较合理的

set logfile /var/log/monit.log              # 设置日志文件的位置,如果要写入系统日志可以

                                            # set logfile syslog

set httpd port 2812 and                     # monit内置了一个用于查看被监视服务

                                            # 状态的http服务器,注意在防火墙中开启

                                            # 该端口【1】,否则非localhost无法访问

     use address 192.168.1.184              # 设置这个http服务器的地址

                                            # 若设置成localhost则只允许本地访问

     allow localhost                        # 允许本地访问

     allow 192.168.1.1/255.255.255.0        # 允许内网访问

     allow admin:monit11                    # 设置使用用户名admin和密码monit11

                                            # 来访问这个地址

set mailserver  localhost                   # 设置邮件服务,设置后monit会将提示以

                                            # 邮件的方式发送.这里使用localhost为邮

                                            # 件服务器地址,前提是本地已安装并开启

                                            # 了sendmail服务

set alert zhengsenlin@gmail.com            # 收邮件地址,如果要发送到多个地址

                                            # 可以写多条这样的设置

# 下面设置监视tomcat

check process tomcat with pidfile /var/run/catalina.pid     # 这个要另外说明【2】

    start program = "/etc/init.d/tomcat start"              # 设置启动命令

    stop program  = "/etc/init.d/tomcat stop"               # 设置停止命令

    if 9 restarts within 10 cycles then timeout             # 设置在10个监视周期内重

                                                            # 启了9次则超时,不再监视

                                                            # 这个服务。原因另外说明【3】

        if cpu usage > 90% for 5 cycles then alert          # 如果在5个周期内该服务

                                                            # 的cpu使用率都超过90%

                                                            # 则提示

# 若连续5个周期打开url都失败(120秒超时,超时也认为失败)

# 则重启服务

        if failed url http://127.0.0.1:4000/ timeout 120 seconds for 5 cycles then restart

        if failed url http://127.0.0.1:5000/ timeout 120 seconds for 5 cycles then restart

如果监视的服务比较多,可以将各个服务的监视逻辑放在不同的文件,然后使用include命令包含进来,使配置文件更加清晰。例如:

include /etc/monit/includes/mysqld

 

上面的设置完后,设置monit随系统启动,在/etc/inittab文件的最后加入

# Run monit in standard run-levels

mo:2345:respawn:/usr/local/bin/monit -Ic /etc/monitrc


然后使用命令

telinit q

启动monit。


四、要注意的问题

由于将monit设置成了守护进程,并且在inittab中加入了随系统启动的设置,则monit进程如果停止,init进程会将其重启,而monit又监视着其它的服务,这意味着monit所监视的服务不能使用一般的方法来停止,因为一停止,monit又会将其启动.要停止monit所监视的服务,应该使用monit stop name这样的命令,例如要停止tomcat:

monit stop tomcat

要停止全部monit所监视的服务可以使用monit stop all.

要启动某个服务可以用monit stop name这样的命令,启动全部则是monit start all.

 

 

 

 类似资料: