MOOC日志分析
日志
网络设备、系统及服务程序等,在运作时都会产生一个叫log的事件记录。它的每一行都记载着日期、时间、使用者及动作等相关操作的描述
网站日志
网站在运行过程中所产生的日志,包括系统日志和程序日志
- 系统日志:网站听基于的服务器容据所自动生成的日志,如访问日志,系统错误日志等等
- 程序日志:由用户在程序中定义构建
网站日志分析流程
数据采集,数据处理,数据展现,结果处理
- 数据采集(Tomcat、Nginx、使用程序自定义采集)
- 数据处理(清理、转换、抽取,SQL、Java、Python、Hadoop)
- 数据展现(图表化、Tableau、D3.js、Python)
- 结果处理(程序优化、服务器调整、SEO优化)
网站日志分析的重要性
- 网站运行状况(如网站PV,UV )
- 网站安全状况(如恶意攻击,密码暴力破解)
- 网站运营状况(如搜索引擎流量来源)
- 网站用户信息(如操作系统,浏览器)
Nginx
一个高性能的HTTP和反向代理服务器
用户请求分发,简单的负载均衡。默认不开启访问日志。修改配置文件conf/nginx.conf。开启访问日志,配置访问日志格式log_format
access_log logs/access.log
access_log logs/access.log combined
log_format combined '$remote_addr - $remote_user [$time_local]'
'"$request" $status $body_bytes_sent''"$http_referer""$http_user_agent"';
Tomcat
一个免费的开放源代码的Web应用服务器
默认注释访问日志,修改tomcat配置文件conf/server.xml,放开注释tomcat将会自动搜集访问日志
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
<Value className="org.apache.catalina.valves.AccessLogValue" directory="logs"
prefix="localhost_access_log." suffix=".txt"
pattern="%h%l%u%t"%r"%s%b"/>
</Host>
%a #远程IP地址
%A #本地IP地址
%b #发送的字节数,不包括HTTP头,如果为0则为“-”
%B #发送的字节数,不包括HTTP头
%h #远程主机名
%H #请求协议
%l #远程逻辑从identd的用户名(总是返回‘-’)
%m #请求方法
%p #本地端口
%q #查询字符串
%r #第一行的要求
%s #响应的HTTP状态代码
%S #用户会话ID
%t #日期和时间,在通用日志格式
%u #远程用户身份验证
%U #请求的URL路径
%v #本地服务器名
%D #处理请求的时间(以毫秒为单位)
%T #处理请求的时间(以秒为单位)
%I #当前请求的线程名称
判断恶意攻击的依据
大量的404状态的HTTP请求
网站用户访问日志清理
用户的IP,访问时间,请求链接,来源链接,客户端信息
网站流量分析
IP(独立IP):即独立IP数。00:00-24:00内相同IP地址之被计算一次
PV(访问量):即Page View,即页面浏览量,用户每次刷新即被计算一次
UV(独立访客):即Unique Visitor,访问你网站的一个客户端为一个访客(一般在Cookie中分配唯一编号)
访问趋势图:即一段时间中用户在各个时间段用户访问情况,也可以按PV,UV,IP指标细分
网站来源分析
访问来源分析:即用户从各个来源网站进入本站的占比
搜索引擎来源:即来源中的各个搜索引擎的占比
网站访问分析
访问链接TopN:即用户访问最多的链接
恶意攻击IP:搜索疑似恶意攻击本网站的IP,用于IP黑名单
网站访客分析
访客地域分布:即访客所处的地址位置
访客浏览器:即访客采用什么样的浏览访问网站
访客操作系统:即访客所使用的操作系统
访客网络运营商:即访客所使用的网络运营商
网络优化
程序优化,服务器优化,搜索引擎推广
MaxCompute
ODPS,阿里云自主研发,提供针对TB/PB级数据、实时性要求不高的数据仓库解决方案
特点:分布式架构,简单易用,安全可靠,管理与授权
基本概念:项目空间project,表table,分区partition,任务task,资源resource
基本架构:客户端,接入层,逻辑层,计算层
Data IDE
阿里云大数据开发平台,一套基于Maxcompute的DW解决方案,提供数据集成、处理、分析和管理功能,并为代码开发、调试、发布、运维、监控和管理提供了一个高效、安全的离线数据开发环境
Quick BI
提供海量数据实时在线分析服务,支持拖拽式操作、提供了丰富的可视化效果,可以帮助你轻松自如地完成数据分析、业务数据探查、报表制作等工作
特点:支持多种源数据,成本低,速度快,易操作,安全
优势和价值:无缝集成云上数据库,图表,分析(多维度数据分析),快速搭建数据门户,实时,安全管控数据权限
网站运行过程中遇到的问题
- 用户抱怨网站加载内容很慢
- 用户抱怨网站样式错乱
- 领导认为课程销量不行
- 网站偶尔发生崩溃
数据预处理
使用Java对文本预处理:增加一个自增长的ID列。由于访问时间精度不够(只有秒级别,如果是毫秒就不用增加ID列了)
提取IP中的信息:城市,网络服务商
提取IP中信息的方法:免费API接口,收费API接口,本地数据
纯真IP数据库
全国的IP段,只提供IP地址查询http://update.cz88.net/soft/setup.zip
属性:IP起,IP止,地址信息,运营商
IP地址是32位二进制数
IP转数字:a.b.c.d=>a256256256+b256256+c256+d