我代表澳大利亚一个相当受欢迎的游戏服务器社区。我们租用了一台带宽有限的专用服务器。尽管我们将下载服务器外包给了美国,但在过去几天里,我们的带宽消耗量还是大幅增加。
我们非常想知道究竟是什么突然占用了这么多带宽。我们的每台服务器都分配有特定的端口,因此按端口监控带宽是有意义的。我们希望在一段相当长的时间内进行这种监控,以便我们能够看到准确的结果。
以下是我尝试过的方法以及遇到的问题的列表。
nethogs - 监控每个进程的带宽,因此似乎无法正确计算使用子进程的服务的带宽(例如,我很确定 Apache 在过去 2 天内使用了超过 0.8MB 的带宽)
iftop - 监控主机的带宽,考虑到我们的用户数量,数据似乎没什么用。我们的负载很可能不是由一个人造成的,而是由所有人造成的。
iptraf——通过连接而不是端口监控带宽,因此数据对我们来说毫无用处。
darkstat — 按主机而不是按端口对连接进行分组。
vnstat — 通过接口而不是端口监控带宽。
bandwidthd——通过主机或子网而不是端口进行测量。
是否存在可以帮助我的工具?
谢谢,
耀明
答案1
看看ntop。
# dpkg -l ntop
ii ntop 3:4.99.3+ndpi5517+dfsg3-1 amd64 display network usage in web browser
有一个不错的选项--sticky-hosts,因此您可以找到哪个主机吸收了所有的流量。
再看看 nethogs:
# dpkg -l nethogs
ii nethogs 0.8.0-1 amd64 Net top tool grouping bandwidth per process
您可以通过应用程序获取带宽,但如果您的游戏服务以一种方式而不是另一种方式编写,您将只能获得有关整个游戏服务带宽的一个字符串。
但是这两个应用程序都无法通过端口进行登录。
有商业项目斯普朗克,它有 30 天免费试用期。您可以注册为新客户,无需任何信用信息(匿名)并获取 deb 包。它很棒,但是 adobe flash。检查一下。特别是插件部分。