Ari Rantala -> Oppaat -> Apache
Web-palvelin: muistiinpanot
9. Palvelimen käytön seuranta - Lokitiedostot
Ihan aluksi
Lokitiedostoista löytyvät vain Web-palvelimelle asti
tulleet pyynnöt. Useista erilaisista välimuistiratkaisuista
(mm. proxyt, selainten cachet) johtuen palvelimen lokeista ei
varmuudella voi päätellä kuin Web-palvelimen
kuormaa.
Tämä kappale on uusien Apachen ja Analogin
versioiden
osalta päivittämättä, joten tarkasta niiltä
osin
detaljit:
- miten nykymuotoinen Apache lokittaa oletuksena? miten
"maksimaalinen" lokitus?
- Miten uusin Analog asennetaan?, lukeeko suoraan
nykymuotoisen Apachen lokitusta? Parametrit sinänsä
lienevät vielä ihan kuranttia tavaraa.
Miksi Web-palvelimen lokeja seurataan?
Syitä lokitiedostojen seurantaan on useita.
Yleensä
odotetaan vastauksia seuraaviin kysymyksiin:
- Kuinka paljon Web-palvelin kuormittuu/sillä on
käyttäjiä?
- Mistä verkkoalueista käyttäjät
tulevat eli
ketkä Web-palvelua käyttävät?
- Mihin aikaan eri käyttäjät Web-palvelua
kuormittavat?
- Mistä Web-palveluista saavutaan juuri sinun
Web-palveluusi?
- Mitä käyttäjät hakevat Web-palvelusta?
- Mitä selaimia Web-palvelusi käyttäjät
käyttävät?
- Onko Web-palvelusi konfiguroitu oikein?
- Virheilmoituksista voidaan päätellä
monenlaista: Linkit, suojaukset yms. väärin asettettu.
Apachen lokitiedostot
Apachen lokitiedostojen sijaintia on käsitelty jo
aiemmin.
Oletuskäännöksen jälkeen Apache kirjoittaa
tapahtumia
siis seuraaviin lokitiedostoihin:
- (/usr/local/apache/logs/) access_log
- error_log
access_log -tiedoston lokiformaattia on joustava muutella,
ja on mahdollista käyttää myös erikseen agent_log-
ja
referer_log
-tiedostoa selainasiakkaiden ja viittajien kirjaamiseen. Nämä
saa mukaan ottamalla käännökseen mukaan moduulit:
- mod_log_agent
- mod_log_referer
Omat pika-analyysit unix-komennoin
Apachen lokeista saa helposti pikasilmäyksen esim
seuraavilla
tavoilla
access_log
- wc access_log
- Paljonko lokitiedostossa rivejä?
- grep domain.fi access_log
- Kaikki haut verkkoalueesta domain.fi
- grep -c domain.fi access_log
- Kuten edellä, Tässä lasketaan rivit.
- grep -c 07/Mar/1998 access_log
- Tiettyn päivämäärään
kohdistuvat haut
- grep -c 07/Mar/1998:23 access_log
- Tiettyn päivämäärän tiettyyn
tuntiin ( 23-alkuiset ) kohdistuvat haut.
- grep -c "GET / " access_log
- Palvelimen etusivuun kohdistuneet haut
- grep -c "GET /index.html " access_log
- Kuten edellä, Hieman toisin
- grep -c "/~looseri" accesslog
- Tietyn käyttäjän tiedostoihin
kohdistuneet haut.
Vastaavia etsintöjä voit suorittaa tietenkin
muihinkin
lokitiedostoihin.
error_log
Kun testailet palvelimen toimintaa, voit seurata errot_log
-tiedoston viimeisiä rivejä "reaaliakaisesti" jostakin
terminaalista esim:
- tail -f /usr/local/etc/httpd/logs/error_log
Webalizer -lokianalysaattori
Useat Linux-jakelut käyttävät
Webalizer-nimistä http://www.mrunix.net/webalizer/
lokianalysaattoria lokitiedostojen analysointiin. Perusasetuksilla
saadaan hämmästyttävän monipuolisia analyysejä
Web-palvelimen käytöstä. Esim. Fedora Core 1 -jakelun
analyysit löytyvät Web-palvelimen /var/www/html/usage
-nimisestä hakemistosta eli osoitteesta:
- http://www.palvelin.example/usage/
Statistiikka päivitetään lokitiedostoista
päivittäin cronin avulla:
$ more /etc/cron.daily/00webalizer #! /bin/bash # update access statistics for the web site
if [ -s /var/log/httpd/access_log ] ; then /usr/bin/webalizer fi exit 0
Jos haluat ajaa Webalizerin muulloin, komenna:
# /usr/bin/webalizer
Huomaa, että usage-hakemistoon voi olla syytä asettaa
rajoituksia sen suhteen mistä ja kuka sitä voi katsella (ks.
luku 4).
Webalizer-ohjelman konfiguraatio löytyy tiedostosta: /etc/webalizer.conf
Ohjelmapaketin nimi on Fedorassa:
$ rpm -qa | grep webalizer
webalizer-2.01_10-14
|