阿里云大数据认证——MOOC网站日志分析-课堂笔记

824 阅读9分钟

阿里云Clouder认证

四、MOOC网站日志分析

1. 课程目标

(1) 了解网站日志分析的意义
(2) 了解网站日志如何搜集
(3) 使用编程语言对日志数据进行处理
(4) 使用编MaxCompute处理数据
(5) 使用QuickBI以图表形式展示数据

(6)目录
  - 网站日志分析背景
  - 网站日志分析一般流程 
  - 使用阿里云产品进行分析
  - 案例:MOOC网站用户访问日志分析

2. 日志收集简介

(1)网站日志

  • **日志:**网络设备、系统及服务程序等,在运行时都会产生一个叫log的事件记录。它的每一行都记载着日期、时间、使用者及动作等相关操作的描述。
  • **网站日志:**就是网站在运行过程中所产生的日志,包括系统日志和程序日志。
    • 系统日志一般就是网站所基于的服务器所自动生成的日志,如访问日志,系统错误日志等等。
    • 程序日志则由用户在程序中自定义构建。
  • 这里使用的是网站的系统访问日志。

(2)网站日志分析的重要性

  • 网站日志本身并没有太大价值,而当我们对其进行分析并利用的时候就会产生很大的价值。
  • 通过对网站日志的分析,我们可以了解:
    • 网站运行状况——如网站PV、UV
      • PV(page view),即页面浏览量,或点击量;通常是衡量一个网络新闻频道或网站甚至一条网络新闻的主要指标。
      • UV是指浏览您网站不同的自然人。UV反映的是实际使用者,而不是使用者所属的IP。如果以UV作为流量统计标准,可以更加准确的了解单位时间内实际上有多少个访问者来到了相应的页面。
    • 网站安全状况——如恶意攻击,密码暴力破解
    • 网站运营状况——如搜索引擎流量来源
    • 网站用户信息——如操作系统,浏览器
  • 以上分析可以提供决策支持,比如增加服务器,提升网站安全,修改营销策略等。

(3)网站日志分析

  • <1> 数据采集:
    • Tomcat
    • Nginx
    • 程序
  • <2> 数据处理:
    • 清理:去掉不需要的数据
    • 转换:转换成想要的目标数据
    • 抽取:从海量数据中提取
    • 数据量不大:通过Java/Python在本地进行处理
    • 数据量很大:使用大数据平台Hadoop等在分布式环境中进行处理
  • <3> 数据展现:
    • 图表化
    • Tableau——没有编程开发经验
    • D3.js
    • Python
  • <4> 结果处理:
    • 程序优化
    • 服务器调整
    • SEO优化——SEO(Search Engine Optimization):搜索引擎优化。*是一种方式:*利用搜索引擎的规则提高网站在有关搜索引擎内的自然排名。*目的是:*为网站提供生态式的自我营销解决方案,让其在行业内占据领先地位,获得品牌收益;SEO包含站外SEO和站内SEO两方面;为了从搜索引擎中获得更多的免费流量,从网站结构、内容建设方案、用户互动传播、页面等角度进行合理规划,还会使搜索引擎中显示的网站相关信息对用户来说更具有吸引力。

(4)网站访问日志搜集-nginx

  • Nginx是一个高性能的HTTP和反向代理服务器。常用来
  • 修改nginx配置文件:conf/nginx.conf,只需要增加access_log即可,如果想要配置访问日志的格式,可以使用log_format。
    access_log logs/access.log #存放路径
    access_log logs/access.log combined; #日志格式

(5)网站访问日志搜集-tomcat

  • Tomcat是一个被广泛使用的免费开放源代码的Web应用服务器。
  • 修改tomcat注册文件:conf/sever.xml,找到最下面的Access log配置,默认被注释,放开注释tomcat将会自动搜集访问日志。
  • %s:响应的HTTP状态代码
    • 200:成功
    • 300:请求未跳转
    • 400:客户端请求错误(找不到页面或者客户端认证失败)
    • 500:网站服务器错误

2. 网站常见的分析指标简介

(1)网站用户访问日志清理

  • 用户的IP:城市、网络运营商
  • 访问时间:提取具体的访问小时数
  • 请求链接:提取有效的链接
  • 来源链接:分类(自身、搜索引擎等)
  • 客户端信息:提取用户操作系统、浏览器名称等等

(2)网站的流量分析

  • **IP(独立IP):**即独立IP数。00:00-24:00内相同IP地址被计算一次。
  • **PV(访问量):**即Page View,即页面浏览量,用户每次刷新即被计算一次。
  • **UV(独立访客):**即Unique Visitor,访问网站的一个客户端为一个访客(一般在Cookie中分配唯一编号),通过IP和用户客户端信息来计算。
  • 关联分析:
    • UV:PV能看出一个网站的质量,比例越小越好。二者很接近,说明用户在访问网站时候点击次数少,网站内容可能并不吸引用户。
    • IP大于UV,说明使用家庭宽带用户多。
  • 访问趋势图:即一段时间中用户在各个时间段用户访问情况,也可以按PV、UV、IP指标细分,可以较直观的描绘整个网站在一段时间所有用户的并发情况,进而得到服务器的负载情况。

(3)网站的来源分析

  • **访问来源分析:**即用户从各个来源网站进入本站的占比。
  • **搜索引擎来源:**即来源中的各个搜索引擎的占比。

(4)网站的访问分析

  • **访问链接TopN:**即用户访问最多的链接。
  • **恶意攻击IP:**搜集疑似恶意攻击本网站的IP,用于IP黑名单。

(5)网站的访客分析

  • **访客地域分布:**即访客所处的地理位置
  • **访客浏览器:**即访客采用什么样的浏览器访问网站,如Chrome、Firefox、IE等。
  • **访客操作系统:**即访客所使用的操作系统,如Windows、OX X、android、IOS等。
  • **访客网络运营商:**即访客所使用的网络运营商,如电信、联通、移动等等。

(6)网站优化

  • 网站程序优化:如调整网站前端程序的适应性,使之能够更好地匹配网站在各个浏览器环境下的表现情况,增加用户的访问体验。
  • 网站服务器优化:如调整网站服务器的地理位置,降低网站访问延迟。
  • 搜索引擎推广

3. 阿里云相关产品介绍

(1)MaxCompute概述

  • 大数据计算服务(MaxCompute,原ODPS)由阿里云自主研发,提供针对TB/PB级数据、实时性要求不高的数据仓库解决方案。
  • **分布式:**采用分布式集群架构、跨集群技术突破、机群规模可以根据需要灵活扩展
  • **安全:**自动存储容错机制、所有计算在沙箱中运行、保障数据高安全性、高可靠性
  • **易用:**准API的方式提供服务、高并发高吞吐量数后上传下载、全面支持基于SQL的数据处理
  • **管理与授权:**支持多用户管理协同分析数据、支特多种方式对用户权限管理、配置灵活的数据访问控制策略 -MaxCompute的应用特点:
    • **海量运算触手可得:**根据数据规模自动调整集群存储和计算能力,最大化发挥数据的价值。
    • 服务“开箱即用”:又需简单的几步操作,就可以上传数据、分析数据并得到分析结果。
    • **数据存储安全可靠:**二重备份、读写鉴权、应用沙箱、系统沙箱等多层次安全机制。
    • **多用户协作:**保障数据安全的前提下最大化工作效率。
    • **按量付费:**根据实际使用收费,最大化降低数据使用成本。

(2)MaxCompute基本概念

  • <1>. **项目空间Project:**所有对象属于某一个项目空间,一个用户可以有多个项目空间。通过授权,多个项目空间可以进行互相的访问。项目空间可以看成一个关系新数据库。
  • <2>. **表Table:**在MaxCompute中,所有的数据都被存放在表中,表中的列可以是MaxCompute支持的任一种数据类型。MaxCompute中各种不同类型计算任务的操作对象,包括输入输出,都是以表的形式来处理的。用户可以创建、删除表,也可以授权给其他用户来访问。
  • <3>. **分区Partition:**指的是创建表时所指定的分区空间,即指定表内的某个字段作为分区列。分区类似文件系统下的目录,MaxCompute将分区列的每一个值作为一个分区目录,用户可以指定多级分区,即将表的多个字段作为表的分区。使用数据时,如果指定了需要访问数据的分区表名,则会读取相应的分区,避免进行全表扫描,进而提高了数据处理效率。
  • <4>. **任务Task:**是MaxCompute的基本计算单元,SQL和mapreduce功能都是通过Task来完成。
  • <5>. **资源Resource:**是MaxCompute特有的概念,用户使用MaxCompute的自定义函数,需要依赖资源来完成。资源类型包括File、Table、jar、压缩包(zip、gz、tar等)。

(3)大数据开发平台概述

  • 阿里云大数据开发平台(Data IDE),是一套基于MaxCompute的DW解决方案,它集成了阿里多年的DW实施经验,提供数据集成、处理、分析和管理功能,并为代码开发、调试、发布、运维、监控和管理提供了一个高效、安全的离线数据开发环境。
  • 提供:
    • 代码版本管理
    • 统一数据管理
    • 数据安全隔离
    • 工作流调度系统
    • 多人协调设计编码

(4)阿里云QuickBI

  • Quick BI(商务/商业智能)提供海量数据实时在线分析服务,支持拖拽式操作、提供了丰富的可视化效果,可以帮助轻松自如地完成数据分析、业务数据探查、报表制作等工作。它不止是业务人员看数据的工具,更是数据化运营的助推器,实现人人都是数据分析师。
  • Quick BI产品优势和价值:
    • 无缝集成云上数据库
    • 图表
    • 分析
    • 快速搭建数据门户
    • 实时
    • 安全管控数据权限