linux工作笔记_resin日志分析

宁静致远 2010-10-13

1、显示不包含'Mozilla'的行。

cat resin.log | grep -v 'Mozilla' | more

说明:

grep -v 就是不包含,去掉-v就是包含

2、只能内容输出到文件,也可将分析的结果写入文件

echo hello > 1.txt

3、输出响应码为200的记录。

cat resin.log | awk '{if($10 == 200) print $0}' | more

说明:

$10表示第10列

$0表示所有列

$NF表示最后一列

awk -F 参数可以指定列的分隔符,默认为空格 例如 more resin.log | awk -F. '{print $0}' 用"." 作为分隔符

4、统计行数

cat resin.log | wc -l

说明:

wc -l 显示行数

5、排序

sort -r -n -k 1 resin.log | more

说明:

-r 倒序

-n 表示排序按照数字类型

-k n 表示对第n列排序

6、对第10列进行排序,排重,并显示该行重复出现次数。

cat resin.log | awk '{print $10}' | sort -nr | uniq -c

说明:

uniq -c 表示排重,并显示重复出现的次数

7、计算第一列相加的和

awk '{print sum += $1}'

8、统计响应时间在1秒以上的“秒数以及对应的个数”

cat resin.log | awk '{if($1 > 1000000) print expr int($1/1000000)}' | sort -nr | uniq -c

9、请求时间大于1秒的,按区间统计

cat resin.log | awk '{if($1<1000000) print expr int($1/1000000)}' | sort -rnk 1 | uniq -c

cat resin.log | awk '{if($1>1000000 && $1<2000000) print expr int($1/1000000)}' | sort -rnk 1 | uniq -c

cat resin.log | awk '{if($1>2000000 && $1<5000000) print expr int($1/1000000)}' | sort -rnk 1 | uniq -c

cat resin.log | awk '{if($1>5000000 && $1<10000000) print expr int($1/1000000)}' | sort -rnk 1 | uniq -c

cat resin.log | awk '{if($1>10000000) print expr int($1/1000000)}' | sort -rnk 1 | uniq -c

10、最慢的20个请求

11、找到目录下的所有文件,依次执行 grep 命令

find /ROOT/logs/nginx/ | xargs grep "template=resumeshare"

相关推荐