DEV/other things

Nginx 로그 설정

석봉 2024. 6. 11. 16:07
 
// 로그 수정
sudo vi /etc/nginx/nginx.conf 


//===================================
// nginx.conf 내용 변경
http {
        # http 블럭 내부 내용...
        
        # 하단 로그 포멧 추가
        log_format custom '"$time_local" client=$remote_addr '
               'method=$request_method request="$request" '
               'request_length=$request_length '
               'status=$status bytes_sent=$bytes_sent '
               'body_bytes_sent=$body_bytes_sent '
               'referer=$http_referer '
               'user_agent="$http_user_agent" '
               'upstream_addr=$upstream_addr '
               'upstream_status=$upstream_status '
               'request_time=$request_time '
               'upstream_response_time=$upstream_response_time '
               'upstream_connect_time=$upstream_connect_time '
               'upstream_header_time=$upstream_header_time';

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

        gzip on;
        # http 블럭 내부 내용...
//===================================

// 테스트
sudo nginx -t

// 재실행
sudo nginx -s reload

// 로그 확인
cat /var/log/nginx/access.log custom;
  • $time_local: 서버에서의 로컬 시간
  • client=$remote_addr: 클라이언트의 IP 주소
  • method=$request_method: HTTP 요청 메서드 (예: GET, POST 등)
  • request="$request": HTTP 요청 내용
  • request_length=$request_length: HTTP 요청의 길이
  • status=$status: HTTP 응답 상태 코드
  • bytes_sent=$bytes_sent: 클라이언트로 전송된 바이트 수
  • body_bytes_sent=$body_bytes_sent: 실제 응답 바디의 바이트 수
  • referer=$http_referer: 요청한 페이지의 Referer 헤더
  • user_agent="$http_user_agent": 클라이언트의 User-Agent 헤더
  • upstream_addr=$upstream_addr: 웹 서버가 요청을 전달하는 업스트림 서버의 주소
  • upstream_status=$upstream_status: 업스트림 서버의 HTTP 응답 상태 코드
  • request_time=$request_time: 요청 처리 시간
  • upstream_response_time=$upstream_response_time: 업스트림 서버 응답 시간
  • upstream_connect_time=$upstream_connect_time: 업스트림 서버와의 연결 시간
  • upstream_header_time=$upstream_header_time: 업스트림 서버 헤더 읽는 시간