Sådan vises og konfigureres Linux-logfiler på Ubuntu, Debian og CentOS

Hvordan vises og konfigureres Linux-logfiler på Ubuntu, Debian og CentOS

Introduktion

Logfiler er en uundværlig komponent i ethvert Linux-system. De giver en løbende registrering af systemhændelser, fejl og advarsler, hvilket gør det muligt for administratorer at overvåge systemydeevne, fejlsøge problemer og sikre systemets integritet. I denne artikel vil vi udforske, hvordan man får vist og konfigurerer logfiler på de populære Linux-distributioner Ubuntu, Debian og CentOS. Vi vil dække grundlæggende kommandoer, konfigurationsmuligheder og bedste praksis for logadministration.

Viser Linux-logfiler

Ubuntu og Debian

Ubuntu og Debian bruger systemd-journal som primært logføringssystem. For at få vist logfiler kan du bruge kommandoen “journalctl”:


sudo journalctl

Du kan filtrere logfiler efter enhed, tidsstempel eller meddelelsestype ved hjælp af flagene -u, -s og -p:


sudo journalctl -u nginx

Vis logfiler for Nginx-tjenesten

sudo journalctl -s "2023-03-08"

Vis logfiler fra den 8. marts 2023

sudo journalctl -p err

Vis logfiler med fejlmeddelelser

CentOS

CentOS bruger rsyslog som logføringssystem. For at få vist logfiler kan du bruge kommandoen “dmesg”:


sudo dmesg

Du kan filtrere logfiler efter nøgleord eller tidsintervaller ved hjælp af kommandoerne “grep” eller “awk”:


sudo dmesg | grep "kernel"

Vis logfiler, der indeholder ordet "kernel"

sudo dmesg | awk '($1 >="Mar 8 14:00:00" && $1 <="Mar 8 15:00:00")'

Vis logfiler fra kl. 14.00 til 15.00 den 8. marts

Konfigurerer Linux-logfiler

Ubuntu og Debian

Konfigurationsfilen for systemd-journal er placeret i “/etc/systemd/journald.conf”. Du kan redigere denne fil med følgende kommando:


sudo nano /etc/systemd/journald.conf

De vigtigste indstillinger, du kan konfigurere, omfatter:

Storage: Angiver placeringen og størrelsen på logfilerne (f.eks. Storage=persistent eller Storage=auto)
MaxFileAge: Angiver den maksimale alder for logfiler, før de slettes (f.eks. MaxFileAge=7d)
MaxFileSize: Angiver den maksimale størrelse for logfiler, før de roteres (f.eks. MaxFileSize=10M)
ForwardToSyslog: Omdirigerer logfiler til syslog-tjenesten (f.eks. ForwardToSyslog=yes)

CentOS

Konfigurationsfilen for rsyslog er placeret i “/etc/rsyslog.conf”. Du kan redigere denne fil med følgende kommando:


sudo nano /etc/rsyslog.conf

De vigtigste indstillinger, du kan konfigurere, omfatter:

$ModLoad: Indlæser de nødvendige moduler til logbehandling (f.eks. $ModLoad imudp)
$InputUDPServerRun: Aktiverer UDP-indgangslytteren (f.eks. $InputUDPServerRun 514)
$template RemoteSyslog: Definerer skabelonen til at sende logfiler til en ekstern syslog-server (f.eks. $template RemoteSyslog “rsyslog.example.com:514”)
.* @@RemoteSyslog: Sender alle logfiler til den eksterne syslog-server, der er defineret i skabelonen (f.eks. *. @@RemoteSyslog)

Bedste praksis for logadministration

For at sikre effektiv logadministration anbefales det at følge følgende bedste praksis:

Tillad rullende logfiler: Ved at aktivere rullende logfiler kan du undgå, at logfiler bliver for store og uoverskuelige.
Konfigurer logrotat: Brug logrotat-værktøjet til automatisk at rotere og komprimere logfiler.
Filtrer irrelevante logfiler: Fjern irrelevante eller redundante logfiler for at forbedre ydeevnen og brugervenligheden.
Overvåg logfiler regelmæssigt: Brug overvågningsværktøjer eller scripts til at overvåge logfiler for potentielle problemer.
Tag sikkerhedskopi af logfiler: Sikkerhedskopier regelmæssigt logfiler til en ekstern placering for at sikre dataintegritet i tilfælde af systemfejl.

Konklusion

Logfiler er afgørende for fejlfinding, systemovervågning og sikkerhedshåndtering i Linux-systemer. Denne artikel har givet en omfattende vejledning om, hvordan man får vist og konfigurerer logfiler på Ubuntu, Debian og CentOS. Ved at følge de beskrevne retningslinjer kan du effektivt administrere logfiler og forbedre den overordnede sundhed og ydeevne af dine Linux-systemer.

FAQ

1. Hvordan viser jeg kun de seneste logposter?
journalctl -n 10 (Ubuntu/Debian)
dmesg | tail (CentOS)

2. Kan jeg søge i logfiler efter en bestemt tekststreng?
journalctl | grep "tekststreng" (Ubuntu/Debian)
dmesg | grep "tekststreng" (CentOS)

3. Hvordan opretter jeg en brugerdefineret logfil?
– Opret en fil med nødvendige tilladelser (f.eks. sudo touch /var/log/min_app.log)
– Tilføj logindgange til filen (f.eks. echo "Meddelelse" >> /var/log/min_app.log)

4. Hvordan sender jeg logfiler til en ekstern server?
– Konfigurer rsyslog til at sende logfiler til en fjern syslog-server (se Konfigurerer Linux-logfiler)

5. Hvordan automatiserer jeg logrotation?
– Installer logrotat-pakken og konfigurer den (f.eks. sudo dpkg-reconfigure logrotate)

6. Hvordan komprimerer jeg logfiler?
– Brug logrotat med komprimeringsindstillingen (f.eks. compress) eller komprimer logfiler manuelt (f.eks. gzip /var/log/min_app.log)

7. Hvordan kan jeg fejlfinde logkonfiguration?
– Kontroller, om logfiler er givet de korrekte tilladelser
– Brug værktøjet “rsyslogd -N1” (CentOS) eller “sudo journalctl -f” (Ubuntu/Debian) til at overvåge logaktiviteten

8. Hvad gør jeg, hvis jeg ved et uheld sletter vigtige logfiler?
– Prøv at gendanne logfiler fra sikkerhedskopier eller brug loggenvindelsesværktøjer.