Monit是一个免费的开源进程监控工具,可用于使用web浏览器和命令行监控系统进程。它还用于监视文件、目录和设备的大小更改和权限更改。如果发生故障,Monitor会自动修复特定流程。Monit还能够在基于Linux的系统上监视所有大多数服务,如Apache、Sendmail、Nginx、FTP、SSH和MySQL。您可以使用Monit监视远程主机TCP/IP端口、协议和ping。Monit能够停止使用高资源的特定进程。监控您的服务器,并发送有关任何关键错误情况和恢复状态的警报。
特征
自动启动、停止和终止特定进程。
用户友好的web界面用于状态监控。
如有任何紧急情况,请通过电子邮件通知。
检查系统负载、CPU使用率、RAM使用率、磁盘、文件大小更改、权限更改等。
监控各种协议HTTP、FTP、SSH、POP、IMAP、LDAP、IMAP和SMTM。
通过syslog或自己的日志文件记录。
在本教程中,我们将解释如何在Debian 9上设置和使用Monit。
必要条件
您的系统上安装了新的Debian 9服务器。
您的服务器上已设置root密码。
1.更新系统
让我们从将您的系统更新到最新的稳定版本开始。您可以使用以下命令进行更新:
apt-get update -y
apt-get upgrade -y
更新系统后,使用以下命令重新启动系统以使这些更改生效:
reboot
重新启动后,使用root用户登录并继续下一步。
2.安装Monit
默认情况下,Monit在Ubuntu存储库中可用。您可以通过运行以下命令轻松安装它:
apt-get install monit -y
安装Monit后,启动Monit服务,并通过运行以下命令使其在启动时启动:
systemctl start monit
systemctl enable monit
您可以通过运行以下命令随时检查Monit服务的状态:
systemctl status monit
3.配置监视器
Monit默认配置文件monitrc位于/etc/Monit/目录,其他特定于进程和服务器的配置文件位于/etc/monitor/conf-available/dirfactory。Monit带有内置的web界面,但默认情况下是禁用的。您可以通过编辑/etc/monit/monitrc文件来启用它,如下所示:
nano /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'
改成下面这样
set httpd port 2812 and
allow admin:monit # require user 'admin' with password 'monit'
完成后保存并关闭文件,然后使用以下命令重新启动监控服务以应用这些更改:
systemctl restart monit
您可以使用以下命令检查Monit服务状态:
netstat -ant | grep :2812
您应该看到以下输出:
tcp 0 0 0.0.0.0:2812 0.0.0.0:* LISTEN 1615/monit
tcp6 0 0 :::2812 :::* LISTEN 1615/monit
4.访问Monit Web界面
您可以使用URL访问Monit web界面http://192.168.0.227:2812,然后输入用户名admin和密码monit。您应该看到Monit仪表板如下:
![图片[1]_如何在Debian 9上安装和配置Monit_马特资源网](http://www.iamlz.com/wp-content/uploads/2025/03/1742607848492.png)
您可以使用以下命令查看Minit的状态:
monit status
您应该看到以下输出:
System 'localhost'
status Running
monitoring status Monitored
load average [0.68] [0.78] [0.45]
cpu 0.0%us 0.0%sy 0.0%wa
memory usage 294.1 MB [14.7%]
swap usage 0 B [0.0%]
data collected Mon, 07 Aug 2017 20:12:36
完成后,您可以继续下一步。
5.添加监控服务
配置好Monit web界面后,您需要添加要监视的服务。
在这里,我们将给出一些示例来监控Apache、Proftpd和Rsyslog等服务。
为Apache服务配置监视器
默认情况下,Monit附带了一些流程和服务的预定义模板。您可以在/etc/monit/conf-availab/目录中找到这些模板。默认情况下,Monit中提供了Apache的模板。因此,您只需要启用它。您可以通过运行以下命令来启用它:
ln -s /etc/monit/conf-available/apache2 /etc/monit/conf-enabled/
接下来,使用以下命令重新启动monitor-servcie以应用这些更改:
systemctl restart monit
为Rsyslog服务配置监视器
首先,使用以下命令启用Rsyslog模板:
ln -s /etc/monit/conf-available/rsyslog /etc/monit/conf-enabled/
接下来,使用以下命令重新启动监控服务以应用这些更改:
systemctl restart monit
为Proftpd服务配置监视器
Monit不提供Proftpd模板。因此,您需要为Proftpd创建一个配置文件。您可以通过在/etc/monit/conf-availab/目录中创建proftpd文件来实现这一点,如下所示:
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
完成后保存并关闭文件,然后使用以下命令启用配置文件:
ln -s /etc/monit/conf-available/proftpd /etc/monit/conf-enabled
接下来,使用以下命令检查配置文件是否存在语法错误
monit -t
最后,使用以下命令重新启动monitor服务以应用这些更改:
systemctl restart monit
配置完所有必需的服务后,访问web界面以监视所有服务,如下所示:
![图片[2]_如何在Debian 9上安装和配置Monit_马特资源网](http://www.iamlz.com/wp-content/uploads/2025/03/1742608074505.png)
接下来,单击服务apache查看有关apache的详细信息:
![图片[3]_如何在Debian 9上安装和配置Monit_马特资源网](http://www.iamlz.com/wp-content/uploads/2025/03/1742608089578.png)
6.通过命令行监控
您还可以从命令行监视Monit。您可以通过运行以下命令快速查看监控摘要:
monit summary
您应该看到以下输出:
The Monit daemon 5.16 uptime: 0m
Process 'rsyslogd' Initializing - start pending
File 'rsyslogd_bin' Accessible
File 'rsyslogd_rc' Accessible
File 'rsyslog_file' Does not exist
Process 'proftpd' Running
Process 'apache' Execution failed
File 'apache_bin' Accessible
File 'apache_rc' Accessible
System 'localhost' Running
您还可以使用以下命令查看所有服务的状态:
monit status
您应该看到以下输出:
The Monit daemon 5.16 uptime: 0m
Process 'rsyslogd'
status Initializing - start pending
monitoring status Initializing
data collected Mon, 07 Aug 2017 20:41:18
File 'rsyslogd_bin'
status Accessible
monitoring status Monitored
permission 755
uid 0
gid 0
size 585.3 kB
timestamp Tue, 25 Oct 2016 11:38:40
checksum d71f3d1c58df065e3aac1e2c566a6436 (MD5)
data collected Mon, 07 Aug 2017 20:41:18
File 'rsyslogd_rc'
status Accessible
monitoring status Monitored
permission 755
uid 0
gid 0
size 2.7 kB
timestamp Tue, 25 Oct 2016 11:48:29
checksum a1ef1bb01ba370040d705c92fc09e92e (MD5)
data collected Mon, 07 Aug 2017 20:41:18
File 'rsyslog_file'
status Does not exist
monitoring status Monitored
data collected Mon, 07 Aug 2017 20:41:18
Process 'proftpd'
status Running
monitoring status Monitored
pid 4915
parent pid 1
uid 0
effective uid 119
gid 65534
uptime 3m
threads 1
children 0
memory 3.6 MB
memory total 3.6 MB
memory percent 0.2%
memory percent total 0.2%
cpu percent 0.0%
cpu percent total 0.0%
port response time 10.737 ms to [localhost]:21 type TCP/IP protocol FTP
data collected Mon, 07 Aug 2017 20:41:18
Process 'apache'
status Execution failed
monitoring status Monitored
data collected Mon, 07 Aug 2017 20:41:48
File 'apache_bin'
status Accessible
monitoring status Monitored
permission 755
uid 0
gid 0
size 647.0 kB
timestamp Sat, 29 Jul 2017 22:19:09
checksum ef2a678bdcd791948ceabc3013d9a2c0 (MD5)
data collected Mon, 07 Aug 2017 20:41:18
File 'apache_rc'
status Accessible
monitoring status Monitored
permission 755
uid 0
gid 0
size 7.9 kB
timestamp Mon, 07 Aug 2017 20:40:33
checksum 744ef9ca584493299c353e2251cbf993 (MD5)
data collected Mon, 07 Aug 2017 20:41:18
System 'localhost'
status Running
monitoring status Monitored
load average [0.96] [0.60] [0.46]
cpu 0.0%us 0.0%sy 0.0%wa
memory usage 266.4 MB [13.3%]
swap usage 2.1 MB [0.4%]
data collected Mon, 07 Aug 2017 20:41:18
要查看有关Proftpd服务的详细信息,请运行以下命令:
monit status proftpd
您应该看到以下输出:
The Monit daemon 5.16 uptime: 2m
Process 'proftpd'
status Running
monitoring status Monitored
pid 4915
parent pid 1
uid 0
effective uid 119
gid 65534
uptime 6m
threads 1
children 0
memory 3.6 MB
memory total 3.6 MB
memory percent 0.2%
memory percent total 0.2%
cpu percent 0.0%
cpu percent total 0.0%
port response time 7.945 ms to [localhost]:21 type TCP/IP protocol FTP
data collected Mon, 07 Aug 2017 20:43:49
暂无评论内容