前提条件:
1、记录下设备的负载情况,在出现问题时有据可查。
2、此文仅仅实现数据的收集,不能统计出图。
简单说明:
通过sar命令来实现信息收集的功能,配合计划任务完成任务。
步骤说明:
1、网络配置
确保服务器可联网,可解析域名。相关配置如下:
配置好外网地址、网关、DNS解析;
或者,配置好内网地址、内网网关和DNS,通过内网网关的转发来上网。
2、yum
配置本地或者网络yum安装源,在其他文章里写过,不再复述。
yum安装sysstat
- yum install sysstat -y
3、检测sar命令
- sar -A 1 5
4、编写收集信息脚本
有两个脚本:
第一个:
- [root@ ******~]# cat /root/cront_for_pengcheng/sar_all.sh
- #!/bin/sh
- HOSTNAME=$(hostname)
- LOGPATH=/data/sar_tmp_log
- CPULOGFILE=$LOGPATH/cpu_log_${HOSTNAME}_$(date +%Y%m%d%H).log
- MEMLOGFILE=$LOGPATH/mem_log_${HOSTNAME}_$(date +%Y%m%d%H).log
- SWAPLOGFILE=$LOGPATH/swap_log_${HOSTNAME}_$(date +%Y%m%d%H).log
- ETHLOGFILE=$LOGPATH/eth_log_${HOSTNAME}_$(date +%Y%m%d%H).log
- ETH1LOGFILE=$LOGPATH/eth1_log_${HOSTNAME}_$(date +%Y%m%d%H).log
- IOLOGFILE=$LOGPATH/io_log_${HOSTNAME}_$(date +%Y%m%d%H).log
- T=5
- H=`date +%H`
- M=`date +%M`
- M1=`expr $M + 1`
- TTIME=$H:59:59
- if [ ! -d "$LOGPATH" ]; then
- mkdir -p "$LOGPATH"
- fi
- sar $T 0 -p -e $TTIME >> $CPULOGFILE &
- sar $T 0 -r -e $TTIME >> $MEMLOGFILE &
- sar $T 0 -R -e $TTIME >> $SWAPLOGFILE &
- sar -n DEV 5 0 -e $TTIME >> $ETHLOGFILE &
- sar -n EDEV 5 0 -e $TTIME >> $ETH1LOGFILE &
- sar 5 0 -b -e $TTIME >> $IOLOGFILE &
第二个:
- [root@****** ~]# cat /root/cront_for_pengcheng/sar_tar.sh
- #!/bin/bash
- SAR_PROSS=`ps -ef | grep sar | grep -v grep | wc -l`
- DIR_NUM=`ls /data | grep sar_tmp_log | wc -l`
- LOGPATH=/data/sar_tmp_log
- DATE=$(date +%Y%m%d)
- if ([ $SAR_PROSS -eq 0 ]&&[ $DIR_NUM -ne 0 ]);then
- tar -czvf $LOGPATH.$DATE.tar.gz $LOGPATH
- rm -rf $LOGPATH
- /bin/bash /root/cront_for_pengcheng/sar_all.sh
- elif ([ $SAR_PROSS -ne 0 ]&&[ $DIR_NUM -ne 0 ]);then
- killall -9 sar
- tar -czvf $LOGPATH.$DATE.tar.gz $LOGPATH
- rm -rf $LOGPATH
- /bin/bash /root/cront_for_pengcheng/sar_all.sh
- elif [ $DIR_NUM -eq 0 ];then
- /bin/bash /root/cront_for_pengcheng/sar_all.sh
- fi
放在任意位置都可以,更改脚本中的目录参数即可。
5、使用脚本,创建计划任务
- crontab -e
- 在最后添加下面两行:
- 01 * * * * /bin/bash /root/cront_for_pengcheng/sar_all.sh
- 50 23 * * * /bin/bash /root/cront_for_pengcheng/sar_tar.sh
- /etc/init.d/crond restart
- /bin/bash /root/cront_for_pengcheng/sar_tar.sh
- ls /data/sar_tmp_log/ ##查看log文件是否成功生成
7、鸣谢
鸣谢提供第一个脚本框架的朋友,不过sorry的是我忘了是从哪里摘的了。
转载于:https://blog.51cto.com/pesen/939959