项目需求:
监测Tomcat运行日志,一旦日志中出现Exception关键字就发出邮件报警
项目分析:
以单台服务器的多个Tomcat为例。
#!/bin/bash # -*-coding:utf-8-*- keywords=Exception IPAddress=`ip add|grep eth0 |grep inet| awk '{print $2}'|awk -F"/" '{print $1}'` #列出在线的Tomcat ps -ef |grep tomcat |grep -v grep|awk '{print $9}'|awk -F"/" '{print $4}'|awk -F"-" '{print $2}' |sort >/tmp/Tomcat_Online.log echo "" >/tmp/Tomcat_Online_$IPAddress.log cat /tmp/Tomcat_Online.log | while read line do grep -n $keywords /usr/local/tomcat-$line/logs/catalina.out >/dev/null if [ $? -eq '0' ]; then printf "$IPAddress的tomcat-$line日志发生异常 \n"|sort >>/tmp/Tomcat_Online_$IPAddress.log #echo "当前服务器$IPAddress的tomcat-$line日志发生异常" |mail -s "$IPAddress的tomcat-$line日志发生异常" [email protected] else continue; fi done