Linuxi serveri logid: journalctl, /var/log, tail -f 2026
Serveri logisid vaadatakse kahel viisil: journalctl kaudu (systemd päevik, kuhu kirjutab enamik teenuseid) ja /var/log kausta failidest. Elavat voogu on mugav püüda käsuga tail -f ja vigu otsida grep-iga. Allpool on igapäevased töökäsud.
Kus logid asuvad
- journald — systemd tsentraalne päevik, kättesaadav käsuga
journalctl. - /var/log/ — üksikute teenuste tekstifailid (nginx, mysql, post).
- dmesg — tuuma teated.
journalctl: peamine tööriist
Kogu päeviku kuvamine (lõpust, kerimisega):
journalctl -e
Elav voog reaalajas
journalctl -f
Analoog käsule tail -f, aga kogu systemd päeviku jaoks. Katkestamiseks Ctrl+C.
Konkreetse teenuse logid
journalctl -u nginx
journalctl -u ssh -f
Filter aja järgi
journalctl --since "2026-05-26 09:00" --until "2026-05-26 10:00"
journalctl --since "1 hour ago"
journalctl --since today
Ainult vead
Prioriteeditaseme järgi (0 on emergency, 3 on error):
journalctl -p err -b
-b piirab väljundi praeguse süsteemikäivitusega. Eelmise käivituse logid:
journalctl -b -1
Tuuma logid
journalctl -k
Viimased N rida
journalctl -u nginx -n 50
Failid kaustas /var/log
Kasulikud failid (sõltub distributsioonist):
| Fail | Mida sisaldab |
|---|---|
/var/log/syslog |
Üldised süsteemisündmused (Debian/Ubuntu) |
/var/log/auth.log |
Autentimine, SSH sisselogimised |
/var/log/nginx/error.log |
Veebiserveri vead |
/var/log/nginx/access.log |
Päringud saidile |
/var/log/mysql/error.log |
MySQL/MariaDB vead |
/var/log/dmesg |
Tuuma teated käivitusel |
tail, head, less
Faili elav vaatamine:
tail -f /var/log/nginx/access.log
Viimased 100 rida:
tail -n 100 /var/log/nginx/error.log
Lehekülgede kaupa koos otsinguga (otsimiseks vajutage /):
less /var/log/syslog
Mitme faili korraga jälgimine:
tail -f /var/log/nginx/access.log /var/log/nginx/error.log
Otsing logidest grep-iga
Vigade leidmine:
grep -i "error" /var/log/nginx/error.log
Konteksti kuvamine (3 rida enne ja pärast):
grep -i -C 3 "segfault" /var/log/syslog
Ebaõnnestunud SSH sisselogimiste lugemine:
grep "Failed password" /var/log/auth.log | wc -l
Elav voog koos filtriga:
tail -f /var/log/nginx/access.log | grep " 500 "
Veebilogide analüüs
Enim päringuid teinud IP-aadressid:
awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -rn | head
Enim küsitud URL-id:
awk '{print $7}' /var/log/nginx/access.log | sort | uniq -c | sort -rn | head
Logide maht ja rotatsioon
systemd päeviku maht:
journalctl --disk-usage
Vanade kirjete puhastamine, jättes alles viimased 200 MB või 7 päeva:
journalctl --vacuum-size=200M
journalctl --vacuum-time=7d
Tekstilogisid roteerib logrotate — seaded on kaustas /etc/logrotate.d/.
Päeviku püsiv säilitamine
Vaikimisi hoiab journald mõnes süsteemis logisid ainult mälus ja kaotab need taaskäivitusel. Lülitage sisse püsiv säilitamine:
mkdir -p /var/log/journal
systemd-tmpfiles --create --prefix /var/log/journal
systemctl restart systemd-journald
Nüüd näitab journalctl -b -1 eelmiste käivituste logisid — see on asendamatu ootamatute taaskäivituste lahtiharutamisel.
Filtreerimine mitme tingimuse järgi
journalctl kombineerib filtreid. Konkreetse teenuse vead viimase tunni jooksul:
journalctl -u nginx -p err --since "1 hour ago"
Konkreetse protsessi (PID) logid:
journalctl _PID=1234
Käivitatava faili järgi:
journalctl /usr/sbin/sshd
Väljundivorming töötlemiseks
Skriptidesse edastamiseks sobib JSON:
journalctl -u nginx -o json-pretty --since today
Kompaktne väljund ilma reamurdmiseta ja koos prioriteetidega:
journalctl -o short-precise -p warning
Vigade jälgimine reaalajas
Pange kokku häiretahvel — elav voog ainult vigadest kõigist teenustest:
journalctl -f -p err
Jätke käsk eraldi tmux- või screen-seanssi, et probleeme kohe nende tekkimisel näha. See on lihtne asendus töölaudadele, kui on vaja serveri käitumises kiiresti selgusele jõuda.
Korduma kippuvad küsimused
Miks fail /var/log/auth.log on tühi?
journaldiga süsteemides ei pruugi logid failidesse dubleeruda. Vaadake journalctl -u ssh.
Kuidas vaadata kukkunud teenuse logisid?
journalctl -u teenuse_nimi -n 100 --no-pager näitab viimaseid ridu enne kukkumist.
Logid võtavad palju ruumi — mida teha?
Piirake päevikut käsuga journalctl --vacuum-size ja määrake SystemMaxUse failis /etc/systemd/journald.conf.
Kuidas eksportida logid faili?
journalctl -u nginx --since today > nginx-today.log.
Mis vahe on tail -f ja journalctl -f vahel?
tail -f jälgib ühte faili, journalctl -f kogu systemd päevikut koos teenuse ja prioriteedi filtritega.
Kindel logidega töö lihtsustab käitust. Paigutage projekt VPS-i rendile või VPS-ile turvalisuse ja VPN-i jaoks. Monitooringu ja intsidentide lahtiharutamise võtab enda peale Serverite haldus.