CentOS 8系统安装Monit监视系统详细过程介绍

2026-04-01 10:33:20

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

3、启动监控

启动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

4、查找Monit的状态

启动Monit后,可以通过运行status命令来了解运行情况,如下所示:

$ 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

CentOS 8系统安装Monit监视系统详细过程介绍

5、Monit配置

Monit附带了一个配置巨言,您可以微调配置并添加我们需要监视的内容。Monit将使用/ etc / monitrc目录中的monitrc控制文件进行配置。

该文件已设置为启动Monit的http服务器,因此可以从浏览器的舒适度中了解一些有趣的东西。在下面的代码段中查找该部分,并将IP地址从localhost更改为0.0.0.0,这将允许从可以访问服务器的所有IP地址访问Web界面。

 惹倘侨

sudo vim /etc/monitrc

set 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 ”登录。随后将出现以下页面。

CentOS 8系统安装Monit监视系统详细过程介绍

6、为Monit添加要监视的服务

一旦运行了Monit,如果不添加感兴趣的服务以使其在发生故障时进行监视和重新启动,它将没有好处。这里将使用Nginx Server进行测试。因此,接下来安装它,然后添加将监视其状态的配置。

sudo dnf install -y nginx

sudo systemctl start nginx

Nginx现在可以通过可爱的监视Monit进行监视了。为了启用该功能,这里将在/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监视系统详细过程介绍

7、Web界面显示监视的内容

Web界面还可以向您显示其中正在监视的内容,如下图所示:

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

CentOS 8系统安装Monit监视系统详细过程介绍

8、对Monit进行测试

为了确认Monit正常运行,这里将有意停止Nginx服务器,然后等待它是否会尝试并成功重启它。默认情况下,Monit每隔30秒检查一次服务。可以在配置文件(/ etc / monitrc)中更改此值以适合您的要求。在文件中查找“ set daemon 30 ”行,并将数字(以秒为单位)更改为更多或更少。

停止Nginx命令:

sudo systemctl stop nginx

然后检查Monit日志以观察其作用。

$ 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包装时会发现它们。

9、总结:

正如Monit的开发人员所说,具有系统监视和错误恢复所需的所有功能。就像在服务器上使用带有工具箱的看门狗一样。减轻一些负担,利用其优势并转变成管理任务。

猜你喜欢