shell awk實(shí)現(xiàn)實(shí)時(shí)監(jiān)控網(wǎng)卡流量腳本(常見(jiàn)應(yīng)用二)

實(shí)現(xiàn)原理:
[chengmo@localhost ~]$ cat /proc/net/dev
Inter-| Receive | Transmit
face |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressed
lo:1068205690 1288942839 0 0 0 0 0 0 1068205690 1288942839 0 0 0 0 0 0
eth0:91581844 334143895 0 0 0 0 0 145541676 4205113078 3435231517 0 0 0 0 0 0
proc/net/dev 文件保存了網(wǎng)卡總流量信息,通過(guò)間隔一段間隔,將入網(wǎng)卡與出記錄加起來(lái)。減去之前就得到實(shí)際速率。
程序代碼:
awk 'BEGIN{
OFMT="%.3f";
devf="/proc/net/dev";
while(("cat "devf) | getline)
{
if($0 ~ /:/ && ($10+0) > 0)
{
split($1,tarr,":");
net[tarr[1]]=$10+tarr[2];
print tarr[1],$10+tarr[2];
}
}
close(devf);
while((system("sleep 1 ")) >=0)
{
system("clear");
while( getline < devf )
{
if($0 ~ /:/ && ($10+0) > 0)
{
split($1,tarr,":");
if(tarr[1] in net)
{
print tarr[1],":",($10+tarr[2]-net[tarr[1]])*8/1024,"kb/s";
net[tarr[1]]=$10+tarr[2];
}
}
}
close(devf);
}
}'
說(shuō)明:第一個(gè)while 是獲得總的初始值,$1是網(wǎng)卡出流量,$10是網(wǎng)卡進(jìn)流量。第2個(gè)while會(huì)間隔1秒鐘啟動(dòng)一次。計(jì)算總流量差得到平均每秒流量。
注意:通過(guò)getline 逐行讀取文件,需要close關(guān)閉 。否則在第2次while循環(huán)中不能獲得數(shù)據(jù)。
運(yùn)行結(jié)果:

相關(guān)文章
在Linux系統(tǒng)中使用iptraf進(jìn)行網(wǎng)絡(luò)監(jiān)控
這篇文章主要介紹了在Linux系統(tǒng)中使用iptraf進(jìn)行網(wǎng)絡(luò)監(jiān)控,iptraf是一個(gè)擁有簡(jiǎn)單圖形化界面的TCP/UDP管理工具,需要的朋友可以參考下2015-07-24簡(jiǎn)介L(zhǎng)inux下的TCP/UDP監(jiān)控工具iptraf
這篇文章主要介紹了簡(jiǎn)介L(zhǎng)inux下的TCP/UDP監(jiān)控工具iptraf,程序基于簡(jiǎn)單的圖形化界面,需要的朋友可以參考下2015-06-03Linux系統(tǒng)上安裝MRTG來(lái)監(jiān)控網(wǎng)絡(luò)流量
這篇文章主要介紹了Linux系統(tǒng)上安裝MRTG來(lái)監(jiān)控網(wǎng)絡(luò)流量的方法,可視化的數(shù)據(jù)表達(dá)對(duì)于服務(wù)器的負(fù)載監(jiān)測(cè)很方便,需要的朋友可以參考下2015-10-27Linux流量監(jiān)控工具 iftop (最全面的iftop教程)
在類Unix系統(tǒng)中可以使用top查看系統(tǒng)資源、進(jìn)程、內(nèi)存占用等信息。查看網(wǎng)絡(luò)狀態(tài)可以使用netstat、nmap等工具。若要查看實(shí)時(shí)的網(wǎng)絡(luò)流量,監(jiān)控TCP/IP連接等,則可以使用iftop2010-12-20Linux中iptraf命令詳解(IP局域網(wǎng)監(jiān)控工具)
iptraf命令可以實(shí)時(shí)地監(jiān)視網(wǎng)卡流量,可以生成網(wǎng)絡(luò)協(xié)議數(shù)據(jù)包信息、以太網(wǎng)信息、網(wǎng)絡(luò)節(jié)點(diǎn)狀態(tài)和ip校驗(yàn)和錯(cuò)誤等信息2017-12-27