Projekti

Yleinen

Profile

Lokirotaatio

Ehdotus ja suunnitelma Koha-Suomi lokien rotaatiosta kommentointia varten

Lokirotaatio tapahtuu päivittäin ja lokit kompressoidaan päivän viiveellä siten, että edellisen päivän loki on aina lokihakemistossa kompressoimattomassa muodossa, sitä vanhemmat taas säilytetään pakattuna (gzip) levytilankäytön minimoimiseksi. Päivittäinen rotaatio synnyttää suuren määrän lokitiedostoja, mutta toisaalta tiedostot pysyvät pieninä ja niiden käsittely ja seulonta on helppoa ja nopeaa.

On varmasti vielä syytä pohtia, onko päivittäinen rotaatio tarpeen kaikkien lokitiedostojen osalta, vai riittäisikö harvempi käsittely. Myös säilytysaikoja olisi tarpeen miettiä ja saada niistä aikaiseksi kaikkia Koha-Suomi kirjastoja koskeva yhtenäinen käytäntö. Tässä dokumentissa olevat rotaatioskriptin pätkät ovat täällä lähinnä kommentointia ja pohdiskelua varten. Niissä voi olla bugeja, eivätkä ne välttämättä ihan oikopäätä toimi suunnitellusti.

Lokitiedostojen anonymisointi ja säilytys tapahtuu seuraavasti:

  • Plackin, RESTin ja Ceepoksen lokeja säilytetään puoli vuotta (183 vuorokautta). Plackin lokissa olevat asiakastiedot anonymisoidaan kahden kuukauden (62 päivää) kuluttua.
__LOG_DIR__/plack.log
__LOG_DIR__/plack-error.log
__LOG_DIR__/rest.log
__LOG_DIR__/cpu_pos.log
{
    daily
    missingok
    rotate 183
    compress
    delaycompress
    notifempty 
    create 660 www-data koha
    sharedscripts
    prerotate
        if test -e __LOG_DIR__/plack.log.62.gz; then \ 
            cat __LOG_DIR__/plack.log.62.gz | gunzip | perl -pe 's/[0-9.:abcdef]*/***/;s/(borrowernumber=)[0-9]*/\1***/g' | gzip > __LOG_DIR__/plack.log.anon; \
            mv __LOG_DIR__/plack.log.anon __LOG_DIR__/plack.log.62.gz; \
        fi
    endscript
    postrotate
        /etc/init.d/koha-plack-daemon restart
    endscript
}
  • SIPin lokeja säilytetään vuosi (365 päivää). SIP-lokeista poistetaan asiakkaiden nimi-, osoite- ym. tiedot seuraavana päivänä, mutta korttinumero jätetään lokeihin ongelmien selvittelyä varten. Korttinumerot poistetaan lokista puolen vuoden (183 vrk) kuluttua.

https://github.com/KohaSuomi/Koha/blob/master/etc/logrotate.d/koha#L22-L38

  • Zebran lokeja säilytetään kaksi viikkoa (14 vrk).

https://github.com/KohaSuomi/Koha/blob/master/etc/logrotate.d/koha#L40-L55

  • Cronjobien ja EDItX:n lokeja säilytetään puoli vuotta (183 vrk).
__LOG_DIR__/cronjobs/*.log
__LOG_DIR__/editx/*.log
{
    daily
    missingok
    rotate 183
    compress
    delaycompress
    notifempty
    create 640 koha koha
}
  • Kohan intranetin ja OPAC:in virhelokeja säilytetään puoli vuotta (183 vrk). Voi ehkä olla liioittelua?
__LOG_DIR__/intranet-error.log
__LOG_DIR__/opac-error.log
{
    daily
    missingok
    rotate 183
    compress
    delaycompress
    notifempty
    create 660 www-data koha
}
  • Apachen Koha-lokeja säilytetään puoli vuotta (183 vrk). Voi ehkä olla liioittelua?
__LOG_DIR__/koha-opac-error_log
__LOG_DIR__/koha-error_log
{
    daily
    missingok
    rotate 183
    compress
    delaycompress
    notifempty
    create 660 www-data koha
    sharedscripts
    postrotate
        /usr/sbin/apachectl reload
    endscript
}

Pääkäyttäjät käyneet läpi ehdotusta ja pohdinnat löytyy tiketistä #4233.