jasondewitt Asked: 2009-08-13 14:17:32 +0800 CST2009-08-13 14:17:32 +0800 CST 2009-08-13 14:17:32 +0800 CST 测量 linux 服务器上的带宽使用情况(传输的 GB) 772 我有一个 linux 电子邮件服务器,我正在考虑迁移到“云”中。在调查了定价之后,我发现我的主要成本将是带宽。你们如何建议测量一段时间内传输的数据总量? linux 8 个回答 Voted Best Answer theotherreceive 2009-08-13T14:57:11+08:002009-08-13T14:57:11+08:00 我过去曾在服务器上成功运行过vnstat。它适用于 Fedora 和 ubuntu(可能还有其他发行版)。还有一个php 前端可用,非常容易设置。 Javier 2009-08-13T14:29:52+08:002009-08-13T14:29:52+08:00 ifconfig告诉您接口的使用情况,包括传输的数据量。 ntop以多种方式记录和分析流量。 iftop和iptraf 实时显示连接和其他数据 Kyle Brandt 2009-08-13T14:47:04+08:002009-08-13T14:47:04+08:00 如果你想要低技术版本,你可以 cat /proc/net/dev 记录时间,然后再做一次,并从中计算。但是,请注意,计数器在 2^32 字节 (4GB) 处环绕(至少在我最近的 32 位内核上): Inter-| Receive | Transmit face |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressed lo: 51433 617 0 0 0 0 0 0 51433 617 0 0 0 0 0 0 eth0:3270597247 14887385 0 0 0 0 0 0 694109632 7720886 0 0 0 0 0 0 pan0: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 在我的这篇博客文章中有一个 perl 例程来解析这个:调试一个解析 /proc/net/dev 的脚本 womble 2009-08-13T14:31:16+08:002009-08-13T14:31:16+08:00 通过 cron 在你的服务器上运行 sysstat;网络信息 ( sar -n ALL) 将为您提供 rxkB/s 和 txkB/s ,您可以轻松地将其转化为总流量数据。 alexus 2009-08-13T14:53:22+08:002009-08-13T14:53:22+08:00 snmp + mrtg / rrdtool(仙人掌) Jason Abate 2009-08-13T19:32:13+08:002009-08-13T19:32:13+08:00 正如其他人所提到的,vnstat是一个很棒的工具,它易于设置,并且应该可以轻松地为您提供所需的信息。 请注意,您的提供商应该让您了解他们用于带宽计费的工具。有多种方法可以跟踪和计费带宽使用情况(交换机端口测量与虚拟机计数器,95% 百分位与发送、发送和接收的总比特数与仅发送),这将对您的最终计费产生重大影响 - 它是基于他们用于计费的工具,以便真正了解您的带宽成本将是多少,这一点非常重要。通过这种方式,您可以准确地采取行动来转移或最小化您的带宽使用量,然后再支付大笔带宽费用。 blauwblaatje 2009-08-13T14:47:04+08:002009-08-13T14:47:04+08:00 munin 有一个用于网络使用的基本插件 David Spillett 2009-08-13T14:54:44+08:002009-08-13T14:54:44+08:00 我使用collectd来收集接口流量计数等,并使用该脚本的稍微修改的版本来生成漂亮的图表和计数。输出看起来像这样,但如果您有特定的偏好,您可以从rrdtool 库中看到。如果您需要比简单的接口流量计数更详细的信息,那么您可以使用 collectd 中的 iptables 模块来计算更具体的流量组。
我过去曾在服务器上成功运行过vnstat。它适用于 Fedora 和 ubuntu(可能还有其他发行版)。还有一个php 前端可用,非常容易设置。
ifconfig
告诉您接口的使用情况,包括传输的数据量。如果你想要低技术版本,你可以 cat /proc/net/dev 记录时间,然后再做一次,并从中计算。但是,请注意,计数器在 2^32 字节 (4GB) 处环绕(至少在我最近的 32 位内核上):
在我的这篇博客文章中有一个 perl 例程来解析这个:调试一个解析 /proc/net/dev 的脚本
通过 cron 在你的服务器上运行 sysstat;网络信息 (
sar -n ALL
) 将为您提供 rxkB/s 和 txkB/s ,您可以轻松地将其转化为总流量数据。snmp + mrtg / rrdtool(仙人掌)
正如其他人所提到的,vnstat是一个很棒的工具,它易于设置,并且应该可以轻松地为您提供所需的信息。
请注意,您的提供商应该让您了解他们用于带宽计费的工具。有多种方法可以跟踪和计费带宽使用情况(交换机端口测量与虚拟机计数器,95% 百分位与发送、发送和接收的总比特数与仅发送),这将对您的最终计费产生重大影响 - 它是基于他们用于计费的工具,以便真正了解您的带宽成本将是多少,这一点非常重要。通过这种方式,您可以准确地采取行动来转移或最小化您的带宽使用量,然后再支付大笔带宽费用。
munin 有一个用于网络使用的基本插件
我使用collectd来收集接口流量计数等,并使用该脚本的稍微修改的版本来生成漂亮的图表和计数。输出看起来像这样,但如果您有特定的偏好,您可以从rrdtool 库中看到。如果您需要比简单的接口流量计数更详细的信息,那么您可以使用 collectd 中的 iptables 模块来计算更具体的流量组。