我运行一个 Web 服务器(VPS 上的 Debian Squeeze),托管公司提供的图表始终显示,传入服务器的流量大约是传出流量的两倍。我对此有点困惑,所以我想在计算机上运行某种日志记录实用程序,它不仅会确认上传/下载数据,还会按所涉及的远程主机将它们分开,这样我就可以查看是否有很大一部分传入流量来自一个特定来源。
我怀疑大部分传出流量都通过 Apache,但传入流量可能主要通过 Apache,或者可能由其他脚本和 cron 作业主导,因此我更喜欢一个能够在接口级别监控流量的工具,而不是 Apache 中的工具。
理想情况下,我想要一个可以运行几天的工具,然后返回并获得传入和传出流量的“每个远程主机字节数”的输出。
是否可以使用标准 Linux 工具和一些配置(如果可以,如何?)或使用专业程序(如果可以,使用哪个?)
答案1
恩托普可能是您执行此操作的最佳解决方案。它旨在长期运行并准确捕获您正在寻找的内容。
它可以向您显示最常用的远程目标、发送到/发自的流量、正在使用的协议和端口等。如果您在路由器上运行它,它可以对源主机执行相同的操作,以便您可以看到本地客户的统计数据也相同。
然后,它使用 Web GUI 来导航和显示此信息。
答案2
如果你有root权限,你就可以使用tcpdump
并获取一切。然后您可以将其拉入Wireshark并随心所欲地分析。
$ sudo tcpdump -i <interface> -w mycapture.tcpdump
...然后在您玩够后按 ctrl-c。screen
如果您需要分离,请运行会话等。
默认情况下,它只会捕获每个数据包的第一部分,但由于您最感兴趣的是源分析,所以应该没问题。tcpdump 的大量其他选项如果你喜欢冒险。
编辑:事实上,一旦加载到Wireshark中,您就可以使用菜单选项统计数据|IP 地址...并按计数/速率/百分比获取流量的详细摘要:
答案3
对于更高级的指标,您可以使用类似的东西监视器其中包含最常见服务的模块,而且很简单:
apt-get install monitorix
还有你有仙人掌一个完整的 GUI RDD 工具,但不是实时的。
对我来说,排名第一的是多重配置格拉法纳。它的安装和配置有点困难,但它非常完美,您可以详细且实时地测量所有内容。它需要一些依赖项 JVM、graphite、whisper...一些关于 JSON 的知识,但它的工作方式就像一个魅力,我真的推荐它!
也许适合您的情况的一个好的配置应该是:
collectd + graphite + whisper + grafana
实际上 grafana 改变了我的办公室生活。
答案4
当然 ;)
https://github.com/graphite-project/whisper
另外,如果您想要一个关于如何连接所有内容的迷你指南: https://linuxboss.wordpress.com/2015/12/03/graphite-grafana/