#!/bin/bash # # # check_host.sh # # 0 * * * * /bin/bash /home/bdkyr/check_host.sh >/dev/null 2>&1 DAT=$(date +%Y%m%d) HOUR=$(date +%H) DIR=/home/bdkyr/host_${DAT}/${HOUR} DELAY=60 COUNT=60 # whether the responsible directory exist if ! test -d ${DIR} then /bin/mkdir -p ${DIR} fi # general check export TERM=linux /usr/bin/top -b -d ${DELAY} -n ${COUNT} > ${DIR}/top_${DAT}.log 2>&1 & # cpu check /usr/bin/sar -u ${DELAY} ${COUNT} > ${DIR}/cpu_${DAT}.log 2>&1 & #/usr/bin/mpstat -P 0 ${DELAY} ${COUNT} > ${DIR}/cpu_0_${DAT}.log 2>&1 & #/usr/bin/mpstat -P 1 ${DELAY} ${COUNT} > ${DIR}/cpu_1_${DAT}.log 2>&1 & # memory check /usr/bin/vmstat ${DELAY} ${COUNT} > ${DIR}/vmstat_${DAT}.log 2>&1 & # I/O check /usr/bin/iostat ${DELAY} ${COUNT} > ${DIR}/iostat_${DAT}.log 2>&1 & # network check /usr/bin/sar -n DEV ${DELAY} ${COUNT} > ${DIR}/net_${DAT}.log 2>&1 & #/usr/bin/sar -n EDEV ${DELAY} ${COUNT} > ${DIR}/net_edev_${DAT}.log 2>&1 & #添加到定时任务crontab里每小时自动执行: #check host 0 * * * * /bin/bash /home/bdkyr/check_host.sh >/dev/null 2>&1
这样会在/home/bdkyr/host_yyyymmdd/hh目录下每小时整点生成cpu、内存、网络,IO的统计数据。
当遇到问题的时候,就可以去check对应的日志信息,找到原因所在