一、日志分析
以nginx日志为例;
1、
日志字段含义:
$remote addr
客户端的ip地址(如果中间有代理服务器那么这里显示的ip就为代理服务器的ip地址)
Sremote user
用于记录远程客户端的用户名称(一般为“-”)
Stime local
用于记录访问时间和时区
$request
用于记录请求的ur1以及请求方法
$status
响应状态码
Sbody bytes sent
给客户端发送的文件主体内容大小
Srequest body
为post的数据
Shttp referer
可以记录用户是从哪个链接访问过来的
Shttp user agent
用户所使用的代理(一般为浏览器)
Shttp x forwarded for
可以记录客户端IP,通过代理服务器来记录客户端的ip地址
$host
服务器主机名称
2、
数据质量:
原始数据清洗-MapReduce
*往往数据的不合格,导致应用程序出问题(考虑不全),空指针异常
二、业务需求之IP地址分析
#
$remote_addr
客户端的ip地址(如果中间有代理服务器那么这里显示的ip就为代理服务器的ip地址)。
#
业务
>依据ip地址确定区域,定向营销,【IP地址>地域】
>用户统计,访问某一网站数
*准确性(同一外网,不同内网)
四、业务需求之访问时间
#
$time_local
用于记录访问时间和时区。
#
业务
>分析用户访问网站的时间段
>针对销售来说,合理安排值班,销售课程
五、业务需求之转入链接
$http_referer
可以记录用户是从哪个链接访问过来的。
业务
>关注用户如何,访问我们的课程,定向某个区域,进行广告投放
六、流程分析
*收集数据
*程序
put hdfs
*flume
*shell
*处理数据
*预处理
mr
时间格式
2019-04-18T17:23:45
hive
*处理
mr
--------------需要对结果集,进行处理,数据格式(json,导入到RDBMS)-----------
*展示数据
*报表工具,进行展示