互联网公司每天都要统计日志文件,从中挖掘出想要的信息,比如一个软件的安装量、活跃度等。这些信息都需要入库,并进行展示。下面,对这个实现过程进行讲解。
具体的过程可分为以下几个步骤:
(1)awk统计日志文件,并将统计结果拼接成sql语句;
(2)写shell脚本,将这些sql语句入库;
(3)将shell脚本加入linux中的计划任务中,让其每天凌晨定时执行,从而实现每天自动分析日志并入库;
下面分步骤进行讲解。
一. awk统计日志文件,并拼接成sql语句
awk是对日志文件分析的一个有效命令,下面通过统计日志,计算出活跃用户数、活跃安装id、用户在线时长、一日留存率、和两日留存率。其中一日留存率表示昨天日志中的用户仍然出现在今天的日志中。其中两日留存率表示两天前日志中的用户仍然出现在今天的日志中,即两天前的用户今天仍然使用了该软件。
日志的格式如下:
时间 ip 版本 用户行为 安装序列号 用户id 安装渠道 所安装在的操作系统 在软件上操作的区域 在操作区域上的动作
下面给出几行日志数据示例:
23:55:00 211.11.21.81 1.0.0 getActiveUser 00-00-00-00-00-00-01 000000001 web Windows XP
23:55:05 221.21.31.91 2.0.1 sendMsgClient 00-00-00-00-00-00-02 100000000 web Windows XP
23:55:05 231.31.41.98 2.0.5 uploadPPimlog 00-00-00-00-00-00-03 000000020