# -bash-3.2$ ./check.sh 20 20
ERRNO=999
#. color.sh
# must 2 variabel sample : ./check.sh 20 20
if [ $# -ne 2 ]
then
echo "Please specify interval arguments"
echo "Usage: $0 [interval] [max_row_displayed]"
echo "where [interval] is pooling time on seconds"
echo " [max_row_displayed] max number of row saved"
exit $ERRNO
fi
v_sleep="$1"
v_max_row="$2"
# process engine names
declare -a v_pe_logfiles
declare -a v_pe_labels
declare -a v_table
declare -a v_cur_row
declare -a v_prev_row
cd /tibco_archive/tra/domain/HCPT_EAI_PROD_DOMAIN1/application/logs
# get log files, label and number of log
v_pe_logfiles=( `ls *.log | /usr/bin/egrep '(BW[0-9][0-9]*|WF[0-7]*)_Process_Archive'` )
v_pe_labels=( `ls *.log | /usr/bin/egrep '(BW[0-9][0-9]*|WF[0-7]*)_Process_Archive' | sed 's/_Process_Archive\.log//' | sed 's/.*-//
'` )
v_pe_count=${#v_pe_logfiles[@]}
# header
v_header="\t"
for (( i = 0; i < v_pe_count; i++ ))
do
v_header="$v_header\t${v_pe_labels[$i]}"
v_prev_row[$i]=0
done
v_init=1
v_start_row=1
v_num_row=$v_start_row
while true
do
v_cur_time=`date "+%H:%M:%S"`
line="$v_cur_time\t"
# populate current timeout value
for (( i = 0; i < v_pe_count; i++ ))
do
v_cur_tc=`grep -c 'Timeout waiting' ${v_pe_logfiles[$i]}`
v_cur_row[$i]=$v_cur_tc
v_diff=`expr $v_cur_tc - ${v_prev_row[$i]}`
if [ $v_init -eq 0 ]
then
line="${line}${v_cur_tc}/$v_diff\t"
else
line="${line}${v_cur_tc}/#\t"
fi
done
v_init=0
v_table[$v_num_row]=$line
# print table
clear
echo " Database Timeout"
echo "======================================================================================================================
======================="
echo -e $v_header
echo "----------------------------------------------------------------------------------------------------------------------
-----------------------"
for (( i = $v_num_row; i >= $v_start_row; i-- ))
do
echo -e ${v_table[$i]}
done
# refresh table value
if [ $v_num_row -eq $v_max_row ]
then
for (( i = $v_start_row; i < $v_max_row; i++ ))
do
j=`expr $i + 1`
v_table[$i]=${v_table[$j]}
done
else
v_num_row=`expr $v_num_row + 1`
fi
v_prev_row=( ${v_cur_row[@]} )
sleep $v_sleep
done
