Un screen varnish monitor

Varnish: Avoir une vue rapide de l’activité

Vue rapide de l’activité ?

Comment avoir rapidement et simple une vue de l’activité de l’instance varnish à mettre en parallèle d’autres informations (log complet, monitoring, outils dédiés, etc. ) durant  un moment critique de l’activité (pic d’audience, mise en production ,etc.).

Varnishtop

Varnishtop comme le nom l’indique vous donne des top décroissant d’un élément surveillé. Cela peux être les requêtes reçues (RxURL), les requêtes envoyées aux backend (TxURL), les host appelés (ServerName au sens apache), ou ce que ce passe dans le cache,  ou encore les types d’appareil des visiteurs.

Exemple avoir le top des Host appelés sur l’instance varnish

varnishtop -i RxHeader -I '^Host:'

Le top retourné avec cette commande

list length 2
 
 221.47 RxHeader Host: www.grazia.fr
 39.84 RxHeader Host: m.grazia.fr

Gnu Screen kamehameha

 

Maintenant vous prenez un ensemble de commande varnishtop sélectionnées

  • varnishtop -i TxURL
  • varnishtop -i RxURL
  • varnishtop -i RxHeader -C -I ‘^User-Agent’
  • varnishtop -i TxHeader -I ‘^X-Cache:’
  • varnishtop -i TxHeader -I ‘X-Cacheable:’
  • varnishtop -i RxHeader -I ‘^Host:’

Vous organisez un gnu screen en regroupant le tout dans un fichier .VarnishMonitor.screenrc comportant des terminaux configurés, ajusté et ordonnés.

sessionname VarnishMonitor
termcapinfo xterm ti@:te@
altscreen on
autodetach on
defscrollback 1000
startup_message off
hardstatus alwayslastline "%{= 9r}%H %{= .c}load : %l%-24=%{= .m}%D %d.%m.%Y %c:%s "
caption always "%{kG}%?%-Lw%?%{bw}%n*%f %t%?(%u)%?%{kG}%?%+Lw%?"
termcapinfo xterm* ti@:te@
setenv SSH_AUTH_SOCK "/tmp/ssh-agent-$USER-screen"
screen -t TxURL varnishtop -i TxURL
split
focus
resize 25%
screen -t RxURL varnishtop -i RxURL
split
focus
resize 25%
screen -t User-Agent varnishtop -i RxHeader -C -I '^User-Agent'
split
focus
resize 25%
screen -t X-Cache varnishtop -i TxHeader -I '^X-Cache:'
split -v
focus
screen -t X-Cacheable varnishtop -i TxHeader -I 'X-Cacheable:'
split -v
focus
screen -t Servername varnishtop -i RxHeader -I '^Host:'
split -v
focus
screen -t Device varnishtop -i TxHeader -I '^X-UA-Device'
startup_message off

Puis vous lancez avec la commande

 screen -c .VarnishMonitor.screenrc
Un screen varnish monitor
Un screen varnish monitor

Pour sortir du screen un Ctrl+a+d puis tuer l’ensemble avec la commande

screen -X -S VarnishMonitor quit

VarnishMonitor corrspondant à la directive sessionname du fichier .screenrc 

Laisser un commentaire