课堂随笔1 - MOOC网站日志分析

news/2024/5/2 3:22:07/文章来源:https://blog.csdn.net/cpongo1/article/details/89540514

大数据Clouder:MOOC网站日志分析

日志,log,事件记录
网站日志:系统日志,程序日志

网站的系统访问日志,有通用格式

网站日志分析:
(1)价值/重要性:运行,安全,运营,用户信息
(2)流程:采集,处理,展现,结果

重要性:
①网站运行状况(如网站PV,UV),
②网站安全状况(如恶意攻击,密码暴力破解),
③网站运营状况(如搜索引擎流量来源),
④网站用户信息(如操作系统,浏览器)。

流程:
①数据采集(Tomcat、Nginx、使用程序自定义采集),
②数据处理(清理、转换、抽取,SQL、Java、Python、Hadoop),
③数据展现(图表化、Tableau、D3.js、Python),
④结果处理(程序优化、服务器调整、SEO优化)。

Nginx:Nginx(engine x)是一个高性能的HTTP和反向代理服务器。
用户请求分发,简单的负载均衡。默认不开启访问日志。修改配置文件。开启访问日志,配置访问日志格式。
Tomcat:Tomcat服务器是一个免费的开放源代码的Web应用服务器。
默认不开启访问日志。修改配置文件。

正则表达式,提取属性
HTTP请求类型:GET,POST。
判断是否为恶意攻击的依据:大量的404状态的HTTP请求。

网站用户访问日志清理:用户的IP,访问时间,请求链接,来源链接,客户端信息。

网站的流量分析:IP(独立IP),PV(访问量),UV(独立客户),访问趋势图。
网站的来源分析:访问来源分析,搜索引擎来源。
网站的访问分析:访问链接TopN,恶意攻击IP。
网站的访客分析:访客地域分布,访客浏览器,访客操作系统,访客网络运营商。

网络优化:程序优化,服务器优化,搜索引擎推广。

MaxCompute(本文中简称MC),Quick BI

MC概述:大数据计算服务(MaxCompute,原名ODPS)由阿里云自主研发,提供针对TB/PB级数据、实时性要求不高的数据仓库解决方案。
MC产品特点:分布式架构,简单易用,安全可靠,管理与授权。
MC概念名词:项目空间project,表table,分区partition,任务task,资源resource。
MC基础架构,ODPS:计算层,逻辑层,接入层,客户端。

Quick BI使用哪些技术进行数据分析:数据仓库技术,线上分析技术,数据挖掘,数据展现技术。
Quick BI:支持多种源数据,成本低,速度快,易操作,安全。
Quick BI实现:数据分析,数据自助获取,业务数据探查,报表制作,数据门户搭建。
Quick BI优势和价值:无缝集成云上数据库,图表,分析(多维度数据分析),快速搭建数据门户,实时,安全管控数据权限。

MOOC网站用户访问日志分析

网站运行过程中遇到的问题:
①用户抱怨网站加载内容很慢,
②用户抱怨网站样式错乱,
③领导认为课程销量不行,
④网站偶尔发生崩溃。

使用Java对文本预处理:增加一个自增长的ID列。由于访问时间精度不够,(只有秒级别,如果是毫秒就不用增加ID列了)。

提取IP中的信息:城市,网络服务商。

纯真IP数据库:是全国的IP段,只提供IP地址查询。收集全国和主要国家地区的几乎所有IP段对应的城市信息。之前IPQQ对应城市就是利用这个数据库来完成的,是目前公开的更新最快最全的IP地址库 。就是一个可以查询ip地址的软件。
属性:IP起,IP止,地址信息,运营商。

IP转数字:a.b.c.d=>a256256256+b256256+c256+d

使用tunnel命令行上传数据到MC:
①下载odpscmd客户端
②配置,odpscmd_public->conf->odps_config.ini:项目名,Access Key ID ,Access Key Secret
③开启,odpscmd_public->bin->odpscmd.bat
④使用
建表:
create tabel t_web_access_log_content(content string); --日志文件
create table t_cz_ip_content(content string); --IP库文件
使用tunnel上传数据:
tunnel upload -fd "NoDelimiter" D:access.log t_web_access_log_content;
tunnel upload -fd "NoDelimiter" D:ip.txt t_cz_ip_content;
查看:
show tables;
select * from t_test limit 5;

正则表达式

使用正则表达式提取:
①日志属性(MOOC网站的用户访问日志),
②IP属性(纯真IP数据库),
③省信息和有效访问链接(省、自治区、直辖市、港澳),
④访问时间处理和来源分类(self、google、baidu、bing、360),⑤访问客户端信息处理(操作系统、浏览器) ,
⑥访问链接TopN(group by url --使用url分组,limit 10 --显示前10个),
⑦每个访客的第一条日志(独立访客,即独立客户端),
⑧IP黑名单(status="404",group by ip,count>10) 。
注意:
在提取IP时,将IP的第一个段单独提取存放,使用IP的第一个段可以进行表关联的优化,(因为目前还没有运营商的IP是跨第一个段的)。
有了①②,就可以从IP表中查询城市和运营商信息。
MaxCompute不支持非等值join,可以使用MapJoin,但mapjoin的表不能太大,不能超过512MB,(默认的join是reduce join)。
对IP和客户端信息一起group by来保证独立访客,即独立客户端。
判断是否为恶意攻击的依据:大量的404状态的HTTP请求。

1
2
3
4
5
6

对应的沙箱实验

网址:https://edu.aliyun.com/lab/courses/9f0e0b2dd2984081b17b0fd494064233/detail?purchaseRecordId=f49454db14b143618e661c654f883830
实验环境:JAVA环境,odpscmd客户端,DataWorks->项目->进入工作区->IDE页面。
实验步骤:(1)使用MaxCompute处理数据,(2)使用Quick BI展现数据。

(1)使用MC处理数据:
1、对日志文件进行预处理:增加一个自增长的ID列。在每行最前面加上一个ID,然后以空格隔开。
方法一:采用Java编程语言处理。
方法二:使用excel处理(数据量不大的情况下)。
注意:Tab键是tabulator(制表键)。
①使用excel打开日志文件access.log。
②在第一列前插入一列新列->在A1单元格中填入数字“1”->全选选中A列->点击填充->序列->终止值:61279。
③在C1单元格中写入函数公式:=CONCATENATE(A1," ",B1)->回车->选中C1单元格,在其右下角鼠标由空心加号变成实心加号处双击->计算出全部C列结果。
④将整个C列复制到文本文件,保存为log.txt。

2、使用tunnel命令行上传数据到MC中:
CREATE TABLE t_web_access_log_content (content STRING);
CREATE TABLE t_cz_ip_content (content STRING);
tunnel upload -fd "NoDelimiter" D:testdatalog.txt t_web_access_log_content;
tunnel upload -fd "NoDelimiter " D:testdataip.txt t_cz_ip_content;
show tables;
list tables;
select * from t_web_access_log_content limit 2;
select * from t_cz_ip_content limit 2;
注意:如果中文不能正常显示是展示的编码不对,可以在启动入口odpscmd.bat中的开头加入新行:chcp 936,然后重新打开执行查询,当然也可以不处理,因为对数据没影响,只是展示问题。

3、DataWorks->项目->进入工作区->IDE页面->
新建任务->工作流任务,日志处理,手动调度->点击创建->拖拽节点组件,虚节点、ODPS_SQL组件->写入sql->点击右上角的自动布局->保存->提交->测试运行->
点击前往运维中心,可以看到提交的任务->点击示例名称,可以看到当前执行流程,查看跑出的数据。
注意:绿色表示执行完成,蓝色表示正在执行,黄色表示等待,红色表示执行失败。
刷新页面,查看执行流程,执行过程大概在10分钟以内,如果全是绿色表全部执行完毕且成功。
注意:在使用MC做任务时,节点的逻辑及sql代码,很重要,一旦有错误会直接导致得到的数据存在质量问题,导致数据分析的错误,可以利用元数据来查找管理数据质量问题。

(2)使用Quick BI展现数据:(标准版)
1、添加数据源
显示名称:网站日志分析
注意:添加之前可以连接测试一下,通过即可。
注意:在Quick BI中使用MaxCompute来新建数据源,在新建好的数据源里包含了这个项目空间中的所有表。

2、创建、编辑数据集
为t_web_access_log,t_web_access_log_url_top,t_web_access_log_first,t_web_access_log_ip_black四个表分别创建四个数据集。
注意:点击编辑,系统默认将表的字符串类型(Str.)属性归类到维度属性,数值类型(No.)字段归类到度量。
注意:编辑完成后,要保存。

3、新建仪表板
注意:点击全局设置,可以去除水印。
注意:经常保存以免操作丢失。

新建计算字段(维度)->名称:运营商,数据类型:文本,表达式:
case

  when instr([isp],'电信')>0 then '电信'when instr([isp],'移动')>0 then '移动'when instr([isp],'联通')>0 then '联通'else '其他'

end
新建计算字段(维度)->名称:访问来源,数据类型:文本,表达式:
case

  when [搜索引擎] = 'self' then '直接访问'when [搜索引擎] = 'other' then '其他链接'else '搜索引擎'

end

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_737023.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

hexo搭建个人博客之seo优化

HEXO SEO 优化欢迎访问我的博客,祝码农同胞们早日走上人生巅峰,迎娶白富美~~~ 最近用hexo搭建个人博客,但是去网上搜,搜什么都搜不到自己,这就很尴尬了,于是想到了seo优化,这里主要对google和ba…

网站漏洞渗透检测过程与修复方案

什么是网站渗透测试? 该如何做网站安全检测 网站的渗透测试简单来 说就是模拟攻击者的手法以及攻击手段去测试网站的漏洞,对网站进行渗透攻击测试,对网站的代码漏洞进行挖掘,上传脚本文件获取网站的控 制权,并对测试出…

SEO中的简单代码优化

作为SEO,经常会为了代码的事和技术沟通,一些简单的代码则是自己设置就可以了。 在网站中,对于代码优化JS代码是动态的,百度蜘蛛不喜欢爬行这类代码,现在很多大型导航站的广告位置都会使用JS代码,大型网站也…

建站优化三点分享

随着信息流广告的普遍,很多人觉得瓜分了搜索客户,所以搜索营销就没有用了,实际不是这样子的,搜索的客户来源于用户主动搜索,质量度相比于信息流要高的多。 一、合理设置TDK 有些网站优化之后,排名很快得到…

推荐一下:500个符合web标准的网站模板

链接地址:http://bolm.cn/xhtml/从朋友的blog上看到了.他说是500Xhtml模板,符合web标准。我看了其中几个,基本都符合我认为的web标准.付截图如右。其实有的朋友感觉web标准很难。主要是现在的浏览器标准不同造成的。甚至ie6和ie7的标准都不一样。所以导致了这种误解。其实&…

2019年,网站优化,如何让点击率翻倍?

2019年新的一年,你是否仍然陌陌的走在SEO的道路上,基于百度算法的频繁迭代,实际上基于白帽SEO,将面临诸多挑战,因此,我们这一年,将重点从优化关键词排名,向点击率转移。 那么&…

网站流量与抓取同时下降,这是什么情况?

在网站日常运营的过程中,我们偶尔会遇到如下问题: ①网站流量持续下降 ②网站抓取频率同时下降 ③网站索引量保持不变 面对这种情况,从SEO统计数据中,我们经常会发现关键词排名成断崖式下跌,从而造成被降权的现…

通过建站学运维——域名

一、域名申请 1、新网 http://www.xinnet.com/2、阿里云万网 https://wanwang.aliyun.com/3、腾讯DNSPOD https://www.dnspod.cn/ 一般xyz等域名比较便宜。DNSPOD除了可以申请域名,还可以托管域名 申请完毕之后要及时进行实名认证。 说明:本学习过程以 j…

网站开发技巧参考大全

事件源对象 event.srcElement.tagName event.srcElement.type捕获释放 event.srcElement.setCapture(); event.srcElement.releaseCapture(); 事件按键 event.keyCode event.shiftKey event.altKey event.ctrlKey事件返回值 event.returnValue鼠标位置 event.x event.y窗体活动…

python 网站 使用表单和模板

如果像前面那么做网站,也太丑陋了。并且功能也不多。 在实际做网站中,现在都要使用一个模板,并且在用户直接看到的页面,用html语言来写页面。 在做网站的行业里面,常常将HTMLCSSJS组成的网页,称作“前端”。…

企业为什么要做SEO,它的重要性有哪些?

对于SEO工作而言,我们知道一个网站做SEO的基础诉求就是让用户和搜索引擎更好的理解网站内容,虽然随着搜索引擎算法技术的迭代,目前SEO面临更大的挑战与竞争,但基于搜索营销,它目前仍然显得十分重要。 那么&#xff0…

如何提高SEO页面与用户检索的相关性?

对于任何一个SEO而言,我们的目的实际上都只有一个,那就是尽量出现在搜索结果中的TOP10,当然,我们知道,影响网站排名的因素众多,其中:页面相关性与特定搜索关键词是否高度相匹配显得格外重要。 …

收集自己的网络书签,创建自己的网站导航

2019独角兽企业重金招聘Python工程师标准>>> 作为一个“宅男”,我常常在网络爬行,到处逛逛,就像是一只“虫子”。所以给自己取了一个“贝特虫子”的名字(也很喜欢《音乐虫子》这歌曲)。 由于工作的关系&…

通过建站学运维——公有云介绍

一、常见的云 1、私有云:搭建私有云的工具 OpenStack 2、公有云:阿里云、腾讯云、华为云、京东云、亚马逊云等 3、为什么要做公有云? 随着移动互联网的发展,抖音、微信等应用的交互催生了公有云的服务。 二、BGP网络:直…

服务器网站后门检测软件,服务器安全工具(后门检测)

服务器安全工具(后门检测)功能1.目前该工具只作为辅助查找,站长可自行添加正则表达式。2.服务器后门检测采用白名单特征检查方式,可检查出所有替换型后门变种。3.网站后门辅查支持自定义白名单,可以在网站初建时或本地原始备份进行白名单制作…

大型网站的存储

本文主要论述一下常用的存储产品和技术。 1.1 存储 存储设备是网站后台架构中,最底层的部分。也是最重要的部分。因为一旦存储设备出现问题,将直接导致上层的数据层和应用层的服务停止。严重的存储设备的损坏以及不可恢复的数据丢失会给企业造成巨大的经…

手把手教你阿里云服务器搭建网站(超详细图文)...

前文概述 出于好奇,我用学生优惠租了一台阿里云服务器,打算做一些Java web的开发,但是毕竟是第一次接触这样的东西,还是比较陌生,在这个过程中遇到了一些问题(肯定会遇到问题的),但是…

阿里云建站的基本流程

1. 云服务器 ECS 1.1 概述 云服务器ECS实例,即阿里云服务器,以下简称 ECS 实例。https://promotion.aliyun.com/ntms/yunparter/invite.html?userCodegy5l4yp91.2 创建 ECS 实例 1.2.1 购买 ECS 实例 在阿里云官网找到:产品->云计算基础服…

服务器传奇网站搭建修改教程,传奇架设教程如何修改爆率

4.如何修改爆率怪物爆率文件在D:MirserverMir200EnvirMonItems下面,一般默认的怪物爆率就已经非常不错,但根据服务器人数,有时候还是需要对爆率进行调整。关于调整沃玛装备沃玛装备为底级装备,控制沃玛装备的爆率只需要控制白野猪…

百万级访问网站前期的技术准备

2019独角兽企业重金招聘Python工程师标准>>> 转自: http://zhiyi.us/internet/thinking-twice-before-building-your-site-one.html 开了自己域名的博客,第一篇就得来个重磅一点的才对得起这4美金的域名。作为一个技术从业者十年,…