AIX与REDHAT的性能监控
AIX系统的性能监控
包含了cpu,内存,I/O, 文件系统空间, 交换页面文件使用
* * * * * /usr/lib/sa/sa1 1 1 定义CPU监控的频率
00 8-18 * * * /usr/lib/sa/sa2 1 1 定义CPU监控的时间段,保留的时间等
30 9 * * * sh /usr/local/sysmonitor/gen_log_aix.sh 定义日志产生
30 18 * * * sh /usr/local/sysmonitor/gen_rpt_aix.sh 生成报告
# cat /usr/local/sysmonitor/gen_log_aix.sh
umask 0022
DATE=`date +%y%m%d`
ENDIR=/usr/lib/sa
WORKDIR=/usr/local/sysmonitor
DSALOG=${WORKDIR}/salog${DATE}
DDFLOG=${WORKDIR}/dflog${DATE}
DVMSTA=${WORKDIR}/vmlog${DATE}
DIOSTA=${WORKDIR}/iolog${DATE}
SWAPSTA=${WORKDIR}/swaplog${DATE}
nohup ${ENDIR}/sadc 15 2400 ${DSALOG} &
nohup /usr/bin/vmstat 15 2410>>${DVMSTA} &
nohup /usr/bin/iostat 15 2410>>${DIOSTA} &
while [ "`date +%H`" -lt 18 ]
swap -l >>${SWAPSTA}
do
date +%T>>${DDFLOG}
df -k / /usr /var /tmp /home /opt /oracle /oradata |awk '{print $1" "$3" "$4" "$7}'>>${DDFLOG}
sleep 15
if [ "`date +%H`" -ge 18 ]
then
# ps -ef|grep $$|grep -v "grep $$"|awk '{print $2}'|xargs kill -9
ps -ef|grep "gen_log_aix.sh"|grep -v "grep"|awk '{print $2}'|xargs kill -9
fi
done
# cat /usr/local/sysmonitor/gen_rpt_aix.sh
#!/bin/sh
SADIR=/usr/sbin
DATE=`date +%y%m%d`
WORKDIR=/usr/local/sysmonitor
DSALOG=${WORKDIR}/salog${DATE}
DDFLOG=${WORKDIR}/dflog${DATE}
DVMSTA=${WORKDIR}/vmlog${DATE}
/usr/bin/egrep -v "kthr|-----|avm|System" ${DVMSTA}|awk '{print $4}'>>${WORKDIR}/memlog${DATE}
DMEM=${WORKDIR}/memlog${DATE}
DIOSTA=${WORKDIR}/iolog${DATE}
SWAPSTA=${WORKDIR}/swaplog${DATE}
count=`${SADIR}/sar -u -f ${DSALOG}|wc -l`
i=3
j=2
k=7
m=1
echo "TIME CPUIDLE% memfree(pgs) IO/s(k) DISK(/)Use% DISK(/oracle)Use% DISK(/oradata)Use% DISK(/usr)Use% DISK(/var)Use% DISK(/tmp)Use% DISK(/home)Use% DISK(/opt)Use% SWAP/free(m) SWAP/total(m)">>${WORKDIR}/SYSRPT${DATE}.xls
while [ $i -le $count ]
do
MEM_FRE=`sed -n "$i"p ${DMEM}`
# DISK_IO=`${SADIR}/sar -d -f ${DSALOG}|grep "dac1"|sed -n "$j"p|awk '{print $6}'`
CPU_IDE=`${SADIR}/sar -u -f ${DSALOG}|sed -n "$k"p|awk '{print $1" "$5}'`
#/
DU1=`grep "hd4" ${DDFLOG}|sed -n "$j"p|awk '{print $3}'`
#/oracle
DU2=`grep "oracle_lv" ${DDFLOG}|sed -n "$j"p|awk '{print $3}'`
#/oradata
DU3=`grep "oradata_lv" ${DDFLOG}|sed -n "$j"p|awk '{print $3}'`
#/archivelog
#/usr
DU5=`grep "usr" ${DDFLOG}|sed -n "$j"p|awk '{print $3}'`
#/var
DU6=`grep "var" ${DDFLOG}|sed -n "$j"p|awk '{print $3}'`
#/tmp
DU7=`grep "tmp" ${DDFLOG}|sed -n "$j"p|awk '{print $3}'`
#/home
DU8=`grep "home" ${DDFLOG}|sed -n "$j"p|awk '{print $3}'`
#/opt
DU10=`grep "opt" ${DDFLOG}|sed -n "$j"p|awk '{print $3}'`
#IO_READ=`grep "dac1" ${DIOSTA}|sed -n "$j"p|awk '{print $5}'`
IO_READ=`cat ${DIOSTA}|grep "dac1"|sed -n "$j"p|awk '{print $5}'`
#SWAP
SWAP_1=`grep "hd6" ${SWAPSTA}|sed -n "$i"p|awk '{print $5}'`
SWAP_2=`grep "hd6" ${SWAPSTA}|sed -n "$i"p|awk '{print $4}'`
echo "${CPU_IDE} ${MEM_FRE} ${IO_READ} ${DU1} ${DU2} ${DU3} ${DU5} ${DU6} ${DU7} ${DU8} ${DU10} ${SWAP_1} ${SWAP_2}">>${WORKDIR}/SYSRPT${DATE}.xls
i=`expr $i + 1`
j=`expr $j + 1`
k=`expr $k + 1`
m=`expr $m + 1`
#echo $i
done
#cp -rf ${WORKDIR}/SYSRPT${DATE}.xls ${WORKDIR}/report/.
mv ${WORKDIR}/SYSRPT${DATE}.xls ${WORKDIR}/report/.
find ${WORKDIR}/ -type f -mtime +7|/usr/bin/egrep "vmlog|salog|dflog|iolog|memlog|swaplog"|xargs rm
find ${WORKDIR}/ -type f -mtime +400|/usr/bin/egrep "SYSRPT"|xargs rm
做一个ftp的脚本,把日志上传
ftp -v -n 192.168.1.1 21 <user test passwd(用户名和密码)
binary
hash
cd / (ftp服务器地址目录)
lcd /usr/local/sysmonitor/report(本地目录)
prompt
mput SYSRPT`date +%y%m%d`.xls
bye
EOF