今晚九点|可视化分析 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 日志记录

- logging.basicConfig(level, format, filename, filemode)

- https://www.jianshu.com/p/4a801f61ecda

  • jinja2 模板引擎,用于根据模板生成文件

-使用步骤(3步走)

-创建加载器

-获取模板

-渲染

-模板语言

-打印变量

-流程控制(条件、循环)

-过滤器

-模板继承

  • geoip2 用于 maxmind 二进制库 mmdb 查询

-打开文件

-获取 ip 信息(国家、城市、地理位置等)

-关闭文件

可视化组件 echarts 介绍

  • 项目地址:http://echarts.baidu.com/echarts2/
  • 项目介绍:可视化 JS 组件
  • 目前主要版本:2.0 & 3.0
  • 使用步骤(3 + 3):http://echarts.baidu.com/echarts2/doc/start.html
  • 常用图形

-饼状图

-曲线图

-柱状图

-仪表盘

-地图

-K 线图

-

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)
  • 模板页面(控制流程)

本文分享自微信公众号 - 编程之路(RecordHarry)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-11-08

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Linyb极客之路

高并发之缓存

应用需要支撑大量并发量,但数据库的性能有限,所以使用缓存来减少数据库压力与提高访问性能。

24020
来自专栏Web 开发

《Node.js开发指南》翻阅笔记

第一天上班,配套的电脑居然没有到货,无聊了一天,就把《Node.js开发指南》拿出来翻了一下。

11300
来自专栏猿人谷

进程、线程、应用程序之间的关系

进程是指在系统中正在运行的一个应用程序;线程是系统分配处理器时间资源的基本单元, 或者说进程之内独立执行的一个单元。对于操 作系统而言,其调度单元是线程。一个进...

24360
来自专栏Spark学习技巧

Redis 的各项功能解决了哪些问题?

综上所述,Redis提供了丰富的功能,初次见到可能会感觉眼花缭乱,这些功能都是干嘛用的?都解决了什么问题?什么情况下才会用到相应的功能?那么下面从零开始,一步一...

13020
来自专栏蓝天

Unix&Linux下常见的性能分析工具介绍

Vmstat是一个很全面的性能分析工具,可以观察到系统的进程状态、内存使用、虚拟内存使用、磁盘的IO、中断、上下文切换、CPU使用等。系统性能分析工具中,使用...

13310
来自专栏搜云库

操作系统和数据库基础

进程与线程的差别 进程是程序的一次执行。线程可以理解为进程中执行的一段程序片段。在一个多任务环境下中下面的概念可以帮助我们理解两者的区别。 进程间是独立的...

237100
来自专栏unlike

用paxos实现多副本日志系统--multi paxos部分

上篇 basic paxos : https://cloud.tencent.com/developer/article/1147420

52690
来自专栏网站漏洞修补

开源程序的网站漏洞检测对获取管理员密码漏洞如何修复

PbootCMS是网站常用的一款CMS系统,是由国内著名程序开发商翔云科技研发的一套网站CMS系统,免费开源,扩展性较高,使用的企业很多但是避免不了网站存在漏洞...

25540
来自专栏三木的博客

Linux基础知识总结

###一:什么是Linux? Linux被称为类Unix操作系统,遵循POSIX标准。Linux与Unix的最大不同在于源代码的开放性和自由性。 Linux的发...

29890
来自专栏Java后端技术

解决Maven工程install时[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources

  最近的项目在用maven 进行install的时候,发现老师在控制台输出警告:[WARNING] Using platform encoding (UTF-...

12020

扫码关注云+社区

领取腾讯云代金券