在Ubuntu 20.04| 18.04上安装和配置Monit

时间:2020-02-23 14:32:41  来源:igfitidea点击:

Monit是一种用于监视Linux系统上的服务的开源程序,并确保它们始终在线。
如果由于任何原因该程序关闭,Monit将尝试在线将其送回并使其在网上持续停留。

Monit还配有用于控制和监视应用程序/进程的状态的Web界面。
在本教程中,我们将介绍Ubuntu 20.04 | 18.04上的Monit的安装和配置。

在Ubuntu 20.04 /18.04上安装Monit

Monit Package可在官方Ubuntu存储库上使用。
使用命令安装它:

sudo apt-get install monit

要启动此过程,请在Ubuntu 20.04/18.04上使用systemctl命令:

sudo systemctl enable --now monit

检查服务是否正在运行:

$sudo systemctl status monit
● monit.service - LSB: service and resource monitoring daemon
   Loaded: loaded (/etc/init.d/monit; generated)
   Active: active (running) since Wed 2016-06-06 19:29:37 UTC; 1min 45s ago
     Docs: man:systemd-sysv-generator(8)
    Tasks: 1 (limit: 4704)
   CGroup: /system.slice/monit.service
           └─21382 /usr/bin/monit -c /etc/monit/monitrc
Jun 06 19:29:37 ubuntu18.04.theitroad.com systemd[1]: Starting LSB: service and resource monitoring daemon...
Jun 06 19:29:37 ubuntu18.04.theitroad.com monit[21366]:  * Starting daemon monitor monit
Jun 06 19:29:37 ubuntu18.04.theitroad.com monit[21366]:    ...done.
Jun 06 19:29:37 ubuntu18.04.theitroad.com systemd[1]: Started LSB: service and resource monitoring daemon.

Monit配置文件位于/etc/monit /目录下。
主要配置文件是/etc/monit/monitrc。
此文件高度注释出来,我们可以为所有配置引用。
默认情况下,位于/etc/conf.d/和/etc/monit/conf启用/启用的所有文件启动时,我们可以在启动时读取,我们可以在此目录上放置进程监视配置以保持组织的事项。

启用Monit HTTP接口

Monit具有嵌入式HTTP接口,可用于查看监视和管理Web界面的服务的状态。
默认情况下,未启用Monit Http接口,通过取消注释以下行/etc/monit/monitrc文件来启用它。

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'

我们可以更改管理员:我们要使用的用户名和密码的Monit。
要允许从不同的IP访问,请将其添加如下:

allow 192.268.1.20

改变后重新启动Monit:

$sudo systemctl restart monit
or
$sudo monit reload

检查Monit的状态

执行Monit Status命令将显示有关Monit Status的详细信息。

$sudo monit status
Monit 5.25.1 uptime: 0m
System 'ubuntu18.04.theitroad.com'
  status                       OK
  monitoring status            Monitored
  monitoring mode              active
  on reboot                    start
  load average                 [0.00] [0.01] [0.00]
  cpu                          0.0%us 0.0%sy 0.0%wa
  memory usage                 513.8 MB [13.0%]
  swap usage                   0 B [0.0%]
  uptime                       4d 21h 31m
  boot time                    Fri, 01 Jun 2016 22:25:13
  data collected               Wed, 06 Jun 2016 19:56:00

要检查配置文件语法,请使用:

$sudo monit -t
Control file syntax OK

检查受监视的流程摘要:

# monit  summary
Monit 5.25.1 uptime: 6m
┌─────────────────────────────────┬────────────────────────────┬───────────────┐
│ Service Name                    │ Status                     │ Type          │
├─────────────────────────────────┼────────────────────────────┼───────────────┤
│ ubuntu18.04.computingforgeek... │ OK                         │ System        │
└─────────────────────────────────┴────────────────────────────┴───────────────┘

监控带有Monit的流程/程序

我会做出如何监控单身程的过程。
在我的本地机器上,我有Apache2和MariaDB运行程序。
我将为in/etc/monit/conf.d/custom.conf创建两个自定义配置文件。

# Apache configuration
check process apache2 with pidfile /run/apache2/apache2.pid
    start program = "/bin/systemctl start apache2" with timeout 60 seconds
    stop program  = "/bin/systemctl stop apache2"
# MariaDB configuration
#check process mariadb with pidfile /run/mysqld/mysqld.pid
    start program = "/bin/systemctl start mariadb" with timeout 60 seconds
    stop program  = "/bin/systemctl stop mariadb"
# Docker configuration
#check process docker with pidfile /run/docker.pid
    start program = "/bin/systemctl start docker" with timeout 60 seconds
    stop program  = "/bin/systemctl stop docker"

请注意,"启动程序"和"停止程序"命令需要是绝对路径,例如,例如systemctl。

在进行更改后检查语法错误:

# monit -t
Control file syntax OK

如果一切正常,请重新加载Monit配置文件以阅读新更改。

# monit reload
Reinitializing monit daemon

现在检查正在监视的流程列表摘要:

~# monit summary
Monit 5.25.1 uptime: 41m
┌─────────────────────────────────┬────────────────────────────┬───────────────┐
│ Service Name                    │ Status                     │ Type          │
├─────────────────────────────────┼────────────────────────────┼───────────────┤
│ ubuntu18.04.computingforgeek... │ OK                         │ System        │
├─────────────────────────────────┼────────────────────────────┼───────────────┤
│ apache2                         │ OK                         │ Process       │
├─────────────────────────────────┼────────────────────────────┼───────────────┤
│ mariadb                         │ OK                         │ Process       │
├─────────────────────────────────┼────────────────────────────┼───────────────┤
│ docker                          │ OK                         │ Process       │
└─────────────────────────────────┴────────────────────────────┴───────────────┘

开始运行所有受监视的程序。

# monit start all

访问Monit Web界面:

要访问Web界面,请使用URL:

http://[ip-address|domain]:2812

使用username作为"管理员"和密码作为"monit"登录。

允许从防火墙上的远程IP地址访问端口,运行:

$sudo ufw allow 2812
Rule added
Rule added (v6)