CentOS 8系统安装Monit监视系统详细过程介绍
1、更新并安装必要的软件包在享受Monit带来的乐趣之前,可以通过安装以下重要软件包来确保已满足所有依赖性。sudo dnf -y updatesudo dnf -y install zlib-devel pam-devel openssl-devel libtool bison flex autoconf gcc make git epel-release
2、安装Monit在解决了需要的依赖关系和应用程序之后,通过提取存储库并通过DNF安装它来充分利用存储库。sudo dnf -y install monit
3、启动监控启动Monit就像运行一个命令一样简单,如下所示。$ sudo monit###You should see the message below in the end###New Monit id: a447ea6daa8857bcf3c5089d0d225e83Stored in '/root/.monit.id'Starting Monit 5.26.0 daemon with http interface at [localhost]:2812
4、查找Monit的状态启动Monit后,可以通过运行status命令来了解运行情况,如下所示:$ sudo monit statusMonit 5.26.0 uptime: 1mSystem 'master' status OK monitoring status Monitored monitoring mode active on reboot start load average [0.00] [0.00] [0.00] cpu 0.0%us 0.0%sy 0.0%wa memory usage 306.4 MB [17.4%] swap usage 0 B [0.0%] uptime 1h 59m boot time Wed, 30 Sep 2020 17:53:25 data collected Wed, 30 Sep 2020 19:51:59下面共享了随附的屏幕截图,以使图片更清晰。当然,也可以让Monit在服务器重新启动时启动,命令如下:$ sudo systemctl enable --now monit$ sudo systemctl status monit● monit.service - Pro-active monitoring utility for unix systems Loaded: loaded (/usr/lib/systemd/system/monit.service; enabled; vendor preset: disabled) Active: active (running) since Wed 2020-09-30 20:27:05 UTC; 2min 4s agoMain PID: 83433 (monit) Tasks: 2 (limit: 11070) Memory: 960.0K CGroup: /system.slice/monit.service └─83433 /usr/bin/monit -I

5、Monit配置Monit附带了一个配置,您可以微调配置并添加我们需要监视的内容。Monit将使用/ etc / monitrc目录中的monitrc控制文件进行配置。该文件已设置为启动Monit的http服务器,因此可以从浏览器的舒适度中了解一些有趣的东西。在下面的代码段中查找该部分,并将IP地址从localhost更改为0.0.0.0,这将允许从可以访问服务器的所有IP地址访问Web界面。sudo vim /etc/monitrcset httpd port 2812 #use address localhost => only accept connection from localhost (drop if you use M/Monit) use address 0.0.0.0 allow 0.0.0.0/0 allow admin:monit完成编辑后,不要忘记打开端口2812。也重新启动监视服务。启动monit后,将浏览器指向http:// [IP-or-FQDN]:2812,并在出现提示时使用用户名“ admin ”和密码“ monit ”登录。随后将出现以下页面。

6、为Monit添加要监视的服务一旦运行了Monit,如果不添加感兴趣的服务以使其在发生故障时进行监视和重新启动,它将没有好处。这里将使用Nginx Server进行测试。因此,接下来安装它,然后添加将监视其状态的配置。sudo dnf install -y nginxsudo systemctl start nginxNginx现在可以通过可爱的监视Monit进行监视了。为了启用该功能,这里将在/etc/monit.d目录中添加以下配置,该配置可以保存正在监视的各种服务的配置文件。$ sudo vim /etc/monit.d/nginx-monitorcheck process nginx with pidfile /run/nginx.pidstart program "/usr/bin/systemctl start nginx.service"stop program "/usr/bin/systemctl stop nginx.service"if failed port 80 protocol http then restart如果您想检查配置文件中的语法是否正确,Monit会为您提供该功能。只需运行以下命令:$ sudo monit -tControl file syntax OK这时必须重新加载Monit才能适应新配置,这很简单: $ sudo monit reloadReinitializing monit daemon然后可以检查它的状态:sudo monit status下面的屏幕快照显示刚刚添加的新服务(nginx)已被注册,其状态当前为“确定”。

7、Web界面显示监视的内容Web界面还可以向您显示其中正在监视的内容,如下图所示:其他服务(例如sshd,httpd,syslogd,postfix等)可以相同的方式添加到/etc/monit.d/目录中的自己的文件中。

8、对Monit进行测试为了确认Monit正常运行,这里将有意停止Nginx服务器,然后等待它是否会尝试并成功重启它。默认情况下,Monit每隔30秒检查一次服务。可以在配置文件(/ etc / monitrc)中更改此值以适合您的要求。在文件中查找“set daemon 30”行,并将数字(以秒为单位)更改为更多或更少。停止Nginx命令:sudo systemctl stop nginx然后检查Monit日志以观察其作用。$ sudo tail -f /var/log/messagesSep 30 21:12:55 master systemd[1]: Stopping The nginx HTTP and reverse proxy server...Sep 30 21:12:55 master systemd[1]: Stopped The nginx HTTP and reverse proxy server.Sep 30 21:13:24 master monit[85789]: 'nginx' process is not runningSep 30 21:13:24 master monit[85789]: 'nginx' trying to restartSep 30 21:13:24 master monit[85789]: 'nginx' start: '/usr/bin/systemctl start nginx.service'Sep 30 21:13:24 master systemd[1]: Starting The nginx HTTP and reverse proxy server...Sep 30 21:13:24 master nginx[85809]: nginx: the configuration file /etc/nginx/nginx.conf syntax is okSep 30 21:13:24 master nginx[85809]: nginx: configuration file /etc/nginx/nginx.conf test is successfulSep 30 21:13:24 master systemd[1]: Started The nginx HTTP and reverse proxy server.Sep 30 21:13:54 master monit[85789]: 'nginx' process is running with pid 85812接下来确认Nginx已启动:● nginx.service - The nginx HTTP and reverse proxy server Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled) Active: active (running) since Wed 2020-09-30 21:13:24 UTC; 2min 42s ago Process: 85811 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS) Process: 85809 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS) Process: 85807 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)Main PID: 85812 (nginx) Tasks: 3 (limit: 11070) Memory: 5.3M CGroup: /system.slice/nginx.service ├─85812 nginx: master process /usr/sbin/nginx ├─85813 nginx: worker process └─85814 nginx: worker processMonit通过在配置时间内重新启动Nginx证明运行良好。这可能非常有用,尤其是在没有明确原因导致服务不断关闭的情况下。Monit将在这种时候充分支持您。所以可以配置更多功能,以便在打开Monit包装时会发现它们。
9、总结:正如Monit的开发人员所说,具有系统监视和错误恢复所需的所有功能。就像在服务器上使用带有工具箱的看门狗一样。减轻一些负担,利用其优势并转变成管理任务。