【问题标题】:How to get the machine network IO in bytes per second?如何以每秒字节数获取机器网络 IO?
【发布时间】:2020-05-18 23:33:54
【问题描述】:

我正在尝试以“每秒字节数”计算给定 EC2 机器(Linux 操作系统)的网络使用情况。

起初我使用TcpInsegsTcpOutsegsUdpInDatagramsUdpOutDatagrams,从/proc/net/netstat//proc/net/snmp检索。但我很快意识到这些指标是以“每秒计数”为单位的。

我需要“每秒字节数”,因为我得到的网络容量信息是在这个单位中。反正有没有得到这些信息?

我知道IpExtInOctetsIpExtOutOctets 这两个指标,但不知道它们是否适合我。而且我没有找到他们的文档。

任何人都知道我如何以每秒字节数获取机器网络 IO?非常感谢!

【问题讨论】:

    标签: linux networking monitoring


    【解决方案1】:

    在 SNMP 中,在接口表下,您可以获取每个接口的输入和输出(总数据包和总字节数),因此您无需添加个人即可获得总数。

    除此之外,所有计数器TcpInSegsTcpOutSegs 等都由相同数量的计数器补充,但以字节为单位(它们以octets 为后缀,但含义相同。)问题你没有发现它们是一个命名法。在 SNMP 术语中,字节称为八位字节,TCP 数据包称为分段,UDP 称为数据报,在以太网中它们称为数据包(不确定最后一点)。

    该信息存储在 linux 中的文件 /proc/net/dev 中,格式如下:

    $ cat /proc/net/dev
    Inter-|   Receive                                                |  Transmit
     face |bytes    packets errs drop fifo frame compressed multicast|bytes    packets errs drop fifo colls carrier compressed
    enp2s0:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
    wlp3s0:  164083     571    0    0    0     0          0         0    16635      98    0    0    0     0       0          0
        lo:     660      10    0    0    0     0          0         0      660      10    0    0    0     0       0          0
    $ _
    

    可能就足够了。

    【讨论】:

    • 感谢您的回复。只是为了确保:(1)您提到的接口表是文件/proc/net/dev,对吗? (2) 在/proc/net/netstat/proc/net/snmp 文件中,我只找到IpExt 部分下以octets 为后缀的指标,例如IpExtInOctetsIpExtOutOctets。我检查了错误的文件吗?谢谢!
    • 我不知道 linux 在哪里维护所有这些变量(我现在没有 linux 机器可以在这里检查)我从 SNMP 知道这一点,这可能是安装snmp 代理并使用snmpget(1)snmpwalk(1) 向它询问值。由于这些实用程序是很久以前设计的,因此它们保留了固定的输出格式,并且您将更加容易接受,不仅询问您自己的值,还询问其他机器。无论如何,如果我找到一个 linux 机器,我会在它的 /proc 上找到它,看看它在哪里维护这些数字。
    • IpExtInOctets 应该是 extra 八位字节不包括在其他计数器中。您需要阅读一些有关 SNMP 的内容,以了解计数器的操作方式。只是我会尝试获得一个 linux 机器并给你一些关于这个的信息......等一下。
    • 您想要的信息存储在/proc/net/dev文件中。您将列分为三组:第一组是接口名称,然后是输入(接收)数据,然后是传输的数据....在每一组中,您都有字节、数据包、错误、丢弃等。信息每个网络设备,与 tcp、upd 或其他 IP 协议无关,而是在接口级别。
    • 哦,知道了,谢谢!接口级数据对我来说会更方便。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-02
    • 2011-11-10
    • 1970-01-01
    • 2011-09-05
    • 2019-05-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多