如何在Linux上安装和配置Monit
Monit是一个小型的进程和服务监视开源工具,用于监视和管理Unix之类的系统。
Monit监控服务器程序,以增加服务正常运行时间,并确保他们始终在线。
本文将在CentOS、RHEL、Fedora、Ubuntu、Dabian和Scientific Linux上安装和配置Monit。
Monit有监控系统上运行的任何服务的能力,我们只需要添加设置。
在本文中,我们将只展示少数服务的配置。
步骤1 -安装Monit
Monit可以很容易地在大多数Linux风格的包管理器中安装。
对于CentOS/RHEL用户,需要在安装之前在他的系统中启用epel存储库。
CentOS, RHEL和Scientific Linux
# yum install monit
Fedora 22 +
# dnf install monit
Debian和Ubuntu
$ sudo apt-get install monit
Arch Linux
$ pacman -S monit
第2步-启用Monit网络界面
(对于CLI爱好者可选)Monit还提供了一个web界面来查看服务和进程状态。
要启用monit web界面,请编辑基于 /etc/monit.conf的配置文件。
或者 /etc/monit/monitrc(Debian系统) ),
取消下面行的注释
set httpd port 2812 and use address localhost allow localhost allow admin:monit allow @monit allow @users readonly
并启动monit服务。
# service monit start Starting monit: monit: generated unique Monit id 0dbd9dc3f0aa7ed7df9e7a069aea9b84 and stored to '/root/.monit.id' [ OK ]
按照上面的配置,monit将在端口 2812上启动,并且只能从本地主机访问。
要更改默认端口,只需更新上面显示配置的第一行并设置首选端口。
使用浏览器访问Monit web界面
http://服务器ip:2812
步骤3 -监控Apache与Monit服务
让我们从在Monit中添加服务开始,以监视它们并在满足条件时采取必要的行动。
我们添加的第一个服务是Apache。
编辑你的monit配置文件,并在文件的末尾添加以下设置
在 CentOS, RHEL: /etc/monit.conf
check process apache with pidfile /var/run/httpd.pid start program = "/etc/init.d/httpd start" with timeout 60 seconds stop program = "/etc/init.d/httpd stop"
在 Dabian/Ubuntu: /etc/monit/monitrc
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"
现在重新启动monit服务并检查状态。
# service monit restart # monit summary The Monit daemon 5.1.1 uptime: 2m Process 'apache' running System 'svr1.theitroad.com' running
第4步-配置Monit来监控MySQL/MariaDB
让我们在Monit配置文件中添加MySQL服务器来监控它。
PID文件位置和init脚本可能会根据我们安装的MySQL版本而改变。
check process mysqld with pidfile /var/run/mysqld/mysqld.pid start program = "/etc/init.d/mysql start" stop program = "/etc/init.d/mysql stop"
第5步-验证配置和测试
在monit监视配置文件中添加所需的服务后,使用下面的命令来验证文件的语法
# monit -t
现在重新启动monit服务
# service monit restart
现在查看Monit对监控流程和服务的总结。
# monit summary The Monit daemon 5.1.1 uptime: 0m Process 'apache' running Process 'mysqld' running System 'svr1.theitroad.com' running
要查看每个服务的详细信息,请使用以下命令
# monit status
我们还可以在Monit web界面上显示进程和服务的状态