#!/bin/ksh # # Monitor script # # File: monitor # # Purpose : Performance and Load Statistic Gathering script # # Desc: Gathers system data and writes to a log file in ASCII grid format # to be linked to by an Applix spreadsheet. # # History: 05/15/97 Created Tara Neier, Kootenai National Forest # 10/17/01 Modified for Domino Sandra Watts, Washington Office #_____________________________________________________________________________ path="/fsfiles/office/util_data/server_central/cron/" server=$(hostname) #cellmaster=$(cm lscellinfo | awk '{print $5}' | awk -F. '{print $1}') header="server date time lsps us sy id wa pi po" logfile=$path"monitor."$server if [[ -s $logfile ]] then bogus="" else print $header > $logfile fi time=$(date +%H:%M) date=$(date +%m/%d/%y) lsps=$(lsps -a | awk 'IF ( NR > 1 ) then { s += $5 n += 1 } END { print s/n }') set -A vmstatvals $(vmstat 3 10 | awk 'IF ( NR > 4 ) then { n += 1 pi_sum += $6 po_sum += $7 wait_sum += $17 id_sum += $16 sys_sum += $15 user_sum += $14 } END { print " "user_sum/n" "sys_sum/n" "id_sum/n" "wait_sum/n" "pi_sum" "po_sum }') #set -A uptime $(uptime | awk '{print $(NF-2)$(NF -1)$(NF)}' | awk -F, '{print $1" "$2" "$3}') { print $server $date $time $lsps ${vmstatvals[0]} ${vmstatvals[1]} ${vmstatvals[2]} ${vmstatvals[3]} ${vmstatvals[4]} ${vmstatvals[5]} } >> $logfile # Monitor file reset script. #path=$(print $0 | sed 's/monitor//') if [[ -z $1 ]] then entries=96 else entries=$1 fi cd $path for object in $path"monitor."$server do length=$(cat $object | wc -l) if (( $length <= $entries )) then continue fi print $header > ./reset.$server tail -$entries $object > ./reset.$server # tail -1 $object >> arch.$object cp ./reset.$server $object # rm ./reset.$server done