`
wosmvp
  • 浏览: 21849 次
  • 性别: Icon_minigender_1
  • 来自: 青岛
最近访客 更多访客>>
社区版块
存档分类
最新评论

简简单单 Rails Request log 分析

阅读更多


1. 通过 wvanbergen-request-log-analyzer
安装:
gem sources -a http://gems.github.com
sudo gem install wvanbergen-request-log-analyzer

$ request-log-analyzer /var/log/my_app.log
可以分析大多内容,例如:

Top 10 most requested actions

Top 10 actions by time – cumulative

Top 10 actions by time – per request mean

Top 10 worst DB offenders – cumulative time

Top 10 worst DB offenders – mean time

Requests graph – per hour

2, 得到独立IP数量
cat production.log | grep “^Processing” | awk ‘{print $4}’ | uniq | wc -l

3, 每个IP的访问次数
cat production.log | grep “^Processing” | awk ‘{print $4}’ | uniq -c

4, 得到网站所有访问数量
cat production.log | grep “^Processing” |wc |awk ‘{print $1}’

5, 统计每个页面的各自访问次数
cat production.log |grep “200 OK” | awk ‘{print $17}’ | sort | uniq -c
分享到:
评论
8 楼 plumecity 2008-12-05  
强大的shell
7 楼 qichunren 2008-11-11  
你们让我真真见识了shell的强大。谢谢。
6 楼 open2ye 2008-11-11  
我喜欢 shell 我也贴一个我用的

有错的自动发邮件出来
cat production.log | grep "Error" -6 -n | mail -s "Error Logs" xxxx@agideo.com


5 楼 robbin 2008-11-10  
liusong1111 写道
我的需求是,系统里有个/system/check_alive的url,另有个后台进程隔段时间就访问一下它,看看进程是不是还活着.
在输出的报表里,比如Requests graph会显示一天24时中,每个小时的访问数,但我不希望上面url也被统计进来,需要在log analyzer代码里进行一次过滤.
仔细想了想,似乎应该能用shell解决.
log analyzer有一个parser类,用于把log文本解析成ruby数据结构,这样就能很好的利用,我刚才的例子只是担心纯文本扫描有没有那么强.


grep -v "\/system\/check_alive"


一个过滤匹配就搞定了,把这个匹配用管道加到上面的命令里面去,可以收工了。貌似你比想了半天写ruby code要快nn倍。
4 楼 liusong1111 2008-11-10  
我的需求是,系统里有个/system/check_alive的url,另有个后台进程隔段时间就访问一下它,看看进程是不是还活着.
在输出的报表里,比如Requests graph会显示一天24时中,每个小时的访问数,但我不希望上面url也被统计进来,需要在log analyzer代码里进行一次过滤.
仔细想了想,似乎应该能用shell解决.
log analyzer有一个parser类,用于把log文本解析成ruby数据结构,这样就能很好的利用,我刚才的例子只是担心纯文本扫描有没有那么强.
3 楼 wosmvp 2008-11-10  
liusong1111 写道
用ruby可以处理更复杂的情况,比如统计中忽略/system/check_alive(需要修改这个插件源码).
一次请求生成的log是多行的,简单用shell不容易做到吧?
附带问问有人玩过rush不?
http://rush.heroku.com/


第一句话没看懂…… 
什么文本问题不能用shell处理呢? sed + awk 一切轻松搞定

有问题交给拥有十年shell经验的robbin,估计都是轻松加easy吧
2 楼 liusong1111 2008-11-10  
用ruby可以处理更复杂的情况,比如统计中忽略/system/check_alive(需要修改这个插件源码).
一次请求生成的log是多行的,简单用shell不容易做到吧?
附带问问有人玩过rush不?
http://rush.heroku.com/
1 楼 robbin 2008-11-10  
其实就用shell统计就够用了,比方说统计action的耗时:

cat production.log |grep "200 OK" | awk '{print $17}'|sort|uniq -c | sort -r -n | head -n 500 > stat.log


统计前200个访问最多的IP:

grep Processing production.log | awk '{print $4}' | sort | uniq -c | sort -r -n | head -n 200 > stat_ip.log 


等等

相关推荐

    batch_request_api, 在 Rails 应用程序上,提供批处理操作的ruby 中间件.zip

    batch_request_api, 在 Rails 应用程序上,提供批处理操作的ruby 中间件 batch_request_api 用于实现批量创建。更新和删除的Rails 中间件 gem 。可以定制的中间件批量创建。更新和删除记录或者并行删除记录安装将...

    ruby on rails源代码分析

    在本文中,我们将深入分析 Ruby on Rails 2.0.2 的源代码,特别是关注其启动过程。 首先,Rails 的启动始于 `config/boot.rb` 文件。这个文件是 Rails 应用程序的入口点,负责检查 Rails 是否已启动。如果没有,它...

    rails_log_autotruncator:自动截断 Rails 测试和开发日志文件

    rails_log_autotruncator — Rails 日志自动截断 rails_log_autotruncator 是用于限制日志文件大小的 ActiveSupport::BufferedLogger 的简单(猴子)补丁。 如果您只是不希望 Rails 项目开发或测试日志文件变大,请...

    Ruby-Rails日志分析器查看您的视图渲染的速度

    本话题主要关注如何使用Ruby编写日志分析器来洞察Rails应用中视图渲染的速度,从而优化整体性能。 首先,日志文件在Ruby on Rails中扮演着至关重要的角色,它们记录了应用程序运行时的详细信息,包括数据库查询、...

    Laravel开发-log-like-rails

    总的来说,`Log Like Rails` 提供了一个强大的日志系统,使得 Laravel 开发者可以像在 Ruby on Rails 中一样方便地追踪和分析应用程序的行为,这对于大型项目或复杂的业务逻辑来说是非常有用的工具。它能够帮助提升...

    Rails 101 入门电子书

    ### Rails 101 入门电子书知识点详解 #### 一、简介 《Rails 101 入门电子书》是一本非常适合初学者直接入门的书籍,它由xdite编写并出版于2014年6月10日。本书主要针对的是希望学习Ruby on Rails框架的读者,特别...

    使用 Redis 对 Rails 应用进行 Web 分析.zip

    使用 Redis 对 Rails 应用进行 Web 分析redis_分析 一款使用 redis 来跟踪 Rails 应用网络分析的 ruby​​ gem我为什么要使用它?它为您提供有关访客、独立访客、浏览器、操作系统、访客新近度、流量来源等的详细...

    request-log-analyzer:基于您的日志文件创建报告。 支持Rails,Apache,MySQL,Delayed :: Job和其他格式

    请求日志分析器 这是一个简单的命令行工具,可以分析各种格式的请求日志文件以生成性能报告。...安装和基本用法 将request-log-analyzer作为Ruby gem安装(您可能需要先在sudo以root身份运行此命令

    Rails101_by_rails4.0

    《Rails101_by_rails4.0》是一本专注于Rails 4.0.0版本和Ruby 2.0.0版本的自学教程书籍,它定位于中文读者,旨在成为学习Rails框架的参考教材。Rails(Ruby on Rails)是一个采用Ruby语言编写的开源Web应用框架,它...

    Rails

    标签 "源码" 暗示了可能涉及Rails的源代码分析或自定义扩展。Rails是开源的,开发者可以深入研究其内部机制,理解工作原理,甚至为框架贡献代码。 标签 "工具" 可能意味着讨论到了与Rails开发相关的工具,如集成...

    Rails项目源代码

    Ruby on Rails,通常简称为Rails,是一个基于Ruby编程语言的开源Web应用框架,遵循MVC(Model-View-Controller)架构模式。这个“Rails项目源代码”是一个使用Rails构建的图片分享网站的完整源代码,它揭示了如何...

    关于rails 3.1 cucumber-rails 1.2.0

    Rails 3.1 和 Cucumber-Rails 1.2.0 是两个在Web开发领域非常重要的工具,尤其对于Ruby on Rails框架的测试和自动化流程。本文将深入探讨这两个组件,以及它们如何协同工作来增强软件开发的效率和质量。 首先,...

    rails 项目起步示例

    Rails是Ruby语言的一个著名Web开发框架,全称为Ruby on Rails,它遵循MVC(Model-View-Controller)架构模式,旨在提高开发效率和代码可读性。本示例"rails项目起步示例"是一个购物系统,非常适合初学者入门学习。 ...

    log_analyzer:Rails日志分析器(查看视图呈现的速度)

    LogAnalyzer 查看Ruby on Rails应用程序中渲染的速度。 基于日志信息。 提供有关渲染频率和渲染速度的图片。样品 您可以看到以下列: 类型-文件类型(部分或视图= P或V) 视图-视图名称计数-渲染数平均-渲染的平均...

    Rails recipes

    作者们通过分享自己的经验和见解,为Rails程序员提供了一本既有实际操作指导又有理论深入分析的参考书。 Ruby on Rails是一种流行的开源Web应用框架,用Ruby语言编写,遵循MVC架构模式。Rails的目的是让开发过程尽...

    rails指南 中文版

    Rails指南中文版是针对Ruby on Rails框架的一份详尽教程,旨在帮助开发者深入理解并熟练掌握这个强大的Web应用开发工具。Ruby on Rails(简称Rails)是一个基于Ruby语言的开源Web应用框架,它遵循MVC(Model-View-...

    使用Aptana+Rails开发Rails Web应用(中文)

    在开发Web应用时,Ruby on Rails(简称Rails)框架因其高效、简洁的代码风格和强大的社区支持而备受青睐。Aptana是一款强大的集成开发环境(IDE),尤其适用于Rails项目的开发,它提供了丰富的特性来提升开发效率。...

    rails 2.3.2离线安装rails 2.3.2离线安装

    rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails ...

    Rails进行敏捷Web开发(所有版本的源码rails3.0-4.0)

    Rails是Ruby语言的一个著名Web应用框架,以敏捷开发和“约定优于配置”...通过对这些版本的源码进行分析和学习,开发者不仅可以提升对Rails框架的理解,还能在实际项目中运用这些知识,编写出更高效、更安全的Web应用。

Global site tag (gtag.js) - Google Analytics