zoukankan      html  css  js  c++  java
  • nginx 日志格式

     1 http {
     2 
     3 log_format main '$remote_addr - $remote_user [$time_local] "$request" '
     4 '$status $body_bytes_sent "$http_referer" '
     5 '"$http_user_agent" "$http_x_forwarded_for" "$request_time" "$upstream_response_time" "$upstream_cache_status"';
     6 
     7 }
     8 
     9 日志变量解释说明:
    10 
    11 $remote_addr:  与$http_x_forwarded_for 用以记录客户端的ip地址;
    12 
    13 $remote_user :  用来记录客户端用户名称;
    14 
    15 $time_local :   用来记录访问时间与时区;
    16 
    17 $request :     用来记录请求的url与http协议;
    18 
    19 $status :      用来记录请求状态;成功是200;
    20 
    21 $body_bytes_sent :记录发送给客户端文件主体内容大小;
    22 
    23 $http_referer :  用来记录从那个页面链接访问过来的;
    24 
    25 $http_user_agent :  记录客户端浏览器的相关信息;
    26 
    27 $http_x_forwarded_for:  它代表客户端,也就是HTTP的请求端真实的IP,只有在通过了HTTP 代理或者负载均衡服务器时才会添加该项;
    28 
    29 $request_time:        指的就是从接受用户请求的第一个字节到发送完响应数据的时间,即包括接收请求数据时间、程序响应时间、输出响应数据时间;
    30 
    31 $upstream_response_time:   是指从Nginx向后端(php-cgi)建立连接开始到接受完数据然后关闭连接为止的时间。
    32 $upstream_cache_status:    这个变量来显示缓存的状态,命中为HIT,为了能够统计缓存的命中率,我们需要在日志中记录这一状态 

    $upstream_cache_status包含以下几种状态: 
    ·MISS 未命中,请求被传送到后端 
    ·HIT 缓存命中 
    ·EXPIRED 缓存已经过期请求被传送到后端 
    ·UPDATING 正在更新缓存,将使用旧的应答 
    ·STALE 后端将得到过期的应答

    统计方法:用HIT的数量除以日志总量得出缓存命中率:
    awk '{if($NF==""HIT"") hit++} END {printf "%.2f%",hit/NR}' access.log
  • 相关阅读:
    454 Authentication failed, please open smtp flag first!
    zabbix 调用的发邮件脚本
    Apache Shiro 标签方式授权
    Realm [realm.ShiroDbRealm@15408475] does not support authentication token
    简单的zabbix agent自动安装脚本
    创建IPC端口失败:拒绝访问
    如何对报表的参数控件赋值
    如何对报表的参数控件赋值
    Socket 通信原理(Android客户端和服务器以TCP&&UDP方式互通)
    mysql 执行计划走分区
  • 原文地址:https://www.cnblogs.com/zenghui940/p/4244581.html
Copyright © 2011-2022 走看看