久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

用SNMP模仿Zabbix讀取設(shè)備接口流量

 新用戶0118F7lQ 2022-12-17 發(fā)布于山東

前文通過SNMP統(tǒng)計網(wǎng)絡資產(chǎn)介紹了SNMPWALK的安裝及簡單使用。SNMP的功能還是十分強大的,,幾乎所有設(shè)備上支持查看的信息通過SNMP協(xié)議都能讀取到,,甚至有些命令中不能查看的SNMP協(xié)議也能讀取。今天就再簡單介紹一下SNMP的其他用法,。

vFW和很多V7設(shè)備一樣,,不支持直接讀取接口的瞬時速率,只有過去300秒的速率統(tǒng)計,,對于精度要求比較高的用戶,,肯定是不滿足要求的。

圖片

但是接口的瞬時速率也就是對接口的總報文數(shù)進行微分,,比如我們可以5秒鐘采集一次總報文數(shù),,然后用后一個數(shù)值減去前一個數(shù)值,再除以5,,就可以得到這5秒內(nèi)平均的bytes/s,,也就是Bps了。

上次介紹到數(shù)據(jù)可以用snmpwalk來進行讀取,,首先找到出入方向總報文數(shù)所對應的MIB節(jié)點,。查看接口報文總數(shù):

圖片

查到接口入方向報文總數(shù)MIB節(jié)點值為IF-MIB::ifInOctets.17出方向報文總數(shù)MIB節(jié)點值為IF-MIB::ifOutOctets.17,。

圖片

然后用Shell寫一段腳本,,來計算接口下5秒的瞬時速率。

圖片

運行效果如下:

圖片

對腳本命令做個簡單解釋,,方便大家進行變形,。


while true

do

sleep 5

done

#循環(huán)結(jié)構(gòu),循環(huán)執(zhí)行任務內(nèi)容,,間隔時間為5秒,。



lastallin=$(tail -n 1 ifInAll.txt)

lastallout=$(tail -n 1 ifOutAll.txt)

#定義兩個變量,用于讀取存放于文件中的上一次的總字節(jié)數(shù)。



allout=$(snmpwalk -v 2c -c guotiejun 192.168.1.200 IF-MIB::ifOutOctets.17 |awk '{print $4}' )

allin=$(snmpwalk -v 2c -c guotiejun 192.168.1.200 IF-MIB::ifInOctets.17 |awk '{print $4}' )

#定義兩個變量,,用于存放通過命令讀取到的當前的總字節(jié)數(shù)



inspeed1=$[allin-lastallin]

inspeed=$(expr $inspeed1 / 5)

outspeed1=$[allout-lastallout]

outspeed=$(expr $outspeed1 / 5)

#速率計算,。因為循環(huán)任務的執(zhí)行周期為5秒1次,所以將兩個數(shù)值相減,,再除以5,,即得到過去5秒的平均速率。



date

#打印系統(tǒng)時間,,標記速率對應的時間點,。



echo 'lastInput  = $lastallin'

echo 'CurInput   = $allin'

echo 'CurInSpeed = $inspeed'

echo '$allin' >>ifInAll.txt

#打印入方向流量情況,并將當前的總字節(jié)數(shù)寫入文件,,供下次任務調(diào)用。



echo 'lastOutput = $lastallout'

echo 'CurOutput  = $allout'

echo 'CurOutSpeed= $outspeed'

echo '$allout' >>ifOutAll.txt

#打印出方向流量情況,,并將當前的總字節(jié)數(shù)寫入文件,,供下次任務調(diào)用。


那怎么做成圖表呢,?做成圖表主要需要兩個數(shù)據(jù),,一個是時間軸,還有一個是速率值,。所以要想辦法把數(shù)據(jù)導到一個文件中,,并按照“時間 出方向速率 入方向速率”進行排列。


time=$(date +%T)

date=$(date +%Y%m%d)

#增加兩個變量,,分別記錄日期和時間(24小時制),。

echo '$date $time $outspeed $inspeed' >> speedRcd.txt

#將結(jié)果按照“日期 時間 出方向速率 入方向速率”的形式輸出到speedRcd.txt文件中。


運行后文件記錄數(shù)據(jù)如下:

圖片

如果我們想讓他一直記錄,,但又不影響前臺操作,,則可以使用&使命令讓腳本在后臺運行,執(zhí)行后會顯示進程ID,;此時可以使用ps命令查看進程狀態(tài),,使用kill命令可以結(jié)束腳本運行

圖片

這個時候離用圖表顯示就差一步了,。那就是導出speedRcd.txt,,然后導入到Excel中,制成圖表即可,。(PS:如果你熟悉js,,就可以在瀏覽器中直接以圖表進行動態(tài)展示了,就像Zabbix那樣

選中數(shù)據(jù),,插入圖表,,選擇折線圖樣式

圖片

得到的表格如下,是不是和Zabbix差不多,?

圖片

下圖為Zabbix上的監(jiān)控圖表截圖:

圖片

最終代碼如下:

圖片

這種通過計算得到最終結(jié)果的方法實際還是用的比較少,,如果是像CPU、內(nèi)存這類可以直接讀取數(shù)據(jù)的監(jiān)控項,,大段的計算就省去了,。水平有限,代碼不夠簡潔,,歡迎大家拍磚,!

圖片

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點,。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,,謹防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多