tavis nörttimaailmassa

EksisONE - artikkeleita ja ohjeita nörttimaailmasta

Varnish ja logrotate

Logrotate varmistaa sen, että se varsinainen logitiedosto ei kasvaisi liian suureksi. Kun haluttu aikamäärä tulee täyteen, niin logi pakataan, nimetään uudelleen, siirretään syrjään ja aloitetaan uusi – pääpiirteittäin, sillä sen käyttäytymistä voi säädellä. Hiljaisilla sivustoilla ei logrotate ole aidosti kovinkaan oleellinen asia, sillä esimerkiksi serverin vuoden access-logi saattaa jäädä alle 50 megan. Mutta toki tuohon voi varautua ja ottaa sen käyttöön. Varnish ei ”rotaatiota” nimittäin luonnostaan tee.

Asettaminen on Ubuntussa helppoa.

Tehdään logrotate-tiedosto:

/etc/logrotate.d/varnish

Kopioi sinne tämä:


/var/log/varnish/varnishncsa.log {
   daily
   rotate 7
   missingok
   compress
   delaycompress
   missingok
   postrotate
      if [ -d /run/systemd/system ]; then
         systemctl -q is-active varnishncsa.service || exit 0
      fi
      /usr/sbin/invoke-rc.d varnishncsa reload > /dev/null
   endscript
}

Tallenna, poistu ja se oli siinä.

Nyt Varnishin logi pyöräytetään joka päivä.

Jos haluat tutustua tarkemmin logien rotaatioon, niin man logrotate on se mistä aloitetaan ja kaikki olevat löydät hakemistosta /etc/logrotate.d

Pariin kohtaan voidaan heti kiinnittää huomiota:

  • daily tekee uuden login joka päivä (tyypillisesti 6:25 aamulla). Sen voi myös muuttaa aikajaksoille weekly, monthly ja yearly – sopiva aika riippuu täysin miten käytät logeja ja millaiselta aikaväliltä tarvitset helposti dataa.
  • rotate säätää montako vanhaa logitiedostoa säilytetään. Jos rotaatio tehdään päivittäin ja logitedostoja säilytetään 7, niin tallessa on aina viikon logit. Onko tuo hyvä tai huono, riippuu taas tarpeistasi. Jos et ole koskaan vanhoja logitiedostoja mihinkään tarvinnut, niin ehkä viikon aikajakso on sellainen turvallinen kompromissi; aidostihan kyse ei ole mistään muusta kuin levytilan säästämisestä.