linux 网络监控 邮件,Linux ping命令实现网络监控 并邮件提醒管理员

描述:

Linux服务器,编写shell脚本,利用ping命令实现网络监控,判断网络是否连通,是否正常,并及时发邮件通知管理员。

应用:监控服务器网络是否连通;监控两地网络是否连通等等。

只需要安装mutt邮件插件,一个简单而强大的邮件插件,用于给管理员发送邮件而不需要邮件服务器。

用最简单的命令实现强大的功能,使用脚本自动化管理。

工具/原料:

原系统命令,再加安装一个邮件发送插件mutt(各位可以去查一下mutt简单而强大的魅力)

方法/步骤:

1.

安装mutt:yum install mutt

新建mutt配置文件:vim /root/.muttrc,添加如下内容:

#如果你收到的邮件乱码,设置以下信息

set charset="utf-8"

set rfc2047_parameters=yes

#如果你想自定义发件人信息,需要进行如下设置

set envelope_from=yes

set use_from=yes

set from=root@163.com

set realname="Andy"

测试:

举例,shell脚本自动给我自己的QQ邮箱发送mail:

Vim  /root/mutt.sh添加内容如下:

#!/bin/bash

echo  'test1111'  |  mutt  695xxx@qq.com  -s  "这是标题"

执行脚本,然后登录到指定的邮箱里去查看。(没有看到你发送的邮件吧。。。)你发送的邮件被默认为垃圾邮件了。要在QQ邮箱中设置白名单通过验证。(已删除-->删信记录查询-->收信查询-->添加到白名单-->取回)。

收件成功!!!

2.

开始编辑shell脚本:

vim /root/ping.sh,代码如下:

#!/bin/bash

#执行脚本:(/root/ping.sh &)

server1=192.168.180.100

server2=192.168.180.111

mail1=695xxxxxx@qq.com

mail2=530xxxxxx@qq.com

mail3=596xxxxxx@qq.com

mail4=362xxxxxx@qq.com

LOG=/var/shell/ping/ping.log

b=0    #初始赋值为0,刚启动脚本时测试到网络正常则不提示,解决每次启动脚本时都提示网络正常的问题(设置为其他值则每次启动脚本时都提示)。

while [ true ]

do

ping -w 5 $server1 | grep 'icmp_seq' > $file1 \

&& ping -w 5 $server2 | grep 'icmp_seq' > $file2 #检测误报情况!

[ `grep 'time=' $file1 | wc -l` -ge 1 ] > /dev/null \

&& [ `grep 'time=' $file2 | wc -l` -ge 1 ] > /dev/null

a=$?

if [ $a -ne 0 ]    #判断执行上面ping命令是否正常,为0则网络正常,否则提示网络中断。

then

if [ $a -ne $b ]    #解决网络中断时一直提示的问题。

then

b=$a    #给予下次判断网络是否正常。

date >> $LOG

echo "$server1 路由表:" >> $LOG

traceroute -n -m 10 $server1 >> $LOG \

&& echo '-------------------------------------------------' >> $LOG \

&& echo "$server2 路由表:" >> $LOG \

&& traceroute -n -m 10 $server2 >> $LOG \

&& echo '#################################################' >> $LOG \

&& echo '' >> $LOG

echo '' >> $LOG

tail -30 $LOG > /var/shell/ping/ping.txt

echo '警报警报:广州安心通网络中断!!' | mutt $mail1 $mail2 -s '网络中断' -a /var/shell/ping/ping.txt

fi

else

if [ $a -ne $b ]    #解决网络正常时一直提示的问题。

then

b=$a    #给予下次判断网络是否正常。

date >> $LOG

echo "$server1 路由表:" >> $LOG

traceroute -n -m 10 $server1 >> $LOG \

&& echo '-------------------------------------------------' >> $LOG \

&& echo "$server2 路由表:" >> $LOG \

&& traceroute -n -m 10 $server2 >> $LOG \

&& echo '#################################################' >> $LOG \

&& echo '' >> $LOG

echo '' >> $LOG

tail -30 $LOG > /var/shell/ping/ping.txt

echo '通知:广州安心通网络恢复正常!!' | mutt $mail1 $mail2 -s '网络正常' -a /var/shell/ping/ping.txt

fi

fi

done

3.

执行脚本:sh /root/ping.sh &

并添加到开机启动项即可实现时时监控。

4.

测试:去邮箱查看是否收到邮件。

就这样,轻松监控服务器网络。

注意事项

mutt发送邮件,QQ接收会被黑名单拦截,一定要添加白名单哦,要测试成功可以接收邮件再来测试下面的ping脚本,要不然你会以为是脚本写错了呢!!!

注:本人原创,如需转载,请标明来源!请尊重他人的成果!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值