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
参与0

0 同行回答

“答”则兼济天下,请您为题主分忧!

提问者

deadman
擅长领域: 服务器存储Unix
评论519

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2011-01-30
  • 关注会员:0 人
  • 问题浏览:3106
  • X社区推广