Protokolovanie je kritickým aspektom správy servera Linux. Protokolové správy sú užitočné na analýzu základných príčin a na predchádzanie potenciálnym chybám v budúcnosti. Analýza a ladenie chýb servera je kľúčovou zručnosťou, ktorú musia mať IT inžinieri aj správcovia systému.

Táto príručka vám ukáže, ako nastaviť vzdialený protokolovací server, známy aj ako hostiteľ protokolov, v systéme Linux. Hostiteľ protokolov vám umožňuje agregovať miestne protokoly Linuxu na vzdialený centralizovaný server pre jednoduchý prístup a analýzu.

Prečo mať vyhradený logový server?

Operačný systém Linux zaznamenáva väčšinu aktivít na vašom serveri na účely auditovania a ladenia pomocou démona syslog (system logging protocol). Možno sa teda pýtate, prečo potrebujem vyhradený server pre svoje denníky? Tu je niekoľko výhod vyhradeného servera na protokolovanie:

  • Lepšie zabezpečenie, pretože server vzdialeného protokolovania má len niekoľko portov otvorených smerom von.
  • Vylepšený výkon servera, pretože hostiteľ vzdialeného protokolovania nespúšťa veľa služieb okrem tých, ktoré sa používajú na protokolovanie.
    instagram viewer
  • Uľahčuje archiváciu a správu protokolových správ.

Protokolové správy sú dôležité pre audit vašich serverov a základnej zostavy a sú základnou súčasťou preventívnych postupov údržby na vašej serverovej infraštruktúre.

Krok 1: Inštalácia rsyslog v systéme Linux

Táto príručka sa zameriava na Ubuntu 20.04, ale proces by mal byť takmer rovnaký, ak používate iné bežné distribúcie Linuxu.

rsyslog je služba vzdialeného protokolovania pre Linux a je štandardne predinštalovaná vo väčšine moderných distribúcií Linuxu, napríklad Ubuntu a iných systémoch založených na Debiane.

Služba rsyslog je moderný a vylepšený démon pre syslog, ktorý vám umožňuje spravovať protokoly iba lokálne. Pomocou démona rsyslog môžete poslať svoje lokálne protokoly na nejaký nakonfigurovaný vzdialený server Linux.

Ak nemáte na svojom počítači nainštalovaný rsyslog, môžete to jednoducho urobiť pomocou nasledujúceho príkazu v distribúciách založených na Debiane:

sudo apt install rsyslog

V systéme Red Hat Linux ho môžete nainštalovať zadaním:

yum nainštalovať rsyslog

Na Fedore a jej derivátoch spustite:

dnf nainštalujte rsyslog

Ak chcete nainštalovať rsyslog na Arch Linux:

yay -S rsyslog

Ak chcete skontrolovať stav rsyslog, spustite nasledujúci príkaz:

systemctl status rsyslog

Výkon:

Krok 2: Konfigurácia servera Log Host Server

Hostiteľ protokolu je server nakonfigurovaný na prijímanie správ protokolu z iných serverov alebo počítačov. Konfigurácia rsyslog sa nachádza v /etc/rsyslog.conf súbor.

Môžete otvoriť /etc/rsyslog.conf pomocou súboru ľubovoľný textový editor podľa vášho výberu. V tejto príručke budeme používať Vim.

Na vykonanie zmien v konfiguračnom súbore budete potrebovať zvýšené oprávnenia.

Skôr ako začnete upravovať konfiguračný súbor, mali by ste si vytvoriť zálohu alebo kópiu súboru. Ak to chcete urobiť, spustite príkaz:

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

Ďalej otvorte /etc/rsyslog.conf súbor pomocou textového editora.

sudo vim /etc/rsyslog.conf 

Existujú dva protokoly, ktoré môžete použiť na odosielanie/prijímanie protokolových súborov s rsyslog: TCP a UDP. Táto príručka vám ukáže, ako nakonfigurovať oboje.

Na fungovanie vzdialeného protokolovania nemusíte konfigurovať UDP aj TCP. Vyberte si len jeden z týchto dvoch.

Ak uprednostňujete používanie protokolu UDP, vyhľadajte a odkomentujte nasledujúce riadky odstránením úvodných riadkov Pound (#) symbol pred riadkami. Tieto riadky nájdete v sekcii moduly konfiguračného súboru.

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

Ak dávate prednosť použitiu protokolu TCP, odkomentujte nasledujúce riadky odstránením úvodnej časti Pound (#) symbol umiestnený na začiatku riadkov:

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

Nasledujúci obrázok zobrazuje konfiguračný súbor rsyslog nakonfigurovaný na používanie komunikácie UDP:

Ďalej nakonfigurujte umiestnenie, kde bude rsyslog ukladať vaše protokoly. Pre lepšiu organizáciu by ste mali prichádzajúce protokoly kategorizovať podľa ich pôvodu. Definujte šablónu v konfiguračnom súbore rsyslog pridaním nasledujúcich riadkov:

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

Vyššie uvedené riadky prikazujú rsyslog uložiť protokoly do priečinka /var/log/remote/hostname, kde meno hosťa je názov vzdialeného klienta, ktorý odosiela protokolové správy hostiteľovi protokolu.

Teraz uložte zmeny, ktoré ste vykonali. Ak používate Vim, tu je návod, ako uložiť a ukončiť súbor.

Nakoniec reštartujte služby rsyslog, aby sa zmeny, ktoré ste vykonali, prejavili.

sudo systemctl reštartujte rsyslog

Krok 3: Konfigurácia brány firewall

Ak je váš firewall povolený, uistite sa, že port, ktorý ste nakonfigurovali vyššie, je schopný komunikovať s vonkajším svetom. Ak chcete povoliť prichádzajúce denníky, budete musieť upraviť pravidlá brány firewall.

Pre distribúcie založené na Debiane jednoducho použite nástroj UFW, aby ste povolili prenosový protokol UDP alebo TCP.

Súvisiace: Ako nakonfigurovať bránu firewall v Ubuntu pomocou UFW

Ak používate UDP, spustite nasledujúci príkaz, kde 514 je nakonfigurované číslo portu:

sudo ufw 514/udp

Ak používate TCP na porte 514, jednoducho spustite:

sudo ufw 514/tcp

Na Fedore môžete použiť firewall-cmd dosiahnuť podobné výsledky.

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

V prípade systému Red Hat Linux otvorte súbor iptables súbor umiestnený na /etc/sysconfig/iptables pomocou textového editora podľa vlastného výberu a pridajte nasledujúce pravidlo:

-A INPUT -m stav --stav NEW -m udp -p udp --dport 514 -j PRIJAŤ

Reštartujte službu iptables, aby sa zmeny prejavili.

reštart služby iptables

Krok 4: Konfigurácia klienta protokolovania

Klient je stroj, ktorý posiela svoje protokoly na vzdialený alebo centralizovaný hostiteľský server protokolov. Otvorte konfiguračný súbor rsyslog umiestnený na adrese /etc/rsyslog.conf:

sudo vim /etc/rsyslog.conf

Ak používate UDP, pridajte nasledujúci riadok, kde 192.168.12.123 je IP adresa vzdialeného servera, budete zapisovať svoje denníky na:

*.* @192.168.12.123:514

Ak používate TCP, pridajte namiesto toho nasledujúci riadok. Všimnite si, že riadok má dva @ symbolov.

*.* @@192.168.12.123:514

Uložte zmeny a reštartujte službu rsyslog na klientovi príkazom:

sudo systemctl reštartujte rsyslog

Krok 5: Zobrazenie správ denníka na serveri

Pomocou SSH sa môžete prihlásiť na svoj vzdialený server a zobraziť protokoly odoslané z klientskych serverov. V tomto prípade je rsyslog nakonfigurovaný tak, že ukladá protokoly klienta do /var/log/remote adresár vzdialeného servera.

cd /var/logs/remote

Potom vypíšte obsah adresára pomocou príkaz ls:

ls -l

Ako môžete vidieť vo výstupe, adresár obsahuje protokolové správy pre pomenované vzdialené servery andiwa a rukuru. Ich protokolové súbory sú pomenované andiwa.log a rukuru.log resp.

Potom si môžete pozrieť súbory denníka pomocou textového editora alebo pomocou Linuxové nástroje na prezeranie súborov ako napríklad mačka alebo menej.

Vzdialené protokolovanie vám poskytuje väčšiu kontrolu

Táto príručka sa zaoberala tým, ako nastaviť vzdialený protokolovací server (hostiteľ protokolu) v systéme Linux.

Hostiteľ protokolu vám ponúka lepšiu organizáciu a kontrolu, pokiaľ ide o protokolovanie. Dokonca aj v scenároch, kde je systém poškodený alebo nedostupný, stále môžete zobraziť jeho protokoly z hostiteľa protokolov a zistiť, čo sa pokazilo.

Začíname s prihlasovaním do systému v systéme Linux

Prečítajte si ďalej

zdieľamTweetujtezdieľamEmail

Súvisiace témy

  • Linux
  • Správa systému
  • Linuxové príkazy

O autorovi

Mwiza Kumwenda (52 publikovaných článkov)

Mwiza profesne vyvíja softvér a vo veľkej miere píše o Linuxe a front-end programovaní. Niektoré z jeho záujmov zahŕňajú históriu, ekonomiku, politiku a podnikovú architektúru.

Viac od Mwiza Kumwenda

prihlásiť sa ku odberu noviniek

Pripojte sa k nášmu bulletinu a získajte technické tipy, recenzie, bezplatné e-knihy a exkluzívne ponuky!

Kliknutím sem sa prihlásite na odber