#!/bin/bash #例如:監控tomcat日誌 LOG_DIR=/root/catalina.out IP=`ifconfig | grep "inet addr" | grep Bcast | awk -F '[ :]+' '{print $4}'` tail -Fn0 $LOG_DIR| \ while read line;do echo $line | grep -i -f /root/errorword.txt >/dev/null if [ $? -eq 0 ];then echo -e "IP: $IP \n Datetime: $(date) \n Problem: $line" | mail -s "Warning:$IP Log Error " 510264942@qq.com echo "$IP,$(date),$line" >>/var/log/error_report.log fi done
errorword.txt文件裏能夠存放常見錯誤關鍵詞如:Out of memory,ERROR,Exception等tomcat
另外也可使用for循環腳本週期性取前幾分鐘時間段的日誌進行錯誤過濾,或者使用日誌監控工具如:logstash或zabbix等。bash