Täiustame veebiserverite logimist

Ardi Jürgens
Jaga:

Järgnev postitus on suunatud klientidele ning neid esindavatele tehnilistele võluritele, kes veebiserverite logisid aktiivselt jälgivad ning analüüsivad.

Nimelt on Zone parandamas oma veebimajutuse logide vormistuse ja säilitamise korda ning 27. septembrist plaanime sellele üle minna kogu oma ZoneOS platvormi ulatuses. See hõlmab muuhulgas ka kõiki meie Virtuaalserveri teenuseid.

Aga haarakem härjal sarvist. Täna on meie veebiserveri logides kirjed vormistatud selliselt:

example.com 1.2.3.4 - - [08/Mar/2021:13:58:23 +0000] "GET / HTTP/1.0" 200 3390 "https://example.com/referer" "ApacheBench/2.3" (064FD630-5.001)

Koosneb see logirida järgmisest infost:

  1. veebileht, millele päring tehti
  2. IP aadress, millelt päring tehti
  3. esimene “-” on pärand ajaloo hämarustest, mil veebiserver sai ’identd’ teenuse kaudu pärija arvutist teada päringu teinud külastaja nime, tänapäeval pole see võimalik ja see väli on alati tühi
  4. teine “-” kuvatakse päringust puuduva kasutajanime asemel, HTTP Basic Authentication kasutamisel seisab siin kasutajanimi
  5. päringu kuupäev ja kellaaeg
  6. päringu sisu (antud juhul siis teostati vanamoelisele HTTP/1.0 standardile vastav GET päring veebilehe juurkataloogi pihta)
  7. päringu vastuse kood, 200 tähendab OK
  8. päringu vastuse suurus
  9. lehekülg, mis viitas päritud lehele (kui see info pandi brauseri poolt kaasa)
  10. veebilehitseja, mis päringu teostas, meie näite puhul kasutati selleks ApacheBench nimelist käsureautiliiti
  11. Zone poolt arendatava ja kasutatava PHP-ZFPM mooduli poolt päringule antud identifikaator, mis võimaldab meil probleeme lahendada

Uus logikirje vorm näeb välja selline:

example.com 2021-03-08T13:58:23.209048Z 1.2.3.4 12345 - - "GET / HTTP/1.0" 200 3390 "https://example.com/referer" "ApacheBench/2.3" 1621846 (064FD630-5.001)

Tähele tasub panna järgmist:

* päringu aeg on kolinud rea 5. positsioonilt 2. positsioonile
* päringu aeg antakse nüüd edasi mikrosekundites (RFC3339 standardile vastavalt), sest meie veebiserverid on nii kiired, et sekund on päringute analüüsimiseks liiga pikk ajaühik 🙂
* päringu aja ümbert on eemaldatud nurksulud, et seda oleks lihtsam töödelda
* päringu aeg on nüüd kahe stringi asemel üks string, mis teeb selle samuti lihtsamini töödeldavaks
* lisaks päringu lähteaadressile (3. positsioon) logitakse nüüd 4. positsioonil ka lähteport, et NAT teenuse taha sattunud kasutajate probleemide lahendamine oleks lihtsam
* ühtlasi leiab eelviimaselt positsioonilt info selle kohta, kaua (seinakella järgi) läks veebiserveril aega päringule vastamiseks, taas mikrosekundites

Logide säilitamise korras on samuti toimumas muutused, mis puudutavad peamiselt veebiserveri ja PHP logifailide nimesid ja on osaliselt juba jõustunud:

* kui seni sisaldas logifaili nimekiri järjekorranumbrit (apache.ssl.access.log.1.gz), siis nüüd sisaldab see kuupäeva (apache.ssl.access.log.2021-09-16.gz)
* kui samal kuupäeval tekib mitu arhiivifaili, siis pannakse igale järgnevale failile kuupäeva taha järjekorranumber, alustades 1-st.

Muutus failinimedes aitab meil klientidele kokku hoida varukoopiate ruumi, kuna see vähendab varukoopia tegemisel muutunuks loetavate failide hulka.

Kardetavasti on isegi meie blogi lugejatest 99% inimesi juba vajutanud back nuppu, sest “who cares”, aga logid on meie töös äärmiselt tähtsad. Seetõttu kui ülalolevast infost oli sulle ka sinu töös kasu, siis meie poolt “respect“!

Kommentaarid

Populaarsed postitused

Valmisolek Eesti liitumiseks Mandri-Euroopa elektrivõrguga

Ardi Jürgens
Elektrikatkestuse risk eelseisval nädalavahetusel võib olla tavapärasest suurem, kui Eesti koos Läti ja Leeduga end Venemaa elektrivõrgust lahti ühendab...

Partner soovitab: Eduka meiliturunduse alused ehk sissejuhatus A/B testimisse

Smaily
Kas oled varem kuulnud selliseid mõisteid nagu A/B testimine, split testimine või mitme muutujaga testimine? Muidugi võivad need sõnad meenutada keerulisi...

JavaScripti UI raamistikele ehitatud veebirakenduste avaldamine Vue näitel

Zone Blogi
Sellest on nüüd veidi üle aasta möödas, kui kirjutasin blogiloo sellest, kuidas automatiseerida veebirakenduste avaldamist Zone veebimajutusse läbi...

Ühe anomaalia anatoomiast ehk millega me siin Zones päriselt tegeleme

Zone Blogi
Käesolev blogipostitus kirjeldab ühe konkreetse probleemi lahendamist, millesarnastega Zones pidevalt kokku puutuda tuleb. Kui sind kõnetavad märksõnad...