Monit监控软件安装

Monit是一款功能非常丰富的进程、文件、目录和设备的监测软件,适用于Linux/Unix平台。

在CentOS 6.4上配置Monit的步骤:

我们以服务器IP地址:10.153.126.189,为例进行配置,监控10.153.110.12, 10.153.75.78这两台服务器。

一、安装EPEL。在命令行输入:

# rpm -ivh http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm


二、安装Monit。在命令行输入:

# yum install monit –y

这一步可能会报错:

 

1
2
3
4
# yum install monit –y
Loaded plugins: fastestmirror, security
Determining fastest mirrors
Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again


解决方法:

 

 

1
vi /etc/yum.repos.d/epel.repo

编辑[epel]下的baseurl前的#号去掉,mirrorlist前添加#号。正确配置如下:

 

 

1
2
3
4
5
6
7
8
[epel]
name=Extra Packages for Enterprise Linux 6 - $basearch
baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch
#mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch
failovermethod=priority
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6


三、至此Monit安装完毕,接下来配置monit.conf文件。

 

1、文件位置在/etc/monit.conf,修改常见配置:

1)检测时间、日志位置:

 

1
2
3
set daemon 120
   with start delay 240
set logfile syslog facility log_daemon

每120s检测一次;启动后延时240s开始检测;

 

日志文件位置;

2)id文件

 

1
2
3
set idfile /var/monit/id
set eventqueue
     basedir /var/monit

我们必须定义“idfile”,Monit守护进程的一个独一无二的ID文件;
“eventqueue”,当monit的邮件因为SMTP或者网络故障发不出去,邮件会暂存在这里;以及确保/var/monit路径是存在的。然后使用下边的配置就可以了;

 

3)设置web界面:

 

1
2
3
4
5
6
7
set httpd port 1966 and
     SSL ENABLE
     PEMFILE  /var/certs/monit.pem
     allow monituser:romania
     allow localhost
     allow 192.168.0.0/16
     allow myhost.mydomain.ro

 

2、监控信息可以直接写到/etc/monit.conf文件中,也可以单独创建一个.cfg后缀的文件,将check... if 语句添加到里面,然后在monit.conf文件末尾加入include路径。

      

  1. set daemon 120 #设置检测时间


  2. set logfile /var/log/monit.log #monit日志


  3. set httpd port 2812 and # monit内置了一个用于查看被监视服务


  4. use address 192.168.10.197 # 设置这个http服务器的地址


  5. allow 192.168.10.0/24 # 允许本地访问


  6. allow admin:monit # 设置使用用户名admin和密码monit


  7. set mailserver smtp.sina.com port 25 USERNAME "linlianpengit@sina.com" PASSWORD "***" #(设置发送邮件的服务器及邮箱)


  8. #制定报警邮件的格式


  9. set mail-format {


  10. from: linlianpengit@sina.com


  11. subject: $SERVICE $EVENT at $DATE


  12. message: Monit $ACTION $SERVICE at $DATE on $HOST: $DESCRIPTION.


  13. }


  14. #指定邮件接收者


  15. set alert XXX@qq.com with reminder on 3 cycles


  16. #检测sshd服务


  17. check process sshd with pidfile /var/run/sshd.pid


  18. start program "/etc/init.d/sshd start"


  19. stop program "/etc/init.d/sshd stop"


  20. if failed port 22 protocol ssh then restart


  21. if 5 restarts within 5 cycles then timeout


  22. #检测mysql服务


  23. check process mysql with pidfile /usr/local/mysql/var/vpser.pid


  24. group database


  25. start program = "/etc/init.d/mysql start"


  26. stop program = "/etc/init.d/mysql stop"


  27. if failed host 127.0.0.1 port 3306 then restart


  28. if 5 restarts within 5 cycles then timeout


  29. #检测nginx服务


  30. check process nginx with pidfile /usr/local/nginx/logs/nginx.pid


  31. start program = "/etc/init.d/nginx start"


  32. stop program = "/etc/init.d/nginx stop"


  33. if failed host localhost port 80 protocol http


  34. then restart


配置中的pid及启动、关闭脚本的路径一定要是全路径,且参数一定要正确否则会造成无法正常检测或正常启动。

如果添加了http可以直接使用http://192.168.10.197:2812 进行管理。

Monit监控软件安装

可以看到监控服务的运行状态:

Monit监控软件安装

Monit监控软件安装

3、启动/停止Monit

CentOS

chkconfig monit on //加入开机启动

/etc/init.d/monit {start|stop|restart|force-reload|syntax}

Debian

编辑:/etc/default/monit 文件,查找 startup=0 ,将0改为1,保存。

update-rc.d -f monit defaults

/etc/init.d/monit {start|stop|restart|force-reload|syntax}




     本文转自yzy121403725 51CTO博客,原文链接:http://blog.51cto.com/lookingdream/1846946,如需转载请自行联系原作者





上一篇:理解C语言——从小菜到大神的晋级之路(3)——C源程序的基本结构与调试方法


下一篇:免费试用Serverless容器3个月(新用户领100元代金劵)