I am evaluating the feasibility to have a automated centralize monitoring tools for all the Oracle (7 -10gRAC), Natural (2-6), Adabas (3-6) on Solaris
My major objective would like to have a easier life with all these databases (1XX) . My ideal tools should do the followings:
Threshold monitoring (Multi-level)
Trend analysis (Cap Plan purpose)
SMTP trap to BigBrother (7X24 Operator)
Email reports to DBA for daily routine.
I am going to do a small scale POC with Oracle Grid Control, see if this could fullfill my need.
Grid Control will definitely takecare all the supported Oracle instances.
What I am would like to try is monitoring Adabas and Natrual by script and report the statistics to Grid Control over the agent and store it is a customized repository.
It would be nice if anyone could point out that I am doing things in a stupid ways and share your experience.
We got similiar Problems in my former company and we did all these stuff by bash-scripting. Example: Monitoring the number of file-extends of Adasbas 3.3.1.05 for Linux:
#!/bin/bash
udb=33
max_ext=4
adarep db=$udb content| tail +9 |
while read file name date isn index ext_n ext_u ext_a ext_d pad_a pad_d rest
do
if [ "$file" = "" ]
then
break
fi
if [ "$ext_n" -gt "$max_ext" ]
then
printf "File %+3s %-32s has %+2s extents on NI\n" "$file" "$name" "$ext_n"
fi
if [ "$ext_u" -gt "$max_ext" ]
then
printf "File %+3s %-32s has %+2s extents on UI\n" "$file" "$name" "$ext_u"
fi
if [ "$ext_a" -gt "$max_ext" ]
then
printf "File %+3s %-32s has %+2s extents on AC\n" "$file" "$name" "$ext_a"
fi
if [ "$ext_d" -gt "$max_ext" ]
then
printf "File %+3s %-32s has %+2s extents on DS\n" "$file" "$name" "$ext_d"
fi
done
Next problem is: The output formats differ between some Adabas-Versions. Plus there are some differences between the possible number of extends…
Of course you can use a single script for different versions. But due to some differnt output formats you have to code different code blocks for each version:
case ${ADAVERS:1:2} in
33) # code block for version 3.3
;;
51) # code block for version 5.1
;;
*)
echo "unkown version $ADAVERS"
exit 1
;;
esac