是否可以使用与LAN
测量使用情况相同的方式(即百分比)来测量负载?例如,如果我有 1 GB 网络,那么如何知道这些位的使用量是多少?CPU
top
ntopng
显示了很多我不明白的美丽情节。学习它们是一个单独的主题,目前我想知道,是否可以看到LAN
它的负载?
答案1
您可以使用伊夫托普:
iftop 对于网络使用情况的作用与 top(1) 对于 CPU 使用情况的作用相同。它侦听指定接口上的网络流量,并显示主机对当前带宽使用情况的表。方便回答“为什么我们的 ADSL 链接这么慢?”的问题。
总发送/接收值显示在底部。三列显示 2、10 和 40 秒的平均值。
如果您想避免查找 IP 地址,请使用sudo iftop -n
.
为了监控整个 LAN,正如您在评论中提到的,您需要采取不同的方法。但这取决于您的网络设置。
例如,如果您有一台路由器:
- 检查您的路由器是否可以在管理界面中显示统计信息
- 如果路由器支持此功能,请在路由器上安装自定义固件,例如 DD-WRT(有关如何工作的示例,请参阅本文)
答案2
您可能混淆了概念。你没有千兆局域网,你有千兆网络链接节点之间(当然你也可以有不同速度的链接)。从这个意义上说,您只能测量每个链路的带宽使用情况,而网络的整体使用情况必须是对此的一些总结(平均值、最大值等)。
测量给定链接的使用情况的唯一方法是在其一端,因此您可能希望在其中一个网络集线器上进行测量(我的意思不是字面上的集线器设备,而是在其中一个节点)用于分发数据包),很可能是交换机或路由器。如何做到这一点很大程度上取决于您的网络基础设施硬件。您可能有一个网关路由器连接到节点和所连接的G
交换机,在这种情况下,您必须在 处进行测量,因为和之间的流量将由交换机转发,不会到达网关。请注意,在许多情况下,路由器实际上是一个 2 端口设备,其中一个端口连接有交换机。如果您将 wifi 添加到等式中,那么它会变得更加棘手,因为接入点可能会在 wifi 主机之间转发数据包,因此必须在 wifi 客户端上的 AP 上进行测量。S
A
B
S
A
B
如果您的交换机足以提供每个端口的流量统计信息(例如通过 SNMP),您可以测量那里的情况并使用可用的众多网络监控工具之一,或者只需编写一个简单的脚本来定期轮询数据,计算一些增量甚至可以进行一些数学计算,将它们聚合成一份带宽使用情况的总体统计数据。如果您的交换机不允许这样做,那么您就必须这样做以及电线的另一端,即您的主机。
这可以根据您的实际目标进行简化。如果您只想查看谁占用了您的上行链路带宽,您可以在网关上执行此操作。
答案3
怎么测量全!例如使用 ntopng 进行 LAN 负载?是否可以像使用 top 测量 CPU 使用率一样测量 LAN 负载
您可以测量接口的负载,但无法测量其中一台主机的整个 LAN 的负载。
为什么?因为存在大量您永远不会看到的流量,例如未定向到您的流量,或者属于其他 VLAN 的流量。这些将在交换机处被过滤。
为了查看所有流量,您需要成为运行交换机的软件(然后再次将所有主机连接到您)或将交换机变成集线器。
如果您想查看 LAN 之外的特定链路的使用情况,那么您需要将该链路作为您的接口之一(那么您很可能是 LAN 的路由器)。然后你就有很多解决方案,其中一些已经在其他答案中提到过。