前提条件:

1、记录下设备的负载情况,在出现问题时有据可查。

2、此文仅仅实现数据的收集,不能统计出图。

简单说明:

通过sar命令来实现信息收集的功能,配合计划任务完成任务。

步骤说明:

1、网络配置

确保服务器可联网,可解析域名。相关配置如下:

配置好外网地址、网关、DNS解析;

或者,配置好内网地址、内网网关和DNS,通过内网网关的转发来上网。

2、yum

配置本地或者网络yum安装源,在其他文章里写过,不再复述。

yum安装sysstat

 
  
  1. yum install sysstat -y   

3、检测sar命令

 
  
  1. sar -A 1 5 

4、编写收集信息脚本

有两个脚本:

第一个:

 
  
  1. [root@ ******~]# cat /root/cront_for_pengcheng/sar_all.sh 
  2. #!/bin/sh 
  3. HOSTNAME=$(hostname)
  4. LOGPATH=/data/sar_tmp_log
  5. CPULOGFILE=$LOGPATH/cpu_log_${HOSTNAME}_$(date +%Y%m%d%H).log
  6. MEMLOGFILE=$LOGPATH/mem_log_${HOSTNAME}_$(date +%Y%m%d%H).log
  7. SWAPLOGFILE=$LOGPATH/swap_log_${HOSTNAME}_$(date +%Y%m%d%H).log
  8. ETHLOGFILE=$LOGPATH/eth_log_${HOSTNAME}_$(date +%Y%m%d%H).log
  9. ETH1LOGFILE=$LOGPATH/eth1_log_${HOSTNAME}_$(date +%Y%m%d%H).log
  10. IOLOGFILE=$LOGPATH/io_log_${HOSTNAME}_$(date +%Y%m%d%H).log
  11. T=5
  12. H=`date +%H`
  13. M=`date +%M`
  14. M1=`expr $M + 1`
  15. TTIME=$H:59:59
  16. if [ ! -d "$LOGPATH" ]; then
  17.    mkdir -p "$LOGPATH"
  18. fi
  19. sar $T 0 -p -e $TTIME >> $CPULOGFILE &
  20. sar $T 0 -r -e $TTIME >> $MEMLOGFILE &
  21. sar $T 0 -R -e $TTIME >> $SWAPLOGFILE &
  22. sar -n DEV 5 0 -e $TTIME >> $ETHLOGFILE &
  23. sar -n EDEV 5 0 -e $TTIME >> $ETH1LOGFILE &
  24. sar 5 0 -b -e $TTIME >> $IOLOGFILE & 

第二个:

 

 
  
  1. [root@****** ~]# cat /root/cront_for_pengcheng/sar_tar.sh
  2. #!/bin/bash
  3. SAR_PROSS=`ps -ef | grep sar | grep -v grep | wc -l`
  4. DIR_NUM=`ls /data | grep sar_tmp_log | wc -l`
  5. LOGPATH=/data/sar_tmp_log
  6. DATE=$(date +%Y%m%d)
  7. if ([ $SAR_PROSS -eq 0 ]&&[ $DIR_NUM -ne 0 ]);then
  8. tar -czvf $LOGPATH.$DATE.tar.gz $LOGPATH
  9. rm -rf $LOGPATH
  10. /bin/bash /root/cront_for_pengcheng/sar_all.sh
  11. elif ([ $SAR_PROSS -ne 0 ]&&[ $DIR_NUM -ne 0 ]);then
  12. killall -9 sar
  13. tar -czvf $LOGPATH.$DATE.tar.gz $LOGPATH
  14. rm -rf $LOGPATH
  15. /bin/bash /root/cront_for_pengcheng/sar_all.sh
  16. elif [ $DIR_NUM -eq 0 ];then
  17. /bin/bash /root/cront_for_pengcheng/sar_all.sh
  18. fi
  19.  

放在任意位置都可以,更改脚本中的目录参数即可。

5、使用脚本,创建计划任务

 
  
  1. crontab -e 
  2. 在最后添加下面两行:
  3.  
  4. 01 * * * * /bin/bash /root/cront_for_pengcheng/sar_all.sh  
  5. 50 23 * * * /bin/bash /root/cront_for_pengcheng/sar_tar.sh 
  6.  
  7. /etc/init.d/crond restart 
  8. /bin/bash /root/cront_for_pengcheng/sar_tar.sh 
  9. ls /data/sar_tmp_log/  ##查看log文件是否成功生成 

6、测试结果

 

7、鸣谢

鸣谢提供第一个脚本框架的朋友,不过sorry的是我忘了是从哪里摘的了。