Centos7 网络监控脚本,mail邮件告警

编写ping脚本检测网络状态,结合计划任务自动发送邮件告警

系统版本

[root@localhost ~]# cat /etc/redhat-release 
CentOS Linux release 7.6.1810 (Core)

如果不想使用系统自带邮件包,先进行删除

#rpm -qa |grep mailx sendmail
#rpm -e xxx

一、yum安装依赖包

[root@localhost ~]# yum install -y mailx
[root@localhost ~]# yum install -y sendmail
[root@localhost ~]# yum install -y sendmail-cf

二、配置sendmail.mc

[root@localhost ~]# vim /etc/mail/sendmail.mc 

把这两句开头的dnl去掉,在sendmail文件中,dnl是注释的意思,去掉dnl开启相应的设置行

改为

将此处的127.0.0.1改为0.0.0.0,意思是任意主机都可以访问sendmail服务

改为

然后保存退出

三、生成配置文件

[root@localhost ~]# m4 /etc/mail/sendmail.mc  > /etc/mail/sendmail.cf 

如果系统无法识别m4命令,则说明没有安装sendmail-cf包。m4工具在sendmail-cf包中

四、发送邮件配置

[root@localhost ~]# vim /etc/mail.rc 

在末尾添加内容,=号两边不能有空格

set from=发送人名称
set smtp=smtp.163.com
set smtp-auth-user=用户名
set smtp-auth-password=163邮箱的授权码
set smtp-auth=login

五、启动或重启sendmail

systemctl restart sendmail       #重启sendmail服务
systemctl status sendmail        #查看sendmail服务状态
systemctl enable sendmail       #设置endmail服务开机自启

六、测试

[root@localhost ~]# echo "hello world" | mail -s "test" 邮箱@qq.com

如果邮箱授权码不符合则出现以下提示

 

七、编写检测脚本

[root@localhost ~]# vim mail.sh
#!/bin/bash

#Network Checking script

iplist="114.114.114.114 10.1.1.1" #需要监控的IP地址池

for ip in $iplist

do

  if ping -I ens32 -c 20 $ip >iplog.txt;cat iplog.txt | grep -w '0% packet loss'
#ens32本机网卡
  then

      rm -f iplog.txt

      echo $ip line is ok 

  elif

     cat iplog.txt | grep -w '100% packet loss'

  then

      rm -f iplog.txt

      echo "$ip line is down! The time is `date`" | mail -s "Network Check Warning!"  xxx@163.com  #接收人邮箱

  fi

done

添加执行权限

[root@localhost ~]# chmod 777 mail.sh 

八、添加计划任务,每隔两分钟检测一次

[root@localhost ~]# pwd
/root
[root@localhost ~]# ll
-rwxrwxrwx. 1 root root  446 Mar 22 04:32 mail.sh
[root@localhost ~]# crontab -e
*/2 * * * * /root/mail.sh

九、验证结果

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

友人a笔记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值