Skip to main content

Hvordan finne og endre system-loggfiler

Steg 1: Forstå hvor loggene ligger
Loggfiler på Linux finnes som regel i katalogen /var/log. I tillegg bruker mange nyere systemer systemd sin journal (tilgjengelig via journalctl). Sjekk først hva som finnes:

  • ls -lah /var/log — viser filer og kataloger.
  • journalctl --list-boots — viser journal-oppføringer per oppstart.

Tips: Ikke slett filer direkte fra /var/log uten å vite hva de er — bruk logrotate for rydding eller flytt til et arkiv.

Steg 2: Lese loggfiler sikkert
For å lese store loggfiler bruker du pagere eller «follow»-modus:

  • less /var/log/syslog eller less /var/log/messages — paget visning.
  • tail -n 200 /var/log/syslog — se siste 200 linjer.
  • tail -f /var/log/syslog — følg nye linjer i sanntid.
  • journalctl -u <service> — viser logg for en systemd-tjeneste (f.eks. journalctl -u sshd).

Tips: Bruk sudo ved behov. For komprimerte loggfiler har du zless /var/log/syslog.1.gz.

Steg 3: Søke og filtrere i loggene
Søk og filtrering gjør feilsøking effektiv:

  • grep -i "error" /var/log/nginx/error.log — finn feilmeldinger.
  • journalctl --since "2025-10-01" --until "2025-10-06" --grep "timeout" — tidsfiltrering med journalctl.
  • Kombiner tail -f og grep: tail -f /var/log/syslog | grep --color=auto -i "warn".

Tips: Bruk awk/sed for avansert parsing når du trenger felter eller kolonner.

Steg 4: Endre loggnivå og logging for tjenester
Mange tjenester lar deg styre hvilket loggnivå de bruker (f.eks. error, warning, info, debug). Metoden varierer:

  • Systemd-tjenester: bruk en override-fil til å sette miljøvariabler eller cmdline-opts:
    • sudo mkdir -p /etc/systemd/system/sshd.service.d
    • Lag /etc/systemd/system/sshd.service.d/override.conf med innhold som: [Service] Environment="SYSTEMD_LOG_LEVEL=info"
    • Kjør sudo systemctl daemon-reload && sudo systemctl restart sshd.
  • Applikasjonsspesifikt: rediger f.eks. /etc/nginx/nginx.conf eller /etc/rsyslog.conf og restart tjenesten.

Tips: Les tjenestens dokumentasjon — enkelte apper krever egne flagg i startkommandoen.

Steg 5: Administrere rotasjon og lagring av loggfiler (logrotate)
For å unngå at disk fylles opp, bruk logrotate:

  • Sjekk konfigurasjon: /etc/logrotate.conf og /etc/logrotate.d/.
  • Eksempel på enkel konfig for /var/log/myapp.log i /etc/logrotate.d/myapp: /var/log/myapp.log { daily rotate 14 compress missingok notifempty create 0640 root adm }
  • Test rotasjon: sudo logrotate -d /etc/logrotate.conf (dry-run) eller sudo logrotate -f /etc/logrotate.conf (tving rotasjon).

Tips: Sett compress og rotate etter ønsket retensjon; for større miljøer vurder ekstern logglagring.

Steg 6: Sikre og arkivere logger
Sikre loggdata og implementer gode retensjonsrutiner:

  • Aktiver komprimering i logrotate (compress) for lagringsbesparelse.
  • Flytt eldre loggfiler til et dedikert arkiv (/var/log/archive/) eller hent dem til et S3-kompatibelt lagringssted.
  • Vurder å sende kritiske logger til en ekstern syslog-server eller SIEM med rsyslog/syslog-ng.

Tips: Sørg for at kun root/adm har skrive- og leserettigheter til sensitive loggfiler.

Steg 7: Vanlige operasjoner og feilsøkingskommandoer
Hurtigreferanse for nyttige kommandoer:

  • journalctl -xe — se siste feil og utvidet logging.
  • journalctl --vacuum-size=500M — tøm journal til å bruke maks 500MB.
  • grep -R "Exception" /var/log — søk rekursivt etter unntak.
  • logwatch --detail High --service all --range today — daglig loggsammendrag (installer logwatch).

Tips: Når diskplass er kritisk, bruk du -sh /var/log/* for å finne store filer raskt.


Oppsummering

Du har nå: identifisert hvor systemlogger ligger, lært kommandoer for å lese og søke i dem, justert loggnivå for tjenester, satt opp rotasjon med logrotate og vurdert sikring og arkivering. Neste steg er å lage en enkel logrotate-policy for dine kritiske applikasjoner og vurdere ekstern logglagring for historikk og sikkerhet.

Skjematisk illustrasjon av logrotate-syklus og komprimering

Steg 1: Forstå hvor loggene ligger
Loggfiler på Linux finnes som regel i katalogen /var/log. I tillegg bruker mange nyere systemer systemd sin journal (tilgjengelig via journalctl). Sjekk først hva som finnes:

  • ls -lah /var/log — viser filer og kataloger.
  • journalctl --list-boots — viser journal-oppføringer per oppstart.

Tips: Ikke slett filer direkte fra /var/log uten å vite hva de er — bruk logrotate for rydding eller flytt til et arkiv.

Steg 2: Lese loggfiler sikkert
For å lese store loggfiler bruker du pagere eller «follow»-modus:

  • less /var/log/syslog eller less /var/log/messages — paget visning.
  • tail -n 200 /var/log/syslog — se siste 200 linjer.
  • tail -f /var/log/syslog — følg nye linjer i sanntid.
  • journalctl -u <service> — viser logg for en systemd-tjeneste (f.eks. journalctl -u sshd).

Tips: Bruk sudo ved behov. For komprimerte loggfiler har du zless /var/log/syslog.1.gz.

Steg 3: Søke og filtrere i loggene
Søk og filtrering gjør feilsøking effektiv:

  • grep -i "error" /var/log/nginx/error.log — finn feilmeldinger.
  • journalctl --since "2025-10-01" --until "2025-10-06" --grep "timeout" — tidsfiltrering med journalctl.
  • Kombiner tail -f og grep: tail -f /var/log/syslog | grep --color=auto -i "warn".

Tips: Bruk awk/sed for avansert parsing når du trenger felter eller kolonner.

Steg 4: Endre loggnivå og logging for tjenester
Mange tjenester lar deg styre hvilket loggnivå de bruker (f.eks. error, warning, info, debug). Metoden varierer:

  • Systemd-tjenester: bruk en override-fil til å sette miljøvariabler eller cmdline-opts:
    • sudo mkdir -p /etc/systemd/system/sshd.service.d
    • Lag /etc/systemd/system/sshd.service.d/override.conf med innhold som: [Service] Environment="SYSTEMD_LOG_LEVEL=info"
    • Kjør sudo systemctl daemon-reload && sudo systemctl restart sshd.
  • Applikasjonsspesifikt: rediger f.eks. /etc/nginx/nginx.conf eller /etc/rsyslog.conf og restart tjenesten.

Tips: Les tjenestens dokumentasjon — enkelte apper krever egne flagg i startkommandoen.

Steg 5: Administrere rotasjon og lagring av loggfiler (logrotate)
For å unngå at disk fylles opp, bruk logrotate:

  • Sjekk konfigurasjon: /etc/logrotate.conf og /etc/logrotate.d/.
  • Eksempel på enkel konfig for /var/log/myapp.log i /etc/logrotate.d/myapp: /var/log/myapp.log { daily rotate 14 compress missingok notifempty create 0640 root adm }
  • Test rotasjon: sudo logrotate -d /etc/logrotate.conf (dry-run) eller sudo logrotate -f /etc/logrotate.conf (tving rotasjon).

Tips: Sett compress og rotate etter ønsket retensjon; for større miljøer vurder ekstern logglagring.

Steg 6: Sikre og arkivere logger
Sikre loggdata og implementer gode retensjonsrutiner:

  • Aktiver komprimering i logrotate (compress) for lagringsbesparelse.
  • Flytt eldre loggfiler til et dedikert arkiv (/var/log/archive/) eller hent dem til et S3-kompatibelt lagringssted.
  • Vurder å sende kritiske logger til en ekstern syslog-server eller SIEM med rsyslog/syslog-ng.

Tips: Sørg for at kun root/adm har skrive- og leserettigheter til sensitive loggfiler.

Steg 7: Vanlige operasjoner og feilsøkingskommandoer
Hurtigreferanse for nyttige kommandoer:

  • journalctl -xe — se siste feil og utvidet logging.
  • journalctl --vacuum-size=500M — tøm journal til å bruke maks 500MB.
  • grep -R "Exception" /var/log — søk rekursivt etter unntak.
  • logwatch --detail High --service all --range today — daglig loggsammendrag (installer logwatch).

Tips: Når diskplass er kritisk, bruk du -sh /var/log/* for å finne store filer raskt.


Oppsummering

Du har nå: identifisert hvor systemlogger ligger, lært kommandoer for å lese og søke i dem, justert loggnivå for tjenester, satt opp rotasjon med logrotate og vurdert sikring og arkivering. Neste steg er å lage en enkel logrotate-policy for dine kritiske applikasjoner og vurdere ekstern logglagring for historikk og sikkerhet.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *


Hei! Spør meg om hva som helst!