免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1785 | 回复: 0
打印 上一主题 下一主题

一个AWK脚本处理NSSTAT输出 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-02-16 02:48 |只看该作者 |倒序浏览
nfsstat输出的结构如下:

Server nfs v2:
null       getattr    setattr    root       lookup     readlink
0       0% 0       0% 0       0% 0       0% 0       0% 0       0%
read       wrcache    write      create     remove     rename
0       0% 0       0% 0       0% 0       0% 0       0% 0       0%
link       symlink    mkdir      rmdir      readdir    fsstat
0       0% 0       0% 0       0% 0       0% 0       0% 0       0%

Client nfs v3:
null       getattr    setattr    lookup     access     readlink
0       0% 38042  82% 0       0% 1577    3% 5791   12% 0       0%
read       write      create     mkdir      symlink    mknod
553     1% 0       0% 0       0% 0       0% 0       0% 0       0%
remove     rmdir      rename     link       readdir    readdirplus
0       0% 0       0% 0       0% 0       0% 3       0% 0       0%
fsstat     fsinfo     pathconf   commit
59      0% 59      0% 0       0% 0       0%
运行nfsstat每分钟,并把输出定向到一个文本文件。

需要提取各种操作的数量, 和每秒的平均数。

grep -A9 "Server nfs v3" text-file > new-text-file
awk ‘/\/ {getline; print}’ new-text-file | sed –n ‘1~10p’ | awk ‘ print NR, $1’ | awk ‘{a[$1]=$2} END {for (i=2;i  print (a-a[i-1])/600}’

第一,awk搜索需要的关键词,例如read, write, getattr, 注意还有readdir等, 所以用了正则表达式\来匹配仅仅read这个词, 匹配后awk会打印匹配的下一行, 而不是当前行, 因为我们需要的是IO的具体数字。
第二,sed用于每10行抽取一行, 这个是因为我使用的log是没分钟的记录一次NFSSTAT,对于一天来说,数据太多。没10行打印一行,一天有144行。
第三,awk,用于从行中抽取数据, 并在前面加上行号。read对应的数据在第一列, 所以是打印$1;如果是write,相应的$1要换成$3。 NR的作用是在数据前面加上行号,这是为了后面一条awk的数组操作做准备。
第四,awk,将数据按照行号赋值给数组, 并使用数组中后一个数据减掉前一个数据, 得到10分钟时段内的总的IO数, 除以600, 得到每秒的IO数。输出文件为单列的文本文件。

使用EXCEl很方便的可以处理这个文本文件,可以比较方便的得到每种操作的每秒品均数。






本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/14914/showart_479060.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP