Mt Xia: Technical Consulting Group

Business Continuity / Disaster Recovery / High Availability
Data Center Automation / Audit Response / Audit Compliance

-
Current Location
-

css
  GlobalSysAdmin
    AIX

-

digg Digg this page
del.icio.us Post to del.icio.us
Slashdot Slashdot it!


Business Web Site Hosting
$3.99 / month includes Tools,
Shopping Cart, Site Builder

www.siteox.com

FREE Domain Registration
included with Web Site Hosting
Tools, Social Networking, Blog

www.siteox.com

The following script will reprocess and reorder the DISK* fields in the NMON data from the "csv" files. This script specifically grabs the lines of data beginning with "DISK" from the "csv" file and removes those disks which are NOT "Tru-copied" or VPATH disks. The Tru-Copy disks are identified as being part of the volume groups labeled 100 or higher.



#!/usr/bin/ksh93
################################################################

MACHNAME="${1:?ERROR: machine name not specified}"
DATE="${2:?ERROR: date string not specified}"

DISKLIST=${DISKLIST:-$( rsh ${MACHNAME} "for VPATH in \$( lspv | egrep -iv \"None|orabackupvg\" | grep -v \"egate1[0-9][0-9]\" | grep \"vpath\" | awk '{ print \$1 }' ); do lsvpcfg \${VPATH} | awk '{ print \$7, \$10 }' | grep \"hdisk\"; done" )}

egrep -v "^TOP,|^CPU" /usr/local/httpd/htdocs/nmon/${MACHNAME}/csv/${MACHNAME}_${DATE}_000[0-9].nmon.csv > /tmp/tmp0${$}.csv

grep "^DISK" /tmp/tmp0${$}.csv | awk -F, '{ print $1 }' | sort | uniq
for DISKPARM in $( grep "^DISK" /tmp/tmp0${$}.csv | awk -F, '{ print $1 }' | sort | uniq )
do

print "Working on ${MACHNAME}:${DATE}:${DISKPARM}..."

IFS=","
HEADER=$( grep "^${DISKPARM}," /tmp/tmp0${$}.csv | head -1 )
FIELDID=( NULL, ${HEADER} )

FIELDS='${1},${2}'
FIELDS=''

IFS=$' \t\n'

    for HDISK in ${DISKLIST}
    do
      [[ "_${HDISK}" = "_" ]] && continue
      ICNT=0
      for FIELD in "${FIELDID[@]}"
      do
        if [[ "_${FIELD}" = "_${HDISK}" ]]
        then
          FIELDS="${FIELDS},\${${ICNT}}"
          break
        fi
        (( ++ICNT ))
      done
    done

FIELDS="\${1},\${2}${FIELDS}"

# print "fields = ${FIELDS}"
# exit

IFS=$' \t\n'


cp /tmp/tmp0${$}.csv /tmp/tmp1${$}.csv
while read LINE
do
  if echo "${LINE}" | grep "^${DISKPARM}," > /dev/null 2>&1
  then
    IFS=","
    set -- ${LINE}
    IFS=$' \t\n'

    eval NEWLINE="\"${FIELDS}\""

    print "${LINE}" | sed -e "s|${LINE}|${NEWLINE}|g"
  else
    print "${LINE}"
  fi

done < /tmp/tmp1${$}.csv > /tmp/tmp0${$}.csv

done

cp /tmp/tmp0${$}.csv /usr/local/httpd/htdocs/nmon/${MACHNAME}/csv/${MACHNAME}_${DATE}_0000.nmon.tc.csv


-
NMON csv file reorder
-
 


FREE Domain Registration
included with Web Site Hosting
Tools, Social Networking, Blog

www.siteox.com

Business Web Site Hosting
$3.99 / month includes Tools,
Shopping Cart, Site Builder

www.siteox.com