Beleženje je kritičen vidik upravljanja strežnika Linux. Dnevniška sporočila so uporabna za analizo vzrokov in preprečevanje morebitnih napak v prihodnosti. Analiza in odpravljanje napak strežnika je ključna veščina tako za IT inženirje kot za sistemske skrbnike.
Ta priročnik vam bo pokazal, kako v Linuxu nastaviti oddaljeni strežnik za beleženje, znan tudi kot gostitelj dnevnika. Gostitelj dnevnikov vam omogoča združevanje lokalnih dnevnikov Linuxa na oddaljeni centralizirani strežnik za lažji dostop in analizo.
Zakaj imeti namenski strežnik dnevnikov?
Operacijski sistem Linux beleži večino dejavnosti na vašem strežniku za revizijo in odpravljanje napak s pomočjo demona syslog (protokol sistemskega dnevnika). Morda se sprašujete, zakaj potrebujem namenski strežnik za svoje dnevnike? Tukaj je nekaj prednosti namenskega strežnika za beleženje:
- Boljša varnost, ker ima oddaljeni strežnik za beleženje le nekaj vrat odprtih navzven.
- Izboljšana zmogljivost strežnika, ker oddaljeni gostitelj za beleženje ne izvaja veliko storitev, razen tistih, ki se uporabljajo za beleženje.
- Olajša arhiviranje in upravljanje dnevniških sporočil.
Dnevniška sporočila so pomembna za revizijo vaših strežnikov in osnovne podlage ter so ključni del postopkov preventivnega vzdrževanja na vaši strežniški infrastrukturi.
1. korak: Namestitev rsyslog v Linux
Ta priročnik se osredotoča na Ubuntu 20.04, vendar bi moral biti postopek skoraj enak, če uporabljate druge glavne distribucije Linuxa.
rsyslog je storitev oddaljenega beleženja za Linux in je privzeto vnaprej nameščena v večini sodobnih distribucij Linuxa, na primer Ubuntu in drugih sistemih, ki temeljijo na Debianu.
Storitev rsyslog je sodoben in izboljšan demon za syslog, ki vam omogoča samo lokalno upravljanje dnevnikov. Z demonom rsyslog lahko svoje lokalne dnevnike pošljete na konfiguriran oddaljeni strežnik Linux.
Če v računalniku nimate nameščenega rsyslog, lahko to preprosto storite z naslednjim ukazom v distribucijah, ki temeljijo na Debianu:
sudo apt namestite rsyslog
Na Red Hat Linux ga lahko namestite tako, da vnesete:
yum namestite rsyslog
Na Fedori in njenih izpeljankah zaženite:
dnf namestite rsyslog
Če želite namestiti rsyslog na Arch Linux:
jao -S rsyslog
Če želite preveriti stanje rsyslog, zaženite naslednji ukaz:
systemctl status rsyslog
Izhod:
2. korak: Konfiguriranje strežnika gostitelja dnevnika
Gostitelj dnevnika je strežnik, ki je konfiguriran za prejemanje dnevniških sporočil iz drugih strežnikov ali osebnih računalnikov. Konfiguracija rsyslog se nahaja v /etc/rsyslog.conf mapa.
Lahko odprete /etc/rsyslog.conf datoteko z uporabo kateri koli urejevalnik besedil po vaši izbiri. V tem priročniku bomo uporabili Vim.
Za spreminjanje konfiguracijske datoteke boste potrebovali povišane privilegije.
Preden začnete urejati konfiguracijsko datoteko, naredite varnostno kopijo ali kopijo datoteke. Če želite to narediti, zaženite ukaz:
sudo cp /etc/rsyslog.conf /etc/rsyslog_original.config
Nato odprite /etc/rsyslog.conf datoteko z urejevalnikom besedil.
sudo vim /etc/rsyslog.conf
Obstajata dva protokola, ki ju lahko uporabite za pošiljanje/prejemanje dnevniških datotek z rsyslog: TCP in UDP. Ta priročnik vam pokaže, kako konfigurirati oboje.
Za delovanje oddaljenega beleženja vam ni treba konfigurirati tako UDP kot TCP. Izberite samo enega od dveh.
Če raje uporabljate UDP, poiščite in odkomentirajte naslednje vrstice, tako da odstranite vodilno funt (#) simbol pred vrsticami. Te vrstice najdete v razdelku moduli v konfiguracijski datoteki.
modul (load="imudp")
vnos (type="imudp" port="514")
Če raje uporabljate TCP, odkomentirajte naslednje vrstice tako, da odstranite vodilno funt (#) simbol, ki se nahaja na začetku vrstic:
modul (load="imtcp")
vnos (type="imtcp" port="514")
Naslednja slika prikazuje konfiguracijsko datoteko rsyslog, ki je konfigurirana za uporabo komunikacije UDP:
Nato konfigurirajte lokacijo, kamor bo rsyslog shranil vaše dnevnike. Za boljšo organizacijo morate dohodne dnevnike kategorizirati po njihovem izvoru. Določite predlogo v konfiguracijski datoteki rsyslog tako, da dodate naslednje vrstice:
$template remote-incoming-logs, "/var/log/remote/%HOSTNAME%".log
*.* ?remote-incoming-logs
Zgoraj omenjene vrstice ukazujejo rsyslog za shranjevanje dnevnikov v mapo /var/log/remote/hostname, kje ime gostitelja je ime oddaljenega odjemalca, ki gostitelju dnevnika pošilja sporočila dnevnika.
Zdaj shranite spremembe, ki ste jih naredili. Če uporabljate Vim, tukaj je, kako shraniti in zapreti datoteko.
Končno znova zaženite storitve rsyslog, da bodo spremembe, ki ste jih naredili, začele veljati.
sudo systemctl znova zaženi rsyslog
3. korak: Konfiguriranje požarnega zidu
Če je vaš požarni zid omogočen, se prepričajte, da vrata, ki ste jih konfigurirali zgoraj, lahko komunicirajo z zunanjim svetom. Morali boste urediti pravila požarnega zidu, da boste dovolili dohodne dnevnike.
Za distribucije, ki temeljijo na Debianu, preprosto uporabite orodje UFW, da omogočite protokol prenosa UDP ali TCP.
Povezano: Kako konfigurirati požarni zid v Ubuntuju z uporabo UFW
Če uporabljate UDP, zaženite naslednji ukaz, kjer je 514 konfigurirana številka vrat:
sudo ufw 514/udp
Če uporabljate TCP na vratih 514, preprosto zaženite:
sudo ufw 514/tcp
V Fedori lahko uporabite požarni zid-cmd da bi dosegli podobne rezultate.
firewall-cmd --zone=zone --add-port=514/udp
Za Red Hat Linux odprite iptables datoteka, ki se nahaja na /etc/sysconfig/iptables z izbranim urejevalnikom besedil in dodajte naslednje pravilo:
-A INPUT -m stanje --state NOVO -m udp -p udp --dport 514 -j SPREJEM
Znova zaženite storitev iptables, da bodo spremembe začele veljati.
znova zaženite storitev iptables
4. korak: Konfiguriranje odjemalca za beleženje
Odjemalec je naprava, ki svoje dnevnike pošilja na oddaljeni ali centraliziran strežnik gostitelja dnevnikov. Odprite konfiguracijsko datoteko rsyslog, ki se nahaja na /etc/rsyslog.conf:
sudo vim /etc/rsyslog.conf
Dodajte naslednjo vrstico, če uporabljate UDP, kje 192.168.12.123 je naslov IP oddaljenega strežnika, svoje dnevnike boste pisali na:
*.* @192.168.12.123:514
Če uporabljate TCP, namesto tega dodajte naslednjo vrstico. Upoštevajte, da ima linija dve @ simboli.
*.* @@192.168.12.123:514
Shranite spremembe in znova zaženite storitev rsyslog na odjemalcu z ukazom:
sudo systemctl znova zaženi rsyslog
5. korak: ogled dnevniških sporočil na strežniku
SSH lahko uporabite za prijavo v oddaljeni strežnik in ogled dnevnikov, poslanih iz odjemalskih strežnikov. V tem primeru je rsyslog konfiguriran tako, da shranjuje odjemalske dnevnike v /var/log/remote imenik oddaljenega strežnika.
cd /var/logs/remote
Nato navedite vsebino imenika z uporabo ukaz ls:
ls -l
Kot lahko vidite v izhodu, imenik vsebuje sporočila dnevnika za imenovane oddaljene strežnike andiwa in rukuru. Njihove datoteke dnevnika so poimenovane andiwa.log in rukuru.log oz.
Nato si lahko ogledate datoteke dnevnika z urejevalnikom besedil ali z Orodja za ogled datotek Linux kot je mačka ali manj.
Oddaljeno beleženje vam daje več nadzora
V tem priročniku je bilo preučeno, kako nastaviti oddaljeni strežnik za beleženje (logovnik) v Linuxu.
Gostitelj dnevnikov vam ponuja boljšo organizacijo in nadzor, ko gre za beleženje. Tudi v primerih, ko je sistem poškodovan ali nedostopen, si lahko še vedno ogledate njegove dnevnike iz gostitelja dnevnika in ugotovite, kaj je šlo narobe.
Uvod v sistemsko beleženje v Linuxu
Preberite Naprej
Povezane teme
- Linux
- Sistemska administracija
- Ukazi za Linux
O avtorju
Mwiza razvija programsko opremo po poklicu in obsežno piše o Linuxu in front-end programiranju. Nekateri od njegovih interesov vključujejo zgodovino, ekonomijo, politiko in arhitekturo podjetij.
Naročite se na naše novice
Pridružite se našemu glasilu za tehnične nasvete, ocene, brezplačne e-knjige in ekskluzivne ponudbe!
Kliknite tukaj, da se naročite