通过log分析,使用sort方法统计UV

    在互联网公司,产品的UV和PV对运营以及产品之后的发展有着很大的作用,通常这些都是运维或者是开发该做的事情,或者使用工具获得这些,但是作为测试人员,这也是个锻炼我们写脚本的好的方式
    首先我们看一下日志内容:
    [ INFO][2018-08-14 18:10:20] [version=2.2.29.0] [cmd=000184] [uid=11136482] [usqbm=220204] [usqlx=2] [method=MainController(109)] [phase=response] [time=8] [status=200]

通过日志我们能看到日志中都是有[ ]和空格格式化的。这样方便我们通过awk进行截取
以下是代码内容,大家可以自我感受一下,有问题可以回复。我会给大家解答

#!/bin/sh
#author by dabao

#通过grep获取log中含有uid的日志并重定向到另一个文件中
FILE=`grep "uid" /data/server/tomcat-his/logs/catalina.out>>count.log`

#使用wc统计出清洗过的日志有多少行,这些行数就是PV
PV=`cat $FILE | wc -l`
echo "PV:" $PV

#在通过awk截取出uid,然后通过sort去重,再统计出行数,就是UV
UV=`cat $FILE | awk '{print $5}' | sort -u | wc -l`
echo "UV:" $UV

代码逻辑很简单,但是用到了grep、awk、sort比较高级的shell语言,这也是一个很好的把之前老师教的内容用到实际的例子。

猜你喜欢

转载自blog.51cto.com/13025170/2159956
今日推荐