Kuidas seadistada Rsyslogi klient logisid Rsyslog Serverile CentOS 7-s saatma


Logi haldamine on võrguinfrastruktuuri üks kriitilisemaid komponente. Logiteateid genereerib pidevalt arvukas süsteemitarkvara, näiteks utiliidid, rakendused, deemonid, võrguga seotud teenused, kernel, füüsilised seadmed ja nii edasi.

Logifailid osutuvad kasulikuks Linuxi süsteemiprobleemide tõrkeotsingu korral, jälgige süsteemi ning vaadake üle süsteemi turvalisuse tugevus ja probleemid.

Rsyslog on avatud lähtekoodiga logimisprogramm, mis on populaarseim logimismehhanism tohutul hulgal Linuxi distributsioonides. See on ka CentOS 7 või RHEL 7 vaikimisi logimisteenus.

CentOS-i Rsyslogi deemoni saab konfigureerida töötama serverina, et koguda logisõnumeid mitmest võrguseadmest. Need seadmed toimivad klientidena ja on konfigureeritud edastama oma logisid rsyslogi serverisse.

Kuid teenust Rsyslog saab konfigureerida ja käivitada ka kliendirežiimis. See seadistus annab rsyslogi deemonile käsu edastada logisõnumid kaugserverisse Rsyslog, kasutades TCP või UDP transpordiprotokolle. Samuti saab Rsyslogi teenuse konfigureerida nii, et see töötaks samaaegselt nii kliendi kui serverina.

Selles õpetuses kirjeldame, kuidas seadistada CentOS/RHEL 7 Rsyslogi deemon logisõnumite saatmiseks kaugserverisse Rsyslog. See seadistus tagab teie arvuti kettaruumi säilimise muude andmete salvestamiseks.

Koht, kuhu peaaegu kõik logifailid on CentOS-is vaikimisi kirjutatud, on süsteemitee /var . Samuti on soovitatav luua kataloogile /var alati eraldi partitsioon, mida saab dünaamiliselt kasvatada, et /(root) partitsioon ei ammenduks.

Rsyslogi klient saadab logisõnumid alati lihttekstina, kui pole teisiti määratud. Te ei tohiks seadistada Rsyslogi klienti logisõnumite edastamiseks Interneti või võrkude kaudu, mis pole teie täieliku kontrolli all.

  1. CentOS 7.3 installiprotseduur
  2. RHEL 7.3 Paigaldusprotseduur
  3. Rysyslogi serveri seadistamine rakenduses CentOS/RHEL 7

1. samm: kontrollige Rsyslogi installimist

1. Vaikimisi on Rsyslogi deemon juba installitud ja töötab CentOS 7 süsteemis. Selleks, et kontrollida, kas rsyslog teenus on süsteemis olemas, väljastage järgmised käsud.

# rpm -q | grep rsyslog
# rsyslogd -v

2. Kui pakett Rsyslog pole CentOS-i installitud, käivitage teenuse installimiseks järgmine käsk.

# yum install rsyslog

2. samm: konfigureerige Rsyslogi teenus kliendiks

3. CentOS 7 süsteemi installitud Rsyslogi deemoni sundimiseks toimima logikliendina ja suunama kõik kohapeal loodud logisõnumid kaugserverisse Rsyslog, muutke rsyslogi konfiguratsioonifaili järgmiselt:

Esmalt avage redigeerimiseks peamine konfiguratsioonifail.

# vi /etc/rsyslog.conf

Seejärel lisage faili lõppu allpool olev rida, nagu on näidatud allpool olevas katkendis.

*. *  @192.168.10.254:514

Ülaltoodud real veenduge, et asendate rsyslogi kaugserveri FQDN-i IP-aadressi vastavalt. Ülaltoodud rida käsib Rsyslogi deemonil saata kõik logisõnumid hoolimata võimalusest või raskusastmest hostile IP 192.168.10.254 kaudu pordi 514/UDP kaudu.

4. Kui kauglogiserver on konfigureeritud kuulama ainult TCP-ühendusi või soovite kasutada usaldusväärset transpordivõrgu protokolli, näiteks TCP, lisage kaughosti ette veel üks märk @ , nagu on näidatud järgmine näide:

*. *  @@logs.domain.lan:514

Linuxi rsyslog võimaldab lubada ka mõningaid erimärke, näiteks = või ! , mida saab prefiksida prioriteeditasemetele, et tähistada võrdusmärgi\"ainult seda prioriteeti" ja\"mitte see prioriteet või kõrgem kui see".

Mõned proovid Rsyslogi prioriteetsete tasemete kvalifikatsioonidest CentOS 7-s:

  • kern.info = tuuma logib info prioriteediga ja kõrgem.
  • tuum. = info = ainult teabe prioriteediga tuuma sõnumid.
  • kern.info; kern.! err = ainult tuuma sõnumid, millel on info, teade ja hoiatused.
  • kern.debug; kern.! = hoiatus = kõik tuuma prioriteedid, välja arvatud hoiatus.
  • tuum. * = kõik tuuma prioriteetsed sõnumid.
  • kern.none = ärge logige ühtegi seotud tuumaüksuse teadet prioriteedist hoolimata.

Näiteks eeldades, et soovite kaug logiserverisse saata ainult kindla rajatise sõnumid, näiteks kõik seotud meilisõnumid, olenemata prioriteeditasemest, lisage rsyslogi konfiguratsioonifailile järgmine rida:

mail.* @192.168.10.254:514 

5. Lõpuks tuleb uue konfiguratsiooni rakendamiseks Rsyslogi teenus taaskäivitada, et deemon saaks muudatused kätte saada, käivitades järgmise käsu:

# systemctl restart rsyslog.service

6. Kui Rsyslogi deemon pole mingil põhjusel alglaadimise ajal lubatud, väljastage teenindussüsteemi lubamiseks järgmine käsk:

# systemctl enable rsyslog.service

3. samm: saatke Apache- ja Nginx-logid kauglogiserverisse

7. Apache'i HTTP-serveri saab konfigureerida logisõnumite saatmiseks kaugsüsilogi serverisse, lisades oma põhisesse konfiguratsioonifaili järgmise rea, nagu on näidatud allpool toodud näites.

# vi /etc/httpd/conf/httpd.conf

Apache peamisesse conf-faili lisage allpool olev rida.

CustomLog "| /bin/sh -c '/usr/bin/tee -a /var/log/httpd/httpd-access.log | /usr/bin/logger -thttpd -plocal1.notice'" combined

Rida sunnib HTTP-deemoni kirjutama logisõnumid failisüsteemi logifaili sisemiselt, kuid töötleb sõnumeid edasi ka toru-logeri utiliidi kaudu, mis saadab need kaugesse syslogiserverisse, märkides need kohalikult1 rajatis.

8. Kui soovite Apache tõrke logiteateid suunata ka kaugsüsilogi serverisse, lisage uus reegel ülaltoodud näites toodud reeglina, kuid kindlasti asendage httpd logifaili nimi ja logifaili raskusaste sobib vea prioriteet, nagu on näidatud järgmises näidises:

ErrorLog "|/bin/sh -c '/usr/bin/tee -a /var/log/httpd/httpd-error.log | /usr/bin/logger -thttpd -plocal1.err'"

9. Kui olete ülaltoodud read lisanud, peate muudatuste rakendamiseks Apache deemon taaskäivitama, väljastades järgmise käsu:

# systemctl restart httpd.service                 

10. Alates versioonist 1.7.1 on Nginxi veebiserveril sisseehitatud võimalused oma sõnumite otse kaugsüsilogi serverisse logimiseks, lisades järgmised koodiread nginxi konfiguratsioonifaili.

error_log syslog:server=192.168.1.10:514,facility=local7,tag=nginx,severity=error;
access_log syslog:server=192.168.10.254:514,facility=local7,tag=nginx,severity=info main;

IPv6-serveri jaoks kasutage IPv6-aadressi lisamiseks järgmist süntaksivormingut.

access_log syslog:server=[7101:dc7::9]:514,facility=local7,tag=nginx,severity=info;

11. Rsyslogi kaugserveris peate Apache veebiserveri saadetud logide saamiseks tegema järgmised muudatused rsyslogi konfiguratsioonifailis.

local1.* @Apache_IP_address:514

See on kõik! Olete edukalt konfigureerinud Rsyslogi deemoni kliendirežiimis käitamiseks ja lisaks olete andnud Apache HTTP-serverile või Nginxile korralduse edastada oma logisõnumid kaugsüslogiserverisse.

Kui süsteem jookseb kokku, peaksite suutma probleemi uurida, kontrollides logifailide sisu, mis on salvestatud kaugsyslogiserverisse.