Uus arendajasõbralikum veebilogide haldamise kord
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.
Ü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.