Varnish Cache logging to MongoDB

2

Eu quero transmitir o log do Varnish para o MongoDB para relatórios em tempo real.

Isso pode ser configurado diretamente no verniz ou pode ser usado o agente oficial de verniz ( link ) ou algum outro agente? ou script?

    
por Justin Hourigan 05.10.2012 / 18:15

3 respostas

1

Eu também pensei em registrar estatísticas no mongoDB, já que ele tem um "fogo e esquece" como modo de escrita padrão e não bloquearia solicitações, mas nunca iria adiante com isso.

Eu vejo 3 soluções possíveis:

  1. Não há nenhum mmodoDB vmod disponível ainda ( link ) e isso pode ser um kickstart para um.

  2. Use o mongoDB C lib ( link ) e escreva um C inline dentro seu VCL usando as funções de tempo de execução (VRT_GetHdr e etc).

  3. Se você economizar algumas estatísticas como visitas a páginas e códigos de erro, poderá analisar o log de varnishncsa com um script python e armazenar informações no mongoDB para uso posterior (mapear e reduzir). Mas isso é restrito ao formato de log comum do Apache (não há muita informação lá).

por 25.10.2012 / 18:37
0

Eu decidi usar um script PHP com um comando run o comando varnishstat -1 via SSH. Eu baseei isso neste projeto link

    
por 07.11.2012 / 10:53
0

Você não quer que seja feito em verniz. O que você quer é ter algo parecido com o varnishncsa falando diretamente para o mongodb. Dessa forma, se o Mongo atrasa a entrega da página, isso não é retardado. No momento, estamos jogando com a ideia de construir um programa varnishlogjson para produzir (partes do) vernizlog no formato JSON, para inserção no hadoop, mas talvez o Mongo também possa comer o JSON.

    
por 12.06.2014 / 10:10