每日流量概览,包括 Linux 服务器上哪些进程消耗了多少流量的信息

每日流量概览,包括 Linux 服务器上哪些进程消耗了多少流量的信息

到一天(或一周/一个月)结束时,我希望对使用网络的所有进程有一个概览,并了解 Linux 服务器上每个进程在特定时间段内产生了多少流量:

  1. 在给定时间段内总共使用了多少流量?
  2. 哪些进程使用了​​多少(以 MB 或百分比为单位)?

我用vnstat它来显示服务器上消耗了多少流量 - 我发现它非常方便 - 我想要的不仅仅是vnstat显示所有流量的综合概览,而且还显示哪个进程使用了​​多少流量。

也许那里有一些工具,或者也许有人知道如何通过编写脚本来解决这个问题——我愿意接受任何关于如何获得概述的建议。

答案1

我认为 Datadog 可能就是你要找的东西。Datadog 非常强大,根据 Gartner 的说法,它是市场领导者之一。它还允许你创建自定义仪表板。但它还提供了很多功能,而且需要付费。顺便说一句,我与 Datadog 没有任何关系。

您还可以使用 nethogs 并将其输出到文件并使用 awk 进行分析

sudo nethogs -t | tee network_logs.txt
cat network_logs.txt | awk '{ total += $2; process[$NF] += $2 } END { print "Total: " total " KB"; for (p in process) print p ": " process[p] " KB" }'

相关内容