本篇内容主要讲解“基于python怎么实现cdn日志文件导入mysql进行分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“基于python怎么实现cdn日志文件导入mysql进行分析”吧!周六日出现CDN大量请求,现需要分析其请求频次与来源,查询是否存在被攻击问题。本文以阿里云CDN日志作为辅助查询数据,其它云平台大同小异。系统提供的离线日志如下所示:日志实例如下所示:[9/Jun/2015:01:58:09 +0800] 10.10.10.10 – 1542 “-” “GET http://www.aliyun.com/index.html” 200 191 2830 MISS “Mozilla/5.0 (compatible; AhrefsBot/5.0; +http://example.com/robot/)” “text/html”其中相关字段的解释如下:[9/Jun/2015:01:58:09 +0800]
:日志开始时间。10.10.10.10
:访问IP。-
:代免费云主机域名理IP。1542
:请求响应时间,单位为毫秒。"-"
: HTTP请求头中的Referer。GET
:请求方法。http://www.aliyun.com/index.html
:用户请求的URL链接。200
:HTTP状态码。191
:请求大小,单位为字节。2830
:请求返回大小,单位为字节。MISS
:命中信息。HIT
:用户请求命中了CDN边缘节点上的资源(不需要回源)。MISS
:用户请求的内容没有在CDN边缘节点上缓存,需要向上游获取资源(上游可能是CDN L2节点,也可能是源站)。Mozilla/5.0(compatible; AhrefsBot/5.0; +http://example.com/robot/)
:User-Agent请求头信息。text/html
:文件类型。按照上述字段说明创建一个 MySQL 表,用于后续通过 Python 导入 MySQL 数据,字段可以任意定义下载全部日志之后,使用 Python 批量导入数据库中,解析代码如下,在提前开始前需要先看一下待提取的每行数据内容。[11/Mar/2022:00:34:17 +0800] 118.181.139.215 – 1961 “http://xx.baidu.cn/” “GET https://cdn.baidu.com/video/1111111111.mp4” 206 66 3739981 HIT “Mozilla/5.0 (iPad; CPU OS 15_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 SP-engine/2.43.0 main%2F1.0 baiduboxapp/13.5.0.10 (Baidu; P2 15.1) NABar/1.0” “video/mp4”初看之下,我们会使用空格进行切片,例如下述代码:运行之后,会发现里面的开始时间位置,UA位置都存在空格,所以该方案舍弃,接下来使用正则表达式提取。参考待提取的模板编写正则表达式如下所示:[(?接下来进行循环读取数据,然后进行提取:读取到数据存储到wait_list
列表中,然后操作列表,写入MySQL,该操作为了防止SQL语句过长,所以每次间隔1000元素进行插入。最终的结果如下所示:导入MySQL之后,就可以按照自己的需求进行排序与查询了。可以通过 refer 计算请求次数:到此,相信大家对“基于python怎么实现cdn日志文件导入mysql进行分析”有了更深的了解,不妨来实际操作一番吧!这里是百云主机网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
这篇“Python运行时修改业务SQL代码怎么写”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python运行时修改业务SQL代码怎么写”文章吧…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。