zoukankan      html  css  js  c++  java
  • ngxtop(nginx实时监控工具)

     

    ngxtop(nginx实时监控工具)

    安装 ngxtop
    yum -y install python-pip(如当前yum源不能找到python-pip,则新增扩展的epel-release扩展源:yum -y install epel-release)
     
    pip install ngxtop(如安装有问题:则 yum install python-setuptools)
     
    使用ngxtop
     
    1、
    监控当前所指定的nginx的实时状态(根据nginx.conf来进行指定所要监控的nginx信息,需注意:nginx.conf中所配置的日志产生路径必须是绝对路径,因为ngxtop是要找到对应的日志文件来进行分析而给出的实时结果)
        ngxtop -c /app/nginx-web1/conf/nginx.conf(默认展示10条信息,或者使用 -n 来指定所要实现的行数,-n 20 表示显示20行)
     
    如上所示:
        其中 74 seconds,表示当前已经监控的时长,单位秒;
        Summary:显示所有的统计后总结信息;
        Detailed则展示的是所有的请求明细:request_path 表示当前所请求的路径,count 请求的次数,avg_bytes_send 当前请求所返回的字节,2XX 表示当前请求的返回状态(200等),3xx,4xx,5xx 等均表示当前请求路径的状态码;
    2、
    设置只实时显示,20个最频繁的请求;
        ngxtop -c /app/nginx-web1/conf/nginx.conf -n 20
    3、
    实时 统计被请求最多的客户端IP地址 remote_addr;以及统计各请求status状态的数量 status;以及统计各请求在对应的时间段的请求数量,time_local
        ngxtop -c /app/nginx-web1/conf/nginx.conf -n 20 top remote_addr status time_local
     
     
     
    OK,看完上述两个使用方式后,接下来将会说明,ngxtop 的语法格式,和各个参数的意义;这样在后续的使用中,就可以随心所欲定制符合自身统计要求的实时展示了;
     
    NGXTOP的用法格式如下:
     
    语法如下:
     
     
        1、ngxtop [options]
        
        2、ngxtop [options](备注:参数) (print|top|avg|sum)(备注:内含的4个关键词) <var>(备注:所要使用的变量:其中ngxtop内置的变量有bodybytessend,http_referer,httpuseragent,remote_addr,remote_user,request,status,time_local)
     
        其中print 表示自定义显示的变量信息,如:ngxtop print remote_addr status http_referer(表示只实时输出显示,remote_addr(表示客户端请求IP),status等信息)
        
        top 表示    
     
        3、ngxtop info
     
     
    所对应的可选参数分别如下所示:
     
    Options:
        -l <file>, --access-log <file>  access log file to parse.
        -f <format>, --log-format <format>  log format as specify in log_format directive.
        --no-follow  ngxtop default behavior is to ignore current lines in log
                         and only watch for new lines as they are written to the access log.
                         Use this flag to tell ngxtop to process the current content of the access log instead.
        -t <seconds>, --interval <seconds>  report interval when running in follow mode [default: 2.0]
     
     
        -g <var>, --group-by <var>  group by variable [default: request_path]
        -w <var>, --having <expr>  having clause [default: 1]
        -o <var>, --order-by <var>  order of output for default query [default: count]
        -n <number>, --limit <number>  limit the number of records included in report for top command [default: 10]
        -a <exp> ..., --a <exp> ...  add exp (must be aggregation exp: sum, avg, min, max, etc.) into output
     
     
        -v, --verbose  more verbose output
        -d, --debug  print every line and parsed record
        -h, --help  print this help message.
        --version  print version information.
     
     
        Advanced / experimental options:
        -c <file>, --config <file>  allow ngxtop to parse nginx config file for log format and location.
        -i <filter-expression>, --filter <filter-expression>  filter in, records satisfied given expression are processed.
        -p <filter-expression>, --pre-filter <filter-expression> in-filter expression to check in pre-parsing phase.
     
    可参考链接:
     
  • 相关阅读:
    Linux并发与同步专题 (1)原子操作和内存屏障
    Linux并发与同步专题
    功耗案例分析:周期性底电流抬高问题分析和解决
    Android OpenGL 基础入门
    使用Codeblock搭建Windows下Objec-c学习环境
    Muduo 多线程模型对比
    NPTL 线程同步方式
    C++ 封装互斥对象
    Java 常用字符串操作总结
    Android 开发有用代码积累
  • 原文地址:https://www.cnblogs.com/zh94/p/11922981.html
Copyright © 2011-2022 走看看