zoukankan      html  css  js  c++  java
  • 集群接口机存储监控

    目前,我们正在建设基于Hadoop集群的统一数据中心,因为采集数据量大,容易遇到接口机存储不够的情况,所以写了个自动监控存储大小,不足则发出告警的脚本。

    代码如下:

    #!/bin/bash
    ######################################################################
    #  FileName     :  disk_capatiy_alarm.sh 
    #  Author       :  lyc
    #  CreateDate   :  2017--06--02
    #  Description  :  this script is mointoring the linux disk
    #                  capacity, if disk used more than 90%,
    #                  then it will send a alarm sms
    ######################################################################
    
    sms_content="/ngbss/SCHD/lyc/scripts/output/diskchk_sms.txt";
    sms_logfile="/ngbss/SCHD/lyc/scripts/output/diskdetail.txt";
    
    #server_ip=132.224.36.29
    server_ip=`ifconfig bond0|grep "inet addr" | cut -f 2 -d ":" | cut -f 1 -d " "` #获取本机IP地址
    if [ ! -f ${sms_content} ];then
      cat /dev/null > ${sms_content}
    fi
    
    if [ ! -f ${sms_logfile} ];then
      cat /dev/null > ${sms_logfile};
    fi
    
    date >> ${sms_content}
    date >> ${sms_logfile}
    
    #操作数据库
    conn_db()
    {
      sql=$1
      export NLS_LANG='AMERICAN_AMERICA.UTF8'
      sqlplus -S  dm/bxdt75_d@132.224.36.12:1521/dss <<EOF
      set heading off feedback off pagesize 0 verify off echo off
      $sql
      exit;
    EOF
    }
    
    sendSms()
    {
      date_today=`date +%Y_%m_%d`
      subject="服务器 ${server_ip}磁盘空间告警"
      content="服务器 $server_ip 磁盘空间告警 ,请及时处理,路径:$1"
      echo $content >> ${sms_content}
      conn_db "call bcaapp.p_app_send_mms('BONC','$subject','$content');"
    }
    
    for d in `df -P | grep /dev | awk 'BEGIN{OFS=","}{print $6,$5}' | sed 's/%//g'` 
     do
      if [ `echo $d|cut -d , -f2` -gt 90 ]; then #disk capacity beyong 90% and alarm
        df -h >>$sms_logfile;
        sendSms $d"%"
        exit 0;
      fi
    done

    由于我们的客户是电信运营商,所以我们的告警是通过短信发出来的。这里也可以通过邮件发出来。

    这个脚本的自动化运行是通过公司的ETL产品进行调度的。如果没有ETL工具,可以通过linux的crontab功能实现。

    不过要注意使用crontab功能时,对命令的引用需要使用绝对路径等问题。

    监控只是辅助手段,真正的解决办法是要在建设之初就要规范好各类数据文件的存储和清除机制并自动化运行。

    随着文件的增长,存储周期也会动态调整,目前我已经基本收不到此类告警了。

  • 相关阅读:
    延时提示框(定时器的使用)
    时间对象
    仿站长之家导航(setTimeout的应用)
    倒计时时钟
    简易网页始终
    网页计算器
    两个数字比较大小
    累加按钮,自加1
    用parsetInt解析数字,并求和
    JS布局转换
  • 原文地址:https://www.cnblogs.com/leeyuki/p/7908060.html
Copyright © 2011-2022 走看看