[Nginx] 특정 에이전트 로그 제외하기
- 꼬반
- 2017. 1. 17. 15:21
웹 서버를 운영하다 보면 서버의 로그를 수집하고 모니터링을 하는 부분이 매우 중요해진다.
그런데 로그를 살펴보면 각종 검색엔진의 crawler로 인해 로그가 고통받는걸 볼 수 있다.
(어디가든 bot 이 문제야! ㅠㅠ)
그래서 이 bot 들의 로그를 남기지 않기 위해서는 다음과 같이 설정하여 주면 된다.
참조 : https://bjornjohansen.no/exclude-requests-from-nginx-access-log
map $http_user_agent $log_ua { ~Pingdom 0; ~Googlebot 0; ~Baiduspider 0; default 1; } server { […] access_log /var/log/nginx/access.log main if=$log_ua; }
user_agent 에 특정 문자열을 포함한 경우는 로그를 남기지 않게 설정할 수 있다.
이 설정을 응용하여 특정 ip 나 특정 refferer 에서 로그를 남기지 않게 설정할 수 있다.
위 설정 도입 후 모니터링 솔루션에서 수집되는 로그수가 많이 감소하였다.