如何在Debian 9上安装和配置Monit

Monit是一个免费的开源流程监控工具,可用于使用Web浏览器和命令行监控系统进程。在这个tut ...

Monit是一个免费的开源流程监控工具,可用于使用Web浏览器和命令行监控系统进程。 它还用于监视文件,目录和设备的大小更改和权限更改。 如果下降,Monit会自动修复特定的进程。 Monit还可以在基于Linux的系统上监控Apache,Sendmail,Nginx,FTP,SSH和MySQL等大多数服务。 您可以使用Monit监视远程主机TCP / IP端口,协议和ping。 Monit有能力停止使用高资源的特定流程。 Monit会在您的服务器上保持观察状态并发送有关任何严重错误状况和恢复状态的警报。

特征

  1. 自动启动,停止和杀死具体过程。
  2. 用户友好的Web界面进行状态监控。
  3. 通过电子邮件通知任何关键条件。
  4. 检查系统负载,CPU使用率,RAM使用情况,磁盘,文件大小更改,权限更改等。
  5. 监控各种协议HTTP,FTP,SSH,POP,IMAP,LDAP,IMAP和SMTM。
  6. 通过syslog或自己的日志文件记录。

在本教程中,我们将介绍如何在Debian 9上设置和使用Monit。

要求

  • 您的系统上安装了一个新的Debian 9服务器。
  • 您的服务器上设置了root密码。

更新系统

我们先从您的系统更新到最新的稳定版本。 您可以使用以下命令更新它:

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

Monit默认配置文件monitrc位于/ etc / monit /目录,其他进程和服务器特定的配置文件位于/ etc / monit / conf-available / diractory。 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'

完成后保存并关闭文件,然后重新启动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 http://192.168.0.227:2812访问Monit Web界面,然后输入用户名admin和密码monit 。 您应该看到Monit仪表板如下:

您可以使用以下命令查看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

默认情况下,Monit附带了某些流程和服务的预定义模板。 您可以在/ etc / monit / conf-available /目录中找到这些模板。 默认情况下,Apache的模板在Monit中可用。 所以你只需要启用它。 您可以通过运行以下命令来启用它:

ln -s /etc/monit/conf-available/apache2 /etc/monit/conf-enabled/

接下来,重新启动monit servcie以使用以下命令应用这些更改:

systemctl restart monit

为Rsyslog服务配置Monit

首先,使用以下命令启用Rsyslog模板:

ln -s /etc/monit/conf-available/rsyslog /etc/monit/conf-enabled/

接下来,重新启动monit服务以使用以下命令应用这些更改:

systemctl restart monit

为Proftpd服务配置Monit

Proftpd的模板不适用于Monit。 所以你需要为Proftpd创建配置文件。 您可以通过在/ etc / monit / conf-available /目录中创建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

最后,重新启动monit服务以使用以下命令应用这些更改:

systemctl restart monit

配置完所有必需的服务后,请访问Web界面以监控所有服务,如下所示:

接下来,点击服务apache查看有关apache的详细信息:

6通过命令行监视

您还可以从命令行监视Monit。 您可以通过运行以下命令来查看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

恭喜! 您已经在Debian 9服务器上成功安装并配置了Monit。