AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 107393
Accepted
GetFree
GetFree
Asked: 2010-01-29 14:48:26 +0800 CST2010-01-29 14:48:26 +0800 CST 2010-01-29 14:48:26 +0800 CST

Linux:如何测量每日/每月网络流量?

  • 772

我需要为一台 linux 机器(CentOS 5)保留每日网络流量的统计数据。

有没有办法使用标准/本机工具或实用程序来做到这一点?
还是我必须为此下载特殊软件?

谢谢。

linux centos traffic network-traffic measurement
  • 9 9 个回答
  • 45273 Views

9 个回答

  • Voted
  1. MadBoy
    2010-01-30T01:05:23+08:002010-01-30T01:05:23+08:00

    我还建议使用VnStat

    vnStat 1.6 by Teemu Toivola <tst at iki dot fi>
    
         -q,  --query          query database
         -h,  --hours          show hours
         -d,  --days           show days
         -m,  --months         show months
         -w,  --weeks          show weeks
         -t,  --top10          show top10
         -s,  --short          use short output
         -u,  --update         update database
         -i,  --iface          select interface (default: eth0)
         -?,  --help           short help
         -v,  --version        show version
         -tr, --traffic        calculate traffic
         -l,  --live           show transfer rate in real time
    
    
     eth0  /  monthly
    
       month         rx      |      tx      |   total
    -------------------------+--------------+--------------------------------------
      Oct '09     225.70 GB  |   798.52 GB  |     1.00 TB   %%%%:::::::::::::
      Nov '09     138.46 GB  |   616.54 GB  |   755.01 GB   %%::::::::::
    
     eth0  /  daily
    
    day         rx      |     tx      |  total
    ------------------------+-------------+----------------------------------------
       31.12.      6.56 GB  |   34.39 GB  |   40.95 GB   %%%::::::::::::::::
       01.01.      1.13 GB  |  746.92 MB  |    1.86 GB
    
    • 31
  2. Best Answer
    Jordan T. Cox
    2010-01-29T20:37:06+08:002010-01-29T20:37:06+08:00

    Zypher 所说的关于 rrdtool(以及任何其他使用它作为后端的东西——MRTG、Cacti 等)可能是正确的。RRDTool 旨在成为“平均”历史趋势分析工具。它以越来越不确定的增量对计数器进行平均和存储,随着时间的推移而增加。

    然而,这可以通过适当地设置 RRA 来配置。然而,我承认对配置这些完全一无所知,并且个人从来没有运气让它们超出我的标准设置(15 分钟、8 小时、1 周、1 个月、1 年)。我建议考虑配置 RRA 以期望每日输入并将其从 netstat 提供给您的带宽计数器。您将获得一些非常好的历史数据并深入了解您的使用模式。

    要回答您当前的问题,请确保您不超过每日带宽限制;我建议每天为相关接口获取 netstat 计数器。您可以将昨天在时间 t 的流量与今天在时间 t 的计数器进行比较,并找出转移了多少。具有先前值的平面文本文件存储的简单脚本可能就足够了。然后,如果您检测到超出的带宽或全天监控它,则可以禁用该接口,并在您接近限制时通知管理员。

    要在 OSX 系统上获取输入字节,您可以使用以下命令集:

    netstat -ib | grep -e "$INTERFACE" -m 1 | awk '{print $7}'
    

    相反,可以通过以下方式获得输出:

    netstat -ib | grep -e "$INTERFACE" -m 1 | awk '{print $10}'
    

    您可以将相关计数器弹出到存储在某处的平面文件中,并将其与:

    #!/bin/bash
    set -e # exit if any error occurs
    
    previous_days_bytes_xferred=`cat $flatfile_storage`
    todays_bytes_xferred=`netstat -ib | grep -e "$INTERFACE" -m 1 | awk '{print $10}'`
    
    if [ $((todays_bytes_xferred - previous_days_bytes_xferred)) -gt $threshold ]; then
       DO SOME STUFF
    fi
    echo $todays_bytes_xferred > $flatfile_storage
    

    只需调整 netstat 处理以匹配您的系统(因为我知道您没有运行 OSX)。

    • 10
  3. Hilton D
    2010-01-29T22:33:16+08:002010-01-29T22:33:16+08:00

    Vnstat是一个很棒的基于控制台的每日/每周/每月流量监视器。它甚至允许您实时监控流量,这很方便。

    它也使用很少的系统资源;)

    • 5
  4. d34dh0r53
    2010-01-29T15:14:40+08:002010-01-29T15:14:40+08:00

    sysstat 软件包包含 sar 实用程序。Sar 是一个非常可配置的系统“分析器”,因为没有更好的术语,它以预定义的时间间隔 (cron) 收集各种统计信息。这些存储在二进制文件中,每天一个,通常每周轮换一次,但这是可配置的。sar 程序可用于从这些文件中提取统计数据,并且可以使用任何办公程序或 gnuplot(我的个人偏好)轻松绘制这些结果。

    http://pagesperso-orange.fr/sebastien.godard/ <= Sar 信息
    http://www.gnuplot.info/ <= gnuplot 信息

    • 4
  5. gbjbaanb
    2010-01-29T15:12:09+08:002010-01-29T15:12:09+08:00

    您需要MRTG,这是一个网络监控工具,它可以生成您在网络上看到的所有网络图(使用 rdtool 将数字转换为图片)

    如果你不想设置它,或者只是需要一些更简单的东西,你可以使用iptables来记录数据传输。

    • 2
  6. Ali Mezgani
    2010-01-29T15:20:56+08:002010-01-29T15:20:56+08:00

    我使用了 mrtg,这是一个非常好的解决方案,还有其他一些看起来很有趣的工具,它提供了很多关于名为 ntop 的网络探测的流量信息,这里找到关于在 CentOS 上安装 ntop 的链接

    • 1
  7. Aaron Brown
    2010-01-29T15:32:55+08:002010-01-29T15:32:55+08:00

    MRTG 或 Cacti。Cacti 设置起来很麻烦,但提供了一些非常漂亮的图表。MRTG 很容易设置一个基本的情节,但对于任何漂亮或复杂的东西,它都很难。

    • 1
  8. gareth_bowles
    2010-01-29T16:13:36+08:002010-01-29T16:13:36+08:00

    Munin是另一个很好的基于 RRD 的工具,非常容易设置。默认网络统计信息非常基本,但添加其他插件很容易。我在我的一台服务器上附上了每日和每周统计数据的副本;您还可以在不同的页面上获得每月和每年的统计数据。

    [穆宁网络图][2]

    [2]:(死链接)http://www.freeimagehosting.net/image.php?7181b6e627.jpg

    • 1
  9. Joe Eaves
    2022-05-10T20:18:56+08:002022-05-10T20:18:56+08:00

    今天我正在使用 telegraf + influxdb 来做到这一点。不过,所有的魔法都在于制作一个像样的图表,我还没有专门针对每月使用量做过。

    这是带有一些示例的电报插件:

    https://github.com/influxdata/telegraf/blob/master/plugins/inputs/net/README.md

    • 0

相关问题

  • 你最喜欢的 Linux 发行版是什么?[关闭]

  • 上线的第一天:如何不杀死您的网站

  • 更改 PHP 的默认配置设置?

  • 保护新的 Ubuntu 服务器 [关闭]

  • (软)Ubuntu 7.10 上的 RAID 6,我应该迁移到 8.10 吗?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve