Teh Hermit

This is an old revision of the document!


Вычищаем из логов NGINX мусор

Ситуация следующая: логи NGINX быстро заполняются бинарным мусором. Выглядит access_log примерно так и расти может колоссально быстро, если мусорных запросов очень много:

xDE\x80\xFEI\x1DA\x10\xF5\x037\x90*w\x94\xC6\xC1\xCCO\xB1\xB8\xA9\x0B\xBB\xA3\x00\x1F\x8C\x95\x90\xAAW\xD3A I\xFFV#\xA1\xF0a\x17\x95\

Не слишком полезная информация, а переполненный лог может легко в конечном счете привести к остановке севисов. Давайте научим NGINX писать только человеческие запросы в access_log. Добавляем в конфигурацию, которая в Ubuntu расположена здесь:

/etc/nginx/nginx.conf

Следующее:

map $request_method $valid_request {
        default 1;
        ""      0;
    }

    log_format clean '$remote_addr - [$time_local] '
                     '"$request_method $uri" $status $body_bytes_sent '
                     '"$http_user_agent"';

    access_log /var/log/nginx/access.log clean if=$valid_request;
вычищаем_из_логов_nginx_мусор.1758875059.txt.gz · Last modified: by jp