Назад | Перейти на главную страницу

Каким будет формат переносимого журнала HTTP-доступа nginx для использования с nginx?

Я ищу способ хранить эти журналы в общем формате, чтобы их можно было легко распознать и проанализировать большинством инструментов.

Меня интересует формат, который автоматически распознается инструментом goaccess и может поддерживать время ответа.

Пока кажется, что настройки журнала по умолчанию не распознаются.

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 допускает любую строку настраиваемого формата журнала.

Таким образом, вам может потребоваться изучить, как настроить инструмент для вашего пользовательского формата.