zoukankan      html  css  js  c++  java
  • Nginx系列(十一)——通过日志进行故障排查

    Debugging and Troubleshooting with Access Logs, Error Logs, and Request Tracing
    故障排查

    Configuring Access Logs
    请求日志配置
    http {
    log_format geoproxy #日志格式命名为geoproxy
    '[$time_local] $remote_addr '
    '$realip_remote_addr $remote_user '
    '$request_method $server_protocol '
    '$scheme $server_name $uri $status '
    '$request_time $body_bytes_sent '
    '$geoip_city_country_code3 $geoip_region '
    '"$geoip_city" $http_x_forwarded_for '
    '$upstream_status $upstream_response_time '
    '"$http_referer" "$http_user_agent"';
    ...
    }
    使用以上格式的日志
    server {
    access_log /var/log/nginx/access.log geoproxy;
    ...
    }


    Configuring Error Logs
    配置错误日志
    error_log /var/log/nginx/error.log warn; #levels的值可以是debug,info,notice,warn,error,
    crit,alert,emerg . 这个功能需要nginx在配置时使用了with-debug选项


    Forwarding to Syslog
    转发系统日志
    使用以下配置
    error_log syslog:server=10.0.1.42 debug;
    access_log syslog:server=10.0.1.42,tag=nginx,severity=info geoproxy;
    syslog的服务器可以是elk等常见的日志集中分析平台


    Request Tracing
    请求跟踪
    log_format trace '$remote_addr - $remote_user [$time_local] '
    '"$request" $status $body_bytes_sent '
    '"$http_referer" "$http_user_agent" '
    '"$http_x_forwarded_for" $request_id';
    upstream backend {
    server 10.0.0.42;
    }
    server {
    listen 80;
    add_header X-Request-ID $request_id; # Return to client。添加一个request_id值到日志中
    location / {
    proxy_pass http://backend;
    proxy_set_header X-Request-ID $request_id; #Pass to app。添加request id 到header中
    access_log /var/log/nginx/access_trace.log trace;
    }
    }

  • 相关阅读:
    好文推荐
    高效词频分析
    内网渗透技巧:判断机器真实外网IP的5种方法总结
    禁用substr、substring、mid函数的sql注入脚本
    内网文件传输
    工作
    我是如何逃过所有杀软进行内网端口转发的
    扎克伯格开发的家用AI: Jarvis
    Python初学者之网络爬虫(二)
    Python初学者之网络爬虫
  • 原文地址:https://www.cnblogs.com/biaopei/p/12953544.html
Copyright © 2011-2022 走看看