加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

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

发布时间:2020-12-13 18:15:22 所属栏目:Linux 来源:网络整理
导读:我需要保留 linux机器(CentOS 5)的每日网络流量统计数据. 有没有办法使用标准/本机工具或实用程序? 或者我是否必须下载特殊软件? 谢谢. 解决方法 Zypher对rrdtool(以及其他任何使用它作为后端 – MRTG,Cacti等)的说法可能都是正确的. RRDTool旨在成为“平
我需要保留 linux机器(CentOS 5)的每日网络流量统计数据.

有没有办法使用标准/本机工具或实用程序?
或者我是否必须下载特殊软件?

谢谢.

解决方法

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).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读