Grid Control on Adabas/Natural

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:

  1. Threshold monitoring (Multi-level)
  2. Trend analysis (Cap Plan purpose)
  3. SMTP trap to BigBrother (7X24 Operator)
  4. 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…

How about make use of $ADAVERS in the scripts to generalize the output in single format?

I hate to maintain too many branch out scripts due to difference versions.

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