![11 proc. „Windows XP“ vartotojų pereis prie „Linux“, teigia apklausos](/f/3d03e41dcc5475e38ee87794bbce88c6.jpg?width=100&height=100)
Kad sistemos administratorius nustatytų arba pašalintų problemą a „CentOS 7“ arba RHEL 7 serverio sistema, ji turi žinoti ir peržiūrėti įvykius, kurie įvyko sistemoje per tam tikrą laikotarpį iš žurnalo failų, saugomų sistemoje /var/log katalogą.
„Syslog“ serveris „Linux“ įrenginyje gali veikti kaip centrinis stebėjimo taškas tinkle, kuriame visi serveriai, tinklo įrenginiai, maršrutizatoriai, jungikliai ir dauguma jų vidinių paslaugų, generuojančių žurnalus, nesvarbu, ar jie susiję su konkrečia vidine problema, ar tiesiog informaciniais pranešimais, gali juos išsiųsti rąstai.
Ant „CentOS“/„RHEL“ 7 sistema, Rsyslog demonas yra pagrindinis iš anksto įdiegtas žurnalų serveris, po kurio „Systemd Journal Daemon“ (žurnalas).
Rsyslog serverio kūrimas kaip kliento/serverio architektūros paslauga ir gali vienu metu atlikti abu vaidmenis. Jis gali veikti kaip serveris ir rinkti visus žurnalus, kuriuos perduoda kiti tinklo įrenginiai, arba gali veikti kaip klientas, siunčiant visus vidinius sistemos įvykius, užregistruotus į nuotolinį galinio taško sistemos žurnalo serverį.
Kai rsyslog sukonfigūruotas kaip klientas, žurnalai gali būti saugomi vietoje failų vietinėje failų sistemoje arba gali būti siunčiami nuotoliniu būdu nei įrašyti juos į įrenginyje saugomus failus arba lokaliai rašyti įvykių žurnalo failus ir tuo pačiu metu nusiųsti juos į nuotolinio sistemos žurnalo serverį laikas.
„Syslog“ serveris valdo bet kokį žurnalo pranešimą pagal šią schemą:
tipas (įrenginys). prioritetas (sunkumas) paskirties vieta (kur siųsti žurnalą)
A. The įrenginys arba tipo duomenis vaizduoja vidiniai sistemos procesai, generuojantys pranešimus. „Linux“ vidiniai procesai (įrenginiai), generuojantys žurnalus, yra standartizuoti taip:
B. The prioritetas (sunkumas) lygiai taip pat yra standartizuoti. Kiekvienam prioritetui priskiriama standartinė santrumpa ir numeris, kaip aprašyta toliau. Septintasis prioritetas yra aukštesnis lygis.
Specialūs „Rsyslog“ raktiniai žodžiai:
C. Trečioji syslog schemos dalis yra Kelionės tikslas direktyva. „Rsyslog“ demonas gali siųsti žurnalo pranešimus, kad jie būtų įrašyti į failą vietinėje failų sistemoje (dažniausiai faile /var/log/ katalogas) arba būti prijungtas prie kito vietinio proceso arba siunčiamas į vietinę vartotojo konsolę (į stdout), arba nusiųskite pranešimą į nuotolinį sistemos dienoraščio serverį per TCP/UDP protokolą arba net išmeskite žinutę adresu /dev/null.
Norėdami sukonfigūruoti „CentOS“/„RHEL“ 7 kaip centrinis žurnalų serveris, pirmiausia turime patikrinti ir užtikrinti, kad /var skaidinys, kuriame įrašomi visi žurnalo failai, yra pakankamai didelis (mažiausiai keli GB), kad būtų galima išsaugoti visus žurnalo failus, kuriuos atsiųs kiti įrenginiai. Geras sprendimas prijungti įrenginį naudojant atskirą diską (LVM, RAID) /var/log/ katalogą.
1. Pagal numatytuosius nustatymus Rsyslog paslauga įdiegiama automatiškai ir turėtų veikti „CentOS“/„RHEL“ 7. Norėdami patikrinti, ar demonas paleistas sistemoje, išleiskite šią komandą su root teisėmis.
# systemctl būsena rsyslog.service.
Jei paslauga neveikia pagal numatytuosius nustatymus, vykdykite žemiau pateiktą komandą, kad paleistumėte rsyslog demoną.
# systemctl pradėti rsyslog.service.
2. Jei rsyslog paketas neįdiegtas sistemoje, kurią ketinate naudoti kaip centralizuotą registravimo serverį, paleiskite šią komandą, kad įdiegtumėte rsyslog paketą.
# yum įdiegti rsyslog.
3. Pirmas žingsnis, kurį turime atlikti sistemoje, kad sukonfigūruotume rsyslog demoną kaip centralizuotą žurnalo serverį, kad jis galėtų gauti žurnalo pranešimus išoriniams klientams, yra atidaryti ir redaguoti pagrindinį konfigūracijos failą naudojant mėgstamą teksto rengyklę nuo /etc/rsyslog.conf, kaip parodyta žemiau esančioje ištraukoje.
# vi /etc/rsyslog.conf.
„Rsyslog“ pagrindiniame konfigūracijos faile ieškokite ir pašalinkite šias eilutes (pašalinkite žymą su grotelėmis) #
pasirašyti eilutės pradžioje), kad būtų galima priimti UDP transportavimo priėmimą į „Rsyslog“ serverį 514 uostas. UDP yra standartinis protokolas, kurį „Rsyslog“ naudoja žurnalų perdavimui.
$ ModLoad imudp $ UDPServerRun 514.
4. UDP protokolas neturi papildomo TCP, todėl duomenys perduodami greičiau nei TCP protokolas. Kita vertus, UDP protokolas negarantuoja perduodamų duomenų patikimumo.
Tačiau, jei jums reikia naudoti TCP protokolą priimant žurnalą, turite ieškoti ir atšaukti toliau nurodytas eilutes /etc/rsyslog.conf failą, kad sukonfigūruotumėte „Rsyslog“ demoną susieti ir klausytis TCP lizdo 514 prievade. Priėmimo TCP ir UDP klausymo lizdai gali būti sukonfigūruoti „Rsyslog“ serveryje vienu metu.
$ ModLoad imtcp $ InputTCPServerRun 514
5. Kitame žingsnyje dar neuždarykite failo, sukurkite naują šabloną, kuris bus naudojamas nuotoliniams pranešimams priimti. Šis šablonas nurodys vietiniam „Rsyslog“ serveriui, kur išsaugoti gautus „syslog“ tinklo klientų siunčiamus pranešimus. Šablonas turi būti pridėtas prieš PASAULINĖS DIREKTYVOS bloką, kaip parodyta žemiau esančioje ištraukoje.
$ template RemoteLogs, "/var/log/%HOSTNAME%/%PROGRAMNAME%.log".? RemoteLogs & ~
Aukščiau $ šablonas RemoteLogs direktyva nurodo „Rsyslog“ demonui surinkti ir įrašyti visus gautus žurnalo pranešimus į atskirus failus, remiantis kliento kompiuteriu pavadinimas ir nuotolinio kliento įrenginys (programa), kuris sugeneravo pranešimus pagal apibrėžtas ypatybes, pateiktas šablone konfigūracija: %HOSTNAME% ir %PROGRAMNAME%.
Visi šie žurnalo failai bus įrašyti į vietinę failų sistemą į tam skirtą failą, pavadintą kliento kompiuterio pagrindinio kompiuterio pavadinimu, ir saugomi kataloge/var/log/.
The & ~ peradresavimo taisyklė nurodo vietiniam „Rsyslog“ serveriui nustoti toliau apdoroti gautą žurnalo pranešimą ir atmesti pranešimus (nerašyti jų į vidinius žurnalo failus).
The „RemoteLogs“ pavadinimas yra savavališkas pavadinimas, suteiktas šablonų direktyvai. Galite naudoti bet kokį pavadinimą, kuris geriausiai tinka jūsų šablonui.
Norėdami įrašyti visus gautus klientų pranešimus į vieną žurnalo failą, pavadintą IP adreso vardu nuotolinio kliento, nefiltruodami pranešimą sukūrusios priemonės, naudokite toliau pateiktą informaciją ištrauka.
$ template FromIp, „/var/log/%FROMHOST-IP%.log“.? FromIp & ~
Kitas šablono pavyzdys, kai visi pranešimai su autentifikavimo priemonės vėliava bus įrašyti į šabloną pavadinimu „TmplAuth“.
$ template TmplAuth, "/var/log/%HOSTNAME%/%PROGRAMNAME%.log" authpriv.*? TmplAuth.
Žemiau yra šablono apibrėžimo ištrauka iš „Rsyslog 7“ serverio:
šablonas (name = "TmplMsg" type = "string" string = "/var/log/remote/msg/%HOSTNAME%/%PROGRAMNAMEsecpath-pakeisti%.log")
Aukščiau pateiktą šablono ištrauką taip pat galima parašyti taip:
šablonas (name = "TmplMsg" type = "list") {konstanta (vertė = "/var/log/remote/msg/") ypatybė (vardas = "pagrindinio kompiuterio pavadinimas") konstanta (vertė = "/") ypatybė (vardas = "programos pavadinimas" Saugus kelias = "pakeisti") konstanta (vertė = ". žurnalas")}
Norėdami parašyti sudėtingus „Rsyslog“ šablonus, perskaitykite „Rsyslog“ konfigūracijos failo vadovą vyras rsyslog.conf įsakyti ar pasikonsultuoti „Rsyslog“ internetinė dokumentacija.
6. Redagavę „Rsyslog“ konfigūracijos failą naudodami savo nustatymus, kaip paaiškinta aukščiau, iš naujo paleiskite „Rsyslog“ demoną, kad pritaikytumėte pakeitimus, išleisdami šią komandą:
# paslaugos rsyslog paleidimas iš naujo.
7. Iki šiol „Rsyslog“ serveris turėtų būti sukonfigūruotas taip, kad veiktų centralizuotas žurnalo serveris ir įrašytų pranešimus iš „syslog“ klientų. Norėdami patikrinti „Rsyslog“ tinklo lizdus, paleiskite komanda „netstat“ su root teisėmis ir naudokite grep, kad filtruotumėte rsyslog eilutę.
# netstat -tulpn | grep rsyslog
8. Jei įjungėte „SELinux“ „CentOS“/„RHEL“ 7, išleiskite šią komandą, kad sukonfigūruotumėte „SELinux“, kad leistų rsyslog srautą, priklausomai nuo tinklo lizdo tipo.
514. 514. kas turi būti
9. Jei ugniasienė yra įjungta ir aktyvi, paleiskite žemiau pateiktą komandą, kad pridėtumėte būtinas taisykles, kaip atidaryti „rsyslog“ prievadus „Firewalld“.
# užkarda-cmd --permanent --add-port = 514/tcp. # firewall-cmd --permanent --add-port = 514/udp. # užkarda-cmd-įkelti iš naujo.
Tai viskas! „Rsyslog“ dabar sukonfigūruotas serverio režimu ir gali centralizuoti žurnalus iš nuotolinių klientų. Kitame straipsnyje pamatysime, kaip tai padaryti sukonfigūruokite „Rsyslog“ klientą „CentOS/RHEL 7“ serveryje.
Naudodami „Rsyslog“ serverį kaip centrinį nuotolinio žurnalo pranešimų stebėjimo tašką, galite patikrinti žurnalo failus ir juos stebėti klientų sveikatos būklę arba derinti kliento problemas lengviau, kai sistemos sugenda arba yra veikiamos tam tikros rūšies ataka.