Расширенные журналы доступа Nginx Amplify и виртуальные хосты GoAccess

Я запускаю Nginx с установленным Nginx Amplify. Чтобы получить лучшие показатели, я расширил формат журнала доступа до:

log_format  main_ext  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for" '
                      '"$host" sn="$server_name" '
                      'rt=$request_time '
                      'ua="$upstream_addr" us="$upstream_status" '
                      'ut="$upstream_response_time" ul="$upstream_response_length" '
                      'cs=$upstream_cache_status' ;

Вышеуказанный формат взят из официальной документации Amplify.

Все работает нормально, расширенные метрики включены в веб-панель Amplify.

Для облегчения доступа к журналу я также установил пакет GoAccess. Когда я запускаю GoAccess с КОМБИНИРОВАННЫМ форматом журнала, он работает. Но я настроил несколько виртуальных хостов (которые пока не отображаются на странице отчета GoAccess), поэтому я должен использовать формат VCOMBINED, но он выдает ошибку:

Token '+0100]' doesn't match specifier '%h'

Чтобы это работало, я изменил команду на:

sudo goaccess /var/log/nginx/access.log \
        --log-format=VCOMBINED \
        --date-format=%d/%b/%Y --time-format=%T \
        -o /var/www/stats/report.html \
        --real-time-html

, но появляется такая же ошибка. Я понятия не имею, как создать действительный шаблон журнала для работы с ampify и GoAccess с поддержкой виртуальных хостов. Я пробовал трюки с awk, но безуспешно.

0
задан 9 December 2019 в 05:40
1 ответ

Формат журнала main_ext создан Nginx Amplify, а не VCOMBINED.

Возможно, это подойдет вам

time-format %T %z
date-format %d/%b/%Y

формат журнала, если вы не используете CDN или балансировщики нагрузки

log-format %h %^ %^ [%d:%t] "%r" %s %b "%R" "%u" "%^" "%^" sn="%v" rt=%T %^

формат журнала, если вы используете CDN или балансировщики нагрузки

log-format %^ %^ %^ [%d:%t] "%r" %s %b "%R" "%u" "%h" "%^" sn="%v" rt=%T %^
0
ответ дан 22 September 2020 в 22:39

Теги

Похожие вопросы