网络环境:内网
系统版本:cs7
脚本环境:A服务器(192.168.0.1)开通邮件端口,可以向内部邮箱发送邮件
B服务器(192.168.0.2)上边有api服务,在监控同时,要将异常日志信息发到邮箱
B服务器(192.168.0.2):
Monitor_es.sh:
1 #!/bin/bash 2 3 #时间 4 t=`date +%Y-%m-%d-%H:%M` 5 6 #获取IP 7 n=`ifconfig eth0 |awk -F ‘[ :]+‘ ‘NR==2{print $3}‘ ` 8 9 #获取进程 10 pid=`ps -ef |grep "elasticsearch"|grep -v grep` 11 12 #判断如果进程不存在 13 if [ $? -ne 0 ];then 14 15 #启动服务 16 /usr/local/elasticsearch-1.4.2/bin/elasticsearch start 17 18 #输出时间、IP、重新服务信息 到log里 19 echo "$t $n elasticsearch异常,服务已重启" > /home/user/es_10.246.160.72.log 20 21 #调用一个scp脚本,把log日志拷贝到邮箱服务器 22 sh /usr/local/scprit/scp_error_log.sh > /dev/null 23 24 #如果存在 25 else 26 27 #输出时间、IP、服务状态 到log里 28 echo "$t $n 服务运行正常" >> Monitor_es.log 29 30 fi
scp_error_log.sh:
A服务器(192.168.0.1):
Sendmail.sh
原文:https://www.cnblogs.com/mliu/p/10593646.html