Какой формат журнала портативного доступа nignx HTTP можно использовать с nginx?
Я ищу способ хранить эти журналы в общем формате, чтобы их можно было легко распознать и проанализировать большинством инструментов.
Меня интересует формат, который автоматически распознается инструментом goaccess и поддерживает время отклика.
Пока что кажется, что настройки журнала по умолчанию не распознаются.
2 ответа
Nginx по умолчанию выведет комбинированный формат журнала (NCSA).
GoAccess автоматически распознает его, если вы выберете первый вариант в диалоговом окне конфигурации (или окончательно раскомментируете формат комбинированного журнала NCSA из файла конфигурации).
Если вы заинтересованы в регистрации времени запроса, то вам нужно изменить свой конфигурационный файл nginx и добавить свой собственный формат журнала:
vi /etc/nginx/nginx.conf
затем добавьте:
log_format timed_combined '$remote_addr - $remote_user [$time_local] ' '"$request" $status $body_bytes_sent ' '"$http_referer" "$http_user_agent" ' '$request_time';
и измените журнал доступа, чтобы использовать новый формат:
access_log /var/log/nginx/timed.log timed_combined;
и перезапустите nginx
Убедитесь, что ваш access.log теперь регистрирует время запроса. Тогда вы можете добавить %T
на ваш доступ log-format
как:
log-format %h %^[%d:%t %^] "%r" %s %b "%R" "%u" %T
GoAccess говорит прямо на своей странице:
Apache / Nginx Common / Combined + VHosts
Если ваши журналы не анализируются, вам нужно просмотреть журналы GoAccess и увидеть, что не так.
Дополнительно:
GoAccess допускает любую произвольную строку формата журнала.
Таким образом, вам может понадобиться узнать, как настроить инструмент в своем пользовательском формате.