CentOS 6如何使用monit监控?
Linux安装卸载monit教程
monit监控程序是Linux操作系统的开源监控工具,它可以帮助你在使用Web浏览器来监视系统进程,当程序或服务失效宕机时,monit可以让它自动重新启动。
monit可以直接在命令行上操作,你可以分配多个monit的任务(不仅监控),所以如果某个服务未通过检查,可以通过monit的警报或做点什么(尝试重新启动某些服务)。
本文假设你至少懂Linux的基本知识,知道如何使用的SSH,最重要的是,你将网站托管在自己的VPS上。
Monit监控程序的安装其实非常简单,我会告诉你通过在CentOS 6的一步一步的安装monit的。
步骤1:启用EPEL存储库
RHEL/CentOS 7 64位:
wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm rpm -ivh epel-release-latest-7.noarch.rpm
RHEL/CentOS 6 32位:
wget http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm rpm -ivh epel-release-6-8.noarch.rpm
步骤2:安装monit
yum update yum install -y libcrypto.so.6 libssl.so.6 yum install monit
步骤3:配置monit
一旦安装完成后,编辑主配置文件,并设置自己的用户名和密码,请参考以下例子:
nano /etc/monit.conf
编辑monit配置文件:
set httpd port 2812 and # # set the listening port to your desire. use address localhost # only accept connection from localhost allow localhost # 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
详细配置monit的方法,请浏览这篇《如何设置monit.conf文件?monit配置文件示例说明》文章。
一旦你修改了新的配置,就需要启动monit服务的重新加载设置:
/etc/init.d/monit start
monit标准的start、stop、restart命令:
/etc/init.d/monit start /etc/init.d/monit stop /etc/init.d/monit restart
步骤4:配置monit监控服务
初始配置完成后,我们可以配置一些,我们要监视的服务。
以下是monit的一些有用的配置实例:
# # 监控apache # check process apache with pidfile /usr/local/apache/logs/httpd.pid start program = "/etc/init.d/httpd start" stop program = "/etc/init.d/httpd stop" if failed host www.ufo.org.in port 80 protocol http then restart if 3 restarts within 5 cycles then timeout group server # #监控mysql(1) # check process mysqld with pidfile /var/run/mysqld/mysqld.pid start program = "/etc/init.d/mysqld start" stop program = "/etc/init.d/mysqld stop" if failed host localhost port 3306 for 3 times within 4 cycles then alert #若在四个周期内,三次 3306(我的Mysql)端口都无法连通,则邮件通知 if 5 restarts within 5 cycles then timeout # #检测nginx服务 # check process nginx with pidfile /usr/local/nginx/logs/nginx.pid start program = "/etc/init.d/nginx start" stop program = "/etc/init.d/nginx stop" if failed host localhost port 80 protocol http then restart
创建所需的配置文件后,测试语法错误:
monit -t
通过简单地键入以下命令启动monit:
monit
设置monit随系统启动,在/etc/inittab文件的最后加入:
# Run monit in standard run-levels mo:2345:respawn:/usr/local/bin/monit -Ic /etc/monitrc
Monit注意事项
由于将monit设置成了守护进程,并且在inittab中添加了随系统启动的设置,monit进程如果停止,init进程就会将其重启,而monit又监视着其它的服务,这意味着monit所监视的服务不能使用一般的方法来停止,因为一停止,monit又会将其启动。
要停止Monit所监视的服务,应该使用类似monit stop name这样的命令,例如要停止 nginx:
monit stop nginx
要停止全部monit所监视的服务可以使用:
monit stop all
要启动某个服务可以用monit start name这样的命令。
启动全部:
monit start all
卸载monit:
yum remove monit
扩展阅读: