CentOS/RHEL 8 iestatiet centralizētu žurnālu serveri ar Rsyslog


Lai sistēmas administratori varētu atpazīt vai analizēt CentOS 8 vai RHEL 8 servera problēmas, ir svarīgi zināt un apskatīt notikumus, kas serverī notika noteiktā laika periodā, no žurnāla failiem, kas atrodami /var/log direktoriju sistēmā.

Syslog (System Logging Protocol) sistēma serverī var darboties kā centrālais žurnāla uzraudzības punkts tīklā, kur visi serveri, tīkla ierīces, slēdži, maršrutētāji un iekšējie pakalpojumi, kas veido žurnālus, neatkarīgi no tā, vai tie ir saistīti ar konkrēto iekšējo problēmu, vai vienkārši informatīvi ziņojumi var nosūtīt savus žurnālus.

CentOS/RHEL 8 serverī Rsyslog dēmons ir vissvarīgākais žurnāla serveris, kas pēc noklusējuma tiek iepriekš instalēts, kam seko Systemd Journal Daemon (journaln).

Rsyslog ir atvērtā koda utilīta, kas izstrādāta kā klienta/servera arhitektūras pakalpojums un var neatkarīgi sasniegt abas lomas. Tas var darboties kā serveris un apkopot visus žurnālus, ko tīklā pārsūtījis citas ierīces, vai arī tas var darboties kā klients, nosūtot visus iekšējos sistēmas notikumus, kas reģistrēti attālajā Syslog serverī.

  1. “CentOS 8.0” instalēšana ar ekrānuzņēmumiem
  2. RHEL 8 instalēšana ar ekrānuzņēmumiem

Lai CentOS/RHEL 8 serverī iestatītu centralizētu žurnālu serveri, jāpārbauda, vai nodalījumam /var ir pietiekami daudz vietas (vismaz daži GB) visu ierakstīto žurnālfailu glabāšanai. sistēmā, ko sūta citas tīkla ierīces. Iesaku jums izveidot atsevišķu disku (LVM vai RAID), lai pievienotu direktoriju /var/log/.

Kā konfigurēt Rsyslog serveri CentOS/RHEL 8

1. Kā jau teicu, Rsyslog pakalpojums tiek instalēts un darbojas automātiski CentOS/RHEL 8 serverī. Lai pārbaudītu, vai dēmons darbojas sistēmā, izpildiet šo komandu.

# systemctl status rsyslog.service

Ja pakalpojums pēc noklusējuma nedarbojas, palaidiet šo komandu, lai sāktu rsyslog dēmonu.

# systemctl start rsyslog.service

2. Ja sistēma Rsyslog pēc noklusējuma nav instalēta sistēmā, kuru plānojat izmantot kā centralizētu reģistrēšanas serveri, palaidiet šādu komandu dnf, lai instalētu pakotni rsyslog un startētu dēmonu.

# dnf install rsyslog
# systemctl start rsyslog.service

3. Kad utilīta Rsyslog ir instalēta, tagad varat konfigurēt rsyslog kā centralizētu mežizstrādes serveri, atverot galveno konfigurācijas failu /etc/rsyslog.conf, lai saņemtu žurnāla ziņojumus ārējiem klientiem.

# vi /etc/rsyslog.conf

Konfigurācijas failā /etc/rsyslog.conf atrodiet un atceliet šīs rindiņas, lai piešķirtu UDP transporta saņemšanu Rsyslog serverim, izmantojot 514 portu. Rsyslog žurnāla pārsūtīšanai izmanto standarta UDP protokolu.

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

4. UDP protokolam nav TCP pieskaitāmās izmaksas, un tas padara datu pārraidi ātrāku nekā TCP protokols. No otras puses, UDP protokols negarantē pārsūtīto datu uzticamību.

Tomēr, ja žurnālu saņemšanai vēlaties izmantot TCP protokolu, konfigurācijas failā /etc/rsyslog.conf jāatrod un jāatceļ šīs rindas, lai konfigurētu Rsyslog dēmonu, lai saistītu un klausītos TCP ligzdu 514 portā.

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

5. Tagad izveidojiet jaunu veidni attālo ziņojumu saņemšanai, jo šī veidne palīdzēs vietējam Rsyslog serverim, kur saglabāt saņemtos Syslog tīkla klientu sūtītos ziņojumus.

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

Direktīva $template RemoteLogs vada Rsyslog dēmonu, lai apkopotu un rakstītu visus pārsūtītos žurnāla ziņojumus atsevišķos failos, pamatojoties uz klienta vārdu un attālās klienta lietojumprogrammu, kas izveidoja ziņojumus, pamatojoties uz aprakstītajām īpašībām, kas pievienotas veidnes konfigurācija: % HOSTNAME% un% PROGRAMNAME% .

Visi saņemtie žurnālfaili tiks ierakstīti vietējā failu sistēmā piešķirtajā failā, kas nosaukts pēc klienta mašīnas resursdatora nosaukuma, un saglabāti direktorijā/var/log/direktorijā.

Novirzīšanas kārtula & ~ liek vietējam Rsyslog serverim pārtraukt saņemtā žurnāla ziņojuma apstrādi un ziņojumus noņemt (nevis rakstīt tos iekšējos žurnāla failos).

RemoteLogs ir patvaļīgs nosaukums, kas piešķirts šai veidņu direktīvai. Jūs varat izmantot jebkuru vēlamo vārdu, kas vislabāk piemērots jūsu veidnei.

Lai konfigurētu sarežģītākas Rsyslog veidnes, izlasiet Rsyslog konfigurācijas faila rokasgrāmatu, palaižot komandu man rsyslog.conf vai skatiet Rsyslog tiešsaistes dokumentāciju.

# man rsyslog.conf

6. Pēc iepriekšminēto konfigurācijas izmaiņu veikšanas varat restartēt Rsyslog dēmonu, lai lietotu pēdējās izmaiņas, izpildot šo komandu.

# service rsyslog restart

7. Kad esat restartējis Rsyslog serveri, tam tagad vajadzētu darboties kā centralizētam žurnāla serverim un ierakstīt ziņojumus no Syslog klientiem. Lai apstiprinātu Rsyslog tīkla ligzdas, palaidiet grep utilītu, lai filtrētu rsyslog virkni.

# netstat -tulpn | grep rsyslog 

Ja netstat komanda nav instalēta CentOS 8, varat to instalēt, izmantojot šo komandu.

# dnf whatprovides netstat
# dnf install net-tools

8. Ja CentOS/RHEL 8 ir aktīvs SELinux, palaidiet šo komandu, lai atļautu rsyslog trafiku atkarībā no tīkla ligzdas veida.

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

Ja semanage komanda nav instalēta CentOS 8, varat to instalēt, izmantojot šo komandu.

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

9. Ja sistēmā ir aktīvs ugunsmūris, izpildiet šo komandu, lai pievienotu nepieciešamos noteikumus, lai atļautu rsyslog trafiku Firewalld ostās.

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

Varat arī ierobežot ienākošos savienojumus 514 portā no baltajā sarakstā iekļautajiem IP diapazoniem, kā parādīts.

# 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

Tas ir viss! Rsyslog tagad ir konfigurēts kā centralizēts žurnālu serveris un var apkopot žurnālus no attāliem klientiem. Nākamajā rakstā mēs redzēsim, kā konfigurēt Rsyslog klientu CentOS/RHEL 8 serverī.