Ответ 1
Если вы хотите регистрировать HTTP-запросы в общем формате журнала NCSA, вам нужно использовать varnishncsa
. В CentOS/RedHat пакет RPM Varnish включает в себя инициализацию script varnishncsa, которую вы можете использовать для начала ведения журнала. По умолчанию он записывается в logfile="/var/log/varnish/varnishncsa.log"
.
Кроме того, если вы хотите обслуживать несколько разных хостов через одну установку Varnish, вы также захотите включить имя хоста в журнал. Это можно сделать с помощью следующей настройки в /etc/sysconfig/varnishncsa
DAEMON_OPTS="$DAEMON_OPTS -F '%{Host}i %h %l %u %t \"%r\" %s %b \"%{Referer}i\" \"%{User-agent}i\"'"
Обратите внимание, что метод, описанный в ссылке Anshu, регистрирует только запросы, переданные Varnish на серверные серверы. Запросы на получение кеша никогда не будут записаны (до Varnish 5.0 - см. Ниже). Поэтому собранные таким образом протоколы HTTPD не могут использоваться для статистического анализа.
Обновление: Как упоминает @VikrantPogula, с Varnish 5.0 все клиентские запросы регистрируются, включая хиты кэша. Это поведение по умолчанию и может быть включено в явном виде с помощью переключателя -c
.