文章目录
在本教程中,我们将向你展示如何在CentOS 7上的CentOS Webpanel(CWP7)安装Monit监控。
Monit监控是什么?
Monit监控是一个免费的开源软件,它是一个非常有用的Linux监控程序。
- 它可以自动监视和管理UNIX / Linux中的服务器进程、文件、目录、校验和权限,文件系统和服务。
- 例如:Apache、Nginx、MySQL、FTP、SSH、Postfix等 ……
- 基于系统的系统管理,为系统管理员提供了出色的监控功能。
为何安装Monit监控?
你可以使用Monit监控来减少停机时间,对电商网站的SEO和网络营销是有辅助效果的。
因为当任何服务关闭时,Monit都会检查它并自动启动服务。
例如:如果你的Apache或Nginx服务无故宕机关闭了,那么monit会检查,如果发现它关闭了,那么monit会自动启动相关服务。
一件有趣的事是monit运行它自己的httpd服务。
如果你的apache服务已关闭,monit将使用其自己的服务运行。
CWP 7如何安装安装Monit监控软件?
要完成本教程,你将需要准备以下先决条件:
- CentOS Linux版本7(核心)
- CWP7
- CSF防火墙
第 1 步:SSH更新你的YUM存储库,然后安装Monit监控 ▼
yum update -y
yum install monit
第 2 步:在CSF防火墙上打开2812端口 ▼
vi /etc/csf/csf.conf # Allow incoming TCP ports TCP_IN = "20,21,22,2812,25,53,80,110,143,443,465,587,993,995,2030,2031,2082,2083,2086,2087,2095,2096"
第 3 步:重新启动CSF防火墙 ▼
csf -r
第 4 步:用SFTP软件进入Linux服务器后,编辑Monit配置文件/etc/monitrc
▼
set daemon 30 # check services at 30 seconds intervals
set log syslog
set pidfile /var/run/monit.pid
set idfile /var/.monit.id
set statefile /var/.monit.state
include /etc/monit.d/*
set mailserver localhost port 25
set eventqueue
basedir /var/monit # set the base directory where events will be stored
slots 100 # optionally limit the queue size
set alert admin@xxxxx #receive all alerts
set alert admin@xxxxx not on { instance, action }
set httpd port 2812 and use address 0.0.0.0
allow 0.0.0.0/0.0.0.0
allow admin:monit # require user 'admin' with password 'monit'
第 5 步:检查Monit语法是否有错误 ▼
# monit -t Control file syntax OK
如果缺少,请创建以下文件:
# touch /var/run/monit.pid # touch /var/log/moinit.log
如果有安装Redis,可能需要手动配置Redis的pid文件位置地址 ▼
Monit添加监控服务
现在,我们将监控一些服务,例如amavisd,clamd,crond,php-fpm和cwpsrv。打开monit配置文件/etc/monitrc
,并在行尾添加以下代码:
Monitor CWP.amavisd
# vi /etc/monitrc check process amavisd with pidfile /var/run/amavisd/amavisd.pid start program "/usr/bin/systemctl start amavisd.service" stop program "/usr/bin/systemctl stop amavisd.service" if failed unixsocket /var/run/amavisd/amavisd.sock then restart if cpu > 70% for 4 cycles then alert if cpu > 90% for 8 cycles then restart if 4 restarts within 8 cycles then timeout
监控CWP.clamd
# vi /etc/monitrc check process clamd with pidfile /var/run/clamd.amavisd/clamd.pid start program "/usr/bin/systemctl start clamd.service" stop program "/usr/bin/systemctl stop clamd.service" if failed unixsocket /var/run/clamd.amavisd/clamd.sock then restart if cpu > 70% for 4 cycles then alert if cpu > 90% for 8 cycles then restart if 4 restarts within 8 cycles then timeout
监视CWP.crond
# vi /etc/monitrc check process crond with pidfile /var/run/crond.pid start program = "/usr/bin/systemctl start crond.service" stop program = "/usr/bin/systemctl stop crond.service"
监控CWP.cwp-phpfpm
# vi /etc/monitrc check process cwp-phpfpm matching "cwp-phpfpm" start program "/usr/bin/systemctl start cwp-phpfpm.service" stop program "/usr/bin/systemctl stop cwp-phpfpm.service" if failed unixsocket /usr/local/cwp/php71/var/sockets/cwpsrv.sock then restart if failed unixsocket /usr/local/cwp/php71/var/sockets/cwpsvc.sock then restart if failed unixsocket /usr/local/cwp/php71/var/sockets/login.sock then restart if cpu > 70% for 4 cycles then alert if cpu > 90% for 8 cycles then restart if 4 restarts within 8 cycles then timeout
监控cwp.cwpsrv
# vi /etc/monitrc check process cwpsrv with pidfile /usr/local/cwpsrv/var/run/nginx.pid start program "/usr/bin/systemctl start cwpsrv.service" stop program "/usr/bin/systemctl stop cwpsrv.service" if 4 restarts within 8 cycles then timeout
配置完成后,monit应该重新加载并重新读取配置文件,并且Web界面将可用:
monit reload
查询MySQL数据库进程pidfile文件的方法,请查看下方教程 ▼
Monit监控服务的另一种方式(推荐)
1)下载Monit监控服务文件▼
- 在下载页面,点击普通下载里的“立即下载”按钮,即可免费下载Monit监控服务文件。
- (访问密码: 5588)
2)解压后上传到/etc/monit.d/目录。
- 假如在Monit配置文件 /etc/monitrc 内已有同样配置的监控服务,需在Monit配置文件 /etc/monitrc 删除掉,否则会出错。
创建所需的配置文件后,测试是否语法错误 ▼
monit -t
若出现以下提示 ▼
monit -t /etc/monit.d/cwp.mariadbd:1: Service name conflict, mysql already defined '"/usr/sbin/mariadbd"'
- 意思是说
/etc/monit.d/cwp.mariadbd:1:
服务名称冲突;mysql 已经定义'"/usr/sbin/mariadbd"'
- 这是说明
cwp.mariadbd
文件已存在,只需删除掉cwp.mysqld
文件即可。
如果没有错误,启用并重新启动monit服务 ▼
systemctl enable monit systemctl restart monit
开机启动 Monit 服务 ▼
systemctl enable monit.service
现在检查监控日志 ▼
tail -f /var/log/monit.log
Monit监控基本命令
使用以下命令启动monit ▼
monit
检查Monit状态 ▼
monit status
重新加载它,让更改生效 ▼
monit reload
开始运行所有受Monit监控的程序 ▼
monit start all
重新启动所有Monit监空服务 ▼
monit restart all
启动、停止和重新启动特定服务,可以用monit start name
这样的命令 ▼
monit start httpd
monit stop sshd
monit restart nginx
Monit监控摘要 ▼
monit summary
现在,使用你先前设置的Monit用户名和密码,登录到monit服务器。
登录URL:http://SERVER_FQDN:2812
解决Monit服务总是不受监控
Monit包括用于启用和禁用对所有或特定服务的监视的命令。
如果Monit服务总是不受监控,你可以使用以下命令 ▼
monit monitor mysql
或重新启用所有监控 ▼
monit monitor all
- 请注意,你必须启用 Monit HTTP 接口才能使这些命令发挥作用。
Monit命令(CentOS 7专用)
查看 Monit 启动状态 ▼
systemctl status monit.service
启动 Monit 服务 ▼
systemctl start monit.service
关闭 Monit 服务 ▼
systemctl stop monit.service
重新启动 Monit 服务 ▼
systemctl restart monit
开机启动 Monit 服务 ▼
systemctl enable monit.service
开机关闭 Monit 服务 ▼
systemctl disable monit.service
Monit注意事项
Monit监视着进程服务,这意味着Monit所监视的服务不能使用一般的方法来停止,因为一停止,Monit又会将其启动。
要停止Monit所监视的服务,应该使用类似monit stop name
这样的命令,例如要停止 nginx ▼
monit stop nginx
若要停止全部Monit所监视的服务,输入以下命令▼
monit stop all
卸载Monit监控程序 ▼
yum remove monit
希望陈沩亮博客( https://www.chenweiliang.com/ ) 分享的《如何在CentOS Webpanel(CWP7)安装Monit监控软件?》,对您有帮助。
欢迎分享本文链接:https://www.chenweiliang.com/cwl-1443.html
喜欢就分享和按赞!您的分享和按赞,是我们持续的动力!