五、Mon服务监控
使用Mon可以实现监控网络、监控服务、E-mail告警和自动重启服务等。
1) 安装Mon软件及其相关软件包。
从光盘安装Time-period、Convert-BER、perl-Mon和fping:
#rpm -Uvh perl-Time-period-1.20-301.1.i586.rpm perl-Convert-BER-1.3101-190.1.i586.rpm perl-Mon-0.11-294.1.i586.rpm fping-2.2b1-819.1.i586.rpm
从www.cpan.org下载并安装Time-HiRes:
#tar xvzf Time-HiRes-1.65.tar.gz
#3cd Time-HiRes-1.65/perl Makefile.PL && make &&make test && make install
从www.kernel.org/software/mon/下载并安装软件包mon-0.99.2.tar.bz2:
#tar xvjf mon-0.99.2.tar.bz2
#cp -r mon-0.99.2 /usr/lib/mon
#mkdir /etc/mon
#cp /usr/lib/mon/etc/auth.cf /etc/mon
2)编辑/etc/mon/mon.cf文件:
cfbasedir = /etc/mon
alertdir = /usr/lib/mon/alert.d
mondir = /usr/lib/mon/mon.d
statedir = /usr/lib/mon/state.d
logdir = /usr/lib/mon/log.d
dtlogfile = /usr/lib/mon/log.d/dt.log
maxprocs = 20
histlength = 100
randstart = 60s
dtlogging = yes
authtype = getpwnam
hostgroup servers 10.1.1.1 10.1.1.2
hostgroup www 10.1.1.1
watch servers
service ping
interval 1m
monitor fping.moniter
period wd {Sun-Sat}
alert mail.alert 97140@263.com (请指定邮件地址)
watch www
service http
interval 1m
monitor http.monitor
period wd {Sun-Sat}
alert apacherestart.alert
alert mail.alert 97140@263.com (请指定邮件地址)
然后编辑/ust/lib/mon/alert.d/apacherestart.alert文件:
#!/bin/sh
/etc/init.d/apache2 restart
chmod +x /usr/lib/mon/alert.d/apacherestart.alert
同样地,在linux2完成以上步骤。但注意,在配置/etc/mon/mon.cf时,"hostgroup www 10.1.1.1"应设置为"hostgroup www 10.1.1.2"。
在两台服务器上分别安装和配置完成后,启动Mon服务:
#/usr/lib/mon/mon -c /etc/mon/mon.cf &
查看log文件,检查服务状态:
#tail /var/log/messages
Nov 2 17:15:20 linux mon[14079]: mon server started
运行"ps -ef|grep mon"查看进程,可以看到Mon服务成功启动。
root 14079 1 0 17:15 ? 00:00:00 /usr/bin/perl/usr/lib/mon/mon -c/etc/mon/mon.cf
3)对Mon服务进行测试。
① 测试Apache服务的邮件告警和服务重启功能
先关闭linux1的Apache服务:
#/etc/init.d/apache2 stop
查看log文件,检查Mon服务的处理步骤。Mon首先发现WWW服务不能访问,然后重启Apache服务,并且发Email到指定的邮箱。
log文件内容如下:
Nov 2 17:15:59 linux mon[14079]: failure for www http 1099386959 10.1.1.1
Nov 2 17:15:59 linux mon[14079]: calling alert apacherestart.alert for www/http(/usr/lib/mon/alert.d/apacherestart.alert,) 10.1.1.1
Nov 2 17:16:03 linux mon[14079]: calling alert mail.alert for www/http(/usr/lib/mon/alert.d/mail.alert,song@heming.org) 10.1.1.1
邮件内容则如下:
ALERT www/http: 10.1.1.1(Tue Nov 2 17:16:03)(标题)
Sunmmary output : 10.1.1.1
Group : www
Service : http
Time noticed : Tue Nov 2 17:16:03 2004
Secs until next alert :
Members : 10.1.1.1
Detailed text (if any) follows:
-------------------------------------
HOST 10.1.1.1: connect: Connection refused
② 测试网络监控和警告
关闭linux1的网络服务:
#/etc/init.d/network stop
Mon会发送告警邮件到指定邮箱,邮件内容略。