Apache HTTP-palvelin

APACHE HTTPD KOULUTUSTA VUONNA 2025!

Kurssit saatavilla kautta Suomen. Tule ja varaa oma koulutustapahtumasi heti! Koulutuksen järjestää asiantuntijasi Koulutus- ja konsultointipalvelu KK Mediat.

Lokitiedostot ja niiden hallinta

Lokitiedostot ovat olennainen osa kehitys- ja tuotantopalvelimen ylläpitoa. Nämä lokitiedostot voidaan karkeasti jakaa kahteen eri tyyppiin:

Etenkin virhelokin tarkastelu on hyödyllistä palvelimen toiminnan ymmärtämisessä ja hallinnassa.

Virhelokit: Apachen ongelmien tunnistaminen

ErrorLog auttaa selvittämään virhetilanteet

Virhelokin sijainti määritetään ErrorLog-direktiivillä. Mikäli ominaisuuden arvon alussa ei ole kauttaviivaa ('/'), polku tulkitaan suhteessa palvelimen juurikansioon (ServerRoot).


ErrorLog logs/localhost-error.log


On suositeltavaa, että jokaisella palvelimelle olevalle sivustolle luodaan oma, muista palveluista erillinen virheloki. Tällöin ErrorLog-direktiivi tulee lisätä kunkin virtuaalihostin määrittelyn yhteyteen. Virhelokitiedostot tulisi aina sijoittaa julkaisukansion ulkopuoliseen tiedostoon, jonne ainoastaan palvelimen ylläpitäjällä on pääsy.

Voit tarastella virhelokin uusimpia rivejä reaaliaikaisesti antamalla bash-tulkissa komennon:


tail -f logs/localhost-error.log


LogLevel määrää kirjattavien virhetapahtumien vakavuustason

Ominaisuuden LogLevel avulla määritellään minka tason tapahtumia Apache kirjaa virhelokiin. Ominaisuuden arvot perustuvat virheluokkiin, jotka vaihtelevat katastrofista kaiken mahdollisen listaamiseen. Mahdolliset arvot nousevassa prioriteettijärjestyksessä ovat :

debug
Laajin mahdollinen asetus. Kirjaa kaiken palvelimen toimintaan liittyvän viestinnän.
info
Kirjaa mm. sisäisten tapahtumien välistä viestinvälitystä ja sitä vakavammat tapahtuvat
notice
Kirjaa sisäiset tapahtumat ja sitä vakavammat tapahtuvat
warn
Oletusarvo. Kirjaa mahdolliset virhetilanteet ja sitä vakavammat tapahtuvat
error
Kirjaa virhetilanteet ja sitä vakavammat tapahtumat
crit
Minisuositus. Kirjaa kriittiset virhetilanteet ja sitä vakammat tapahtumat
alert
Kirjaa erittäin kriittiset virhetilanteet ja sitä vakavammat tapahtumat
emerg
Kirjaa "katastrofitilanteet"

Oletusarvona Apache käyttää tasoa warn, minimisuosituksena voidaan pitää arvoa crit, jolloin ainoastaan kriittiset tai sitä vakavammat tapahtumat kirjataan virhelokiin.


LogLevel warn

Jos virheloki paisuu nopeasti, tarkista mahdolliset toistuvat varoitukset LogLevel-tasolla 'warn' tai matalammalla

Pyyntölokit - LogFormat ja CustomLog

Normaali asia palvelimen ylläpitäjälle on myös palveluiden kävijämäärien, rasituksen ja toiminnallisuuden seuraaminen. Tämän toteuttaminen tapahtuu seuraamalla ja tulkitsemalla pyyntölokitiedostoihin tallentuvaa informaatiota. Pyyntöloki määritellään ominaisuudella CustomLog, jolle määritellään tiedostopolun lisäksi lisäominaisuutena käytettävä lokiformaatti (suositus on nk. CLF-muoto eli combined).

Aivan kuten virhelokitiedostojen tapauksessa, on suositeltavaa, että jokaisella palvelimelle olevalle sivustolle luodaan oma, muista palveluista erillinen pyyntöloki. Tällöin CustomLog-määrittely tulee lisätä kunkin virtuaalihost määrittelyn yhteyteen.

Lokitiedostossa käytettävä pyyntöjen kirjausformaatti määritellään ominaisuuden LogFormat avulla. On suositeltavaa, jättää LogFormat-ominaisuus oletusarvoon, koska se noudattaa tällöin standardia joka on suoraan yhteensopiva esim. lokianalysointi-ohjelmistojen kanssa. Koska käytämme esimerkissämme CLF- tapahtumalokia, voimme kommentoida muita muotoja koskevat ehdot pois:


<IfModule log_config_module>
     LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined

     #LogFormat "%h %l %u %t \"%r\" %>s %b" common     
     CustomLog logs/access-localhost.log combined 
</IfModule>


Suositeltava sovellus pyyntölokien perusseurantaan on AWStats.