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.
- 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
Súvisiace témy
- Linux
- Správa systému
- Linuxové príkazy
O autorovi
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.
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