如何安装和设置Monit(Linux进程和服务监控)程序

monit的是一个免费的开源和非常有用的工具根据在UNIX / Linux的自动监控和管理服务器进程文件目录校验和, 权限文件系统和服务Apache,Nginx ,MySQLFTP,SSH,Sendmail和等系统,并为系统管理员提供优秀和有用的监控功能。

monit具有用户友好的Web界面,您可以在其中直接查看系统状态并使用本机HTTP(S)Web服务器或通过命令行界面设置进程。 这意味着你必须有网络服务器ApacheNginx的安装系统访问和查看monit的Web界面。

另请阅读10 Linux的性能监视工具

Monit能做什么

Monit有能力启动一个进程,如果它没有运行,重新启动一个进程,如果没有响应,如果使用高资源,停止进程。 此外,您还可以使用monit的监视文件目录文件系统更改校验和变更文件大小的变化时间戳的变化 随着monit的可能监视远程主机的TCP / IP端口, 服务器协议ping。 Monit保留自己的日志文件和关于任何关键错误条件和恢复状态的警报。

这篇文章是写来描述monit的安装和配置在RHEL,CentOS ,Fedora的 ,Ubuntu的 ,Linux Mint的Debian Linux操作系统的一个简单的指南,但它应该是科学的Linux轻松兼容。

第1步:安装Monit

默认情况下,monit的工具不能从系统基础信息库,你需要添加和启用第三方EPEL软件库在你的RHEL / CentOS的系统安装monit的包。 一旦你添加EPEL软件库,通过运行以下命令Yum安装包。 如图所示为Ubuntu /于Debian / Linux Mint的用户可以轻松地安装使用apt-get命令

在RedHat / CentOS / Fedora /
# yum install monit
在Ubuntu / Debian / Linux Mint
$ sudo apt-get install monit

第2步:配置Monit

monit的是很容易配置,其实配置文件被创建是非常容易阅读,使他们更容易为用户理解。 它的目的是监测在每2分钟的正在运行的服务,并保持该记录中的“ / var /数/ monit的 ”。

monit的有它的,使用Web服务器上的端口2812上运行Web界面。 要启用Web界面,您需要在monit配置文件中进行更改。 根据(RedHat的/ CentOS的/ Fedora的 )和/ etc / monit的/ monitrc(Ubuntu的/于Debian / Linux Mint的 )文件位于/etc/monit.conf的monit的主配置文件。 使用您选择的编辑器打开此文件。

# vi /etc/monit.conf
$ sudo vi /etc/monit/monitrc

接下来,取消注释以下部分,添加您的服务器的IP地址或域名,允许任何人连接和更改monit用户和密码,或者您可以使用默认的。

 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'
allow @monit           # allow users of group 'monit' to connect (rw)
allow @users readonly  # allow users of group 'users' to connect readonly

配置完成后,您需要启动monit服务以重新加载新的配置设置。

# /etc/init.d/monit start
$ sudo /etc/init.d/monit start

现在,您将能够通过导航到访问monit的Web界面的“http://本地主机:2812”“http://example.com:2812”。 然后输入用户名“admin”和密码为“monit的 ”。 你应该得到类似下面的屏幕。

Monit Web界面

第3步:添加监控服务

一旦monit的网络界面正确设置,开始添加时要监控到下/etc/monit.conf(RedHat的/ CentOS的/ Fedora的 )和/ etc / monit的/ monitrc(Ubuntu的/于Debian / Linux Mint的 )文件程序底端。

以下是monit的一些有用的配置示例,可以非常有用的看看服务是如何运行的,它保存其pidfile以及如何启动和停止服务等。

Apache
check process httpd with pidfile /var/run/httpd.pid
group apache
start program = "/etc/init.d/httpd start"
stop program = "/etc/init.d/httpd stop"
if failed host 127.0.0.1 port 80
protocol http then restart
if 5 restarts within 5 cycles then timeout
Apache2
check process apache with pidfile /run/apache2.pid
start program = "/etc/init.d/apache2 start" with timeout 60 seconds
stop program  = "/etc/init.d/apache2 stop"
Nginx
check process nginx with pidfile /var/run/nginx.pid
start program = "/etc/init.d/nginx start"
stop program = "/etc/init.d/nginx stop"
MySQL
check process mysqld with pidfile /var/run/mysqld/mysqld.pid
group mysql
start program = "/etc/init.d/mysqld start"
stop program = "/etc/init.d/mysqld stop"
if failed host 127.0.0.1 port 3306 then restart
if 5 restarts within 5 cycles then timeout
SSHD
check process sshd with pidfile /var/run/sshd.pid
start program "/etc/init.d/sshd start"
stop program "/etc/init.d/sshd stop"
if failed host 127.0.0.1 port 22 protocol ssh then restart
if 5 restarts within 5 cycles then timeout

一旦配置了所有程序进行监视,检查monit语法错误。 如果发现任何错误修复它们,它不是那么难以弄清楚出了什么问题。 当你得到像“ 控制文件的语法OK”消息,或者如果你看到没有错误,就可以继续前进。

# monit -t
$ sudo monit -t

修复所有可能的错误后,您可以键入以下命令以启动monit服务。

# /etc/init.d/monit restart
$ sudo /etc/init.d/monit restart

您可以通过检查日志文件来验证monit服务是否已启动。

# tail -f /var/log/monit
$ sudo tail -f /var/log/monit.log
示例输出
[BDT Apr  3 03:06:04] info     : Starting monit HTTP server at [localhost:2812]
[BDT Apr  3 03:06:04] info     : monit HTTP server started
[BDT Apr  3 03:06:04] info     : 'youcl.com' Monit started
[BDT Apr  3 03:06:04] error    : 'nginx' process is not running
[BDT Apr  3 03:06:04] info     : 'nginx' trying to restart
[BDT Apr  3 03:06:04] info     : 'nginx' start: /etc/init.d/nginx
Monit截图

这是添加所有进程监视后看起来monit。

监视所有进程

参考链接

  1. Monit主页
  2. Monit文档
  3. Monit配置示例
赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏