真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

nagios流量監(jiān)控和報(bào)警的shell腳本

上下文:我們平臺(tái)的監(jiān)控系統(tǒng)用的是cacti+nagios。之前沒有加流量異常報(bào)警設(shè)置,cacti上到是有插件可以時(shí)間報(bào)警,但是無法使用我們自己的短信接口(nagios用的購買的短信接口),所以想自己寫一個(gè)腳本配合nagios實(shí)現(xiàn)基本的流量異常報(bào)警。

創(chuàng)新互聯(lián)主營雅安網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,手機(jī)APP定制開發(fā),雅安h5小程序開發(fā)搭建,雅安網(wǎng)站營銷推廣歡迎雅安等地區(qū)企業(yè)咨詢

腳本思路:/proc/net/dev取出當(dāng)前流經(jīng)網(wǎng)卡的(接收和發(fā)送)的kb總數(shù)量,在檢測(cè)間隔時(shí)間后再次讀取這兩個(gè)值,
相減既是間隔時(shí)間段內(nèi)的增量,再根據(jù)此增量做計(jì)算,算出間隔時(shí)間內(nèi)的平均流量,和基準(zhǔn)流量作比較,觸發(fā)nagios報(bào)警事件

局限性:我們只檢測(cè)外網(wǎng)卡的流量,且默認(rèn)em1網(wǎng)卡為外網(wǎng)卡(需根據(jù)各位實(shí)際情況自行調(diào)整)

#!/bin/bash
#by ljk 
   #默認(rèn)第一塊網(wǎng)卡為外網(wǎng)卡,檢查當(dāng)前系統(tǒng)是以eth0還是em1作為網(wǎng)卡一,后面會(huì)引用網(wǎng)卡名
   interface=`ip a|grep -e "eth0" -e "em1"|awk '{print $NF}'|tail -1`
   
   #定義存儲(chǔ)結(jié)果的函數(shù),以便在任何異常/正常退出前都能保存最新的記錄
   function tmp_store {
       chmod 777 /tmp/receive /tmp/transfer &> /dev/null 
       #以防以root用戶驗(yàn)證腳本時(shí)以root創(chuàng)建這兩個(gè)文件,等nagios以nagios用戶調(diào)用腳本的時(shí)候無法寫入新的記錄值,導(dǎo)致檢測(cè)結(jié)果不準(zhǔn)
       cat /proc/net/dev|grep "$interface"|sed 's/^ *//g'|awk -F'[ :]+' '{print $2}' > /tmp/receive
       cat /proc/net/dev|grep "$interface"|sed 's/^ *//g'|awk -F'[ :]+' '{print $10}' > /tmp/transfer
   }
   #將當(dāng)時(shí)流量統(tǒng)計(jì)記錄于tmp,然后由nagios調(diào)用腳本,定時(shí)(5分鐘,遇異常隔5分鐘再檢測(cè))采集新的統(tǒng)計(jì)值,
   做計(jì)算統(tǒng)計(jì)出時(shí)間段內(nèi)流量的平均值
   RX_bytes_last=`cat /tmp/receive`
   TX_bytes_last=`cat /tmp/transfer`

   RX_bytes=`cat /proc/net/dev|grep "$interface"|sed 's/^ *//g'|awk -F'[ :]+' '{print $2}'`
   TX_bytes=`cat /proc/net/dev|grep "$interface"|sed 's/^ *//g'|awk -F'[ :]+' '{print $10}'`

   speed_RX=`echo "scale=0;($RX_bytes - $RX_bytes_last)*8/1024/1024/300"|bc`  
   #300即5分鐘,nagios 每五分鐘檢測(cè)一次流量,統(tǒng)計(jì)出來的 單位為Mb
   speed_TX=`echo "scale=0;($TX_bytes - $TX_bytes_last)*8/1024/1024/300"|bc` 
   
   if   [ $speed_RX -gt 5  -a $speed_TX -gt 5 ];then #此處的5,是我們的基準(zhǔn)值,各位自行調(diào)整
        echo "speed_RX=$speed_RX, speed_TX=$speed_TX. both great than normal"
        tmp_store;
        exit 2
   elif [ $speed_RX -gt 5 -o $speed_TX -gt 5 ];then
        if [ $speed_RX -gt 5 ];then
           echo "receive is $speed_RX Mbps, great than 5Mbps"
           tmp_store;
           exit 2
        else
           echo "transfer is $speed_TX Mbps, great than 5Mbps"
           tmp_store;
           exit 2
        fi
   else 
        echo "OK speed_RX=$speed_RX Mbps, speed_TX=$speed_TX Mbps"
        tmp_store;
        exit 0
   fi

名稱欄目:nagios流量監(jiān)控和報(bào)警的shell腳本
轉(zhuǎn)載注明:http://weahome.cn/article/pdiigj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部