网站日志
什么是网站日志
日志:网络设备、系统及服务程序等,在运作时会产生的一个叫log的事件记录。它记载着日期、时间、使用者及动作等相关操作描述
网站日志:网站在运行过程中产生的日志,包括系统日志和程序日志。
- 系统日志:一般时网站所基于的服务器容器锁自动生成的日志,如访问日志,系统错误日志等等
- 程序日志:由用户在程序中自定义构建
网站日志分析的重要性
网站日志本身没有太大价值,而当我们对其进行分析并利用的时候会产生很大价值
通过对网站日志的分析,我们可以了解:
- 网站的运行状况:(如PV,UV)
- 网站的安全状况:(如恶意攻击,密码暴力破解)
- 网站的运营情况:(如搜索引擎流量来源)
- 网站的用户信息:(如操作系统,浏览器)
以上分析可以提供决策支持,比如增加服务器,提升网站安全,修改营销策略等。
网站日志分析的一般流程
数据采集:容器自动收集:Tomcat Nginx
数据处理:清理、转换、抽取 SQL JAVA PYTHON HADOOP
数据展现:图表化,Tableau D3.js python
结果处理:程序优化、服务器调整、搜索引擎SEO优化
网站访问日志搜集-nginx
nginx是一个高性能的HTTP和反向代理服务器
修改nginx配置文件:conf/nginx.conf,我们只要增加access_log即可,如果想配置访问日志的格式,可用log_format
access_log logs/access.log
# 增加格式名称
access_log logs/access.log combined;
# 增加了如下内容IP地址,远程用户名,本地服务器时间,请求地址,请求状态,发送流量,链接来源,用户的客户端信息
log_format combined'$remote_addr=$remote_user[$time_local]'
'"$request" $status $body_bytes_sent' '"$http_referer""$http_uset_agent"';
tomcat
Tomcat是一种被广范使用的免费的开放源代码的Web应用服务器
修改tomcat的配置文件:conf/sever.xml找到最下面的Accesslog配置,默认被注释了,放开注释tomcat可以自动搜集访问日志。
# 配置主机名,app所在路径
<Host name="localhost" appBase="webapps" unpackWARS="true" autoDePloy="true">
# 设置默认日志存放目录
<Value className="org.apache.catalina.values.AccessLogValue" directory="log"
# 日志存储的文件名
prefix="localhost_access.log" suffix=".txt"
# 配置显示日志的格式
pattern="%h %l %u %t ;%r" %s %b" />
</ Host>
以 pattern="%h %l %u %t " %s %b"为例,对比以下表格
%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 - 当前请求的线程名称 |
使用阿里云产品进行分析
MaxCompute ---- 大数据计算服务平台
原名ODPS,针对TB/PB级别数据,实时性要求不高的数据仓库解决方案:分布式架构,扩展性好,理论上支持超过5000个节点集群,简单易用,盘古文件系统一式三份,安全可靠,保证管理与授权
MaxCompute 可以处理海量数据,根据数据规模自动调整集群存储和计算能力,可以最大化发挥数据的价值,开箱即用不用自己手动搭建集群,可以直接上传和分析数据,数据安全可靠,支持多用户协作,支持按量扣费
相应基本概念
- 项目空间 Project :相当于一个关系型数据库,所有对象属于某一个项目空间,一个用户可以有多个项目空间,通过授权可以相互访问
- 表 table:所有数据都存储在表中,表中数据可以是任意数据类型,MaxCompute的输入输出都是以表的形式
- 分区Partitial:创建表时所指定的分区空间,相当于文件下的目录,可以将字段设置成分区列,
- 任务Task:task
- 资源 Resource:
MaxCompute基础架构图
ODPS客户端
ODPS接入层
OPDS逻辑层
OPDS计算层
DataIDE
提供了数据集成、处理、分析和管理功能,并为代码开发、调试、发布、运维、监控和管理提供了高效、安全的离线数据开发环境。
QuickBI
提供了海量数据实时在线分析服务,支持拖拽式操作,提供了丰富的可视化效果,可以轻松自如的完成数据分析、业务数据探查等工作,更是数据化运营的助推器,实现人人都是数据师。
- 无缝集成云上数据库
- 图表
- 分析
- 快速搭建数据门户
- 实时海量数据的分析
- 安全管控数据权限