2017年6月30日 星期五

omscripts_db_04_ORAMonitor

04_ORAMonitor

若要停止一直發告警 可以指令接 -OK 即可
搭配 logrote
 
下載

04_ORAMonitor.sh


nfc:nfcdb01:omscripts oracle$ cat 04_ORAMonitor.sh


#!/bin/bash
#title :ORAMonitor.sh
#description :This script will Ora Monitor
#author :Mike1Hsieh
#date :2016-10-19
#version : 2.0
#usage :bash sendsms.sh
#notes :
# TestUse 測試專用
# TMPFILECL 換檔後的刪除 預設時間為 00
# 新增 -OK 參數 檔案 rotate 一個新的出來
# 需修改的地方 WORKFILE ora的logfile GROUP 發送群組 LEVEL 等級
# 發送內容 $STR
#bash_version :
#==============================================================================

WORKFILE=/oracle/app/oracle/diag/rdbms/nfc/nfc/alert/log.xml
OLDFILE=${WORKFILE}.old
NEWFILE=${WORKFILE}.new

SEMDSMS="/omscripts/sendsms.sh"
GROUP=447
LEVEL=500

reset='\e[39m\e[49m' # Text Reset
green='\e[32m' # Text Reset
red='\e[31m' # Text Reset
white='\e[97m' # Text Reset
Color_yellow='\e[33m' # Text Reset

function TestUse(){
### TEST Use 測試環境專用
WORKFILE=/tmp/t/ora
OLDFILE=${WORKFILE}.old
NEWFILE=${WORKFILE}.new
GROUP=444
LEVEL=400
###
}

function TMPFILECL() {
# 換日專用 幾點刪除old file
if [ "$1" == "" ]
then
TIME="03"
else
TIME="$1"
fi

if [ "`date +%H`" == "$TIME" ]
then
[ -a $OLDFILE ] && rm -rf $OLDFILE
echo -e "${red}Del old file ===========${reset}"
else

echo -e "${green} Its not Del old file time${reset}"
fi
}

#TestUse
TMPFILECL "04"

if [ "$1" == "-OK" ]
then
[ -a $OLDFILE ] && rm -rf $OLDFILE
cp $WORKFILE ${WORKFILE}_`date +%Y%m%d_%H%M%S`
cat /dev/null > $WORKFILE
fi


grep -i 'ORA-' $WORKFILE > $NEWFILE
if [ -s $NEWFILE ]
then
if diff ${NEWFILE} ${OLDFILE}
then
STR1="No Add"
else
STR1='!! NEW '
fi

ROW=`cat ${NEWFILE} | wc -l `

mv $NEWFILE $OLDFILE


HOSTNAME=`hostname`
TimeStr=`date +%Y-%m-%dT%H:%M:%S`
STR="${HOSTNAME} ${TimeStr} NFC Oracle DB ${STR1} ORA Total:${ROW}Item "

# keey Add tmp
$SEMDSMS "$STR" "$GROUP" "$LEVEL"

fi

echo -e "${white}${STR} ${reset}"





Logrotate



cat /etc/logrotate.d/oracle_D_log

# Oracle Daily Cut Log

/oracle/u01/app/oracle/diag/rdbms/adpmobile/adpmobile/alert/log.xml
{
daily
dateext
maxage 800
rotate 800
missingok
notifempty
copytruncate
create 0664 oracle ma
}




[root@madp-db01 ~]# cat /etc/logrotate.d/oracle_M_log


# Monthly Cut

/oracle/u01/app/oracle/diag/rdbms/adpmobile/adpmobile/trace/alert_adpmobile.log
/oracle/u01/app/oracle/diag/tnslsnr/madp-db01/listener/alert/log.xml
{
monthly
dateext
maxage 365
rotate 50
missingok
notifempty
copytruncate
create 0664 oracle ma



}


沒有留言:

RHEL install EPEL

  https://www.linuxtechi.com/install-epel-repo-on-rhel-system/ EPEL dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest...