Logging er et kritisk aspekt ved Linux-serveradministrasjon. Loggmeldinger er nyttige for rotårsaksanalyse og for å unngå potensielle feilforekomster i fremtiden. Å analysere og feilsøke serverfeil er en kjerneferdighet å ha for både IT-ingeniører og systemadministratorer.
Denne veiledningen viser deg hvordan du setter opp en ekstern loggserver, også kjent som en loggvert, på Linux. En loggvert lar deg samle lokale Linux-logger til en ekstern sentralisert server for enkel tilgang og analyse.
Hvorfor ha en dedikert loggserver?
Linux-operativsystemet logger de fleste aktivitetene på serveren din for revisjon og feilsøking ved å bruke syslog (systemloggingsprotokoll) daemon. Så du lurer kanskje på hvorfor jeg trenger en dedikert server for loggene mine? Her er noen fordeler ved å ha en dedikert loggserver:
- Bedre sikkerhet fordi den eksterne loggingsserveren bare har noen få porter åpne utover.
- Forbedret serverytelse fordi den eksterne loggingsverten ikke kjører mange tjenester, bortsett fra de som brukes til logging.
- Forenkler arkivering og administrasjon av loggmeldinger.
Loggmeldinger er viktige for å revidere serverne og base-lining og er en kjernedel av forebyggende vedlikeholdsprosedyrer på serverinfrastrukturen din.
Trinn 1: Installere rsyslog på Linux
Denne guiden fokuserer på Ubuntu 20.04, men prosessen bør være ganske den samme hvis du bruker andre vanlige Linux-distros.
rsyslog er en ekstern loggingstjeneste for Linux og leveres som standard forhåndsinstallert på de fleste moderne Linux-distros, for eksempel Ubuntu og andre Debian-baserte systemer.
rsyslog-tjenesten er en moderne og forbedret demon til syslog, som bare lar deg administrere logger lokalt. Med rsyslog-daemonen kan du sende dine lokale logger til en konfigurert ekstern Linux-server.
Hvis du ikke har installert rsyslog på PC-en din, kan du enkelt gjøre det ved å bruke følgende kommando, på Debian-baserte distros:
sudo apt installer rsyslog
På Red Hat Linux kan du installere det ved å skrive:
yum installer rsyslog
På Fedora og dens derivater, kjør:
dnf installer rsyslog
For å installere rsyslog på Arch Linux:
yay -S rsyslog
For å sjekke statusen til rsyslog, kjør følgende kommando:
systemctl status rsyslog
Produksjon:
Trinn 2: Konfigurere loggvertsserveren
Loggverten er serveren som er konfigurert til å motta loggmeldinger fra andre servere eller PC-er. rsyslog-konfigurasjonen ligger i /etc/rsyslog.conf fil.
Du kan åpne /etc/rsyslog.conf fil ved hjelp av hvilken som helst tekstredigerer du ønsker. I denne veiledningen bruker vi Vim.
Du trenger forhøyede rettigheter for å gjøre endringer i konfigurasjonsfilen.
Før du begynner å redigere konfigurasjonsfilen, bør du ta en sikkerhetskopi eller kopi av filen. For å gjøre det, kjør kommandoen:
sudo cp /etc/rsyslog.conf /etc/rsyslog_original.config
Deretter åpner du /etc/rsyslog.conf fil ved hjelp av et tekstredigeringsprogram.
sudo vim /etc/rsyslog.conf
Det er to protokoller du kan bruke for å sende/motta loggfiler med rsyslog: TCP og UDP. Denne veiledningen viser deg hvordan du konfigurerer begge.
Du trenger ikke konfigurere både UDP og TCP for at ekstern logging skal fungere. Velg kun en av de to.
Hvis du foretrekker å bruke UDP, se etter og fjern kommentarer på følgende linjer ved å fjerne innledningen Pund (#) symbol foran linjene. Du finner disse linjene under moduler-delen av konfigurasjonsfilen.
modul (load="imudp")
input (type="imudp" port="514")
Hvis du foretrekker å bruke TCP, kan du fjerne kommentarene til følgende linjer ved å fjerne innledningen Pund (#) symbol plassert på begynnelsen av linjene:
modul (load="imtcp")
input (type="imtcp" port="514")
Følgende figur viser rsyslog-konfigurasjonsfilen konfigurert til å bruke UDP-kommunikasjon:
Deretter konfigurerer du plasseringen der rsyslog skal lagre loggene dine. For bedre organisering bør du kategorisere innkommende logger etter deres opprinnelse. Definer en mal i rsyslog-konfigurasjonsfilen ved å legge til følgende linjer:
$template remote-incoming-logs, "/var/log/remote/%HOSTNAME%".log
*.* ?fjern-innkommende-logger
Den nevnte linjekommandoen rsyslog for å lagre loggene i mappen /var/log/remote/hostname, hvor vertsnavn er navnet på den eksterne klienten som sender loggmeldinger til loggverten.
Lagre nå endringene du har gjort. Hvis du bruker Vim, her er hvordan du lagrer og avslutter en fil.
Til slutt starter du rsyslog-tjenestene på nytt for at endringene du har gjort skal tre i kraft.
sudo systemctl start rsyslog på nytt
Trinn 3: Konfigurere brannmuren
Hvis brannmuren din er aktivert, sørg for at porten du har konfigurert ovenfor er i stand til å kommunisere med omverdenen. Du må redigere brannmurreglene for å tillate innkommende logger.
For Debian-baserte distroer, bruk bare UFW-verktøyet for å aktivere enten UDP- eller TCP-overføringsprotokollen.
I slekt: Hvordan konfigurere brannmuren i Ubuntu ved hjelp av UFW
Hvis du bruker UDP, kjør følgende kommando, der 514 er det konfigurerte portnummeret:
sudo ufw 514/udp
Hvis du bruker TCP på port 514, kjør ganske enkelt:
sudo ufw 514/tcp
På Fedora kan du bruke brannmur-cmd for å oppnå lignende resultater.
brannmur-cmd --zone=zone --add-port=514/udp
For Red Hat Linux, åpne iptables fil som ligger på /etc/sysconfig/iptables ved å bruke det valgte tekstredigeringsprogrammet, og legg til følgende regel:
-A INPUT -m state --state NY -m udp -p udp --dport 514 -j GODKJENNER
Start iptables-tjenesten på nytt for at endringene skal tre i kraft.
tjeneste iptables omstart
Trinn 4: Konfigurere loggingsklienten
Klienten er maskinen som sender loggene sine til en ekstern eller sentralisert loggvertsserver. Åpne rsyslog-konfigurasjonsfilen som ligger på /etc/rsyslog.conf:
sudo vim /etc/rsyslog.conf
Legg til følgende linje hvis du bruker UDP, hvor 192.168.12.123 er IP-adressen til den eksterne serveren, vil du skrive loggene dine til:
*.* @192.168.12.123:514
Hvis du bruker TCP, legg til følgende linje i stedet. Merk at linjen har to @ symboler.
*.* @@192.168.12.123:514
Lagre endringene og start rsyslog-tjenesten på nytt på klienten med kommandoen:
sudo systemctl start rsyslog på nytt
Trinn 5: Vise loggmeldingene på serveren
Du kan bruke SSH til å logge på den eksterne serveren din og se loggene sendt fra klientserverne. I dette tilfellet er rsyslog konfigurert slik at den lagrer klientloggene i /var/log/remote katalogen til den eksterne serveren.
cd /var/logs/remote
List deretter innholdet i katalogen ved hjelp av ls-kommandoen:
ls -l
Som du kan se i utdataene, inneholder katalogen loggmeldinger for de eksterne serverne som er navngitt andiwa og rukuru. Loggfilene deres er navngitt andiwa.log og rukuru.log hhv.
Du kan deretter se på loggfilene ved hjelp av et tekstredigeringsprogram eller med Linux-filvisningsverktøy som katt eller mindre.
Fjernlogging gir deg mer kontroll
Denne veiledningen har sett på hvordan du setter opp en ekstern loggserver (loggvert) på Linux.
En loggvert gir deg bedre organisering og kontroll når det kommer til logging. Selv i scenarier der et system er skadet eller utilgjengelig, kan du fortsatt se loggene fra loggverten og finne ut hva som gikk galt.
Komme i gang med systemlogging i Linux
Les Neste
Relaterte temaer
- Linux
- Systemadministrasjon
- Linux-kommandoer
Om forfatteren
Mwiza utvikler programvare av yrke og skriver mye om Linux og front-end programmering. Noen av interessene hans inkluderer historie, økonomi, politikk og bedriftsarkitektur.
Abonner på vårt nyhetsbrev
Bli med i vårt nyhetsbrev for tekniske tips, anmeldelser, gratis e-bøker og eksklusive tilbud!
Klikk her for å abonnere