在CentOS 8上安装Monit监视系统

您可以通过以下链接以PDF格式下载本文来支持我们。以PDF格式下载指南关闭关闭关闭

Monit是用于管理和监视Unix系统的小型开源实用程序。 Monit可以执行自动维护和维修,并采取在错误情况下会导致有意义后果的措施。

Monit被设计为自治系统,并且不依赖任何插件或特殊库来运行。相反,它开箱即用,并利用了系统中已有的现有基础结构。例如,Monit可以轻松地与init,upstart和systemd集成,并且可以使用现有的运行级脚本来管理服务。

系统监视工具应该不会妨碍您,安装后应该将其遗忘。也就是说,直到sshd或postfix在托管服务器上停止。如果发生这种情况,最好知道已安装了此附加的安全性和保护层。现在只需等待几秒钟,Monit将重新启动sshd守护程序。资源: Monit主页

使用Monit:

Monit通过以下方式显示其功能:

  • 主动监控:发生错误情况时,Monit有效。 如果sendmail没有运行,Monit可以自动重新启动sendmail。或者,如果apache过度使用资源(例如,如果正在进行DoS攻击),则Monit可以停止或重新启动apache并发送警报消息。
  • 系统监控:您可以使用Monit监视本地主机上的常见系统资源,例如总体CPU利用率,内存和平均负载。
  • 过程监控:您可以使用Monit监视守护程序进程或本地主机上运行的类似程序。 Monit对于监视守护进程特别有用,例如在系统启动时从/ etc / init /启动的守护进程。
  • 监视文件,目录和文件系统:您还可以使用Monit监视本地主机上的文件,目录和文件系统。 Monit可以监视这些项目的更改,例如时间戳更改,校验和更改以及调整大小。出于安全原因,这也是有用的。您可以监视不应修改的文件的md5或sha1校验和,以获取警报并在修改后采取措施。
  • 程序和脚本监控:Monit可用于在特定时间测试程序或脚本,例如cron,但它也测试程序的结束值以执行操作,或者结束值指示错误您可以发送警报,以防万一。
  • 云和主机:监视与各种本地或远程服务器的网络连接。 支持TCP,UDP和Unix域套接字。网络测试可以在协议级别运行。 Monit具有对主要Internet协议(例如HTTP和SMTP)的内置测试。

系统要求

  • 内存和磁盘空间:至少需要1 MB的RAM和大约500KB的可用磁盘空间。 根据Monit监视器的服务数量,您可能需要更多的RAM。
  • ANSI-C编译器和构建系统:必须安装ANSI-C99编译器才能构建Monit。 我们建议使用自由软件基金会(FSF)GNU C编译器(GCC)。另外,您的PATH应该包括基本的构建工具,例如make。

安装Monit

希望对该工具的描述足够,我们将其设置在服务器上,以便您可以直接看到在幕后工作时所获得的收益。提取代码并通过epel-repository安装。

步骤1:更新并安装所需的软件包

在享受Monit之前,请安装以下重要软件包,以确保满足所有依赖性。

sudo dnf -y update
sudo 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

启动监控

启动Monit与运行单个命令一样简单。如下所示。

$ sudo monit

###You should see the message below in the end###
 New Monit id: a447ea6daa8857bcf3c5089d0d225e83
 Stored in '/root/.monit.id'
Starting Monit 5.26.0 daemon with http interface at [localhost]:2812

查找Monit的状态

启动Monit后,您可以通过执行status命令来检查Monit的工作方式,如下所示。

$ sudo monit status
Monit 5.26.0 uptime: 1m

System '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 ago
 Main PID: 83433 (monit)
    Tasks: 2 (limit: 11070)
   Memory: 960.0K
   CGroup: /system.slice/monit.service
           └─83433 /usr/bin/monit -I

步骤3:监视配置

可以想象,Monit带有一个配置,可让您微调配置并添加需要监视的内容。 Monit使用/ etc / monitrc目录中的monitrc控制文件进行配置。该文件设置为启动Monit的http服务器,因此您可以从浏览器的舒适性中看到一些有趣的东西。在下面找到代码段部分,并将IP从localhost更改为0.0.0.0。这允许从可以到达服务器的任何IP访问Web界面。

sudo vim /etc/monitrc

set httpd port 2812 and
    #use address localhost # only accept connection from localhost (drop if you use M/Monit)
    use address 0.0.0.0     
    #allow localhost       # allow localhost to connect to the server and
    allow 0.0.0.0/0       
    allow admin:monit

完成编辑后,不要忘记打开端口2812。 监控服务也将重新启动。

sudo firewall-cmd --permanent --add-port=2812/tcp
sudo firewall-cmd --reload
sudo systemctl restart monit

启动monit后,使用浏览器访问http://。[IP-or-FQDN]:出现提示时,使用用户名“ admin”和密码“ monit”登录。接下来的页面如下。

在CentOS 8上安装Monit监视系统

首次登录

在CentOS 8上安装Monit监视系统

步骤4:添加Monit监控的服务

运行Monit后,必须添加目标服务,然后才能监视和重新启动该服务(如果失败)。 在Nginx服务器上测试。现在让我们安装它,然后添加配置以监视其状态。

sudo dnf install -y nginx
sudo systemctl start nginx

现在,您可以使用可爱的Monit手表来监视Nginx了。要启用此功能,请将以下配置添加到/etc/monit.d目录中,该目录可以包含各种受监视服务的配置文件。

$ sudo vim /etc/monit.d/nginx-monitor
check process nginx with pidfile /run/nginx.pid
start 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 -t
Control file syntax OK

可以想象,您需要重新加载Monit以适应新配置。就像这样简单:

$ sudo monit reload
Reinitializing monit daemon

然后您可以检查其状态

sudo monit status

下面的屏幕快照显示您刚刚添加的新服务(nginx)已注册,其状态当前为“确定”。

在CentOS 8上安装Monit监视系统

您还可以在Web界面中查看正在监视的内容

在CentOS 8上安装Monit监视系统

其他服务(例如sshd,httpd,syslogd和postfix)可以以相同的方式添加到/etc/monit.d/目录中的自己的文件中。

步骤5:测试监控

为确保Monit正常运行,请有意停止Nginx服务器,并查看是否尝试重新启动并成功。 默认情况下,Monit每30秒检查一次服务。您可以在配置文件(/ etc / monitrc)中更改此值以适合您的要求。在文件中查找“ setdaemon30”行,并或多或少地更改该数字(以秒为单位)。

让我们停止Nginx

sudo systemctl stop nginx

然后检查监视日志以查看其功能。

$ sudo tail -f /var/log/messages

Sep 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 running
Sep 30 21:13:24 master monit[85789]: 'nginx' trying to restart
Sep 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 ok
Sep 30 21:13:24 master nginx[85809]: nginx: configuration file /etc/nginx/nginx.conf test is successful
Sep 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 process

Monit通过在配置的时间内重新启动Nginx证明可以很好地工作。这在服务无故停止的情况下特别有用。在这样的时候,Monit可以使您的背部完美。 您可以通过解压缩Monit来配置更多功能。您可以从中找到更多 Monit网站

最后一个字

正如Monit开发人员所说,它具有系统监视和错误恢复所需的所有功能。就像在服务器上带有带有工具箱的看门狗一样。减轻一些负担,并在周末享受一杯茶或安静的午睡。利用它并转变您的管理任务。终于结束了希望您的向导能为您提供帮助。

您还可以享受:

在CentOS 8 / RHEL8上安装SensuGo监控工具

10种最佳开源Linux监视工具

您可以通过以下链接以PDF格式下载本文来支持我们。以PDF格式下载指南关闭关闭关闭

Sidebar