`
totoxian
  • 浏览: 1074388 次
  • 性别: Icon_minigender_2
  • 来自: 西安
文章分类
社区版块
存档分类
最新评论

利用linux处理网络流量数据

阅读更多
周海汉/文 2009.1.15
ablozhou #gmail.com
网络压力测试,需要处理原始数据,将原始的Byte/s 处理为Mbps,并通过直观曲线图表展示出来。
1.统计网卡流量
sar -n DEV 1 100 > net
得到网卡流量,原始数据如下:
10:32:41 IFACE rxpck/s txpck/s rxbyt/s txbyt/s rxcmp/s txcmp/s rxmcst/s
10:32:42 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
10:32:42 eth0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
10:32:42 eth1 0.00 0.00 0.00 0.00 0.00 0.00 0.00
10:32:42 sit0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
10:32:42 IFACE rxpck/s txpck/s rxbyt/s txbyt/s rxcmp/s txcmp/s rxmcst/s
10:32:43 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
10:32:43 eth0 79164.00 79161.00 8581912.00 8574255.00 0.00 0.00 0.00
10:32:43 eth1 0.00 0.00 0.00 0.00 0.00 0.00 0.00
10:32:43 sit0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
...
10:34:19 IFACE rxpck/s txpck/s rxbyt/s txbyt/s rxcmp/s txcmp/s rxmcst/s
10:34:20 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
10:34:20 eth0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
10:34:20 eth1 0.00 0.00 0.00 0.00 0.00 0.00 0.00
10:34:20 sit0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
10:34:20 IFACE rxpck/s txpck/s rxbyt/s txbyt/s rxcmp/s txcmp/s rxmcst/s
10:34:21 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
10:34:21 eth0 79657.00 79657.00 8602734.00 8606166.00 0.00 0.00 0.00
10:34:21 eth1 0.00 0.00 0.00 0.00 0.00 0.00 0.00
10:34:21 sit0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Average: IFACE rxpck/s txpck/s rxbyt/s txbyt/s rxcmp/s txcmp/s rxmcst/s
Average: lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Average: eth0 40091.69 40091.51 4329888.64 4331543.93 0.00 0.00 0.00
Average: eth1 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Average: sit0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
其中rxbyt/s 表示每秒接受的byte数,txbyt/s 表示每秒发送的byte数。我们可以将其加工成Mbps
2. 我们需要处理 eth0网卡的流量,将其余流量去掉
cat net | grep eth0 > net1
我们得到数据如下:
10:32:42 eth0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
10:32:43 eth0 79164.00 79161.00 8581912.00 8574255.00 0.00 0.00 0.00
...
10:34:20 eth0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
10:34:21 eth0 79657.00 79657.00 8602734.00 8606166.00 0.00 0.00 0.00
Average: eth0 40091.69 40091.51 4329888.64 4331543.93 0.00 0.00 0.00
3.我们需要处理rxbyt/s ,txbyt/s 将其余的列去掉
gawk '{print $5,$6}' net1 > net2
gawk 命令的执行格式:
gawk '模式匹配|命令语句 {动作}' 处理文件
我们这里没有模式匹配和语句,直接执行动作,打印第5第6列。
得到数据如下:
0.00 0.00
8581912.00 8574255.00
0.00 0.00
8723086.00 8726654.00
0.00 0.00
8718490.00 8721642.00
0.00 0.00
8558670.00 8562184.00
...
0.00 0.00
8602734.00 8606166.00
4329888.64 4331543.93
4.以上的数据,每行代表1秒,但网卡流量每2秒才能取到一次数据。所以是奇偶相间的数据。第0行开始的偶数行都是0. 我们将偶数行的 0 去掉。
这里方法很多。
a.) sed -n '{n;p}' net2 > net3
该命令表示用sed,隔一行打印一行。单引号里大括号的n表示跳到下一行,分号分隔命令,p表示打印命令。 -n表示安静模式,只打印输出。否则会读一行打印一行。
b.) gawk '$1 != 0.00 ' net2 > net3
gawk 可以带if表达式,循环,功能很强。因为数据很有规律,我们可以偷点懒,直接将第一列是0.00的数据行删掉。该命令表示第一列不等于0.00就打印出来。
5.将byte/s 处理为Mbps,并求2秒的均值。
gawk 'a=$1*8/(2*1024*1024), b=$2*8/(2*1024*1024){print a,b}' net3 > net4
将每一列的值*8,得到bit数,除以1M,得到Mbps,除以2得到均值,并赋给变量a,b。再打印出a和b的值。
6.将文件处理为csv文件,再通过excel程序来生成统计图表
用vi将最后一行平均值去掉。并可以在vi中用:%s/ /,/g 将空格替换为逗号,:w net.csv
7.用winSCP将net.csv传到windows,用excel 2007打开。
选中这两列数据,点插入,折线图,得到如下的图。可以调整一下标题和坐标说明。
分享到:
评论

相关推荐

    基于Linux的网络流量控制机制

    ### 基于Linux的网络流量控制机制 #### 摘要及背景 随着互联网技术的飞速发展,网络流量的急剧增长已成为普遍现象,尤其是视频流等多媒体数据的传输需求日益增加。传统的尽力而为(Best-effort)网络模型在处理...

    把握Linux网络流量.pdf

    "Linux网络流量管理" 本篇文章将讨论Linux网络流量管理的相关知识点。网络流量管理是网络管理者的主要任务之一,旨在了解网络设备的运作状况,维持系统的正常运作。一般来说,网络管理者需要了解的是各个网段的使用...

    Linux下实现网络流量记录.pdf

    本文主要介绍了几种在Linux环境下记录网络流量的方法,包括基于代理、路由器以及主机的解决方案,并重点讲解了利用主机上的网络监听器进行流量记录。 首先,基于代理的计费管理方式是在代理服务器上运行计费进程,...

    Linux下的MRTG流量监控的设计与实现

    本文将详细介绍如何在Linux系统上利用MRTG来实施网络流量监控。 1. **引言** 在信息化社会中,网络已经成为日常生活和工作中必不可少的基础设施。随着网络规模的扩大和复杂性的增加,网络流量监控显得越来越重要...

    php监控linux流量,cpu利用率,磁盘利用率,内存利用率

    1. **Linux流量**:网络流量监控可以帮助管理员识别潜在的网络瓶颈,检测异常流量,以及防止DDoS攻击。通过监控进出的数据量,可以确保带宽的有效利用。 2. **CPU利用率**:CPU使用率是衡量处理器工作负载的指标。...

    c++ Linux 流量统计,抓包重组

    标题 "c++ Linux 流量统计,抓包重组" 涉及到的是在Linux环境中使用C++语言开发网络流量监控程序的技术。该程序的主要功能是捕获网络接口上的数据包,对其进行重组和解析,然后将处理结果转换为JSON格式,并存储到...

    linux网络流量工具

    ### Linux网络流量监控工具知识点详解 #### 一、概述 在Linux系统中,网络流量的监控对于维护网络稳定性和性能优化至关重要。通过监控网络流量,管理员可以及时发现网络拥塞问题,合理分配带宽资源,并对网络安全...

    基于Linux的网络流量控制机制.pdf

    综上所述,基于Linux的网络流量控制机制是通过内核级别的优化,利用智能队列管理和策略,确保网络资源的有效分配,以满足不同用户和服务的QoS需求,提高整体网络效率和稳定性。这一机制对于现代互联网,尤其是多媒体...

    Linux进程网络流量统计的实现过程

    - 通过上述流程,可以实时获取每个进程的网络流量数据,包括总接收量、发送量,以及平均值等,这有助于分析进程的网络行为。 - 另外,还可以细化到进程的每个网络连接,分析单个连接的流量情况,这对于检测异常...

    Linux下实现流量监测源代码

    本资源提供了一份适用于初学者的流量监测源代码,通过学习和实践,可以理解Linux网络监控的基本原理。 首先,我们需要了解Linux下常用的流量监测工具,如`ifconfig`、`netstat`、`iptables`等。这些命令行工具提供...

    优化Linux网络处理性能的软中断处理机制.pdf

    《优化Linux网络处理性能的软中断处理机制》 在Linux操作系统中,网络处理性能的优化是提高系统整体效率的关键之一。软中断作为处理网络数据包的主要机制,其性能直接影响到系统的响应速度和吞吐量。文章针对软中断...

    基于MRTG的网络流量监测系统设计与实现 实验报告

    - **MRTG软件**:主要监测工具,用于收集和分析网络流量数据。 - **系统版本**:Windows XP ##### 实验步骤 1. **安装SNMP协议与IIS服务**:确保系统支持这些服务的运行。 2. **SNMP协议配置**:设置社区字符串...

    linux-利用tcpdump抓包和awk处理写的基于端口的流量统计

    本教程将详细介绍如何利用tcpdump进行网络数据包捕获,并通过awk工具进行后续的数据处理,以实现基于特定端口的流量统计。 tcpdump是一款强大的网络封包分析软件,它能够实时捕获网络中的数据包,同时可以将捕获到...

    精确测量Linux网络流量.pdf

    MRTG虽然是一款广泛使用的网络流量监控工具,但它存在一些缺点,如依赖文本格式的数据,实时性不足,且在处理复杂网络流量和多种协议时可能不够灵活。NToP等现代工具的出现,弥补了这些不足,能够更好地满足企业级...

    Cacti for LinuxUnix(网络流量监测图形分析工具) v1.2.24.gz

    Cacti是一款基于Web的网络监控和图形生成工具,专为Linux和Unix系统设计,用于实时监控网络设备的性能和流量。在这个版本v1.2.24.gz中,我们得到了Cacti的源码,这使得用户可以自定义、扩展和深度集成到自己的IT环境...

    Linux下的流量计量数据短信查询系统.pdf

    【Linux下的流量计量数据短信查询系统】是一种利用Linux操作系统开发的短信查询系统,主要用于流量计量数据的便捷查询。系统架构主要包括移动用户、GSM模块、SMS Server、流量计量数据库服务器、现有的OA系统以及...

    Linux下自适应网络数据捕获系统设计.pdf

    根据网络流量大小动态调整定时器的工作时间,在网络流量大时延长间隔,小流量时缩短间隔,这样可以降低中断带来的系统开销,同时能根据网络环境适时调整轮询频率,确保数据处理的及时性和高效性。 - **自适应定时器...

    linux下mrtg流量监控

    然后,利用crontabs设定定时任务,定期执行MRTG以更新流量数据。 5. **数据可视化**:MRTG生成的图表可以通过Web浏览器访问,如提供的演示地址所示,可以查看服务器和交换机的流量监控情况。 通过MRTG,网络管理员...

    Linux下利用TC工具控制网络流量[收集].pdf

    Linux TC(Traffic Control)工具是一个强大的网络流量控制工具,它允许管理员在Linux内核级别对网络流量进行精细化管理。TC工具主要应用于优化网络性能、限制带宽、实现QoS(Quality of Service)策略以及在网络中...

    UNIX Linux网络日志分析与流量监控

    UNIX/Linux网络日志分析与流量监控是网络管理员和安全分析师必备技能之一。该技能不仅有助于实时监控系统运行状态,还能在系统遭受攻击或出现故障时,通过分析日志文件快速定位问题,以及在安全事件发生后进行取证...

Global site tag (gtag.js) - Google Analytics