nginx разделение логов

Дата | 23.12.2019

nginx разделение логов
Решили попробовать разделить логирование в nginx по определенным данным.
Разделение по версии протокола http, для каждой версии протокола http свой лог файл.
Приступим к настройке nginx разделение логов.
В секцию http добавляем регулярное выражение map

map $server_protocol $log_http {
default 0;
"HTTP/1.0" http_access_ver-1.0.log;
"HTTP/1.1" http_access_ver-1.1.log;
"HTTP/2.0" http_access_ver-2.0.log;
}

В виртуал хост в секцию server.

access_log /var/log/nginx/$log_http main;

Перезагружаем nginx.
И вот что получилось, как только кто-то заходит на наш сайт с определенной версии протокола http, то эти данные падают в определенный лог файл.
http1.0 им практически не пользуется, кроме ботов, так что ждем когда появится http1.0 и смотрим что там боты делали.

# ls -alh /var/log/nginx/ | grep http_access
-rw-r--r--  1 www   wheel   846B 23 дек.  09:59 http_access_ver-1.0.log
-rw-r--r--  1 www   wheel   739B 23 дек.  09:35 http_access_ver-1.1.log
-rw-r--r--  1 www   wheel    10K 23 дек.  09:34 http_access_ver-2.0.log

При таком map сортировке есть один минус, директорию под логи нужно сделать права 777.
Либо пользователю от которого запускается рабочий процесс нужно разрешить запись в директорию логов.
Я сделал раздельно map, то-есть 3 map сортировки, под каждую версию http.

map $server_protocol $log_http0 {
default 0;
"HTTP/1.0" 1;
}
map $server_protocol $log_http1 {
default 0;
"HTTP/1.1" 1;
}
map $server_protocol $log_http2 {
default 0;
"HTTP/2.0" 1;
}
access_log /var/log/nginx/http_access_ver.1.0.log main if=$log_http0;
access_log /var/log/nginx/http_access_ver-1.1.log main if=$log_http1;
access_log /var/log/nginx/http_access_ver-2.0.log main if=$log_http2;

и т.д.
При таком раскладе права на директорию логов изменять не нужно.
Вот как бы и вся настройка в nginx разделение логов по версии протокола.

nginx webp правило отображения картинок.
joomla nginx redirect.
nginx блокируем плохих ботов.
nginx geoip фильтрация.

Категории: web Метки:

9 thoughts on “nginx разделение логов

  1. Pingback: simpla nginx перевод редиректов - FRYAHA.RU

  2. Pingback: nginx ssl letsencrypt редирект на другой домен. - FRYAHA.RU

  3. Pingback: nginx блокируем плохих ботов - FRYAHA.RU

  4. Pingback: nginx webp правило отображения картинок - FRYAHA.RU

  5. Pingback: nginx geoip фильтрация - FRYAHA.RU

  6. Pingback: nginx 301 редирект - FRYAHA.RU

  7. Pingback: joomla nginx redirect - FRYAHA.RU

  8. Pingback: nginx apache redirect seo - FRYAHA.RU

  9. Pingback: nginx ограничить GET запрос - FRYAHA.RU

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *