- #本脚本用于做告警收敛
- #Written by Adai
- log=$1
- t_s=date +%s
- # 时间戳 1
- t_s2=
- date -d "2 hours ago" +%s
- # 时间戳 2(两个小时之前的时间)
- # 定义该时间戳的目的是保证第一次执行该脚本时 v 大于一小时
- # 保证第一次执行的时候能报警
- # 因为只有发生故障的时候才会执行该脚本, 所以第一次执行必须要报警
- if [ ! -f /tmp/$log ]
- then
- echo $t_s2> /tmp/$log
- fi
- # 创建记录时间戳的日志文件
- t_s2=
- tail -1 /tmp/$log|awk '{print $1}'
- echo $t_s>>/tmp/$log
- v=$[$t_s-$t_s2]
- # 两个时间戳的间隔时间
- echo $v
- # 计时器:
- if [ $v -gt 3600 ]
- then
- # 如果时间间隔大于 1 小时, 则启动报警系统
- ./mail.py $1 $2 $3
- echo "0"> /tmp/$log.txt
- #$log.txt 为计数器文件:
- else
- if [ ! -f /tmp/$log.txt ]
- then
- echo "0"> /tmp/$log.txt
- fi
- # 查看计数器文件中的数字
- nu=cat /tmp/$log.txt
- nu2=$[$nu+1]
- echo $nu2>/tmp/$log.txt
- # 重置 $log.txt 数值
- if [ $nu2 -gt 10 ]
- then
- # 告警收敛: 该故障持续十分钟, 开始报警
- ./mail.py $1 "trouble continue 10 min $2" "$3"
- echo "0"> /tmp/$log.txt
- # 告警结束后重新开始计数
- fi
- fi
20.26 运行告警系统
来源: http://www.bubuko.com/infodetail-2574037.html