Tsentraliseeritud logiserveri seadistamine Rsyslogiga rakenduses CentOS/RHEL 8


Selleks, et süsteemiadministraatorid tuvastaksid või analüüsiksid probleeme CentOS 8 või RHEL 8 serveris, on oluline teada ja vaadata serveris teatud aja jooksul aset leidnud sündmusi logifailidest, mis on leitud aadressilt /var/log kataloog kataloogis.

Serveri süsteem Syslog (System Logging Protocol) võib toimida keskse logi jälgimispunktina võrgus, kus kõik serverid, võrguseadmed, kommutaatorid, ruuterid ja siseteenused loovad logisid, olgu need siis seotud konkreetse siseprobleemiga või lihtsalt informatiivsete sõnumitega. saavad oma logisid saata.

CentOS/RHEL 8 serveris on Rsyslogi deemon kõige olulisem logiserver, mis on vaikimisi eelinstallitud, millele järgneb Systemd Journal Daemon (journald).

Rsyslog on avatud lähtekoodiga utiliit, mis on välja töötatud kliendi/serveri arhitektuuriteenusena ja suudab mõlemad rollid iseseisvalt saavutada. See võib töötada serverina ja koguda kõiki teiste seadmete kaudu võrgu kaudu edastatud logisid või töötada kliendina, saates kõik sisemised süsteemi sündmused, mis on logitud Syslogi kaugserverisse.

  1. „CentOS 8.0” installimine ekraanipiltidega
  2. RHEL 8 installimine ekraanipiltidega

Tsentraliseeritud logiserveri seadistamiseks CentOS/RHEL 8 serverisse peate kontrollima, kas jaotises /var on piisavalt ruumi (vähemalt paar GB) kõigi salvestatud logifailide salvestamiseks süsteemis, mis saadab võrgu muid seadmeid. Kataloogi /var/log/ ühendamiseks soovitan teil kasutada eraldi draivi (LVM või RAID).

Kuidas konfigureerida Rsyslogi server CentOS/RHEL 8-s

1. Nagu ma ütlesin, on Rsyslogi teenus installitud ja töötab automaatselt CentOS/RHEL 8 serveris. Veendumaks, et deemon töötab süsteemis, käivitage järgmine käsk.

# systemctl status rsyslog.service

Kui teenus ei tööta vaikimisi, käivitage rsyslogi deemoni käivitamiseks järgmine käsk.

# systemctl start rsyslog.service

2. Kui uts Rsyslog pole vaikimisi installitud süsteemis, mida kavatsete kasutada tsentraliseeritud logimisserverina, käivitage järgmine käsk dnf rsyslogi paketi installimiseks ja deemoni käivitamiseks.

# dnf install rsyslog
# systemctl start rsyslog.service

3. Kui utiliit Rsyslog on installitud, saate nüüd seadistada rsyslogi tsentraliseeritud logimisserveriks, avades peamise konfiguratsioonifaili /etc/rsyslog.conf, et saada logiteateid väliste klientide jaoks.

# vi /etc/rsyslog.conf

Konfiguratsioonifailis /etc/rsyslog.conf leidke ja tühjendage järgmised read, et anda UDP-transpordi vastuvõtt Rsyslogi serverile pordi 514 kaudu. Rsyslog kasutab logi edastamiseks standardset UDP-protokolli.

module(load="imudp") # needs to be done just once
input(type="imudp" port="514")

4. UDP-protokollil puudub TCP üldkulud ja see muudab andmeedastuse TCP-protokollist kiiremaks. Teiselt poolt ei taga UDP-protokoll edastatud andmete usaldusväärsust.

Kui aga soovite logi vastuvõtmiseks kasutada TCP-protokolli, peate konfiguratsioonifaili /etc/rsyslog.conf järgmised read leidma ja kommenteerima, et Rsyslogi deemon konfigureerida 514-pordil TCP-soklit siduma ja kuulama.

module(load="imtcp") # needs to be done just once
input(type="imtcp" port="514")

5. Nüüd looge uus mall kaugsõnumite vastuvõtmiseks, kuna see mall juhatab kohalikku Rsyslogi serverit, kuhu Syslogi võrgu klientide saadetud vastuvõetud sõnumid salvestada.

$template RemoteLogs,"/var/log/%HOSTNAME%/%PROGRAMNAME%.log" 
*.* ?RemoteLogs

Direktiiv $template RemoteLogs suunab Rsyslogi deemonit koguma ja kirjutama kõik edastatud logisõnumid erinevatesse failidesse, lähtudes kliendi nimest ja kaugkliendirakendusest, mis lõi sõnumid põhivara juurde lisatud atribuutide põhjal. malli konfiguratsioon: % HOSTNAME% ja% PROGRAMNAME% .

Kõik vastuvõetud logifailid kirjutatakse kohalikku failisüsteemi eraldatud faili, mille nimi on kliendimasina hosti nimi ja mida hoitakse kataloogis/var/log/kataloog.

Ümbersuunamisreegel & ~ suunab kohaliku Rsyslogi serveri peatama vastuvõetud logisõnumi töötlemise ja eemaldama sõnumid (mitte kirjutama neid sisemistesse logifailidesse).

RemoteLogs on sellele malldirektiivile meelevaldne nimi. Võite kasutada mis tahes nime, mis teie mallile kõige paremini sobib.

Keerukamate Rsyslogi mallide konfigureerimiseks lugege Rsyslogi konfiguratsioonifaili käsiraamatut, käivitades käsu man rsyslog.conf või vaadake Rsyslogi veebidokumentatsiooni.

# man rsyslog.conf

6. Pärast ülaltoodud konfiguratsioonimuudatuste tegemist saate Rsyslogi deemoni taaskäivitada, et rakendada hiljutisi muudatusi, käivitades järgmise käsu.

# service rsyslog restart

7. Kui olete Rsyslogi serveri taaskäivitanud, peaks see nüüd toimima tsentraliseeritud logiserverina ja salvestama Syslogi klientide sõnumeid. Rsyslogi võrgupesade kinnitamiseks käivitage rsyslogi stringi filtreerimiseks utiliit grep.

# netstat -tulpn | grep rsyslog 

Kui CentOS 8 käsk netstat ei käivitu, saate selle installida järgmise käsu abil.

# dnf whatprovides netstat
# dnf install net-tools

8. Kui teil on CentOS/RHEL 8-s aktiivne SELinux, käivitage järgmine käsk, et lubada rsyslogi liiklus sõltuvalt võrgupesa tüübist.

# semanage port -a -t syslogd_port_t -p udp 514
# semanage port -a -t syslogd_port_t -p tcp 514

Kui semanage käsku CentOS 8-sse ei installita, saate selle installida järgmise käsu abil.

# dnf whatprovides semanage
# dnf install policycoreutils-python-utils

9. Kui teil on süsteemis aktiivne tulemüür, käivitage järgmine käsk, et lisada vajalikud reeglid rsyslogi liikluse lubamiseks tulemüüri sadamates.

# firewall-cmd --permanent --add-port=514/tcp
# firewall-cmd --permanent --add-port=514/udp
# firewall-cmd --reload

Samuti saate piirata pordi 514 sissetulevaid ühendusi lubatud loendisse lisatud IP-vahemike abil, nagu näidatud.

# firewall-cmd --permanent --add-rich-rule 'rule family="ipv4" source address="123.123.123.0/21" port port="514" protocol="tcp" accept'
# firewall-cmd --permanent --add-rich-rule 'rule family="ipv4" source address="123.123.123.0/21" port port="514" protocol="udp" accept'
# firewall-cmd --reload

See on kõik! Rsyslog on nüüd konfigureeritud logide tsentraliseerimise serverina ja võib logisid koguda kaugklientidelt. Järgmises artiklis näeme, kuidas konfigureerida Rsyslogi klient CentOS/RHEL 8 serveris.