psutil模块获取网卡流量

使用python监控系统时,获取网卡流量是比较难搞的,网上找了一个比较好的脚本,分享一下!

psutil模块是一个跨平台的获取进程和系统应用情况(CPU,内存,磁盘,网络,传感器)的库。该模块用于系统监控、限制进程资源和运行进程的管理等方面

安装模块psutil

pip install psutil

亲测Linux和Windows使用正常

net_traffic.py

#!/usr/bin/env python
# -*- coding: utf-8 -*-

try:
    import psutil
except ImportError:
    print(‘Error: psutil module not found!‘)
    exit()

def get_key():

    key_info = psutil.net_io_counters(pernic=True).keys()

    recv = {}
    sent = {}

    for key in key_info:
        recv.setdefault(key, psutil.net_io_counters(pernic=True).get(key).bytes_recv)
        sent.setdefault(key, psutil.net_io_counters(pernic=True).get(key).bytes_sent)

    return key_info, recv, sent

def get_rate(func):

    import time

    key_info, old_recv, old_sent = func()

    time.sleep(1)

    key_info, now_recv, now_sent = func()

    net_in = {}
    net_out = {}

    for key in key_info:
        # float(‘%.2f‘ % a)
        net_in.setdefault(key, float(‘%.2f‘ %((now_recv.get(key) - old_recv.get(key)) / 1024)))
        net_out.setdefault(key, float(‘%.2f‘ %((now_sent.get(key) - old_sent.get(key)) / 1024)))

    return key_info, net_in, net_out

while 1:
    try:
         key_info, net_in, net_out = get_rate(get_key)

         for key in key_info:
             # lo 是linux的本机回环网卡,以太网是我win10系统的网卡名
             if key != ‘lo‘ or key == ‘以太网‘:
                print(‘%s\nInput:\t %-5sKB/s\nOutput:\t %-5sKB/s\n‘ % (key, net_in.get(key), net_out.get(key)))
    except KeyboardInterrupt:
        exit()

注意:以太网是我win10网卡名,可自行更改

数字显示,改成保留小数点2位,使用float

运行脚本,使用迅雷下载一步高清电影,效果如下:

将代码拷贝到Linux服务器,运行一下。

下载一个软件包,效果如下:

原文地址:https://www.cnblogs.com/liqing1009/p/12604558.html

时间: 2024-08-17 10:37:01

psutil模块获取网卡流量的相关文章

使用psutil模块获取电脑运行信息

psutil是python的一个用于获取cpu信息的模块,非常好使,以下附上官方的一些example: CPU-> Examples ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 >>> import psutil >>> psutil.cpu_times() scputimes(user=3961.46, nice=169.729, sy

python之psutil模块获取系统信息

psuti是一个跨平台,能够轻松实现获取系统运行进程,系统利用率信息,主要用于系统监控,分析和限制系统资源及进程管理. psutil为第三方模块,通过pip安装模块. 获取cpu信息 1.cpu信息2.User Time:执行用户进程的时间百分比3.System Time:执行内核进程和中断的时间百分比4.Wait IO 由于IO等待而使CPU处于idle空闲状态的时间百分比5.Idle,CPU处于idle状态的时间百分比 ######获取cpu的物理个数 >>> psutil.cpu_

zabbix使用ifstat工具来自定义获取网卡流量

1.获取ifstat wget http://distfiles.macports.org/ifstat/ifstat-1.1.tar.gz tar xf ifstat-1.1.tar.gz cd ifstat-1.1 ./configure make && make install ln -s /usr/local/bin/ifstat /sbin/ 2.自定义监控脚本 vim networkflow.sh #!/bin/bash case $1 in         inflow)  

psutil模块

import psutil# cpu 详情# re = psutil.cpu_percent(interval=1) # 返回cpu使用百分比# re = psutil.cpu_count() # 返回CPU核数 # 内存# re = psutil.virtual_memory() # 获取内存# svmem(total=8476856320, available=4131033088, percent=51.3, used=4345823232, free=4131033088)# a = f

psutil模块记录

看了刘天斯老师写的python自动化书,记录一下看的要不然脑子记不住呀 import psutil #CPUprint(psutil.cpu_times()) #显示CPU的所有信息print(psutil.cpu_times().user) #获取user的执行用户进程的cpu时间比print(psutil.cpu_times(percpu=True)) #获取所有逻辑CPU的信息print(psutil.cpu_count()) #获取CPU的逻辑个数print(psutil.cpu_cou

模块 psutil 系统信息获取

psutil模块介绍 psutil是一个开源切跨平台的库,其提供了便利的函数用来获取才做系统的信息,比如CPU,内存,磁盘,网络等.此外,psutil还可以用来进行进程管理,包括判断进程是否存在.获取进程列表.获取进程详细信息等.而且psutil还提供了许多命令行工具提供的功能,包括:ps,top,lsof,netstat,ifconfig, who,df,kill,free,nice,ionice,iostat,iotop,uptime,pidof,tty,taskset,pmap. psut

python获取系统状态psutil模块

python关于获取当前系统的状态系统性能信息模块 psutil  #可跨平台psutil是一个跨平台库,轻松获取系统运行的进程和系统利用率能实现ps.top.lso.nice.netstat.ifconfig.who.df.kill.freeionice.iostat.iotop.uptime.pidof.tty.taskset.pmap 这些命令的功能首先确定下当前系统有没有psutil模块import psutil如果有的话,就直接导入模块成功,如果没有,就会提示错误然后到官网上下载psu

获取系统基本信息(psutil模块)

阅读目录 使用 学习psutil模块的一个总结,通过psutil 模块进行系统信息的查询 使用 选项: python get_sys_basic_info.py -h -a --all 所有信息 -c --cpu cpu信息 -u --user 用户登录信息 -n --network 网络信息 -d --disk 磁盘信息 -m --mem 内存信息   工具代码

python第三方模块—psutil模块

系统基础信息采集模块作为监控模块的重要组成部分,能够帮助运维人员了解当前系统的健康程度,同时也是衡量业务的服务质量的依据,比如系统资源吃紧,会直接影响业务的服务质量及用户体验,另外获取设备的流量信息,也可以让运维人员更好地评估带宽.设备资源是否应该扩容.运用Python第三方系统基础模块,可以轻松获取服务关键运营指标数据,包括Linux基本性能.块设备.网卡接口.系统信息.网络地址库等信息.在采集到这些数据后,我们就可以全方位了解系统服务的状态,再结合告警机制,可以在第一时间响应,将异常现在苗头