您好,登錄后才能下訂單哦!
監(jiān)控alert 日志
思路:按alert日志行號(hào)取當(dāng)前最后一行和上一次掃描的行對(duì)比 大于等于上一次掃描的行 就從上一次掃描的行開(kāi)始 掃描到最后一行
#!/bin/bash scriptHome=`dirname $0` scriptName=`basename $0` logDir=$scriptHome/logs #logfile=$logDir/$scriptName_$(date "+%Y%m%d").log logfile=$logDir/ora-error.log runfile=$logDir/run.log alertLogFile=/u01/app/oracle/diag/rdbms/orcl/orcl/trace/alert_orcl.log ip=`ifconfig | sed '2q' | awk -F '[ :]+' '/inet/{print $4}'` oraErrMsg=ORA- mailTo=737735250@qq.com if [ ! -d $logDir ]; then mkdir -p $logDir fi if [ ! -f $alertLogFile ]; then echo "Error: $alertLogFile no such file or directory." exit 1 fi touch $runfile startLine=$(cat $runfile) endLine=$(cat $alertLogFile | wc -l) if [ "x$startLine" == "x" ]; then startLine=1 else startLine=$(expr $startLine + 1) fi echo "=== 正在獲取警告日志信息..." if [ $endLine -le $startLine ]; then #echo "未掃描到錯(cuò)誤信息." echo "" exit 0 fi echo "===$(date "+%Y-%m-%d %H:%M:%S") 掃描行${startLine},${endLine}..." >> $logfile content=`cat $alertLogFile | sed -n "${startLine},${endLine}p"` oraError=`echo "$content" | grep "$oraErrMsg" | tee -a $logfile` if [ "x$oraError" != "x" ]; then echo "$oraError" | mutt -s "$(date "+%Y-%m-%d %H:%M:%S") $ip 警告日志告警" -b $mailTo fi echo $endLine > $runfile
腳本會(huì)自動(dòng)掃描指定的關(guān)鍵字,在這里指定的是ORA- ,然后只需要部署到crontab里即可。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。