- A+
Monit是一个小型linux实用程序,用于管理和监视进程,程序,文件系统,目录和文件。您可以使其运行自动维护和修复,并可能在错误情况下执行有意义的因果动作。您可以使用Monit监视文件,目录和文件系统的更改,例如时间戳更改,校验和更改或大小更改。监视记录到syslog或其自己的日志文件,并通过可定制的警报消息通知您有关错误情况。它还可以执行各种TCP / IP网络检查,协议检查,并可以利用SSL进行此类检查。
Monit可以通过您可以通过您喜爱的网络浏览器访问的Web界面使用。
如何安装Monit
要在Debian / Ubuntu发行版上安装monit,可以使用apt-get:
1 |
# apt-get install monit |
在Fedora上,您可以使用yum从存储库安装它:
1 |
#yum install monit |
要安装在CentOS / RHEL上,您必须使用Dag Rpmforge,然后使用相同的yum命令安装它。
配置文件
Monit通过一个名为monitrc的控制文件进行配置和控制。此文件的默认位置为〜/ .monitrc,如果不可用,将使用/ etc / monit / monitrc。/etc/init.d/monit中的执行脚本也将使用/ etc / monit / monitrc。为了保护您的控制文件和密码的安全性,控制文件的权限必须不超过0700; Monit会抱怨并退出。
目前支持八种类型的支票语句:
检查过程<唯一名称> <PIDFILE <path> | MATCHING <regex >>
<path>是程序的pidfile的绝对路径。
CHECK FILE <unique name> PATH <path>
<path>是文件的绝对路径。
CHECK FIFO <unique name> PATH <path>
<path>是fifo的绝对路径。
检查FILESYSTEM <唯一名称> PATH <path>
<path>是文件系统块特殊设备,装载点,文件或作为文件系统一部分的目录的路径。
CHECK DIRECTORY <唯一名称> PATH <path>
<path>是目录的绝对路径。
CHECK HOST <唯一名称> ADDRESS <主机地址>
可以将主机地址指定为主机名字符串或点分十进制格式的ip-address字符串。
检查系统<唯一名称>
系统名称通常是主机名,但可以使用任何描述性名称。该测试允许检查一般的系统资源,例如CPU使用率(用户,系统和等待中花费的时间百分比),总内存使用量或负载平均值。
检查程序<唯一名称> PATH <可执行文件> [TIMEOUT <number> SECONDS]
<path>是可执行程序或脚本的绝对路径。状态测试允许检查程序的退出状态。
使用Monit Web界面
Monit带有一个易于使用的Web界面,您可以在浏览器中访问,要启用它,您必须将以下行添加到monitrc文件中:
1 2 |
set httpd port 2812 allow myuser:mypassword |
那么你可以使用服务器的IP来访问它,它应该是这样的:
示例:监视器守护程序,文件系统,CPU,文件和网络
1.要监视守护程序,您可以将以下行添加到monitrc文件中:
1 2 3 |
check process apache with pidfile /var/run/apache2/apache2.pid start program = "/etc/init.d/apache2 start" with timeout 60 seconds stop program = "/etc/init.d/apache2 stop" |
2.要发送警报以防CPU使用率高,您可以在monitrc文件中使用此警报:
1 2 3 4 5 |
check process apache with pidfile /var/run/apache2/apache2.pid start program = "/etc/init.d/apache2 start" with timeout 60 seconds stop program = "/etc/init.d/apache2 stop" if cpu > 60% for 2 cycles then alert if cpu > 80% for 5 cycles then restart |
3.在内存使用量高的情况下重新启动:
1 2 3 4 |
check process apache with pidfile /var/run/apache2/apache2.pid start program = "/etc/init.d/apache2 start" with timeout 60 seconds stop program = "/etc/init.d/apache2 stop" if totalmem > 200.0 MB for 5 cycles then restart |
4.检查文件系统:
1 2 3 |
check filesystem datafs with path /dev/sda1 start program = "/bin/mount /data" stop program = "/bin/umount /data" |
5.检查目录:
1 2 |
check directory bin with path /bin if failed permission 755 then alert |
6.检查网络上的主机
1 2 |
check host server2 with address 192.168.1.2 if failed icmp type echo count 3 with timeout 3 seconds then alert |
Monit监视器的所有服务将被包含在Web界面中,它将如下所示:
此外,如果您点击服务名称,您将获得更多详细信息: