linux系统使用python监测网络接口获取网络的输入输出
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux系统使用python监测网络接口获取网络的输入输出相关的知识,希望对你有一定的参考价值。
#!/usr/bin/env Python
import time
import sys
if len(sys.argv) > 1:
INTERFACE = sys.argv[1]
else:
INTERFACE = ‘eth0‘
STATS = []
print ‘Interface:‘,INTERFACE
def rx():
ifstat = open(‘/proc/net/dev‘).readlines()
for interface in ifstat:
if INTERFACE in interface:
stat = float(interface.split()[1])
STATS[0:] = [stat]
def tx():
ifstat = open(‘/proc/net/dev‘).readlines()
for interface in ifstat:
if INTERFACE in interface:
stat = float(interface.split()[9])
STATS[1:] = [stat]
print ‘In Out‘
rx()
tx()
while True:
time.sleep(1)
rxstat_o = list(STATS)
rx()
tx()
RX = float(STATS[0])
RX_O = rxstat_o[0]
TX = float(STATS[1])
TX_O = rxstat_o[1]
RX_RATE = round((RX - RX_O)/1024/1024,3)
TX_RATE = round((TX - TX_O)/1024/1024,3)
print RX_RATE ,‘MB ‘,TX_RATE ,‘MB‘
以上是关于linux系统使用python监测网络接口获取网络的输入输出的主要内容,如果未能解决你的问题,请参考以下文章
Monitorix:一款面向Linux的轻型系统和网络监测工具