干货|可视化分析 web 访问日志

内容目录

  • Python 基础
  • 使用模块介绍
  • 可视化组件 echarts 介绍
  • Web 访问日志
  • 代码解读

    讲师:KK

多语言混搭开发工程师,多年 PHP、Python 项目开发经验,曾就职 360、绿盟科技,7年工作经验。擅长于 Web 安全开发、性能优化、分布式应用开发&设计等多方面,51Reboot 金牌讲师。

Python 基础

  • 数值、字符串、列表、字典、文件的使用
  • with 关键字使用
  • 函数、lambda 函数、sorted
  • 时间类型转化

时间类型转化

统计 list 中每个元素出现的次数

languages = [‘python‘, ‘java‘, ‘python‘, ‘c‘, ‘c++‘, ‘go‘, ‘c#‘, ‘c++‘, ‘lisp‘, ‘c‘, ‘javascript‘, ‘java‘, ‘python‘, ‘matlab‘, ‘python‘, ‘go‘, ‘java‘]

常用模块

  • os/os.path 系统/文件路径操作

    • os.mkdir/os.rmdir/os.unlink/os.listdir
    • os.path.join/os.path.abspath/os.path.dirname/os.path.exists
  • argparse 命令行参数解析
    • add_argument(short_name, full_name, type, desc, default, help, choices, nargs, action)
  • shutil 文件/文件夹操作
    • shutil.copy2/shutil.copytree/shutil.rmtree
  • logging 日志记录
  • jinja2 模板引擎,用于根据模板生成文件
    • 使用步骤(3步走)

                  * 创建加载器
                  * 获取模板
                  * 渲染
  • 模板语言
    • 打印变量
    • 流程控制(条件、循环)
    • 过滤器
    • 模板继承
  • geoip2 用于 maxmind 二进制库 mmdb 查询
    • 打开文件
    • 获取 ip 信息(国家、城市、地理位置等)
    • 关闭文件

可视化组件 echarts 介绍

Web 访问日志

  • Web 访问日志是 web 服务器记录的网站被访问的过程日志
  • 日志属性
    • 什么时候
    • 什么人
    • 通过什么工具
    • 以什么方式
    • 访问了什么资源
    • 结果是什么(状态/返回数据大小)
  • 每天的点击量、总点击数量
    • 每天的日志行数、日志的总行数(每天的日志行数之和)
  • 每天的浏览者数量、总浏览者数量
    • 每天的不重复的 IP 的数量
    • 总的不重复的 IP 数量(每天不重复的 IP 数量之和???)
  • 发生错误的请求有多少次,状态码分布情况
    • 每种状态码出现的次数
  • 每天流量大小
    • 每天的日志中每行流量之和
    • 总的流量之和(每天流量之和)
  • 访问地域分布
    • 根据 IP 获取地理位置
  • 发生访问次数最多 TOP N IP 列表
  • 通用日志的格式
  • 组合日志格式
    • 127.0.0.1 - - [14/May/2017:12:51:13 +0800] "GET /index.html HTTP/1.1" 200 4286 "http://127.0.0.1/" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.116 Safari/537.36“

远程主机 IP - - 请求时间 时区 方法 资源 协议 状态码 发送字节 referer 字符 浏览器信息

一些重点代码的解读

  • 程序入口
  • 主程序
  • 每天统计项
  • 总统计项
  • 模板页面(显示内容)
  • 模板页面(echart)
  • 模板页面(控制流程)

更多项目代码分享结束后资料一并分享给大家。

获取资料

原文地址:http://blog.51cto.com/51reboot/2313885

时间: 2024-10-10 07:29:07

干货|可视化分析 web 访问日志的相关文章

今晚九点|如何使用 Python 分析 web 访问日志?

主题:如何使用 Python 分析 Web 访问日志 内容 Python 基础 字符串.字典.文件.时间 Web 访问日志 实战 提问 主讲师:KK 多语言混搭工程师,热爱开源技术,喜欢GET新技能,5年 PHP.Python 项目开发经验,带领团队完成多个中.小型项目开发,对安全.云等多个领域富有浓厚兴趣,擅长于 WEB 安全开发.性能优化.分布式应用开发&设计等多方面,做事认真负责,乐于分享技能,现任 51Reboot.com Python 实战班讲师 任何语言都有使用场景,只有合适和不合适

Python分析web访问日志

通用日志格式127.0.0.1 - - [14/May/2017:12:45:29 +0800] "GET /index.html HTTP/1.1" 200 4286远程 - - 主机 IP 请求时间 时区 方法 资源 协议 状态码 发送字节 组合日志格式127.0.0.1 - - [14/May/2017:12:51:13 +0800] "GET /index.html HTTP/1.1" 200 4286 "http://127.0.0.1/&quo

web访问日志分析

关于web访问日志相信很多人一看都是表示一脸懵逼,这里我就给各位小伙伴分享一下. 一般的访问日志都是access.log但是具体的不一样还是要看你的web配置文件. 这是我截取了我日志的最后一行 日志: 10.0.0.1 - - [22/Nov/2015:11:02:00 +0800] "GET /mobile/sea-modules/gallery/zepto/1.1.3/zepto.js HTTP/1.1" 200 24662 "http://shuai12138.blo

采集并分析Nginx访问日志

日志服务支持通过数据接入向导配置采集Nginx日志,并自动创建索引和Nginx日志仪表盘,帮助您快速采集并分析Nginx日志. 许多个人站长选取了Nginx作为服务器搭建网站,在对网站访问情况进行分析时,需要对Nginx访问日志统计分析,从中获取网站的访问量.访问时段等访问情况.传统模式下利用CNZZ等方式,在前端页面插入js,用户访问的时候触发js,但仅能记录访问请求.或者利用流计算.离线统计分析Nginx访问日志,但需要搭建一套环境,并且在实时性以及分析灵活性上难以平衡. 日志服务在支持查询

命令分析nginx访问日志的用法

awk分析日志常用高级使用命令方法 分析访问日志(Nginx为例) 日志格式: '$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent" "$http_x_forwarded_for"' 统计访问IP次数: # awk '{a[$1]++}END{for(i

Spark-再次分析Apache访问日志

分析日志的包 自己编译下: sbt compile sbt test sbt package ApacheLogParser.jar 对于访问日志简单分析grep等利器比较好,但是更复杂的查询就需要Spark了. 代码: import com.alvinalexander.accesslogparser._ val p = new AccessLogParser val log = sc.textFile("log.small") //log.count //分析Apache日志中40

使用hive分析nginx访问日志方法

以下案例是使用hive分析nginx的访问日志案例,其中字段分隔通过正则表达式匹配,具体步骤如下: 日志格式: 192.168.5.139 - - [08/Jun/2017:17:09:12 +0800] "GET //oportal/static/ui/layer/skin/default/icon.png HTTP/1.1" 200 9905 http://192.168.100.126//oportal/static/ui/layer/skin/layer.css "M

AWStats分析Nginx访问日志

AWStats是在Sourceforge上发展很快的一个基于Perl的WEB日志分析工具. 它可以统计您站点的如下信息: 访问量(UV),访问次数,页面浏览量(PV),点击数,数据流量等 精确到每月.每日.每小时的数据 访问者国家 访问者IP Robots/Spiders的统计 访客持续时间 对不同Files type的统计信息 Pages-URL的统计 访客操作系统浏览器等信息 其它信息(搜索关键字等等) 下面是AWStats分析Nginx日志的操作步骤: 一.配置nginx日志格式 修改ng

python脚本分析nginx访问日志

日志格式如下: 223.74.135.248 - - [11/May/2017:11:19:47 +0800] "POST /login/getValidateCode HTTP/1.1" 404 14227 "http://www.yidianchina.com/login/getValidateCode" "Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 6.1)" 分别是IP,访问时间,请求方法,