MOOC网络日志分析
1.常见的服务器容器:Tomcat,Apache,Nginx
2.程序日志是用户在程序中自定义构建的,故没有通用性
PV(page view):即页面浏览量,或点击量;UV(独立访客):即Unique Visitor,访问您网站的一台电脑客户端为一个访客。
IP(独立IP):指独立IP数。
3.PV约等于UV:用户在访问网站时,点击次数并不多,网站不吸引人
IP大于UV:使用家庭宽带用户较多。
UV大于IP:非家庭宽带。
UV 会比IP少?
一般情况下,统计UV数应该大于等于IP数,但有些情况下,有可能UV数会小于IP数:
1) IP地址是绝对的,从TCP链路上取的,真实的,不唯一的;
2) UV设置的cookie,随机设置的,可重复的,只是重复概率足够小;
3) 移动笔记本不时的更换IP,可以导致这种问题;
4) 客户端禁用cookie或者客户端安全级别高会导致cookie设置不上,会出现这种问题;
5) 如果采用的图片统计,由于拿不到cookie会出现这种问题;
4.在了解网站负载情况后,可以对程序进行相应更改(如高CPU占比程序放在非高峰期运行)
5.恶意攻击IP判断条件是大量404状态码的HTTP请求
6.网站优化:
程序优化:调整网站前端适应性(更好的匹配不同浏览器下访问体验)
服务器优化:调整网站服务器地理位置(访问延迟降低)
搜索引擎推广:搜索引擎推广或优化
7.MaxCompute
分布式架构,简单易用(多API),安全可靠(底层是盘古文件系统,一式三份),管理授权
基本概念
项目空间:所有对象属于某一个项目空间,一个用户可以有多个项目空间,通过授权,项目空间可以进行互相访问 表:可以简单把项目空间看做为数据库,表中的列可以使MaxCompute中支持的任一数据类型(Bigint,double,String,Boolean,DateTime),其中不同计算类型包括输入输出均以表的形式
分区:创建表时指定的分区空间,表内的某个字段作为分区列(可以把分区值作为目录,用户可以指定多级分区,即指定多个字段)
任务:基本计算单元(SQL,MapReduce)
资源:用户自定义函数需要依赖资源,MaxCompute依赖的资源类型有File,Table(MaxCompute中的表),Jar(编译好的Java包),Archive类型(压缩包类型:zip,tz,tar,jar等)
8.MaxCompute基础架构图
第一层:ODPS客户端(MapReduce客户端)
可以使用REST API,SDK,CLT(命令号模式),IDE(在开发工具中集成相应工具)
第二层:ODPS接入层
账号权限鉴定操作
第三层:ODPS逻辑层
有很多的Worker,Scheduler,Executor,还包含大数据中源数据信息
如果查询数据是对源数据库的操作则可以直接返回信息,如果是复杂计算,则会将相应任务转发给第四层
第四层:ODPS存储/计算层
使用MR脚本或SQL进行真正的作业
9.DataIDE提供数据集成,处理,分析和管理功能,并为代码开发,调试,发布,运维,监控,管理提供了高效安全的离线数据开发环境。
10.QuickBI优势:
无缝集成云上数据库,图表(丰富可视化图表17种,智能推荐),分析(多维数据分析),快速搭建数据门户,实时(无需大量的数据预处理),安全管控数据权限(内置组织成员管控)
11.提取IP中的信息:
IP中可以提取到城市和网络服务商。
城市可以是我们对网站的用户进行地域分析,而网络服务商可以分析用户网络类型
提取IP中信息的方法:(优缺点)
免费API接口(淘宝):调用频率不宜过高
收费API接口(IP查询接口):更真实,更明确
本地数据(GeoIP,纯真数据库):纯真属性(IP起始,IP终止,地址信息,运营商)
IP转换成数字:DNS会将域名转换为真正IP
IP地址是32位二进制数,4组二进制数
将32位二进制数计算成10进制数number:(二进制数转十进制乘以(二的八次方)3次+二进制数转十进制乘以(二的八次方)2次+二进制数转十进制乘以(二的八次方)+二进制数转十进制)
数字访问方式:https://number
IP转数字的目的:为了将其转化为可查询的便捷方式
12.上传数据到MaxCompute
创建分别记录日志文件和IP库文件的每一行的两个表(tunnel参数fd为分隔符)
13.正则表达式:描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串,将匹配的子串替换或者从某个串中取出符合某个条件的子串等。
非贪婪模式:使用一定规则匹配时,尽可能少匹配字符
贪婪模式:使用一定规则匹配时,尽可能多匹配字符
regexp_substr(内容字符串,正则表达式,从第几个字符开始使用正则,匹配次数)
regexp_replace(内容字符串,匹配内容,转换内容)
14.从IP表中查询城市和运营商信息
由于IP库是区间类型的原因,所以需要在join中加入非等值。
由于MaxCompute不支持非等值join,所以使用MapJoin,不宜数据过大,因为数据存储在缓存中,小表,不超过500M
15.提取省信息和有效访问链接
16.访问时间和来源分类
要做趋势分析统计,就需要将日期进行处理
要对于访问来源分析,则需要对用户访问来源进行分析归纳
手动地址输入:来源为0
搜索引擎:引擎类型站
首页链接:放网站首页网站,other
17.访客客户端信息处理
18.访问链接TopN:使用group by查询用户访问最多的链接(url)
19.获取每个访客的第一条日志:
对"IP"和"客户端信息"一起group by来保证独立访客(独立客户端)
20.IP黑名单:
对IP进行group by查询404状态下count大于10次
21.工作流任务:由多个节点构成(SQL较为复杂,节点间有关系)
节点任务:单个节点
调度类型为周期调度或手动调度
可以通过从节点拖拽到两个节点使得两个节点同时执行,都执行后才会进行下一个节点
22.使用QuickBI演示网站日志分析结果:
流量分析:PV,UV,IP,趋势
来源分析:访问来源,搜索引擎
访问分析:链接TopN,IP黑名单
访客分析:地域分布,浏览器,操作系统,网络运营商
23.度量聚合方式(可以将维度转化为度量):
默认为求和,计数,计数(去重),最大值,最小值,平均值
24.问题解决思路
用户抱怨加载内容很慢:服务器地域调整,网络运营商调整
用户抱怨网站样式错乱:修改网站前端样式,适应用户浏览器
领导认为销量不合格:使用搜索引擎推广,搜索引擎优化
网站崩溃:加强网站程序安全,设置访问黑名单