通過snmpwalk抓取設備端口的流量狀況


 

#!/bin/sh

Date=`date +%F" "%H:%M:%S`
snmp="XXX"
Host="XXX"
MIB="IF-MIB::ifHCOutOctets.44 = Counter64"

while true
do
    for i in `ls -l`
    do
        first=`snmpwalk -v 2c -c $snmp $Host $MIB |awk '{print $NF}'`
        sleep 10
        while true
        do
            last=`snmpwalk -v 2c -c $snmp $Host $MIB |awk '{print $NF}'`
            byte=`echo "$last-$first" |bc`
            mbps=`echo "scale=2;$byte*8/10/1000000000" |bc`
            if [ $(echo "$mbps > 9" | bc ) = 1 ];then
                webhook='https://oapi.dingtalk.com/robot/send?access_token=xxx'
                Name='端口'
                port="10g1/0/40"
                function SendMsgToDingding() {
                    curl $webhook -H 'Content-Type: application/json' -d "
                    {
                        'msgtype': 'text',
                        'text': {
                             'content': '告警時間:$Date \n告警信息:$Name流量閾值警告 \n當前流量:${mbps}G \n$port流量超出9
G,請注意!!!'       
                        },
                        'at':{
                                'isAtAll': false
                        }
                    }"
               }
            SendMsgToDingding 
            fi
        break
        done
    done
done

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM