Nginx訪問日誌詳解——各個部分含義——非常簡單

十一號元素發表於2020-11-12

Nginx 訪問日誌

最近有分析nginx日誌,現在記錄一下預設的訪問日誌格式並分析一下作用。

1、查詢nginx配置資訊

root@proxy-nginx2-7b45c87d76-5ldt2:/# whereis nginx
nginx: /usr/sbin/nginx /usr/lib/nginx /etc/nginx /usr/share/nginx
root@proxy-nginx2-7b45c87d76-5ldt2:/# cd /etc/nginx
root@proxy-nginx2-7b45c87d76-5ldt2:/etc/nginx# ls
conf.d  fastcgi_params  koi-utf  koi-win  mime.types  modules  nginx.conf  scgi_params  uwsgi_params  win-utf
root@proxy-nginx2-7b45c87d76-5ldt2:/etc/nginx# cat nginx.conf

user  nginx;
worker_processes  1;

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    #gzip  on;

    include /etc/nginx/conf.d/*.conf;
}
root@proxy-nginx2-7b45c87d76-5ldt2:/etc/nginx#


其中就可以看到log_format 日誌格式對應的值
log_format access '$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent" $http_x_forwarded_for';

$remote_addr :客戶端地址
$remote_user :客戶端使用者名稱稱
$time_local :訪問時間
$request :http 請求行資訊
$status :記錄 http 狀態碼,即請求返回的狀態,例如 200 、404 、502 等
$body_bytes_sent :響應 body 位元組數
$http_referer :從哪個連結訪問過來的,可以根據 referer 進行防盜鏈設定
$http_user_agent :記錄客戶端訪問資訊,如瀏覽器、手機客戶端等

若上面引數沒有對應的值,則使用 - 替代

再配合linux的其他命令就可以對這些規則的日誌進行切割統計分析了。

【完】

正在去往bat的路上修行

相關文章