如何在Ubuntu 22.04上安装Monit监控工具
Monit是一个开源监控工具,可用于监控服务器。使用 Monit,您可以监控服务器进程和不同的服务,例如 Apache、Nginx、MySQL、FTP、SSH、Sendmail 等。它提供了一个简单且用户友好的 Web UI 来监控所有流程和服务。 Monit 可以在发生故障时自动启动任何服务。它还允许您通过命令行界面监控远程主机的 TCP/IP 端口、服务器协议和 ping。
本教程将向您展示如何在 Ubuntu 22.04 上安装和配置 Monit 监控工具。
先决条件
- 运行 Ubuntu 22.04 的服务器。
- 服务器上配置了 root 密码。
入门
首先,您需要将所有软件包更新并升级到最新版本。您可以使用以下命令来完成此操作:
apt update -y
apt upgrade -y
安装所有软件包后,您可以继续下一步。
在 Ubuntu 22.04 上安装 Monit
默认情况下,Monit 软件包在 Ubuntu 22.04 默认存储库中可用。您可以使用以下命令安装它:
apt-get install monit -y
安装成功后,启动Monit服务并使其在系统重启时启动:
systemctl start monit
systemctl enable monit
您还可以使用以下命令检查 Monit 的状态:
systemctl status monit
您将得到以下输出:
? monit.service - LSB: service and resource monitoring daemon
Loaded: loaded (/etc/init.d/monit; generated)
Active: active (running) since Mon 2022-08-01 04:28:17 UTC; 11s ago
Docs: man:systemd-sysv-generator(8)
Process: 6292 ExecStart=/etc/init.d/monit start (code=exited, status=0/SUCCESS)
Tasks: 1 (limit: 2242)
Memory: 2.5M
CPU: 25ms
CGroup: /system.slice/monit.service
??6298 /usr/bin/monit -c /etc/monit/monitrc
Aug 01 04:28:17 ubuntu2204 systemd[1]: Starting LSB: service and resource monitoring daemon...
Aug 01 04:28:17 ubuntu2204 monit[6292]: * Starting daemon monitor monit
Aug 01 04:28:17 ubuntu2204 monit[6292]: ...done.
Aug 01 04:28:17 ubuntu2204 systemd[1]: Started LSB: service and resource monitoring daemon.
您还可以使用以下命令检查 Monit 版本:
monit --version
您应该看到以下输出:
This is Monit version 5.31.0
Built with ssl, with ipv6, with compression, with pam and with large files
Copyright (C) 2001-2022 Tildeslash Ltd. All Rights Reserved.
配置Monit监控
接下来,您将编辑 Monit 默认配置文件并设置管理员密码和端口。您可以使用以下命令来完成此操作:
nano /etc/monit/monitrc
更改以下行:
set httpd port 2812 and
allow admin:monit # require user 'admin' with password 'monit'
保存并关闭文件,重新启动 Monit 服务以应用更改:
systemctl restart monit
默认情况下,Monit 监听端口 2812。您可以使用以下命令进行检查:
ss -antpl | grep monit
您应该看到以下输出:
LISTEN 0 1024 0.0.0.0:2812 0.0.0.0:* users:(("monit",pid=6427,fd=6))
LISTEN 0 1024 [::]:2812 [::]:* users:(("monit",pid=6427,fd=7))
您还可以使用以下命令检查系统状态:
monit status
您将得到以下输出:
Monit 5.31.0 uptime: 0m
System 'ubuntu2204'
status OK
monitoring status Monitored
monitoring mode active
on reboot start
load average [0.08] [0.13] [0.13]
cpu 0.0%usr 0.0%sys 0.0%nice 0.0%iowait 0.0%hardirq 0.0%softirq 0.0%steal 0.0%guest 0.0%guestnice
memory usage 1.0 GB [54.0%]
swap usage 0 B [0.0%]
uptime 28m
boot time Mon, 01 Aug 2022 04:02:09
filedescriptors 1728 [0.0% of 9223372036854775807 limit]
data collected Mon, 01 Aug 2022 04:29:55
添加监控服务
接下来,您需要添加要使用 Monit 监视的服务。在本节中,我们将向 Monit 添加 Nginx 和 ProFTP 服务。
添加Nginx监控服务
默认情况下,Monit 为某些进程和服务提供预定义的模板。所有这些模板都位于 /etc/monit/conf-available/ 目录中。默认情况下,Nginx 模板是可用的,因此您只需使用以下命令启用它:
ln -s /etc/monit/conf-available/nginx /etc/monit/conf-enabled/
接下来,重新启动 Monit 服务以应用更改:
systemctl restart monit
添加ProFTP监控服务
缺省情况下,ProFTP服务模板不可用。因此,您需要使用您最喜欢的编辑器来创建它。
nano /etc/monit/conf-available/proftpd
添加以下行:
check process proftpd with pidfile /var/run/proftpd.pid
start program = "/etc/init.d/proftpd start"
stop program = "/etc/init.d/proftpd stop"
if failed port 21 protocol ftp then restart
保存并关闭文件,然后使用以下命令启用 ProFTP 服务:
ln -s /etc/monit/conf-available/proftpd /etc/monit/conf-enabled
您可以使用以下命令验证模板是否存在任何语法错误:
monit -t
您将得到以下输出:
Control file syntax OK
接下来,重新启动 Monit 服务以应用更改:
systemctl restart monit
访问 Monit Web UI
现在,打开 Web 浏览器并使用 URL http://your-server-ip-2812 访问 Monit Web 界面。您应该在以下屏幕上看到您的所有服务:
提供您的用户名、密码,然后单击登录按钮。您应该在以下屏幕上看到 Monit 仪表板:
单击 Nginx 服务。您应该在以下屏幕上看到有关 Nginx 的详细信息:
通过命令行监控 Monit
Monit 还允许您通过命令行界面监控所有已配置的服务。
要查看 monit 的快速摘要,请运行以下命令:
monit summary
您应该看到以下输出:
Monit 5.31.0 uptime: 0m
????????????????????????????????????????????????????????????????????????????????
? Service Name ? Status ? Type ?
????????????????????????????????????????????????????????????????????????????????
? ubuntu2204 ? OK ? System ?
????????????????????????????????????????????????????????????????????????????????
? proftpd ? OK ? Process ?
????????????????????????????????????????????????????????????????????????????????
? nginx ? OK ? Process ?
????????????????????????????????????????????????????????????????????????????????
? nginx_bin ? OK ? File ?
????????????????????????????????????????????????????????????????????????????????
? nginx_rc ? OK ? File ?
????????????????????????????????????????????????????????????????????????????????
您还可以使用以下命令查看所有服务的状态:
monit status
您将在以下输出中获得有关所有服务的详细信息:
Monit 5.31.0 uptime: 0m
Process 'proftpd'
status OK
monitoring status Monitored
monitoring mode active
on reboot start
pid 6806
parent pid 1
uid 0
effective uid 115
gid 65534
uptime 2m
threads 1
children 0
cpu -
cpu total -
memory 0.2% [3.4 MB]
memory total 0.2% [3.4 MB]
security attribute unconfined
filedescriptors 5 [0.5% of 1024 limit]
total filedescriptors 5
read bytes 0 B/s [2.3 kB total]
disk read bytes 0 B/s [0 B total]
disk read operations 0.0 reads/s [17 reads total]
write bytes 0 B/s [2.1 kB total]
disk write bytes 0 B/s [4 kB total]
disk write operations 0.0 writes/s [8 writes total]
port response time 3.791 ms to localhost:21 type TCP/IP protocol FTP
data collected Mon, 01 Aug 2022 04:34:49
Process 'nginx'
status OK
monitoring status Monitored
monitoring mode active
on reboot start
pid 6994
parent pid 1
uid 0
effective uid 0
gid 0
uptime 1m
threads 1
children 1
cpu -
cpu total -
memory 0.1% [1.7 MB]
memory total 0.4% [7.1 MB]
security attribute unconfined
filedescriptors 10 [1.0% of 1024 limit]
total filedescriptors 21
read bytes 0 B/s [0 B total]
disk read bytes 0 B/s [0 B total]
disk read operations 0.0 reads/s [0 reads total]
write bytes 0 B/s [0 B total]
disk write bytes 0 B/s [0 B total]
disk write operations 0.0 writes/s [0 writes total]
data collected Mon, 01 Aug 2022 04:34:49
File 'nginx_bin'
status OK
monitoring status Monitored
monitoring mode active
on reboot start
permission 755
uid 0
gid 0
size 1.2 MB
access timestamp Mon, 01 Aug 2022 04:17:26
change timestamp Mon, 01 Aug 2022 04:17:24
modify timestamp Wed, 27 Apr 2022 10:56:57
checksum 8ae236b8cfaa5ba5f471ab7fba65700d (MD5)
data collected Mon, 01 Aug 2022 04:34:49
File 'nginx_rc'
status OK
monitoring status Monitored
monitoring mode active
on reboot start
permission 755
uid 0
gid 0
size 4.5 kB
access timestamp Mon, 01 Aug 2022 04:17:24
change timestamp Mon, 01 Aug 2022 04:17:24
modify timestamp Tue, 06 Nov 2018 19:04:12
checksum 290f6f12a12bc8e882bc5af46c1bfe7c (MD5)
data collected Mon, 01 Aug 2022 04:34:49
System 'ubuntu2204'
status OK
monitoring status Monitored
monitoring mode active
on reboot start
load average [0.02] [0.11] [0.12]
cpu 0.0%usr 0.0%sys 0.0%nice 0.0%iowait 0.0%hardirq 0.0%softirq 0.0%steal 0.0%guest 0.0%guestnice
memory usage 1.0 GB [54.2%]
swap usage 0 B [0.0%]
uptime 33m
boot time Mon, 01 Aug 2022 04:02:09
filedescriptors 1760 [0.0% of 9223372036854775807 limit]
data collected Mon, 01 Aug 2022 04:34:49
结论
恭喜!您已在Ubuntu 22.04上成功安装并配置Monit监控工具。您现在可以探索 Monit 功能、添加更多服务并通过 Web 浏览器监控它们。如果您有任何疑问,请随时问我。