小知识:用Monit监测Linux 服务器

monitMonit 监测 linux 服务器  Monit 是一个用来监测系统状态的工具,不但可以用来监视进程、服务、文件、目录、文件系统,还可以在服务 down 掉的时候自动重启服务或者当某个进程占用过多的资源的时候自动停掉进程,并且支持 Email 报警功能、远程服务器监测、web 管理界面等,功能很多很强大。VPSee 用 monit 来监测多个 VPS 和独立服务器,如果某个 VPS down 了、某个服务器资源紧张,就能第一时间知道,而且某个服务停了的话可以自动重启服务。  安装 monit  在 CentOS 下安装和配置文件: 

复制代码

代码如下:

# wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm 

# rpm -Uvh rpmforge-release-0.3.6-1.el5.rf.i386.rpm 

# yum install monit 

# vi /etc/monit.conf 

配置 monit  修改 monit 的配置文件,/etc/monit.conf(CentOS)或者 /etc/monit/monitrc(Debian),每隔120秒检查一次系统,如果 httpd/mysql/sshd 服务停掉了就重新启动相应服务。对于 httpd 服务器,当发现 CPU/MEM 占用过大、loadavg 太高时就执行相应的报警、重启服务指令。如果使用 Email 报警功能,需要配置 Email 地址、邮件服务器等信息: 

复制代码

代码如下:

set daemon 120 

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 port 22 protocol ssh then restart 

if 5 restarts within 5 cycles then timeout 

check process mysql with pidfile /var/run/mysqld/mysqld.pid 

group database 

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 

check process nginx with pidfile /var/run/nginx.pid 

start program = “/etc/init.d/nginx start” 

stop program = “/etc/init.d/nginx stop” 

if failed host www.yanghengfei.com port 80 protocol http 

then restart 

check process php_cgi with pidfile /var/run/php_cgi.pid 

start program = “/etc/init.d/php_cgi start” 

stop program = “/etc/init.d/php_cgi stop” 

if failed host 127.0.0.1 port 9000 then restart 

if 5 restarts within 5 cycles then timeout 

check process apache with pidfile /var/run/httpd.pid 

group www 

start program = “/etc/init.d/httpd start” 

stop program = “/etc/init.d/httpd stop” 

if failed host www.yanghengfei.com port 8080 protocol http 

then restart 

if cpu is greater than 80% for 2 cycles then alert 

if cpu > 80% for 5 cycles then restart 

if totalmem > 512 MB for 5 cycles then restart 

if children > 200 then restart 

if loadavg(5min) greater than 10 for 8 cycles then stop 

if 3 restarts within 5 cycles then timeout 

更多详细信息可以参考配置文件,里面注释写得很详细。  启动 monit  在 CentOS 下启动并加入到系统启动脚本: 

复制代码

代码如下:

# /etc/init.d/monit start 

# /sbin/chkconfig monit on 
声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。
建站知识

小知识:Linux开启snmp监控后大量 Received SNMP packet(s) from UDP 的解决方法

2023-5-20 4:11:00

建站知识

小知识:Linux 内存机制详解宝典

2023-5-20 4:27:33

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索