线上一个简单检测Ping状态的邮件报警脚本

IT
IT
IT
335
文章
1
评论
2020年5月15日13:44:20 评论 1,223 1575字阅读5分15秒

脚本检查存活性

安装sendmail来发邮件

 

[root@ansible ~]# yum -y install sendmail

启动加入开机启动

[root@ansible ~]# service sendmail start
Redirecting to /bin/systemctl start sendmail.service

[root@ansible ~]# chkconfig sendmail on
注意:正在将请求转发到“systemctl enable sendmail.service”。

安装邮件客户端

[root@ansible ~]# yum -y install mutt

添加发件人信息

[root@ansible ~]# vim /etc/Muttrc

473 set charset="utf-8"  #设置发邮件编码

961 set encode_from=yes 

3303 set rfc2047_parameters=yes #解决附件乱码问题

3150 set realname="机器报警" #发件人别名

4555 set use_from=yes  #指定是否显示别名

1183 set from="zhen.guo@...........com" #发送人地址

Ping主机状态脚本

[root@ansible ~]# cat ping.sh 
#!/bin/bash
#
DATE=`date +%F_%H:%M`
LOG=/root/ping.log   #日志文件
IP=/root/ip.txt            #ip列表
CLEAN=`cat $LOG | wc -l`
for i in $(cat $IP);
do
 ping -c 2 $i &>/dev/null
 if [ $? -eq 0 ];then
 echo "$DATE $i Host ping is success." >> $LOG
 else
 echo -e "Date : $DATE\nHost : $i\nProblem : Ping is failed, Please check ! ! !" | 
mutt -s "Ping" xxx@163.com 
 fi
done
#如果日志文件超30条,则清空
 if [ $CLEAN -ge 30 ];then 
 echo "" > $LOG
 fi

创建日志和添加地址

[root@ansible ~]# touch ping.log
[root@ansible ~]# cat ip.txt 
172.17.1.010
172.17.1.011
172.17.1.012
172.17.1.013
172.17.1.030
172.17.1.033
172.17.1.034
172.17.1.035
172.17.1.036
172.17.1.037
172.17.1.080
172.17.1.081
172.17.1.082
172.17.1.083
172.17.1.084

修改脚本里面的通知内容和收件人

[root@ansible ~]# cat ping.sh 
#!/bin/bash
#
DATE=`date +%F_%H:%M`
LOG=/root/ping.log
IP=/root/ip.txt
CLEAN=`cat $LOG | wc -l`
for i in $(cat $IP);
do
 ping -c 2 $i &>/dev/null
 if [ $? -eq 0 ];then
 echo "$DATE $i Host ping is success." >> $LOG
 else
 echo -e "Date : $DATE\nHost : $i\nProblem : 以下虚拟机有异常,请尽快处理。" | 
mutt -s "Ping" zhen.guo@******.com long.li@******com yunlong.liu@******.com
 fi
done
#如果日志文件超30条,则清空
 if [ $CLEAN -ge 30 ];then 
 echo "" > $LOG
 fi

添加任务计划

[root@ansible ~]# crontab -e

*/5 * * * * /bin/bash /root/ping.sh

线上一个简单检测Ping状态的邮件报警脚本

 

继续阅读
  • 我的QQ
  • QQ扫一扫
  • weinxin
  • 我的头条
  • 头条扫一扫
  • weinxin
IT
  • 本文由 发表于 2020年5月15日13:44:20
  • 除非特殊声明,本站文章均为原创,转载请务必保留本文链接
Eureka同步到nacos Nacos

Eureka同步到nacos

官方介绍文档地址 https://nacos.io/zh-cn/docs/nacos-sync.html 官方安装文档地址 https://nacos.io/zh-cn/docs/nacos-sync...
Eureka指定应用的instanceId为IP CentOS

Eureka指定应用的instanceId为IP

痛点 现在所有的应用指定的是服务器默认机器名称,对查看是哪一个服务IP或者单节点自动剔除服务不友好。 像如上图所示,想知道是哪一个节点,还得点开才能获取IP。 改造 全部改成自动获取服务器IP为ins...
阿里云网盘 CentOS

阿里云网盘

申请内测地址 https://survey.aliyun.com/apps/zhiliao/_o6XQjioM 官网地址 https://www.teambition.com/products/pan...
GitLab或Jenkins集成构建工具 CentOS

GitLab或Jenkins集成构建工具

集成构建工具 构建工具是用来将代码编译打包成制品的工具。例如前端项目我们一般使用npm进行打包,后端java项目我们一般使用maven、gradle进行打包。构建工具很多很多,但是集成到gitlab中...