利用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


相关文章
|
7天前
|
域名解析 应用服务中间件 网络安全
阿里云个人博客外网访问中断应急指南:从安全组到日志的七步排查法
1. 检查安全组配置:确认阿里云安全组已开放HTTP/HTTPS端口,添加规则允许目标端口(如80/443),授权对象设为`0.0.0.0/0`。 2. 本地防火墙设置:确保服务器防火墙未阻止外部流量,Windows启用入站规则,Linux检查iptables或临时关闭防火墙测试。 3. 验证Web服务状态:检查Apache/Nginx/IIS是否运行并监听所有IP,使用命令行工具确认监听状态。 4. 测试网络连通性:使用外部工具和内网工具测试服务器端口是否开放,排除本地可访问但外网不可的问题。 5. 排查DNS解析:确认域名A记录指向正确公网IP,使用`ping/nslookup`验证解析正
41 2
|
3月前
|
监控 应用服务中间件 定位技术
要统计Nginx的客户端IP,可以通过分析Nginx的访问日志文件来实现
要统计Nginx的客户端IP,可以通过分析Nginx的访问日志文件来实现
287 3
|
5月前
|
存储 人工智能 缓存
AI助理直击要害,从繁复中提炼精华——使用CDN加速访问OSS存储的图片
本案例介绍如何利用AI助理快速实现OSS存储的图片接入CDN,以加速图片访问。通过AI助理提炼关键操作步骤,避免在复杂文档中寻找解决方案。主要步骤包括开通CDN、添加加速域名、配置CNAME等。实测显示,接入CDN后图片加载时间显著缩短,验证了加速效果。此方法大幅提高了操作效率,降低了学习成本。
5559 16
|
6月前
|
设计模式 SQL 安全
PHP中的设计模式:单例模式的深入探索与实践在PHP的编程实践中,设计模式是解决常见软件设计问题的最佳实践。单例模式作为设计模式中的一种,确保一个类只有一个实例,并提供全局访问点,广泛应用于配置管理、日志记录和测试框架等场景。本文将深入探讨单例模式的原理、实现方式及其在PHP中的应用,帮助开发者更好地理解和运用这一设计模式。
在PHP开发中,单例模式通过确保类仅有一个实例并提供一个全局访问点,有效管理和访问共享资源。本文详细介绍了单例模式的概念、PHP实现方式及应用场景,并通过具体代码示例展示如何在PHP中实现单例模式以及如何在实际项目中正确使用它来优化代码结构和性能。
81 2
|
5月前
|
缓存 网络安全 数据安全/隐私保护
使用阿里云国际CDN加速后网站无法访问的排查步骤
使用阿里云国际CDN加速后网站无法访问的排查步骤
|
7月前
|
Ubuntu Linux 测试技术
在Linux中,已知 apache 服务的访问日志按天记录在服务器本地目录/app/logs 下,由于磁盘空间紧张现在要求只能保留最近7天的访问日志,请问如何解决?
在Linux中,已知 apache 服务的访问日志按天记录在服务器本地目录/app/logs 下,由于磁盘空间紧张现在要求只能保留最近7天的访问日志,请问如何解决?
|
7月前
|
应用服务中间件 Linux nginx
在Linux中,如何统计ip访问情况?分析 nginx 访问日志?如何找出访问页面数量在前十位的ip?
在Linux中,如何统计ip访问情况?分析 nginx 访问日志?如何找出访问页面数量在前十位的ip?
|
7月前
|
网络安全
【Azure Service Bus】启用诊断日志来获取客户端访问Azure Service Bus的IP地址 [2024-03-26 实验结果失败]
【Azure Service Bus】启用诊断日志来获取客户端访问Azure Service Bus的IP地址 [2024-03-26 实验结果失败]
|
26天前
|
存储 缓存 关系型数据库
图解MySQL【日志】——Redo Log
Redo Log(重做日志)是数据库中用于记录数据页修改的物理日志,确保事务的持久性和一致性。其主要作用包括崩溃恢复、提高性能和保证事务一致性。Redo Log 通过先写日志的方式,在内存中缓存修改操作,并在适当时候刷入磁盘,减少随机写入带来的性能损耗。WAL(Write-Ahead Logging)技术的核心思想是先将修改操作记录到日志文件中,再择机写入磁盘,从而实现高效且安全的数据持久化。Redo Log 的持久化过程涉及 Redo Log Buffer 和不同刷盘时机的控制参数(如 `innodb_flush_log_at_trx_commit`),以平衡性能与数据安全性。
29 5
图解MySQL【日志】——Redo Log
|
4月前
|
XML 安全 Java
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
本文介绍了Java日志框架的基本概念和使用方法,重点讨论了SLF4J、Log4j、Logback和Log4j2之间的关系及其性能对比。SLF4J作为一个日志抽象层,允许开发者使用统一的日志接口,而Log4j、Logback和Log4j2则是具体的日志实现框架。Log4j2在性能上优于Logback,推荐在新项目中使用。文章还详细说明了如何在Spring Boot项目中配置Log4j2和Logback,以及如何使用Lombok简化日志记录。最后,提供了一些日志配置的最佳实践,包括滚动日志、统一日志格式和提高日志性能的方法。
1280 31
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板