xcgghjkspo 发表于 2016-3-2 13:18:59

linux工作笔记_resin日志分析

  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"
  
  
页: [1]
查看完整版本: linux工作笔记_resin日志分析