在Ubuntu 20.04| 18.04上安装和配置Monit
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)