免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1033 | 回复: 0
打印 上一主题 下一主题

监控项目---磁盘IO模块 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-09-25 16:19 |只看该作者 |倒序浏览

监控项目---磁盘IO模块
  磁盘IO模块涉及到的参数有:
    alarm_io_util_up 80  io上限
    alarm_io_times 3  报警次数
  其中根据盘的多少,IO的数据文件位于IP目录下的disk_io_util_table文件内,此文件以行形式,一块盘一行,每行二列分别存盘符和当前IO值,以逗号区隔..要求无论几块盘,,只要某块盘连续三次IO值超出,发邮件或短信报警...
  IO模块名为: Module_IO_Alarm.sh 内容如下:   而后的DISK占用模块同于此..后不再介绍
  #!/bin/sh
  if [ $# -ne 1 ];then
          /bin/echo "Usage: $0 IP"
          exit 1
  fi

  MONITOR_DIR=/performance_center/performance_monitor
  DEFAULT_CONF_DIR=$MONITOR_DIR/default_conf
  DATA_DIR=/cacti/idctraffic/hosttraffic
  CONF_DIR=$DEFAULT_CONF_DIR

  #check data validity
  IP=$1
  if [ -f $DATA_DIR/$IP/disk_io_util_table ];then
          /bin/echo OK > /dev/null
  else
          /bin/echo $DATE "$IP io util is no data_file" >> $MONITOR_DIR/logs/IO_error.log
          $MONITOR_DIR/scripts/Alarm.sh "$IP io util is no data_file" 2>>$MONITOR_DIR/logs/IO_error.log 1>/dev/null
          exit 1
  fi

  #set conf
  if [ -d $DATA_DIR/$IP/alarm_conf ];then
          CONF_DIR=$DATA_DIR/$IP/alarm_conf
          if [ -f $CONF_DIR/alarm_io_times ];then
                  IO_ALARM_TIMES=`/bin/cat $CONF_DIR/alarm_io_times`
          else
                  IO_ALARM_TIMES=`/bin/cat $DEFAULT_CONF_DIR/default.conf | /bin/grep "alarm_io_times" | /bin/awk '{print $2}'`
          fi
          if [ -f $CONF_DIR/alarm_io_util_up ];then
                  IO_ALARM_VALUE_UP=`/bin/cat $CONF_DIR/alarm_io_util_up`
          else
                  IO_ALARM_VALUE_UP=`/bin/cat $DEFAULT_CONF_DIR/default.conf | /bin/grep "alarm_io_util_up" | /bin/awk '{print $2}'`
          fi
  else
          IO_ALARM_TIMES=`/bin/cat $DEFAULT_CONF_DIR/default.conf | /bin/grep "alarm_io_times" | /bin/awk '{print $2}'`
          IO_ALARM_VALUE_UP=`/bin/cat $DEFAULT_CONF_DIR/default.conf | /bin/grep "alarm_io_util_up" | /bin/awk '{print $2}'`
  fi

  #alarm check
  while read LINE
  do
          CURRENTLY_IO_NAME=`/bin/echo $LINE | awk -F, '{print $1}'`
          CURRENTLY_IO_USED=`/bin/echo $LINE | awk -F, '{print $2}'`
          MD5_FILENAME_IO=`/bin/echo "$IP io util $CURRENTLY_IO_NAME used is over" -n | /usr/bin/md5sum | /bin/awk '{print $1}'`
          if [ $CURRENTLY_IO_USED -gt $IO_ALARM_VALUE_UP ];then
                  if [ ! -f $MONITOR_DIR/alarm_info/$MD5_FILENAME_IO ];then
                          /bin/echo 1 > $MONITOR_DIR/alarm_info/$MD5_FILENAME_IO
                          /bin/echo "$IP io util $CURRENTLY_IO_NAME used is over $IO_ALARM_VALUE_UP:$CURRENTLY_IO_USED" >> $MONITOR_DIR/alarm_info/$MD5_FILENAME_IO
                  else
                          CUR_ALARM_TIMES_IO=`/bin/cat $MONITOR_DIR/alarm_info/$MD5_FILENAME_IO | /bin/sed -n '{1p}'`
                          CUR_ALARM_TIMES_IO=`/usr/bin/expr $CUR_ALARM_TIMES_IO + 1`
                          if [ $CUR_ALARM_TIMES_IO -ge $IO_ALARM_TIMES ];then
                                  $MONITOR_DIR/scripts/Alarm.sh "$IP io util $CURRENTLY_IO_NAME used is over $IO_ALARM_VALUE_UP:$CURRENTLY_IO_USED" 2>$MONITOR_DIR/logs/IO_error.log 1>/dev/null &
                                  /bin/rm -rf $MONITOR_DIR/alarm_info/$MD5_FILENAME_IO
                          else
                                  /bin/echo $CUR_ALARM_TIMES_IO > $MONITOR_DIR/alarm_info/$MD5_FILENAME_IO
                                  /bin/echo "$IP io util $CURRENTLY_IO_NAME used is over $IO_ALARM_VALUE_UP:$CURRENTLY_IO_USED" >> $MONITOR_DIR/alarm_info/$MD5_FILENAME_IO
                          fi
                  fi
          else
                  if [ -f $MONITOR_DIR/alarm_info/$MD5_FILENAME_IO ];then
                          /bin/rm -rf $MONITOR_DIR/alarm_info/$MD5_FILENAME_IO
                  fi
          fi
  done

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/17657/showart_1225260.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP