CentOS/RHEL 7-de Rsyslog bilen merkezleşdirilen log serwerini nädip döretmeli


Ulgam dolandyryjysynyň CentOS 7 ýa-da RHEL 7 serwer ulgamynda bir meseläni ýüze çykarmagy ýa-da çözmegi üçin belli bir wagtyň içinde ulgamda bolup geçen wakalary/var ulgamynda saklanýan gündelik faýllaryndan bilmeli we görmeli./gündelik bukjasy.

Linux enjamyndaky syslog serweri, ähli serwerleriň, tor enjamlarynyň, marşrutizatorlaryň, wyklýuçatelleriň we gündelik hyzmatlary döredýän içerki hyzmatlaryň köpüsiniň, belli bir içerki mesele bilen baglanyşykly bolsun ýa-da diňe habarly habarlar öz ýazgylaryny iberip bilýän torda merkezi gözegçilik nokady bolup biler. .

CentOS/RHEL 7 ulgamynda, Rsyslog daemon öňünden gurlan esasy log serweri, ondan soň Systemd Journal Daemon (durnal).

Müşderi/serwer arhitektura hyzmaty hökmünde gurlan Rsyslog serweri we iki roly bir wagtda gazanyp biler. Serwer hökmünde işledip biler we tordaky beýleki enjamlar tarapyndan iberilen ähli gündelikleri ýygnap biler ýa-da uzak aralyk syslog serwerine ýazylan içerki ulgam hadysalarynyň hemmesini iberip, müşderi hökmünde işledip biler.

Rsyslog müşderi hökmünde düzülende, surnallar ýerli faýl ulgamyndaky faýllarda saklanyp bilner ýa-da enjamda saklanylýan faýllara ýazmak ýa-da wakalar gündeligi faýllaryny ýazmak we uzakdaky syslog serwerine ibermek däl-de, uzakdan iberilip bilner. şol bir wagtyň özünde.

Syslog serweri aşakdaky shemany ulanyp islendik gündelik habary işleýär:

type (facility).priority (severity)  destination(where to send the log)

A. Desga ýa-da görnüşli maglumatlar, habarlary döredýän içerki ulgam amallary bilen aňladylýar. Linux-da gündelik döredýän içerki proseslerde (desgalarda) aşakdaky ýaly standartlaşdyrylýar:

  • auth=tanamak prosesi (giriş) arkaly döredilen habarlar.
  • kron=meýilleşdirilen amallar (crontab) tarapyndan döredilen habarlar.
  • daemon=daemonlar tarapyndan döredilen habarlar (içerki hyzmatlar).
  • ýadro=Linux ýadrosynyň özi tarapyndan döredilen habarlar.
  • poçta=poçta serweri tarapyndan döredilen habarlar.
  • syslog=rsyslog daemonyň özi tarapyndan döredilen habarlar.
  • lpr=ýerli printerler ýa-da çap serweri tarapyndan döredilen habarlar.
  • ýerli0 - ýerli7=administrator tarapyndan kesgitlenen ýörite habarlar (ýerli7 adatça Cisco ýa-da Windows üçin bellenilýär).

B. Üstünlik (agyrlyk) derejeleri hem standartlaşdyryldy. Her bir ähmiýet, adaty gysgaltma we aşakda görkezilişi ýaly san bilen berilýär. 7-nji ähmiýet, hemmeleriň has ýokary derejesi.

  • ýüze çykmak=Gyssagly - 0
  • duýduryş=Duýduryşlar - 1
  • ýalňyş=roralňyşlyklar - 3
  • duýduryş=Duýduryşlar - 4
  • bildiriş=Duýduryş - 5
  • maglumat=Maglumat - 6
  • düzediş=Düzediş - 7

Rörite Rsyslog açar sözler:

  • *=ähli desgalar ýa-da ileri tutulýan ugurlar
  • none=desgalaryň ileri tutulýan ugurlary ýok Mysal üçin: mail.none

C. Syslog shemasy üçin üçünji bölüm, niýetlenen görkezme bilen görkezilýär. Rsyslog daemon ýerli faýl ulgamynda bir faýlda ýazylmak üçin (esasanam/var/log/katalogdaky bir faýlda) ýa-da başga bir ýerli prosese ýa-da ýerli ulanyjy konsolyna (stdout) ibermek üçin gündelik habarlary iberip biler. ýa-da habary TCP/UDP protokoly arkaly uzakdaky syslog serwerine iberiň, ýa-da habary/dev/null-a taşlaň.

CentOS/RHEL 7-i merkezi Log Serweri hökmünde konfigurasiýa etmek üçin ilki bilen ähli log faýlynyň ýazylan/var bölüminiň hemmesini saklap bilmek üçin ýeterlik ulydygyny (birnäçe GB iň az) barlamaly we barlamaly. beýleki enjamlar tarapyndan iberiljek faýllary hasaba alyň./Var/log/katalogy gurmak üçin aýratyn disk (LVM, RAID) ulanmak gowy karar.

  1. CentOS 7.3 Gurmagyň tertibi
  2. RHEL 7.3 Gurmagyň tertibi

CentOS/RHEL 7 serwerinde Rsyslogy nädip sazlamaly

1. Düzgüne görä, Rsyslog hyzmaty awtomatiki gurulýar we CentOS/RHEL 7-de işlemeli. Demonyň ulgamda işe başlandygyny ýa-da ýokdugyny barlamak üçin kök ygtyýarlyklary bilen aşakdaky buýrugy beriň.

# systemctl status rsyslog.service

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

# systemctl start rsyslog.service

2. Rsyslog bukjasy merkezleşdirilen hasaba alyş serweri hökmünde ulanmak isleýän ulgamyňyzda gurulmadyk bolsa, rsyslog paketini gurmak üçin aşakdaky buýrugy beriň.

# yum install rsyslog

3. Rsyslog daemony merkezleşdirilen gündelik serweri hökmünde düzmek, daşarky müşderiler üçin gündelik habarlary alyp bilmek üçin ulgamda etmeli ilkinji ädimimiz, halaýan tekst redaktoryňyzy, esasy konfigurasiýany ulanyp açmak we redaktirlemekdir. aşakdaky bölekde görkezilişi ýaly /etc/rsyslog.conf faýly.

# vi /etc/rsyslog.conf

Rsyslog esasy konfigurasiýa faýlynda, 514 porty arkaly Rsyslog serwerine UDP transport kabul edişini üpjün etmek üçin aşakdaky setirleri gözläň (setiriň başynda # belligini aýyryň). UDP, Rsyslog tarapyndan gündelik geçirmek üçin ulanylýan adaty protokol.

$ModLoad imudp 
$UDPServerRun 514

4. UDP protokolynda TCP protokoly ýok, bu maglumatlary TCP protokolyna garanyňda has çaltlaşdyrýar. Beýleki tarapdan, UDP protokoly iberilýän maglumatlaryň ygtybarlylygyny kepillendirmeýär.

Şeýle-de bolsa, gündelik kabul etmek üçin TCP protokolyny ulanmaly bolsaňyz, 514 portda TCP rozetkasyny baglamak we diňlemek üçin Rsyslog daemonyny sazlamak üçin /etc/rsyslog.conf faýlyndan aşakdaky setirleri gözlemeli we açmaly. Kabul etmek üçin TCP we UDP diňleýji rozetkalary bir wagtda Rsyslog serwerinde sazlap bolýar.

$ModLoad imtcp 
$InputTCPServerRun 514 

5. Indiki ädimde faýly ýapmaň, uzakdaky habarlary almak üçin ulanyljak täze şablon dörediň. Bu galyp, syslog tor müşderileri tarapyndan iberilen habarlary nirede saklamalydygyny ýerli Rsyslog serwerine görkezer. Şablon, aşakdaky bölekde görkezilişi ýaly GLOBAL DIRECTIVES blokynyň başlamazyndan öň goşulmalydyr.

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

Aboveokardaky $şablon RemoteLogs direktiwasy Rsyslog daemonyna, şablon konfigurasiýasynda görkezilen häsiýetlere esaslanýan habarlary döredýän müşderi maşynyň adyna we uzakdaky müşderi desgasyna (programma) esaslanyp, alnan gündelik habarlaryň hemmesini aýratyn faýllara ýygnamagy we ýazmagy tabşyrýar. :% HOSTNAME% we% PROGRAMNAME%.

Bu gündelik faýllaryň hemmesi ýerli faýl ulgamyna müşderi maşynynyň adynyň adyny göterýän we/var/log/katalogynda saklanjak aýratyn faýla ýazylar.

& ~ Gaýtadan gönükdirmek düzgüni ýerli Rsyslog serwerine alnan gündelik habary gaýtadan işlemegi bes etmegi we habarlary taşlamagy tabşyrýar (içerki gündelik faýllaryna ýazmaň).

“RemoteLogs” ady bu şablon direktiwasyna berlen özbaşdak at. Şablonyňyza laýyk gelýän islendik aty ulanyp bilersiňiz.

Müşderilerden alnan habarlaryň hemmesini uzakdaky müşderiniň IP adresi adyndaky ýekeje log faýlynda ýazmak üçin habary döreden desgany süzmezden, aşakdaky bölekden peýdalanyň.

$template FromIp,"/var/log/%FROMHOST-IP%.log" 
. ?FromIp & ~ 

Awtomatiki desganyň baýdagy bolan ähli habarlaryň “TmplAuth” atly şablona ýazyljak şablonyň başga bir mysaly.

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

Aşakda Rsyslog 7 serwerinden şablon kesgitlemesiniň bölekleri:

template(name="TmplMsg" type="string"
         string="/var/log/remote/msg/%HOSTNAME%/%PROGRAMNAME:::secpath-replace%.log"
        )

Aboveokardaky şablon parçasyny şeýle ýazyp bolar:

template(name="TmplMsg" type="list") {
    constant(value="/var/log/remote/msg/")
    property(name="hostname")
    constant(value="/")
    property(name="programname" SecurePath="replace")
    constant(value=".log")
    }

Çylşyrymly Rsyslog şablonlaryny ýazmak üçin, adam rsyslog.conf buýrugyny berip, Rsyslog konfigurasiýa faýl gollanmasyny okaň ýa-da Rsyslog onlaýn resminamalaryna serediň.

6. aboveokarda düşündirilişi ýaly Rsyslog konfigurasiýa faýlyny öz sazlamalaryňyz bilen redaktirläniňizden soň, aşakdaky buýrugy bermek bilen üýtgeşmeler girizmek üçin Rsyslog daemonyny täzeden açyň:

# service rsyslog restart

7. Şu wagta çenli merkezleşdirilen log serwerini herekete getirmek we syslog müşderilerinden habarlary ýazmak üçin Rsyslog serweri düzülmelidir. Rsyslog tor rozetkalaryny barlamak üçin netstat buýrugyny kök aýratynlyklary bilen işlediň we rsyslog setirini süzmek üçin grep ulanyň.

# netstat -tulpn | grep rsyslog 

8. CentOS/RHEL 7-de SELinux açyk bolsa, tor rozetkasynyň görnüşine baglylykda rsyslog traffigine rugsat bermek üçin SELinux-y düzmek üçin aşakdaky buýrugy beriň.

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

9. Gorag diwary açyk we işjeň bolsa, Firewalld-da rsyslog portlaryny açmak üç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

Bu hemmesi! Rsyslog indi serwer re modeiminde düzüldi we uzakdaky müşderilerden gündelikleri merkezleşdirip biler. Indiki makalada Rsyslog müşderisini CentOS/RHEL 7 serwerinde nädip sazlamalydygyny göreris.

Rsyslog serwerini uzakdaky gündelik habarlar üçin merkezi gözegçilik nokady hökmünde ulanyp, gündelik faýllary barlap, müşderileriň saglyk ýagdaýyny synlap ýa-da ulgamlar ýykylanda ýa-da haýsydyr bir hüjüme sezewar bolanda müşderiniň meselelerini has aňsat çözüp bilersiňiz.