Uus arendajasõbralikum veebilogide haldamise kord

Ardi Jürgens
Jaga:

Uue korra kohaselt on Virtuaalserveri teenuse kliendi käsutuses reaalajas uuenevad veebiserveri logid. Kui varasemalt uuenes reaalajas vaid probleemide tuvastamiseks vajalik vealogi (Error Log) ning päringute logi pakkusime arhiivina, siis nüüdsest on klientide käeulatuses reaalajas uuenev päringute logi (Access Log).

Veebiserveri logid leiab klient Virtuaalserveri ‘logs’ kataloogist. Logimisel tehakse vahet turvamata ja turvatud ühendustel, mis salvestatakse eraldi failidesse (apache.ssl.access.log ja apache.access.log).

Virtuaalserveri alamdomeenide vea- ja päringulogid kombineeritakse peadomeeniga. Päringuid on võimalik logis üksteisest eristada sedaläbi, et iga rida algab seda konkreetset päringut teenindanud hosti nimega.

Veebiserveri logi kirje formaat põhineb Apache Combined Log’il. Kasuliku ja unikaalse lisavõimalusena paneme me PHP päringute puhul logisse kirja ka selle unikaalse identifikaatori ning PHP koodi töötlemisele kulunud aja (‘wallclock’ sekundites). Need aitavad arendajatel oma rakenduste jõudlust paremini monitoorida ning meil ühiselt probleeme ‘troubleshoot’-ida.

Juhin tähelepanu asjaolulule, et logiridade kronoloogiline järjestus ei ole absoluutne – aeglasemad päringud võivad järjestuses sattuda oma noorematest, kuid kiirematest sõsaratest tahapoole.

Logisid roteeritakse endiselt Zone poolt, kuid vaikimisi säilitatakse kliendi Virtuaalserveris nüüd viimase nelja päeva logisid. Need asuvad failides mille nimed on kujul apache.ssl.access.log.[1-4].gz. Eelmise päeva logi on seega alati failis apache.ssl.access.log.1.gz.

Kui kliendil on soovi oma logisid arhiveerida, siis on tal võimalik neid endale kopeerida enda seadistatud crontab’i töö abil, mis käivituks näiteks kell 00:10, arhiveeriks nii HTTP kui HTTPS logid ka kustutaks logid mis vanemad kui 30 päeva.

Cron-töö (parameetriks kataloog, mille all asub logs):

[[$D2ND_A]]/logs-archiver.sh [[$D2ND_A]]

logs-archiver.sh skript:

#!/usr/bin/env bash

if [ $# -lt 1 ]; then
  echo "Please provide base path"
  exit 2
fi

mkdir -p $1/logs-archive/

cp $1/logs/apache.access.log.1.gz $1/logs-archive/apache.access.log.$(date +%Y%m%d).gz
cp $1/logs/apache.ssl.access.log.1.gz $1/logs-archive/apache.ssl-access.log.$(date +%Y%m%d).gz
find $1/logs-archive/ -mtime +30 -delete

Alates PHP versioonist 7.0 logitakse meil sarnasel printsiibil ka PHP tegevust. Varasematesse PHP versioonidesse sellist logimise tuge meil ei tule, seega on viimane aeg PHP ‘retro’ versioonidest loobuda.

Vana korra järgi seadistatud klientidel on võimalik uuele logide kasutuskorrale üle minna vabatahtlikult Virtuaalserveri seadistuses tehtava valiku kaudu.

Uue logide haldamise korra opt-in

Ühel hetkel lõpetame vana korra toetamise ära, kuid see ajakava ei ole veel paigas.

UPDATE: Tasub veel ära mainimist, et muutunud on ka Apache vealogide (ErrorLog) nimetused on nüüd apache.error.log ja apache.ssl.error.log. Nende roteerimise kohta kehtib kõik ülaltoodu.

Populaarsed postitused

"Pilve pole olemas. On lihtsalt kellegi teise arvuti."

Ardi Jürgens
Mis ikkagi on pilveteenus, kuidas see keerukas süsteem töötab ning kuidas me tulime mõne nädala eest toime ühe jõudlust pärssinud ootamatusega....

Saabub OpenSSL 3 tugi - ka aegunud PHP versioonidele

Ingmar Aasoja
Zone veebimajutusplatvormi aluseks olevat ZoneOS operatsioonisüsteemi ootab ees suurem uuendus: juurutame OpenSSL 3. versiooni. See muutus mõjutab pea...

Uuendame NodeJS ja Python vaikeversioone

Ingmar Aasoja
Juunis 2024 hakkame Zone platvormi järk-järgult l uuendama NodeJS ja Python vaikeversioone, mistõttu palume käesoleva kirjatükiga tähelepanu just...

Veelkord aegunud PHP versioonidest

Kaarel Urva
Mäletatavasti teavitasime aprilli lõpus kliente sellest, et aegunud PHP versioonide kasutamine muutub tasuliseks. Mõistetavasti tuli see uudis paljudele...