Monit (进程和服务监控工具)是监测和类系统管理UNIX小型的开源工具。 Monit监控服务器计划,以提高服务的正常运行时间,并确保它们保持在线一致。 本文将帮助您在CentOS,RHEL,Fedora,Ubuntu,Dabian和Scientific Linux中安装和配置Monit。 Monit有能力的监察任何系统上运行的服务的,我们只是只需要在里面添加设置。在这篇文章中,我们将只显示你只有很少的服务配置。
第1步:安装Monit
Monit可与包管理器方便地安装在大多数Linux发行版。为CentOS / RHEL用户需要
启用EPEL软件库安装。
在CentOS,RHEL,Fedora和Scientific Linux
# yum install monit
在Debian / Ubuntu
$ sudo apt-get install monit
On Arch
pacman -S monit
第2步:启用MonitWeb界面
(Optional For CLI Lovers) Monit还提供了一个Web界面来查看服务和进程的状态。为了使MonitWeb界面,编辑配置文件( 对于基于RHEL系统编辑 /etc/monit.conf文件,基于Dabian系统编辑/etc/Monit/monitrc文件
)用你喜欢的编辑器,并取消以下行
set httpd port 2812 and
use address localhost
allow localhost
allow admin:monit
allow @monit
allow @users readonly
启动Monit服务。
# service monit start
Starting monit: monit: generated unique Monit id 0dbd9dc3f0aa7ed7df9e7a069aea9b84 and stored to '/root/.monit.id' [ OK ]
按照上述配置的monit将开始在端口
2812和从本地主机才能访问。要更改默认的端口只需更新上面显示的配置第一行和设置您的首选港口。 现在访问MonitWeb界面通过浏览器输入
localhost:2812
第3步:配置Monit监视Apache服务
让我们开始在Monit添加服务来监控并采取在条件满足必要的行动。最先服务,我们添加Apache。编辑您的monit配置文件,并在文件末尾添加以下设置
在CentOS,RHEL:/etc/monit.conf
check process apache with pidfile /var/run/httpd.pid
start program = "/etc/init.d/httpd start" with timeout 60 seconds
stop program = "/etc/init.d/httpd stop"
在Dabian / Ubuntu:在/etc/Monit/monitrc
check process apache with pidfile /run/apache2.pid
start program = "/etc/init.d/apache2 start" with timeout 60 seconds
stop program = "/etc/init.d/apache2 stop"
现在,使用服务的monit重新启动Monit服务,并使用命令行来检查服务的状态。
# monit summary
The Monit daemon 5.1.1 uptime: 2m
Process 'apache' running
System 'svr1.youcl.com' running
第4步:配置Monit要监视的MySQL / MariaDB
让我们添加MySQL服务器的Monit配置文件进行监控。 PID文件位置和初始化脚本可以根据安装在您的MySQL版本变化。
check process mysqld with pidfile /var/run/mysqld/mysqld.pid
start program = "/etc/init.d/mysql start"
stop program = "/etc/init.d/mysql stop"
要了解更多关于Monit配置exmaples,查看这篇文章:
http://mmonit.com/wiki/Monit/ConfigurationExamples
第5步:验证配置和测试
在监控Monit配置文件中添加所需的服务后,请使用以下命令验证文件
# monit -t
现在重启服务的monit
# service monit restart
现在,通过查看监控Monit程序和服务的摘要信息。
# monit summary
The Monit daemon 5.1.1 uptime: 0m
Process 'apache' running
Process 'mysqld' running
System 'svr1.youcl.com' running
要查看每个服务的详细说明,请使用以下命令
# monit status
[样本输出]
The Monit daemon 5.1.1 uptime: 1m
Process 'apache'
status running
monitoring status monitored
pid 16206
parent pid 1
uptime 13m
children 10
memory kilobytes 10432
memory kilobytes total 65100
memory percent 1.3%
memory percent total 8.3%
cpu percent 0.0%
cpu percent total 0.0%
data collected Tue Apr 29 03:49:13 2014
Process 'mysqld'
status running
monitoring status monitored
pid 1962
parent pid 1867
uptime 10h 38m
children 0
memory kilobytes 60568
memory kilobytes total 60568
memory percent 7.7%
memory percent total 7.7%
cpu percent 0.0%
cpu percent total 0.0%
data collected Tue Apr 29 03:49:13 2014
System 'svr1.youcl.com'
status running
monitoring status monitored
load average [0.00] [0.07] [0.08]
cpu 0.2%us 0.1%sy 0.2%wa
memory usage 518444 kB [66.7%]
data collected Tue Apr 29 03:49:13 2014
同时,我们也可以显示流程和服务Monitweb界面的状态