Monit - Linux System Performance Monitoring tool
Monit是一个小型开源实用程序,用于管理和监视Unix系统服务,例如(Apache,MariaDB,FTP,SSH,Sendmail,DNS等),程序,文件,文件系统和目录。 还监视本地主机上的常规系统资源,例如CPU使用率,内存和平均负载。 Monit会进行自动维护和修复,并且可以在错误情况下执行有意义的因果操作。 所有Linux发行版均在其官方存储库中包含Monit,因此我们可以使用发行版官方软件包轻松进行安装。
检查其他Linux监视工具
如果发生错误情况,Monit可以采取行动,例如; 如果Apache未运行,Monit可以自动再次启动Apache。 此外,当它使用服务器上的过多资源时,它将自动停止或重新启动特定服务,并向您发送警报消息。
监视器监视文件,目录和文件系统的更改,例如时间戳记更改,校验和更改或大小更改。 监视与本地主机或远程主机上的各种服务器的网络连接。 支持TCP,UDP和Unix域套接字。 Monit可以轻松地与init,upstart或systemd集成,并且可以使用现有的运行级脚本来管理服务。
Monit内置了一个轻量级的HTTP(S)接口,可用于浏览Monit服务器并检查所有受监视服务的状态。 从Web界面,您可以启动,停止和重新启动进程,以及禁用或启用对服务的监视。
1)在Linux上安装Monit
我们可以在基于Debian的系统(Debian,Ubuntu和Mint)上直接安装Monit,但必须启用EPEL存储库才能在基于RPM的系统(RHEL和CentOS)上安装Monit。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <span style="color: #848484;">[CentOS/RHEL & Upto Fedora 21]</span> # yum install monit <span style="color: #848484;">[Fedora 22 & later]</span> # dnf install monit <span style="color: #848484;">[Debian, Ubuntu & Mint]</span> $ sudo apt-get install monit <span style="color: #848484;">[suse & openSUSE]</span> # zypper install monit <span style="color: #848484;">[ArchLinux/Manjaro]</span> # pacman -S monit |
2)配置监控
为了使用Monit,我们需要从Monit配置文件中取消注释以下几行。 默认情况下,Monit监视Monit配置文件中定义的每个
/etc/monit.conf:Fedora/CentOS/RHEL上的Monit配置文件
/ etc / monit / monitrc:Ubuntu / Debian / Mint上的Monit配置文件
/ etc / monit / monitrc:基于Arch的系统上的Monit配置文件
/ etc / monitrc:openSUSE上的Monit配置文件
2812:Web界面端口号
1 2 3 4 5 | $ sudo nano /etc/monit.conf set httpd port 2812 and 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' |
完成上述更改后,您需要启动监视服务才能使更改生效。
1 2 3 4 5 | <span style="color: #848484;">[Start Monit service on SysVinit]</span> $ sudo service monit start <span style="color: #848484;">[Start Monit service on systemd]</span> $ sudo systemctl restart monit.service |
3)访问Monit Web界面
确保您已安装apache来访问Monit Web界面。 导航到http:// localhost:2812或http://example.com:2812或http:// IP:2812,然后输入用户名
4)向monit添加服务
默认情况下,Monit配置文件具有一些服务配置,只需在Fedora / CentOS / RHEL上打开Monit配置文件
Apache on Systematic(Manjaro)
2
3
start program ="systemctl start httpd.service" with timeout 60 seconds
stop program ="systemctl stop httpd.service"
Nginx on systemd
1 2 3 4 | check process nginx with pidfile /var/run/nginx.pid start program ="systemctl start nginx.service" stop program ="systemctl stop nginx.service" group www-data (for ubuntu, debian) |
SysVinit上的proftpd
1 2 3 4 | check process proftpd with pidfile /var/run/proftpd.pid start program ="/etc/init.d/proftpd start" stop program ="/etc/init.d/proftpd stop" if failed port 21 protocol ftp then restart |