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:
- Virhelokit tallentavat tietoa palvelimen kohtaamista virheistä.
- Pyyntölokit tallentavat tietoa palvelimelle tehdyistä HTTP-pyynnöistä
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.