uwsgi-sloth, 实时Stateflow日志文件分析器,慢速请求分析器

分享于 

6分钟阅读

GitHub

  繁體
Realtime uwsgi log file analyzer, slow requests analyzer.
  • 源代码名称:uwsgi-sloth
  • 源代码网址:http://www.github.com/piglei/uwsgi-sloth
  • uwsgi-sloth源代码文档
  • uwsgi-sloth源代码下载
  • Git URL:
    git://www.github.com/piglei/uwsgi-sloth.git
    Git Clone代码到本地:
    git clone http://www.github.com/piglei/uwsgi-sloth
    Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/piglei/uwsgi-sloth
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
    
    uwsgi

    of是一个实时的of日志 analyer,用于帮助优化应用程序的ccr性能。

    它可以生成一个 static 报告文件,或者实时分析你的日志文件。

    图像预览:

    http://www.github.com/upload/article/40/u/uwsgi-sloth-screenshot.png

    你应该考虑使用 of,如果你的网站运行在 iframe,并且没有你的网站的速度/速度的概念。

    快速入门

    安装

    用户定义懒惰是用 python 编写的,要安装它,只需使用 pip:

    # Install a stable version$ pip install uwsgi-sloth# Install the latest version from github$ pip install -e git+https://github.com/piglei/uwsgi-sloth#egg=uwsgi-sloth

    static-报告

    安装后,你可以使用 uwsgi-sloth analyze 命令分析用户定义日志。

    # Generate a report$ uwsgi-sloth analyze -f uwsgi_access.log --output=report.html# Specify threshold for request process time$ uwsgi-sloth analyze -f uwsgi_access.log --output=report.html --min-msecs=400

    更多: uwsgi懒惰分析。

    实时报告

    我们支持更强大的功能: 实时用户定义日志报表。配置更复杂一点。

    首先,使用 uwsgi-sloth echo_conf 创建缺省配置文件:

    uwsgi-sloth echo_conf >/data/uwsgi_sloth/myblog.conf

    缺省配置文件如下所示:

    # A sample uwsgi-sloth config file# uwsgi log path, only support default log formatuwsgi_log_path = '/your_uwsgi_logs/web.log'# All HTML files and data files will store here, must have read/write permissionsdata_dir = '/you_data/uwsgi-sloth/'# Minimal msecs for detect slow requests, default to 200# min_msecs = 200# Domain for your website, best givendomain = 'http://www.yourwebsite.com/'# Custom url regular expressions file# url_file = '/your_custom_url_file_path'

    修改 uwsgi_log_pathdata_dir 后,你可以通过 uwsgi-sloth start -c/data/uwsgi_sloth/myblog.conf 如果一切正常,你将看到一些类似这样的消息:

    [2014-06-26 01:32:56,851] uwsgi_sloth INFO: Start from last savepoint, last_log_datetime: 2014-06-26 09:32:04
    [2014-06-26 01:32:58,859] uwsgi_sloth INFO: Rendering HTML file/data/uwsgi_sloth/myblog/html/latest_5mins.html...
    ..... .

    如果日志文件大一些,这可能需要几秒钟。

    Demonize

    Oracle9i不支持内置的deamonize选项,所以你可能需要像管理员这样的工具来管理这个过程。

    提供你的报告

    现在,已经生成了HTML文件,我们应该配置 web server,以便访问它,这个配置为 Nginx:

    $ cat/etc/nginx/sites-enabled/sloth_myblog.conf
    server {
     listen 80;
     server_name uwsgi-sloth.zlovezl.cn;
     location/{
     root/data/uwsgi_sloth/myblog/html/;
     index"latest_5mins.html";
     }
    }

    重新加载 Nginx 配置后,打开浏览器,然后你将看到等待你的精彩报告。

    命令

    超分辨率分析

    可用参数

    usage: uwsgi-sloth analyze [-h] -f FILEPATH [--output OUTPUT]
     [--min-msecs MIN_MSECS] [--domain DOMAIN]
     [--url-file URL_FILE]
    optional arguments:
     -h, --help show this help message and exit
     -f FILEPATH, --filepath FILEPATH
     Path of uwsgi log file
     --output OUTPUT HTML report file path
     --min-msecs MIN_MSECS
     Request serve time lower than this value will not be
     counted, default: 200
     --domain DOMAIN Make url in report become a hyper-link by settings a
     domain
     --url-file URL_FILE Customized url rules in regular expression
     --limit-url-groups LIMIT_URL_GROUPS
     Number of url groups considered, default: 200
     --limit-per-url-group LIMIT_PER_URL_GROUP
     Number of urls per group considered, default: 20
    使用自定义url规则的

    首先,获取一个 url 正规表达式 列表。

    $ cat url_rules
    # A valid url_rules file are seperated regular expressions
    ^club/(?P<place>w+)/(?P<year>d+)/(?P<issue>d+)/signup/$
    ^club/signup/success/$
    ^club/checkin/success/$

    使用--url-file指定这里 url_rules

    $ uwsgi-sloth analyze -f uwsgi_access.log --output=report.html --url-file=url_rules

    超分辨率 echo_conf

    打印默认配置文件

    uwsgi Sloth

    启动超级用户以生成实时报告

    $ uwsgi-sloth start -h
    usage: uwsgi-sloth start [-h] -c CONFIG
    optional arguments:
     -h, --help show this help message and exit
     -c CONFIG, --config CONFIG
     uwsgi-sloth config file, use"uwsgi-sloth echo_conf"
     for a default one

    注释

    • 目前只支持默认用户定义日志格式。
    • 在 python 2.6/2. 7 下测试
    • 默认情况下,eer懒惰将通过将顺序数字部分替换为'( d+ ) 来对 url_path 进行分类: /users/3074/ -> /users/(d+)

    任何反馈都受到欢迎 !


    文件  log  Request  requests  分析器  slow  
    相关文章