Os métodos que vi deixam 2 opções. 1 é registrar tudo em um único arquivo e, em seguida, usar varnishlog para analisar o log para ver apenas o vhost em que você está interessado. Mais sobre esta ferramenta está aqui - link .
Para dividir os logs em arquivos explícitos, você deve executar vários daemons varnishncsa
. O método é mostrado neste blog intitulado: Como dividir log Varnish para host virtual .
Por exemplo:
verniz 3.xvarnishncsa -m "RxHeader:^Host: linuxaria.com$" -a -w /var/log/varnish/linuxaria.com.access_log -D
varnishncsa -m "RxHeader:^Host: linuxaria.org$" -a -w /var/log/varnish/linuxaria.org.access_log -D
verniz 4.x
varnishncsa -q "ReqHeader ~ '^Host: .*\.example1.com'"
varnishncsa -q "ReqHeader ~ '^Host: .*\.example2.com'"
Você precisaria configurá-lo como arquivos unitários systemd individualizados, um por vhost. NOTA: O método também é discutido nesta postagem do blog intitulada: [dicas] varnishncsa salve o log dividido cada host .
Seu exemplo
Então, para cada arquivo de unidade, 1 por vhost, você adicionaria sua linha exec da seguinte forma:
arquivo de unidade 1ExecStart=/usr/bin/varnishncsa -q "ReqHeader ~ '^Host: somedomain1.com'" -D -a -w /var/log/varnish/somedomain1.log -P /run/varnishncsa/varnishncsa_vhost1.pid -F '%%{X-Forwarded-For}i %%l %%u %%t "%%r" %%s %%b "%%{Referer}i" "%%{User-agent}i"'
arquivo de unidade # 2
ExecStart=/usr/bin/varnishncsa -q "ReqHeader ~ '^Host: somedomain2.com'" -D -a -w /var/log/varnish/somedomain2.log -P /run/varnishncsa/varnishncsa_vhost2.pid -F '%%{X-Forwarded-For}i %%l %%u %%t "%%r" %%s %%b "%%{Referer}i" "%%{User-agent}i"'