Logning er et kritisk aspekt af Linux-serverstyring. Logmeddelelser er nyttige til at analysere årsagen til årsagen og undgå potentielle fejlforekomster i fremtiden. Analyse og fejlretning af serverfejl er en kernefærdighed at have for både it-ingeniører og systemadministratorer.

Denne vejledning viser dig, hvordan du opsætter en ekstern logningsserver, også kendt som en logvært, på Linux. En log-vært giver dig mulighed for at samle lokale Linux-logfiler til en centraliseret fjernserver for nem adgang og analyse.

Hvorfor have en dedikeret logserver?

Linux-operativsystemet logger de fleste aktiviteter på din server til revision og fejlretning ved hjælp af syslog-dæmonen (systemlogningsprotokol). Så du undrer dig måske, hvorfor skal jeg bruge en dedikeret server til mine logfiler? Her er nogle fordele ved at have en dedikeret logserver:

  • Bedre sikkerhed, fordi den eksterne logningsserver kun har nogle få porte åbne udadtil.
  • Forbedret serverydeevne, fordi fjernlogningsværten ikke kører mange tjenester, undtagen dem, der bruges til logning.
  • instagram viewer
  • Letter arkivering og administration af logmeddelelser.

Logmeddelelser er vigtige for revision af dine servere og base-lining og er en kernedel af forebyggende vedligeholdelsesprocedurer på din serverinfrastruktur.

Trin 1: Installation af rsyslog på Linux

Denne guide fokuserer på Ubuntu 20.04, men processen burde være stort set den samme, hvis du bruger andre almindelige Linux-distros.

rsyslog er en fjernlogningstjeneste til Linux og leveres som standard forudinstalleret på de fleste moderne Linux-distros, for eksempel Ubuntu og andre Debian-baserede systemer.

rsyslog-tjenesten er en moderne og forbedret dæmon til syslog, som kun tillader dig at administrere logs lokalt. Med rsyslog-dæmonen kan du sende dine lokale logfiler til en konfigureret ekstern Linux-server.

Hvis du ikke har rsyslog installeret på din pc, kan du nemt gøre det ved at bruge følgende kommando på Debian-baserede distros:

sudo apt installer rsyslog

På Red Hat Linux kan du installere det ved at skrive:

yum installer rsyslog

På Fedora og dets derivater, kør:

dnf installer rsyslog

Sådan installeres rsyslog på Arch Linux:

yay -S rsyslog

For at kontrollere status for rsyslog skal du køre følgende kommando:

systemctl status rsyslog

Produktion:

Trin 2: Konfiguration af logværtsserveren

Logværten er den server, der er konfigureret til at modtage logbeskeder fra andre servere eller pc'er. rsyslog-konfigurationen ligger i /etc/rsyslog.conf fil.

Du kan åbne /etc/rsyslog.conf fil ved hjælp af enhver teksteditor efter eget valg. I denne guide bruger vi Vim.

Du skal bruge forhøjede rettigheder for at foretage ændringer i konfigurationsfilen.

Før du begynder at redigere konfigurationsfilen, bør du tage en sikkerhedskopi eller kopi af filen. For at gøre det skal du køre kommandoen:

sudo cp /etc/rsyslog.conf /etc/rsyslog_original.config

Åbn derefter /etc/rsyslog.conf fil ved hjælp af en teksteditor.

sudo vim /etc/rsyslog.conf 

Der er to protokoller, du kan bruge til at sende/modtage logfiler med rsyslog: TCP og UDP. Denne vejledning viser dig, hvordan du konfigurerer begge dele.

Du behøver ikke at konfigurere både UDP og TCP for at fjernlogning fungerer. Vælg kun en af ​​de to.

Hvis du foretrækker at bruge UDP, skal du kigge efter og fjerne kommentarer til følgende linjer ved at fjerne indledningen Pund (#) symbol foran linjerne. Du kan finde disse linjer under modulerne i konfigurationsfilen.

modul (load="imudp")
input (type="imudp" port="514")

Hvis du foretrækker at bruge TCP, så fjern kommentarene til følgende linjer ved at fjerne indledningen Pund (#) symbol placeret i begyndelsen af ​​linjerne:

modul (load="imtcp")
input (type="imtcp" port="514")

Følgende figur viser rsyslog-konfigurationsfilen konfigureret til at bruge UDP-kommunikation:

Konfigurer derefter den placering, hvor rsyslog gemmer dine logfiler. For bedre organisering bør du kategorisere indgående logfiler efter deres oprindelse. Definer en skabelon i din rsyslog-konfigurationsfil ved at tilføje følgende linjer:

$template remote-incoming-logs, "/var/log/remote/%HOSTNAME%".log
*.* ?fjernindgående-logfiler

De førnævnte linjer kommandoen rsyslog for at gemme logfilerne i mappen /var/log/remote/hostname, hvor værtsnavn er navnet på den fjernklient, der sender logmeddelelser til logværten.

Gem nu de ændringer, du har foretaget. Hvis du bruger Vim, her er, hvordan du gemmer og afslutter en fil.

Til sidst skal du genstarte rsyslog-tjenesterne for at de ændringer, du har foretaget, træder i kraft.

sudo systemctl genstart rsyslog

Trin 3: Konfiguration af din firewall

Hvis din firewall er aktiveret, skal du sørge for, at den port, du har konfigureret ovenfor, er i stand til at kommunikere med omverdenen. Du bliver nødt til at redigere dine firewallregler for at tillade indgående logfiler.

For Debian-baserede distributioner skal du blot bruge UFW-værktøjet til at aktivere enten UDP- eller TCP-overførselsprotokollen.

Relaterede: Sådan konfigureres firewallen i Ubuntu ved hjælp af UFW

Hvis du bruger UDP, skal du køre følgende kommando, hvor 514 er det konfigurerede portnummer:

sudo ufw 514/udp

Hvis du bruger TCP på port 514, skal du blot køre:

sudo ufw 514/tcp

På Fedora kan du bruge firewall-cmd at opnå lignende resultater.

firewall-cmd --zone=zone --add-port=514/udp

For Red Hat Linux skal du åbne iptables fil placeret på /etc/sysconfig/iptables ved hjælp af din valgte teksteditor, og tilføj følgende regel:

-A INPUT -m tilstand --state NY -m udp -p udp --dport 514 -j ACCEPTERER

Genstart iptables-tjenesten for at ændringerne træder i kraft.

service iptables genstart

Trin 4: Konfiguration af logningsklienten

Klienten er den maskine, der sender sine logfiler til en ekstern eller centraliseret log-værtsserver. Åbn rsyslog-konfigurationsfilen, der findes på /etc/rsyslog.conf:

sudo vim /etc/rsyslog.conf

Tilføj følgende linje, hvis du bruger UDP, hvor 192.168.12.123 er IP-adressen på fjernserveren, vil du skrive dine logfiler til:

*.* @192.168.12.123:514

Hvis du bruger TCP, skal du tilføje følgende linje i stedet. Bemærk, at linjen har to @ symboler.

*.* @@192.168.12.123:514

Gem dine ændringer og genstart rsyslog-tjenesten på klienten med kommandoen:

sudo systemctl genstart rsyslog

Trin 5: Visning af logmeddelelser på serveren

Du kan bruge SSH til at logge på din fjernserver og se logfilerne sendt fra klientserverne. I dette tilfælde er rsyslog konfigureret, så den gemmer klientlogfilerne i /var/log/remote mappe på fjernserveren.

cd /var/logs/remote

List derefter indholdet af mappen vha ls kommandoen:

ls -l

Som du kan se i outputtet, indeholder biblioteket logmeddelelser for de navngivne fjernservere andiwa og rukuru. Deres logfiler er navngivet andiwa.log og rukuru.log henholdsvis.

Du kan derefter se på logfilerne ved hjælp af en teksteditor eller med Linux filvisningsværktøjer såsom kat eller mindre.

Fjernlogning giver dig mere kontrol

Denne vejledning har set på, hvordan man opsætter en ekstern logningsserver (logvært) på Linux.

En loghost giver dig bedre organisering og kontrol, når det kommer til logning. Selv i scenarier, hvor et system er beskadiget eller utilgængeligt, kan du stadig se dets logfiler fra logværten og finde ud af, hvad der gik galt.

Kom godt i gang med systemlogning i Linux

Læs Næste

DelTweetDelE-mail

Relaterede emner

  • Linux
  • Systemadministration
  • Linux kommandoer

Om forfatteren

Mwiza Kumwenda (52 artikler udgivet)

Mwiza udvikler software af profession og skriver meget om Linux og front-end programmering. Nogle af hans interesser omfatter historie, økonomi, politik og virksomhedsarkitektur.

Mere fra Mwiza Kumwenda

Abonner på vores nyhedsbrev

Tilmeld dig vores nyhedsbrev for tekniske tips, anmeldelser, gratis e-bøger og eksklusive tilbud!

Klik her for at abonnere