<div dir="ltr">Hello,<div><br></div><div>By not using splitlogs or an intermediary script, you will be forced to run multiple instances of varnishncsa, which isn't optimal if you host multiple domains. The more traffic/domains you have, the more resources you will consume on parsing the same data across multiple channels. Yes, varnishncsa supports VSL, however I think your approach is a bit off (no offense). As in, you need to shift the log writing process away from varnishncsa. By doing so, you only have one instance of varnishncsa using resources to gather the data, which is then fed to a parser that handles the per domain log splits and writes. That's where 'splitlogs' came into play.</div><div><br></div><div>As your question does raise some interest in the cPanel community (myself and Miguel González on this list for example), I threw together a quick Perl script that will in short, pipe and parse data between varnishncsa and the splitlogs binary for cache hits. This lets splitlogs handle the queued log writes which are later parsed for cPanel bandwidth usage and graphs, webalizer, awstats, logaholic, etc - <a href="https://github.com/AndreiG6/vscp">https://github.com/AndreiG6/vscp</a></div><div><br></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sun, Nov 13, 2016 at 12:18 PM, Admin Beckspaced <span dir="ltr"><<a href="mailto:admin@beckspaced.com" target="_blank">admin@beckspaced.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Same Hello here ;)<br>
<br>
did have a more in depth look in the manual and figured out that varnishncsa does support VSL query.<br>
so someone could filter on the Request Header and Host<br>
<br>
varnishncsa -q "ReqHeader ~ '^Host: .*<a href="http://example.com" rel="noreferrer" target="_blank">example.com</a>'"<br>
<br>
which would produce a log for a specific domain only<br>
<br>
it then would need multiple varnishncsa instances for logging per domain, which I found here:<br>
<br>
<a href="https://kevops.com/2015/11/varnish-logging-per-host-with-init-script/" rel="noreferrer" target="_blank">https://kevops.com/2015/11/var<wbr>nish-logging-per-host-with-ini<wbr>t-script/</a><br>
<br>
I use varnish version 5 and then there would be no need for splitlog and the logs would be created directly.<br>
<br>
please correct me if I'm wrong?<br>
<br>
thanks for your time & help<br>
Becki<br>
<br>
<br>
Am 12.11.2016 um 17:05 schrieb Andrei:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hello again,<br>
<br>
My apologies for not explaining my thoughts better earlier then. Afaik,<br>
varnishncsa does not have a native method to split output based on<br>
different parameters. The method I was thinking of was based on piping<br>
varnishncsa output through splitlogs (or similar) for the log processing<br>
and writeouts. Since replying earlier, I've got this working on a cPanel<br>
server with piped logging enabled for Apache using the following two for<br>
example (X-Port is a custom header set in vcl_recv related to SSL<br>
offloading, but you can use a static value or similar custom header):<br>
<br>
varnishncsa -F "%{HOST}i:%{X-Port}i %h %l %u %t \"%m %U%q %H\" %s %b<br>
\"%{Referer}i\" \"%{User-agent}i\""|sed -e<br>
's#^www\.##g'|/usr/local/cpane<wbr>l/bin/splitlogs --main=`hostname`<br>
--mainout=/usr/local/apache/lo<wbr>gs/access_log<br>
varnishncsa -F "%{HOST}i %{%s}t %b ."|sed -e<br>
's#^www\.##g'|/usr/local/cpane<wbr>l/bin/splitlogs --main=`hostname`<br>
--suffix=-bytes_log<br>
<br>
The above pipes the requests to the splitlogs binary which queues then<br>
writes to separate logs per domain, that are later processed by the<br>
cPanel log stats apps. Either way, I believe you need an intermediary<br>
script to queue and write the log entries per domain. While looking into<br>
this process, I ran across this little tidbit which you may find of use<br>
<a href="https://gist.github.com/garlandkr/4954272" rel="noreferrer" target="_blank">https://gist.github.com/garlan<wbr>dkr/4954272</a> for logstash style output.<br>
<br>
<br>
</blockquote><div class="HOEnZb"><div class="h5">
<br>
<br>
______________________________<wbr>_________________<br>
varnish-misc mailing list<br>
<a href="mailto:varnish-misc@varnish-cache.org" target="_blank">varnish-misc@varnish-cache.org</a><br>
<a href="https://www.varnish-cache.org/lists/mailman/listinfo/varnish-misc" rel="noreferrer" target="_blank">https://www.varnish-cache.org/<wbr>lists/mailman/listinfo/varnish<wbr>-misc</a><br>
</div></div></blockquote></div><br></div>