[Nginx] Logging

반응형

이전글에 이어서 Nginx의 configuartion에 대해 알아보도록 하겠습니다.

9. Logging

Nginx는 access & error log를 기본으로 제공합니다.

log는 nginx뿐만아니라 많은 service에서 error를 tracking 하거나 user의 행동들을 분석하는데 주요하게 사용되므로, 이번글에선 nginx의 logging system을 어떻게 관리하고 조작하는지 알아보도록 하겠습니다.

image.png

저의 nginx default log path는 /var/log/nginx 입니다.

image.png

9-1) access log

access log는 모든 nginx에 대한 접근을 기록합니다.

기존에 쌓여있던 log를 비우고 /thumb.png로 접근해보겠습니다.

clear log

image.png

access

image.png

이후에 access.log 파일을 확인해보면 아래와 같이 정상적으로 log가 쌓여있는것을 확인할 수 있습니다.

image.png

9-2) error log

error log는 request의 error뿐만아니라 nginx configuration의 에러내역 또한 기록합니다.

예를 들어 아래와 같이 nginx.conf 내용을 invalid 하게 변경하고 nginx를 reload 하면..😅

nginx.conf

events {}

http {
        include mime.types;

        server {
                listen 80;
                server_name 13.209.87.130;
                root /sites/demo /some/other/path;
        }
}

reload nginx

systemctl reload nginx

root path는 항상 한개만 등록가능하기 때문에 아래와 같은 에러가 error.log에 기록되게 됩니다.

image.png

9-3) custom log

default log가 아닌 custom으로 log를 생성할 수도 있습니다.

예를 들어 특정 location 내부에 아래와 같이 선언하면 해당 location에 대한 log만 따로 수집할 수 있습니다.

location /secure {
    access_log /var/log/nginx/secure.access.log;
    return 200 "Welcome to secure area";
}

/secure

image.png

secure.access.log

image.png

9-4) disable log

반대로 특정 location에 대한 log를 기록하지 않을 수도 있습니다.

예를 들어 request가 굉장히 많이 들어오는 location에 대해 resource에 부담으로인해 log를 수집하지 않으려 한다면 아래와 같이 선언하면 됩니다.

location /secure {
    access_log off;
    return 200 "Welcome to secure area";
}

참고 자료 : https://www.udemy.com/course/nginx-fundamentals/


반응형

'Nginx' 카테고리의 다른 글

[Nginx] Buffer & Timeout  (0) 2020.08.27
[Nginx] Worker Process  (0) 2020.08.27
[Nginx] Try Files & Named Location  (0) 2020.08.27
[Nginx] Redirect & Rewrite  (0) 2020.08.27
[Nginx] Location Block & Variables  (1) 2020.08.27

댓글

Designed by JB FACTORY