亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Shell圖形化監(jiān)控網(wǎng)絡(luò)流量

系統(tǒng) 2918 0
網(wǎng)絡(luò)流量的監(jiān)控工具有很多,如:Mrtg、Cacti、Zabbix等等,他們都有著各自的特點(diǎn),不同的側(cè)重,只為適合不同的應(yīng)用場(chǎng)景的各種特殊需求。除了網(wǎng)絡(luò)流量監(jiān)控工具以外,還有Nagios這樣的監(jiān)控主機(jī)狀態(tài)的工具,不僅能有效監(jiān)控Windows、Linux和Unix的主機(jī)狀態(tài),交換機(jī)路由器等網(wǎng)絡(luò)設(shè)置,打印機(jī)等。還能在系統(tǒng)或服務(wù)狀態(tài)異常時(shí)發(fā)出郵件或短信報(bào)警第一時(shí)間通知網(wǎng)站運(yùn)維人員,在狀態(tài)恢復(fù)后發(fā)出正常的郵件或短信通知等功能。除此之外Nagios簡(jiǎn)單地插件設(shè)計(jì)使得用戶可以方便地?cái)U(kuò)展自己服務(wù)的檢測(cè)方法。也正是這一點(diǎn),讓Nagios幾乎無(wú)所不能。我們也經(jīng)常利用這個(gè)特性,使用Shell編寫(xiě)各類插件配合Ngios的使用。
Nagios雖然強(qiáng)大,但無(wú)法像Cacti那樣圖形化監(jiān)控網(wǎng)絡(luò)流量。因此Nagios+Cacti通過(guò)NPC整合在一起,強(qiáng)強(qiáng)聯(lián)手成為了一種經(jīng)常被使用的組合。關(guān)于這方面的知識(shí),我會(huì)在后續(xù)的博客中有所描述,此處暫略過(guò)。只為圖形化流量使用情況就要在學(xué)習(xí)Cacti的同時(shí),還要將Nagios與Cacti進(jìn)行整合,成本未免太高。有沒(méi)有一種方式可以自定義網(wǎng)絡(luò)流量監(jiān)控并以圖形化的方式顯示出來(lái)呢?本文就是利用Shell配合繪圖工具GnuPlot將網(wǎng)絡(luò)流量圖形化的展示出來(lái),大家可以將他嵌入到Nagios或者干脆單獨(dú)使用。
首先我們需要獲得網(wǎng)絡(luò)流量。運(yùn)行ifconfig命令

eth0 Link encap:Ethernet HWaddr 00:0C:29:58:A5:D5
inet addr:192.168.0.15 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe58:a5d5/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:7 errors:0 dropped:0 overruns:0 frame:0
TX packets:16 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:496 (496.0 b) TX bytes:2452 (2.3 KiB)
Interrupt:193 Base address:0x2000

其中 RX Bytes、TX Bytes:為總傳送、接收的字節(jié)總量(紅色標(biāo)注部分)。我們將其取出并相加。命令如下:

ifconfig | awk -F ":" 'NR==8{print $2+$3}' (本例獲得結(jié)果為2948,單位為byte)

我們將以分鐘為單位取得該值并與之前取得值的總和相減得到每分鐘的網(wǎng)卡流量并導(dǎo)入到文本文件中。文件的格式如下:

06:01:00 2948
06:02:00 1948
06:03:00 2948
06:04:00 3948
06:05:00 1948
06:06:00 3948
........

echo -n `date +%H:%M:%S` " " >> result;echo $[`ifconfig | awk -F ":" 'NR==8{print $2+$3}'`-`awk '{sum+=$2}END{print sum}' result `] >>result

echo -n `date +%H:%M:%S` " " >> 1; #以小時(shí):分鐘:秒為格式獲取當(dāng)前系統(tǒng)時(shí)間并輸出重定向到result文件中,-n選項(xiàng)為不輸出換行符。
awk '{sum+=$2}END{print sum}' result #為獲得result文件中第二列所有值的和
echo $[`ifconfig | awk -F ":" 'NR==8{print $2+$3}'`-`awk '{sum+=$2}END{print sum}' result `]>>result #將當(dāng)前網(wǎng)卡流量減去之前統(tǒng)計(jì)的網(wǎng)

卡流量總和得到這一分鐘內(nèi)網(wǎng)卡的流量并將其輸出重定向到result文件中。

#! /bin/bash
while true;do
echo -n `date +%H:%M:%S` " " >> result;echo $[`ifconfig | awk -F ":" 'NR==8{print $2+$3}'`-`awk '{sum+=$2}END{print sum}' result `]>>result
sleep 60
done

reslut文件內(nèi)容如下:
06:31:01 2948
06:32:01 1948
06:33:01 2948
06:34:01 3948
06:35:01 1948
06:36:01 3948
06:37:01 2680
06:38:01 3127
06:39:01 4162
06:40:01 5137
06:41:01 1348
06:42:01 1872
06:43:01 2882
06:44:01 1972
06:45:01 5689
06:46:01 1952
06:47:01 2371
06:48:01 3333
06:49:01 4523
06:50:01 1346
06:51:01 7864
06:52:01 3256
06:53:01 5742
06:54:01 1234
06:55:01 4328
06:56:01 2651
06:57:01 1463
06:58:01 2813
06:59:01 1111
07:00:01 2134
07:01:01 1687
07:02:01 3383
07:03:01 2345

現(xiàn)在我們就可以通過(guò)GnuPlot進(jìn)行繪圖。
set terminal png small color picsize 600 400 #以png格式,坐標(biāo)字體為小字體,大小為600*400輸出繪圖
set output "eth0.png" #輸出圖片的名稱為eth0.png
set xdata time #設(shè)定X坐標(biāo)的類型為時(shí)間類型
set timefmt "%H:%M:%S" #設(shè)定時(shí)間類型的格式
set grid #設(shè)定網(wǎng)格為輸出圖片背景
set style data linespoints #設(shè)定繪圖使用點(diǎn)線方式
set xtic rotate by 90 #將X坐標(biāo)以90旋轉(zhuǎn)
plot "result" using 1:2 title "eth0" pointtype 3 linetype 2#以result文件的一列為X坐標(biāo)繪制第二列的內(nèi)容,圖片右上角標(biāo)示為eth0

將以上內(nèi)容保存為文件eth0
cat eth0 | gnuplot #執(zhí)行繪圖

本例輸出的圖片如下:
Shell圖形化監(jiān)控網(wǎng)絡(luò)流量

完整shell腳本如下:

#! /bin/bash
while true;do
echo -n `date +%H:%M:%S` " " >> result;echo $[`ifconfig | awk -F ":" 'NR==8{print $2+$3}'`-`awk '{sum+=$2}END{print sum}' result `]>>result
cat eth0 | gnuplot #由于每次生成的圖片會(huì)覆蓋原來(lái)的圖片,所以不用進(jìn)行刪除操作
sleep 60
done

生成好的圖片可以放置在Apache中或者整合Nagios。 篇幅有限,未盡之處,還請(qǐng)見(jiàn)諒,希望大家批評(píng)指教,提出更好的建議。謝謝

Shell圖形化監(jiān)控網(wǎng)絡(luò)流量


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 男人的天堂免费在线观看 | 91在线视频| 欧美国产成人一区二区三区 | 永久黄网站色视频免费 | 嗯啊在线观看免费影院 | 国产精品香蕉在线观看不卡 | 亚洲一区二区免费视频 | 久久综合久久伊人 | 精品亚洲综合久久中文字幕 | 四虎网站网址 | 亚洲成人免费在线观看 | 两个人高清视频图片中文字幕 | 黑人特级粗α级毛片 | 热99在线视频 | 男女一级做片a性视频 | 成人禁在线观看午夜亚洲 | 四虎影视最新2019百度 | 日日夜夜免费精品 | 日本福利片国产午夜久久 | 国产成人一区二区视频在线观看 | 亚洲人成伊人成综合网久久久 | 国产婷婷丁香久久综合 | 最新中文字幕日本 | 国产α片| 青青青免费手机版视频在线观看 | 久久久久国产一级毛片高清片 | 久久66久这里精品99 | 亚洲精品久久久 | 久久精品国产eeuss | 色久影院 | 成年女人黄小视频 | 伊人第一路线 | 成人影院观看 | 美国黑人特大一级毛片 | 伊人午夜| 久久国产成人亚洲精品影院老金 | 高清不卡在线 | 亚洲免费二区三区 | 久久国语| 亚洲国产一区二区三区 | 国产成人99精品免费视频麻豆 |