Get*_*ree 20 linux traffic centos measurement network-traffic
我需要为 linux 机器 (CentOS 5) 保留每日网络流量的统计信息。
有没有办法使用标准/本机工具或实用程序来做到这一点?
还是我必须为此下载特殊软件?
谢谢。
Mad*_*Boy 30
我还建议使用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
Run Code Online (Sandbox Code Playgroud)
Jor*_*Cox 10
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}'
Run Code Online (Sandbox Code Playgroud)
相反,可以通过以下方式获得输出:
netstat -ib | grep -e "$INTERFACE" -m 1 | awk '{print $10}'
Run Code Online (Sandbox Code Playgroud)
您可以将相关计数器弹出到存储在某处的平面文件中,并将其与:
#!/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
Run Code Online (Sandbox Code Playgroud)
只需调整 netstat 处理以匹配您的系统(因为我知道您没有运行 OSX)。