【虎.无名】监控网络IO的几种种方式:sh脚本/iftraf/nmon/iftop/iotop/... 1)通过编写ionet.sh脚本来完成。计算某个网络设备的的流量(无需root权限)。。。231上(Linux-2.6.9-42.ELsmp)可用 2)iptraf -g 是一个字符型图像界面的,针对所有网络设备来统计。需要root权限 3)nmon功能比较强,最早用于aix,后来移植到linux了,可生成采样数据,并可离线分析生成excel报表。 4)iftop()需要安装。 5)IoTop()需要安装。 6)cat /proc/net/dev Inter-| Receive | Transmit face |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressed lo:3898080016 110806564 0 0 0 0 0 0 3898080016 110806564 0 0 0 0 0 0 eth0:1676987060 112787274 0 0 0 0 0 1148 2489184522 76692292 0 0 0 0 0 0 7)针对某个Interface的网络流量可以通过比较两个时间网络接口的RX和TX数据来获得 $ date; ifconfig eth1 $ date; ifconfig eth1 8)通过SNMP采集数据。 “监控宝”推出的服务器的“仪表盘” 最近一段日子,监控宝快速增强服务器监控功能,提供了各种历史统计,并且推出了服务器概述页面,它就像服务器的“仪表盘”一样,让你可以快速的对服务器的运行状况一目了然 Linux图形化之流量监控和IO监控 _ 凯哥 因为做linux常常会要做linux下的流量查看,下面的三个方法能很好的解决当前流量查看.注:我认为nload很破,不准.安装方法,请查我的另一个文章,linux的rpm高级管理. (1)iftop工具 用途: 用来即时监看网路状态和各ip所使用的频宽。 执行(必须以root身份) # iftop -i eth1 # 监控eth1的网卡的流量 $ iftop -B # 以位元组(bytes)为单位显示流量(预设是位元bits): $ iftop -n # 直接显示IP, 不进行DNS反解: $ iftop -N # 直接显示连接埠编号, 不显示服务名称: $ iftop -F 192.168.1.0/24 or 192.168.1.0/255.255.255.0 # 显示某个网段进出封包流量 其他参数可下 iftop -h 看说明. 进入iftop画面时, 可按 p 切换是否显示连接埠, n 切换显示IP或主机的domain name, N切换显示连接埠代号或名称, p暂停显示, b切换是否显示长条, B切换计算几秒内的平均流量, 其他按键可以按h观看说明. 設定檔的位置在~/.iftoprc , 關於設定檔的寫法可以參考 iftop 的 info page. (2)nload 用途: 用来即时监看网路状态和各ip所使用的频宽(很废话了) #nload eth1 # nload默认的是eth0网卡,如果你想监测eth1网卡的流量 nload默认分为上下两块:上半部分是:Incoming也就是进入网卡的流量,下半部分是:Outgoing,也就是从这块网卡出去的流量,每 部分都有当前流量(Curr),平均流量(Avg),最小流量(Min),{zd0}流量(Max),总和流量(Ttl)这几个部分,看起来还是蛮直观的。另外,你也可以自己定义流量数值显示的单位 #nload –help # 就可以看到具体的相关参数了。 查看网络平均流量 (3)下面的脚本可以很好的监控你的网络的平均流量,你可以提定时间 # ionet.sh #!/bin/bash echo -n "which nic?" read eth echo "the nic is "$eth echo -n "how much seconds:" read sec echo "duration is "$sec" seconds, wait please…" infirst=$(awk '/'$eth'/{print $1 }' /proc/net/dev |sed 's/'$eth'://') outfirst=$(awk '/'$eth'/{print $10 }' /proc/net/dev) sumfirst=$(($infirst+$outfirst)) sleep $sec"s" inend=$(awk '/'$eth'/{print $1 }' /proc/net/dev |sed 's/'$eth'://') outend=$(awk '/'$eth'/{print $10 }' /proc/net/dev) sumend=$(($inend+$outend)) sum=$(($sumend-$sumfirst)) echo $sec" seconds total :"$sum"bytes" aver=$(($sum/$sec)) echo "avrage :"$aver"bytes/sec" (4)还有一个叫ipband的软件听讲不错,有兴趣可以到 看看 (5)IO图形化监控 windows的任务管理器很不错,可以直接看到进程和对应IO的情况。 linux也有了,不过要求python>=2.5,内核>=2.6.20 主页: 下载: 查看 CPU,内存,网络流量和磁盘 I/O 3. 查看网络流量,可以用工具iptraf工具 $ iptraf -g 针对某个Interface的网络流量可以通过比较两个时间网络接口的RX和TX数据来获得 $ date; ifconfig eth1 $ date; ifconfig eth1 还有这个,最早是aix下,后来移植到linux也可用了 nmon的功能很强,还可生成excel报表。 用nmon监控aix的性能,nmon_analyser分析系统监控数据 nmon是一款很好的unix、linux下的系统性能监控工具。 下载地址: 虽然网上有很多nmon的使用安装介绍,但是我按照他们的指导都没有安装成功。自己摸索着安装成功了。不过仍然感谢这些文档的指导。 Nmon安装手册 1.必须用2进制数据格式传输到主机上,否则你明明ls看得到这个文件,解压的时候告诉你没有这个文件,this file is not exist。 ftp 192.168.*.* 用户:root 密码:**** cd /home mkdir monitor cd monitor mkdir nmon cd nmon bin put e:/aix/nmon/nmon4aix12a.tar.gz 你所下载的nmon的地址 2.用xmanager登录aix #cd /home/monitor/nmon #gzip nmon4aix12a.tar.gz #tar –xf nmon4aix12a.tar 可能tar的时候有报错,修改文件属性为755 即可。 安装完毕、 #cd nmon4aix12a 运行监控程序 #./nmon 按空格' s# l0 J2 b' y, k& \; H y 然后按“c”键 然后按“m”键 nmon_analyser分析系统监控数据,并有图标显示 1.下载nmon_analyser,地址: 2.这个文件不用上传到aix上,在pc上解压即可。很多人包括我都有此疑惑,解压完了就是一个doc文件NA_UserGuide v33.doc,一个xls文件nmon analyser v334.xls,怎么执行啊,怎么分析啊。请接着看。 3.在aix上运行nmon捕获数据,在当前目录下生产监控日志文件,文件以主机名和日期命名。 #./nmon -f -s 30 -c 120 nmon每30秒捕获一次数据快照 生产app_090623_1451.nmon文件, 4.将生产的app_090623_1451.nmon下载在pc上。 5.打开nmon analyser v334.xls,注意一般会报错,说宏的安全级别太高,一定要把宏的安全级别降到{zd1},在excel的工具-宏-安全性。 6.点击nmon analyser v334.xls文件里的按钮analyser nmon data,选择刚才下载的app_090623_1451.nmon,完成后另存为即可。 关于nmon_analyser的详细文档见NA_UserGuide v33.doc。 关于nmon的文档见 Linux下监控网卡流量的软件iftop 官网上说使用iftop需要libpcap和libcurses这两个包。 安装iftop: # wget # tar zxvf iftop-0.17.tar.gz # cd iftop-0.17 # ./configure --prefix=/usr/local/iftop && make && make install # /usr/local/iftop/sbin/iftop //默认监测eth0网卡流量 |