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
要回答您当前的问题,请确保您不超过每日带宽限制;我建议每天为相关接口获取 netstat 计数器。您可以将昨天在时间 t 的流量与今天在时间 t 的计数器进行比较,并找出转移了多少。具有先前值的平面文本文件存储的简单脚本可能就足够了。然后,如果您检测到超出的带宽或全天监控它,则可以禁用该接口,并在您接近限制时通知管理员。
#!/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
我还建议使用VnStat
Zypher 所说的关于 rrdtool(以及任何其他使用它作为后端的东西——MRTG、Cacti 等)可能是正确的。RRDTool 旨在成为“平均”历史趋势分析工具。它以越来越不确定的增量对计数器进行平均和存储,随着时间的推移而增加。
然而,这可以通过适当地设置 RRA 来配置。然而,我承认对配置这些完全一无所知,并且个人从来没有运气让它们超出我的标准设置(15 分钟、8 小时、1 周、1 个月、1 年)。我建议考虑配置 RRA 以期望每日输入并将其从 netstat 提供给您的带宽计数器。您将获得一些非常好的历史数据并深入了解您的使用模式。
要回答您当前的问题,请确保您不超过每日带宽限制;我建议每天为相关接口获取 netstat 计数器。您可以将昨天在时间 t 的流量与今天在时间 t 的计数器进行比较,并找出转移了多少。具有先前值的平面文本文件存储的简单脚本可能就足够了。然后,如果您检测到超出的带宽或全天监控它,则可以禁用该接口,并在您接近限制时通知管理员。
要在 OSX 系统上获取输入字节,您可以使用以下命令集:
相反,可以通过以下方式获得输出:
您可以将相关计数器弹出到存储在某处的平面文件中,并将其与:
只需调整 netstat 处理以匹配您的系统(因为我知道您没有运行 OSX)。
Vnstat是一个很棒的基于控制台的每日/每周/每月流量监视器。它甚至允许您实时监控流量,这很方便。
它也使用很少的系统资源;)
sysstat 软件包包含 sar 实用程序。Sar 是一个非常可配置的系统“分析器”,因为没有更好的术语,它以预定义的时间间隔 (cron) 收集各种统计信息。这些存储在二进制文件中,每天一个,通常每周轮换一次,但这是可配置的。sar 程序可用于从这些文件中提取统计数据,并且可以使用任何办公程序或 gnuplot(我的个人偏好)轻松绘制这些结果。
http://pagesperso-orange.fr/sebastien.godard/ <= Sar 信息
http://www.gnuplot.info/ <= gnuplot 信息
您需要MRTG,这是一个网络监控工具,它可以生成您在网络上看到的所有网络图(使用 rdtool 将数字转换为图片)
如果你不想设置它,或者只是需要一些更简单的东西,你可以使用iptables来记录数据传输。
我使用了 mrtg,这是一个非常好的解决方案,还有其他一些看起来很有趣的工具,它提供了很多关于名为 ntop 的网络探测的流量信息,这里找到关于在 CentOS 上安装 ntop 的链接
MRTG 或 Cacti。Cacti 设置起来很麻烦,但提供了一些非常漂亮的图表。MRTG 很容易设置一个基本的情节,但对于任何漂亮或复杂的东西,它都很难。
Munin是另一个很好的基于 RRD 的工具,非常容易设置。默认网络统计信息非常基本,但添加其他插件很容易。我在我的一台服务器上附上了每日和每周统计数据的副本;您还可以在不同的页面上获得每月和每年的统计数据。
[穆宁网络图][2]
[2]:(死链接)http://www.freeimagehosting.net/image.php?7181b6e627.jpg
今天我正在使用 telegraf + influxdb 来做到这一点。不过,所有的魔法都在于制作一个像样的图表,我还没有专门针对每月使用量做过。
这是带有一些示例的电报插件:
https://github.com/influxdata/telegraf/blob/master/plugins/inputs/net/README.md