CentOS/RHEL 8-de Rsyslog bilen merkezleşdirilen log serwerini guruň


Ulgam dolandyryjylarynyň CentOS 8 ýa-da RHEL 8 serwerindäki kynçylyklary tanamagy ýa-da derňemegi üçin belli bir döwürde serwerde bolup geçen wakalary /var-dan tapylan gündelik faýllardan bilmek we görmek möhümdir./log ulgamdaky katalog.

Serwerdäki Syslog (Ulgam hasaba alyş protokoly) ulgamy, belli bir içerki mesele bilen baglanyşykly bolsun ýa-da diňe maglumatly habarlar bilen baglanyşykly gündelik döredýän ähli serwerleriň, tor enjamlarynyň, wyklýuçatelleriň, marşrutizatorlaryň we içerki hyzmatlaryň torda merkezi hasaba alyş nokady bolup biler. surnallaryny iberip biler.

CentOS/RHEL 8 serwerinde, Rsyslog daemon deslapky gurnalan, soň bolsa Systemd Journal Daemon (durnal) bilen gelýän iň möhüm gündelik serweri.

Rsyslog, müşderi/serwer arhitektura hyzmaty hökmünde işlenip düzülen we iki roly hem garaşsyz ýerine ýetirip bilýän açyk çeşme. Serwer hökmünde işledip biler we beýleki enjamlar tarapyndan tor arkaly iberilen ähli gündelikleri ýygnap biler ýa-da uzakdaky Syslog serwerine ýazylan içerki ulgam hadysalarynyň hemmesini iberip, müşderi hökmünde işledip biler.

  1. Ekran suratlary bilen\CentOS 8.0 ″ gurmak
  2. RHEL 8-i ekran suratlary bilen gurmak

CentOS/RHEL 8 serwerinde merkezleşdirilen log serwerini gurmak üçin, ähli ýazylan gündelik faýllaryny saklamak üçin /var bölüminiň ýeterlik ýeriniň bardygyny tassyklamaly. tordaky beýleki enjamlar tarapyndan iberilýän ulgamda. /var/log/ katalogyny gurmak üçin aýratyn disk (LVM ýa-da RAID) bolmagy maslahat berýärin.

CentOS/RHEL 8-de Rsyslog serwerini nädip sazlamaly

1. Aýdyşym ýaly, Rsyslog hyzmaty CentOS/RHEL 8 serwerinde awtomatiki usulda gurulýar we işleýär. Demonyň ulgamda işleýändigini barlamak üçin aşakdaky buýrugy işlediň.

# systemctl status rsyslog.service

Hyzmat deslapky işlemeýän bolsa, rsyslog daemonyny başlamak üçin aşakdaky buýrugy işlediň.

# systemctl start rsyslog.service

2. Rsyslog programmasy merkezleşdirilen hasaba alyş serweri hökmünde ulanmagy meýilleşdirýän ulgamyňyzda deslapky gurulmadyk bolsa, rsyslog paketini gurmak we daemon açmak üçin aşakdaky dnf buýrugyny işlediň.

# dnf install rsyslog
# systemctl start rsyslog.service

3. “Rsyslog” kömekçi programmasy gurlansoň, indi daşarky müşderiler üçin gündelik habarlary almak üçin esasy konfigurasiýa faýly /etc/rsyslog.conf açyp, rsyslogy merkezleşdirilen hasaba alyş serweri hökmünde düzüp bilersiňiz.

# vi /etc/rsyslog.conf

/Etc/rsyslog.conf konfigurasiýa faýlynda, 514 port arkaly Rsyslog serwerine UDP transport kabul edişini bermek üçin aşakdaky setirleri tapyň we ulanmaň. Rsyslog, gündelik geçirmek üçin adaty UDP protokolyny ulanýar.

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

4. UDP protokolynda TCP ýok, we TCP protokolyndan has çalt maglumat geçirýär. Başga bir tarapdan, UDP teswirnamasy iberilýän maglumatlaryň ygtybarlylygyny kepillendirmeýär.

Şeýle-de bolsa, gündelik kabul etmek üçin TCP protokolyny ulanmak isleseňiz, 514 portdaky TCP rozetkasyny baglamak we diňlemek üçin Rsyslog daemonyny sazlamak üçin /etc/rsyslog.conf konfigurasiýa faýlyndan aşakdaky setirleri tapmaly we açmaly.

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

5. Indi uzakdaky habarlary almak üçin täze şablon dörediň, sebäbi bu şablon ýerli Rsyslog serwerine ýol görkezer, bu ýerde Syslog tor müşderileri tarapyndan iberilen habarlary nirede saklar.

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

$şablon RemoteLogs direktiwasy Rsyslog daemonyna, görkezilen aýratynlyklara esaslanyp habarlary döreden müşderiniň adyna we uzakdaky müşderi programmasyna esaslanyp, iberilen gündelik habarlaryň hemmesini aýratyn faýllara ýygnamak we ýazmak üçin ýol görkezýär. şablon konfigurasiýasy: % HOSTNAME% we% PROGRAMNAME% .

Alnan gündelik faýllaryň hemmesi ýerli faýl ulgamyna müşderi maşynynyň adynyň ady bilen bölünen faýla ýazylar we/var/log/katalogynda saklanar.

& ~ gönükdirme düzgüni ýerli Rsyslog serwerine alnan gündelik habary gaýtadan işlemegi bes etmegi we habarlary aýyrmagy (içerki gündelik faýllaryna ýazmaň) gönükdirýär.

RemoteLogs bu şablon direktiwasyna berlen özbaşdak at. Şablonyňyz üçin iň amatly islän adyňyzy ulanyp bilersiňiz.

Has çylşyrymly Rsyslog şablonlaryny düzmek üçin, rsyslog.conf buýrugyny işledip, Rsyslog konfigurasiýa faýl gollanmasyny okaň ýa-da Rsyslog onlaýn resminamalaryna serediň.

# man rsyslog.conf

6. aboveokardaky konfigurasiýa üýtgeşmelerini edeniňizden soň, aşakdaky buýrugy işledip, soňky üýtgeşmeleri ulanmak üçin Rsyslog daemonyny täzeden açyp bilersiňiz.

# service rsyslog restart

7. Rsyslog serwerini täzeden açanyňyzdan soň, indi merkezleşdirilen log serweri hökmünde çykyş etmeli we Syslog müşderilerinden habarlary ýazga geçirmeli. Rsyslog tor rozetkalaryny tassyklamak üçin rsyslog setirini süzmek üçin grep kömekçi programmasyny işlediň.

# netstat -tulpn | grep rsyslog 

Netstat buýrugy CentOS 8-de däl bolsa, aşakdaky buýrugy ulanyp gurup bilersiňiz.

# dnf whatprovides netstat
# dnf install net-tools

8. CentOS/RHEL 8-de işjeň SELinux bar bolsa, tor rozetkasynyň görnüşine baglylykda rsyslog traffigine rugsat bermek üçin aşakdaky buýrugy işlediň.

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

Semanage buýrugy CentOS 8-de gurulmasa, aşakdaky buýrugy ulanyp gurup bilersiňiz.

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

9. Ulgamda gorag diwary işjeň bolsa, Firewalld portlarynda rsyslog traffigine rugsat bermek üçin zerur düzgünleri goşmak üçin aşakdaky buýrugy işlediň.

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

Şeýle hem, 514-nji portdaky gelýän baglanyşyklary görkezilişi ýaly ak sanawdaky IP diapazonlaryndan çäklendirip bilersiňiz.

# 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

Bu hemmesi! Rsyslog indi merkezleşdirilen gündelik serweri hökmünde düzüldi we uzakdaky müşderilerden gündelikleri ýygnap biler. Indiki makalada Rsyslog müşderisini CentOS/RHEL 8 serwerinde nädip sazlamalydygyny göreris.