利用pig分析cdn访问日志内指定时间段的url访问次数

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介:

需求说明:

由于cdn收费是按照最高带宽收费的,但是公司平台平均使用cdn带宽为100M多,但是有几个时间点的带宽,突然涨到300M,但是不到5分钟就回落下来了,但就是为5分钟的高出的带宽,公司就要多付费用,不划算,所以要配合研发分析峰值左右前后5分钟的url访问次数,定位问题!


cdn流量图如下:

wKioL1RTA66DqRavAAGSPt1IPvo698.jpg


目标:通过分析cdn日志中10点整到10点50之间的url访问次数,来判定故障源!


具体实现方式:



#以","为分割符,加载日志文件大排变量a

grunt> a = load '/user/hadoop/input/16456_2014102710_enclf.log'

>> using PigStorage(' ')

>> AS (a1,a2,a3,time,a5,a6,url,a8); 


#过滤一行日志,只要time,和url列

grunt> b = foreach a generate time, url;


#只要时间是:10:40到10:50之间的行

grunt> b1 = filter b by time matches '.*2014:10:(40|41|42|43|44|45|46|47|48|49|50).*'; 


ps:下面的用的正则表达式(任选一个):

grunt> b1 = filter b by time matches '\\[27/Oct/2014:(10:4[1-9]):.*'; 


#过滤出url

grunt> b2 = foreach b1 generate url;


grunt> c = group b2 by url;


#计算出相同url的访问次数;

grunt> d = foreach c generate group,COUNT($1);


#按照url访问次数从大到小排序

grunt> e = order d by $1 desc;


#显示变量e(结果)

grunt> dump e


#存储结果到hdfs相关目录中:

store e into '/user/hadoop/output/1027_1045.log';


ps:1027_1045.log 是一个目录,不是文件;


#把hdfs文件copy到本地目录中

copyToLocal 16456_2014102710_order.log /home/hadoop/.


#本地查看分析结果

[hadoop@node1 ~]$ cd 1027_1045.log

[hadoop@node1 1027_1045.log]$ cat part-r-00000 |more


wKioL1RW4HnSasj2AAVjhkXV2Yw662.jpg


本文转自 shine_forever 51CTO博客,原文链接:http://blog.51cto.com/shineforever/1571124


相关文章
|
18天前
|
机器学习/深度学习 人工智能 运维
智能日志分析:用AI点亮运维的未来
智能日志分析:用AI点亮运维的未来
137 15
|
1月前
|
SQL 关系型数据库 MySQL
MySQL事务日志-Undo Log工作原理分析
事务的持久性是交由Redo Log来保证,原子性则是交由Undo Log来保证。如果事务中的SQL执行到一半出现错误,需要把前面已经执行过的SQL撤销以达到原子性的目的,这个过程也叫做"回滚",所以Undo Log也叫回滚日志。
MySQL事务日志-Undo Log工作原理分析
|
2月前
|
PHP Apache
【ThinkPHP框架教程·Part-04】URL访问模式
本章节介绍 ThinkPHP6.0 的 URL 访问模式,解析其访问方法。ThinkPHP 框架通过 URL 实现多种操作,默认为单应用模式。
【ThinkPHP框架教程·Part-04】URL访问模式
|
2月前
|
存储 运维 监控
Linux--深入理与解linux文件系统与日志文件分析
深入理解 Linux 文件系统和日志文件分析,对于系统管理员和运维工程师来说至关重要。文件系统管理涉及到文件的组织、存储和检索,而日志文件则记录了系统和应用的运行状态,是排查故障和维护系统的重要依据。通过掌握文件系统和日志文件的管理和分析技能,可以有效提升系统的稳定性和安全性。
56 7
|
2月前
|
监控 安全 Linux
启用Linux防火墙日志记录和分析功能
为iptables启用日志记录对于监控进出流量至关重要
|
2月前
|
监控 应用服务中间件 定位技术
要统计Nginx的客户端IP,可以通过分析Nginx的访问日志文件来实现
要统计Nginx的客户端IP,可以通过分析Nginx的访问日志文件来实现
201 3
|
3月前
|
XML 安全 Java
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
本文介绍了Java日志框架的基本概念和使用方法,重点讨论了SLF4J、Log4j、Logback和Log4j2之间的关系及其性能对比。SLF4J作为一个日志抽象层,允许开发者使用统一的日志接口,而Log4j、Logback和Log4j2则是具体的日志实现框架。Log4j2在性能上优于Logback,推荐在新项目中使用。文章还详细说明了如何在Spring Boot项目中配置Log4j2和Logback,以及如何使用Lombok简化日志记录。最后,提供了一些日志配置的最佳实践,包括滚动日志、统一日志格式和提高日志性能的方法。
924 31
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
|
2月前
|
监控 安全 Apache
什么是Apache日志?为什么Apache日志分析很重要?
Apache是全球广泛使用的Web服务器软件,支持超过30%的活跃网站。它通过接收和处理HTTP请求,与后端服务器通信,返回响应并记录日志,确保网页请求的快速准确处理。Apache日志分为访问日志和错误日志,对提升用户体验、保障安全及优化性能至关重要。EventLog Analyzer等工具可有效管理和分析这些日志,增强Web服务的安全性和可靠性。
|
8天前
|
存储 SQL 关系型数据库
MySQL日志详解——日志分类、二进制日志bin log、回滚日志undo log、重做日志redo log
MySQL日志详解——日志分类、二进制日志bin log、回滚日志undo log、重做日志redo log、原理、写入过程;binlog与redolog区别、update语句的执行流程、两阶段提交、主从复制、三种日志的使用场景;查询日志、慢查询日志、错误日志等其他几类日志
MySQL日志详解——日志分类、二进制日志bin log、回滚日志undo log、重做日志redo log
|
4月前
|
XML JSON Java
Logback 与 log4j2 性能对比:谁才是日志框架的性能王者?
【10月更文挑战第5天】在Java开发中,日志框架是不可或缺的工具,它们帮助我们记录系统运行时的信息、警告和错误,对于开发人员来说至关重要。在众多日志框架中,Logback和log4j2以其卓越的性能和丰富的功能脱颖而出,成为开发者们的首选。本文将深入探讨Logback与log4j2在性能方面的对比,通过详细的分析和实例,帮助大家理解两者之间的性能差异,以便在实际项目中做出更明智的选择。
463 3