Obtendo análise de tráfego / visitante ao vivo ao usar um proxy reverso

1

Estou no processo de implementar o Varnish como um proxy reverso para um aplicativo Ruby on Rails e estou usando o Google Analytics (JS / script do lado do cliente para registrar dados do visitante), mas ele está várias horas atrasado. acontecendo agora . Eu preciso de um relance ao vivo dados que inclua o tráfego de referência e qual é o req / s atual. Agora eu estou usando um aplicativo de middleware simples Rack para fazer as estatísticas ao vivo (gist.github.com/235745), mas se a maioria do tráfego atinge o verniz, Rack nunca será atingido, então isso não vai funcionar.

A solução mais próxima que encontrei até agora é o link , mas ele está na versão beta (também não há detalhes de implementação na primeira página ).

O Varnish tem logs de tráfego que eu posso personalizar para corresponder aos meus logs do Apache para que eu possa combiná-los, ou terei que rolar minha própria implementação de JS como o GA que mostra os dados em tempo real?

    
por user29608 21.12.2009 / 16:52

3 respostas

1

O verniz não registra por motivos de desempenho. Eles permitem que você acesse o shm usando o varnishncsa, no entanto, você tem algumas opções.

Se a maioria de seus internautas suportam javascript (que é como o Analytics está funcionando), você poderia colocar um pequeno webbug em algum lugar da sua página que atualizasse um processo. Como alternativa, você poderia definir uma imagem específica como pass e, em seguida, analisar seus registros de back-end, já que cada solicitação enviaria essa solicitação ao back-end.

 if (req.url == "^tracker.jpg$") {
    pass
 }

tracker.jpg poderia ser facilmente um script de algum tipo para inserir dados em um log local ou você poderia executar uma análise de log contra os weblogs do servidor web do backend. Se você estiver usando o apache:

LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" varnishcombined
CustomLog /var/log/apache2/domain.com-access.log varnishcombined

Usará o cabeçalho X-Forwarded-For na coluna em que a maioria dos programas de análise de log espera ver o IP do cliente.

    
por 16.04.2010 / 23:58
0

Dê uma olhada em varnishncsa , em particular a opção -c. É provavelmente o que você quer.

    
por 29.03.2010 / 01:57
0

Se você quiser informações tempo real , deve olhar os comandos varnishtop e varnishstat . Ambos atualizam a cada segundo. Se você pode suportar ficar alguns minutos atrás, você poderia pensar em usar uma ferramenta de gráficos como Monit ou Cactos .

Veja esta postagem no blog para uma introdução ao uso do vernizstat .

    
por 07.04.2010 / 04:55