Loggning är en kritisk aspekt av Linux-serverhantering. Loggmeddelanden är användbara för rotorsaksanalys och för att undvika potentiella felhändelser i framtiden. Att analysera och felsöka serverfel är en kärnfärdighet att ha för både IT-ingenjörer och systemadministratörer.

Den här guiden visar dig hur du ställer in en fjärrloggningsserver, även känd som en loggvärd, på Linux. En loggvärd låter dig samla lokala Linux-loggar till en centraliserad fjärrserver för enkel åtkomst och analys.

Varför ha en dedikerad loggserver?

Linux-operativsystemet loggar de flesta aktiviteter på din server för granskning och felsökning med hjälp av syslog-demonen (systemloggningsprotokoll). Så du kanske undrar, varför behöver jag en dedikerad server för mina loggar? Här är några fördelar med att ha en dedikerad loggningsserver:

  • Bättre säkerhet eftersom fjärrloggningsservern bara har ett fåtal portar öppna utåt.
  • Förbättrad serverprestanda eftersom fjärrloggningsvärden inte kör många tjänster, förutom de som används för loggning.
  • Förenklar arkivering och hantering av loggmeddelanden.
instagram viewer

Loggmeddelanden är viktiga för att granska dina servrar och baslinje och är en central del av förebyggande underhållsprocedurer på din serverinfrastruktur.

Steg 1: Installera rsyslog på Linux

Den här guiden fokuserar på Ubuntu 20.04, men processen bör vara ungefär densamma om du använder andra vanliga Linux-distros.

rsyslog är en fjärrloggningstjänst för Linux och kommer som standard förinstallerad på de flesta moderna Linux-distros, till exempel Ubuntu och andra Debian-baserade system.

rsyslog-tjänsten är en modern och förbättrad demon till syslog, som endast låter dig hantera loggar lokalt. Med rsyslog-demonen kan du skicka dina lokala loggar till någon konfigurerad fjärrserver för Linux.

Om du inte har rsyslog installerat på din PC kan du enkelt göra det med följande kommando, på Debian-baserade distros:

sudo apt installera rsyslog

På Red Hat Linux kan du installera det genom att skriva:

yum installera rsyslog

På Fedora och dess derivat, kör:

dnf installera rsyslog

Så här installerar du rsyslog på Arch Linux:

yay -S rsyslog

För att kontrollera statusen för rsyslog, kör följande kommando:

systemctl status rsyslog

Produktion:

Steg 2: Konfigurera loggvärdservern

Loggvärden är servern som är konfigurerad att ta emot loggmeddelanden från andra servrar eller datorer. rsyslog-konfigurationen finns i /etc/rsyslog.conf fil.

Du kan öppna /etc/rsyslog.conf fil med hjälp av valfri textredigerare. I den här guiden kommer vi att använda Vim.

Du behöver förhöjda privilegier för att göra ändringar i konfigurationsfilen.

Innan du börjar redigera konfigurationsfilen bör du ta en säkerhetskopia eller kopia av filen. För att göra det, kör kommandot:

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

Öppna sedan /etc/rsyslog.conf fil med hjälp av en textredigerare.

sudo vim /etc/rsyslog.conf 

Det finns två protokoll du kan använda för att skicka/ta emot loggfiler med rsyslog: TCP och UDP. Den här guiden visar hur du konfigurerar båda.

Du behöver inte konfigurera både UDP och TCP för att fjärrloggning ska fungera. Välj bara en av de två.

Om du föredrar att använda UDP, leta efter och avkommentera följande rader genom att ta bort inledningen Pund (#) symbol före raderna. Du kan hitta dessa rader under modulerna i inställningsfilen.

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

Om du föredrar att använda TCP, avkommentera då följande rader genom att ta bort inledningen Pund (#) symbol placerad i början av raderna:

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

Följande bild visar rsyslog-konfigurationsfilen konfigurerad för att använda UDP-kommunikation:

Därefter konfigurerar du platsen där rsyslog kommer att lagra dina loggar. För bättre organisation bör du kategorisera inkommande loggar efter deras ursprung. Definiera en mall i din rsyslog-konfigurationsfil genom att lägga till följande rader:

$template remote-incoming-logs, "/var/log/remote/%HOSTNAME%".log
*.* ?fjärr-inkommande-loggar

Det tidigare nämnda radkommandot rsyslog för att lagra loggarna i mappen /var/log/remote/hostname, var värdnamn är namnet på fjärrklienten som skickar loggmeddelanden till loggvärden.

Spara nu ändringarna du har gjort. Om du använder Vim, här är hur du sparar och avslutar en fil.

Slutligen, starta om rsyslog-tjänsterna för att ändringarna du har gjort ska träda i kraft.

sudo systemctl starta om rsyslog

Steg 3: Konfigurera din brandvägg

Om din brandvägg är aktiverad, se till att porten du har konfigurerat ovan kan kommunicera med omvärlden. Du måste redigera dina brandväggsregler för att tillåta inkommande loggar.

För Debian-baserade distros, använd helt enkelt UFW-verktyget för att aktivera antingen UDP- eller TCP-överföringsprotokollet.

Relaterad: Hur man konfigurerar brandväggen i Ubuntu med hjälp av UFW

Om du använder UDP, kör följande kommando, där 514 är det konfigurerade portnumret:

sudo ufw 514/udp

Om du använder TCP på port 514, kör helt enkelt:

sudo ufw 514/tcp

På Fedora kan du använda brandvägg-cmd för att uppnå liknande resultat.

brandvägg-cmd --zone=zon --add-port=514/udp

För Red Hat Linux, öppna iptables fil som finns på /etc/sysconfig/iptables använd din textredigerare och lägg till följande regel:

-A INPUT -m state --state NYTT -m udp -p udp --dport 514 -j ACCEPTERA

Starta om iptables-tjänsten för att ändringarna ska träda i kraft.

tjänsten iptables startas om

Steg 4: Konfigurera loggningsklienten

Klienten är den maskin som skickar sina loggar till en fjärransluten eller centraliserad loggvärdserver. Öppna rsyslog-konfigurationsfilen som finns på /etc/rsyslog.conf:

sudo vim /etc/rsyslog.conf

Lägg till följande rad om du använder UDP, där 192.168.12.123 är IP-adressen för fjärrservern, kommer du att skriva dina loggar till:

*.* @192.168.12.123:514

Om du använder TCP, lägg till följande rad istället. Observera att linjen har två @ symboler.

*.* @@192.168.12.123:514

Spara dina ändringar och starta om rsyslog-tjänsten på klienten med kommandot:

sudo systemctl starta om rsyslog

Steg 5: Visa loggmeddelanden på servern

Du kan använda SSH för att logga in på din fjärrserver och se loggarna som skickas från klientservrarna. I det här fallet är rsyslog konfigurerad så att den lagrar klientloggarna i /var/log/remote katalogen för fjärrservern.

cd /var/logs/remote

Lista sedan innehållet i katalogen med hjälp av kommandot ls:

ls -l

Som du kan se i utgången innehåller katalogen loggmeddelanden för de namngivna fjärrservrarna andiwa och rukuru. Deras loggfiler är namngivna andiwa.log och rukuru.log respektive.

Du kan sedan titta på loggfilerna med hjälp av en textredigerare eller med Linux-filvisningsverktyg som katt eller mindre.

Fjärrloggning ger dig mer kontroll

Den här guiden har tittat på hur man ställer in en fjärrloggningsserver (loggvärd) på Linux.

En loggvärd ger dig bättre organisation och kontroll när det kommer till loggning. Även i scenarier där ett system är skadat eller otillgängligt kan du fortfarande se dess loggar från loggvärden och ta reda på vad som gick fel.

Komma igång med systemloggning i Linux

Läs Nästa

Dela med sigTweetDela med sigE-post

Relaterade ämnen

  • Linux
  • Systemadministration
  • Linux-kommandon

Om författaren

Mwiza Kumwenda (52 publicerade artiklar)

Mwiza utvecklar mjukvara till yrket och skriver mycket om Linux och front-end-programmering. Några av hans intressen inkluderar historia, ekonomi, politik och företagsarkitektur.

Mer från Mwiza Kumwenda

Prenumerera på vårt nyhetsbrev

Gå med i vårt nyhetsbrev för tekniska tips, recensioner, gratis e-böcker och exklusiva erbjudanden!

Klicka här för att prenumerera