Zapisivanje događaja pomoću Syslogda i Klogda na Linuxu

Administracijski zadaci u Linuxu složeni su u mnogim situacijama zbog količine procesa, usluga i uloga koje se izvršavaju svake sekunde, a tome moramo dodati prijave, instalaciju aplikacija i ne zaboraviti sve događaje koje svaka aplikacija registrira u distribuciji kojom upravlja . Srećom po administratore i nadzorno ili revizorsko osoblje, razvili smo različite naredbe koje olakšavaju upravljanje i kontrolu događaja u sustavu, pa će se Solvetic u tu svrhu usredotočiti na dvije najvažnije naredbe. Syslog i Klogd.

Dnevnik je poput dnevnika u kojem se bilježe događaji, pogreške, promjene i procesi koje generiraju aplikacije ili operacijski sustav kako bi kasnije mogli pročitati ovaj zapis i utvrditi koji su se događaji dogodili, posebno u slučaju pogrešaka ili ranjivosti. Datoteke dnevnika na linux sustavu nalaze se u / var / log direktoriju. Sustavom dnevnika Linux upravljaju dva Daemona:

SYSLOGDGenerira zapisnike sustava. Syslogd se automatski pokreće pri pokretanju Linux sustava i odgovoran je za pohranu izvješća o radu računala. Prima poruke iz različitih dijelova sustava, jezgre i aplikacija, pohranjuje ih na različite lokacije, lokalne i udaljene, prema kriterijima definiranim u /etc/syslog.conf konfiguracijskoj datoteci.

KLOGDGenerirajte zapise jezgre. klogd usmjerava poruke dnevnika jezgre u zapisnik sustava. Korisnik može kontrolirati rukovanje porukama jezgre uređivanjem konfiguracijske datoteke syslogd. Ove klogd aplikacije posebno su korisne za programere kernela.

1. Što je i kako koristiti Syslogd u zapisnicima Linuxa


Pogledajmo što je to i kako koristiti Syslogd

Što je SyslogdSyslogd (pomoćni programi za bilježenje sustava Linux), naredba je koja nam daje vrstu dnevnika koju koriste mnogi moderni programi, zahvaljujući Syslogdu svaka zapisana poruka sadrži barem jedno vrijeme i jedno polje naziva hosta, što zadaće praćenja čini mnogo jednostavnijim i lakše analizirati.

Naredba Syslogd ima standardno ponašanje BSD -a, a nove verzije Syslogda transparentno djeluju s verzijom sysloga dostupnom u standardnim knjižnicama, pa će, ako binarna datoteka povezana sa standardnim dijeljenim knjižnicama ne radi ispravno, Syslogd će prikazati ponašanje ove binarni.

Korak 1
Glavna konfiguracijska datoteka je /etc/syslog.conf, a dnevnik je obično naveden unosima pravila. Birač (objekt.prioritet) i radnja navedeni su u svakom retku. Treba imati na umu da su moderne distribucije Linuxa naredbu Syslogd zamijenile nove implementacije Sysloga poput rsyslog ili syslog-ng, pa ako želimo koristiti Syslogd možemo je instalirati sa sljedećom naredbom:

 apt install inetutils-syslogd 

POVEĆAJTE

Korak 2
Tamo moramo unijeti slovo S kako bismo potvrdili preuzimanje i instalaciju Syslogda. Nakon instaliranja možemo otići do njegove konfiguracijske datoteke koja se nalazi na sljedećoj stazi /etc/syslog.conf:

 nano /etc/syslog.conf 

POVEĆAJTE

Korak 3
Tamo nalazimo sve rute kojima će Syslogd hvatati podatke. Sintaksa opće namjene za Syslogd je sljedeća:

 syslogd [-a utičnica] [-d] [-f konfiguracijska datoteka] [-h] [-l popis hostova] [-m interval] [-n] [-p utičnica] [-r] [-s popis domena] [-S] [-v] [-x] 
Korak 4
Među dostupnim opcijama imamo:

Navedite dodatne utičniceOvaj nam argument omogućuje specificiranje dodatnih utičnica koje bi Syslogd trebao slušati, koristi se u slučaju da se neki demon izvršava unutar chroot () okruženja. Bit će moguće koristiti do 19 dodatnih utičnica.

 -utičnica 

Omogući način otklanjanja pogrešakaovaj argument aktivira način ispravljanja pogrešaka koji će Syslog držati u prvom planu i na taj način zapisati mnogo informacija o ispravljanju pogrešaka u trenutni tty.

 -d

Konfiguracijska datotekaOvaj argument navodi zamjensku konfiguracijsku datoteku umjesto zadane datoteke /etc/syslog.conf.

 -f konfiguracijsku datoteku 

Blokirajte daljinsko prosljeđivanje porukaOvaj parametar sprječava Syslogd u prosljeđivanju poruka koje prima od udaljenih hostova.

 -h

Odredite naziv mrežeZahvaljujući ovom parametru može se naznačiti naziv hosta koji se mora registrirati samo s njegovim jednostavnim imenom hosta, a ne s FQDN -om.

 -l popis domaćina (popis domaćina) 

Odredite vremenski intervalKorištenjem ovog parametra možemo odrediti vremenski interval za korištenje, prema zadanim postavkama vrijednost je 20 minuta.

 -m interval 

Izbjegavajte pokretanje SyslodgaOvaj parametar sprječava da Syslogd radi u pozadini.

 -n

Postavite utičnicu domeneOmogućuje nam da odredimo zamjensku utičnicu Unix domene umjesto / dev / log

 -p utičnica

Dopusti mrežne porukeOva će opcija omogućiti instalaciji primanje poruka s mreže putem utičnice internetske domene sa uslugom Syslog.

 -r

Odredite naziv domeneOvaj parametar navodi naziv domene koji se mora ukloniti prije prijave.

 -s domena 

Omogući registracijuOmogući detaljno bilježenje,

 -S

Omogući trenutnu verzijuPogledajte trenutnu verziju Syslogda.

 -v 

POVEĆAJTE

Korak 5
Prilikom izvršavanja bilo koje od dostupnih opcija možemo vidjeti sve zadatke koji se izvršavaju interno:

POVEĆAJTE

2. Signali u zapisnicima Syslogd Linux

Korak 1
Syslogd može reagirati na skup signala, mogućnost slanja signala Syslogdu je izvršavanjem:

 kill -SIGNAL 'cat /var/run/syslogd.pid' 
Korak 2
Kada se ovaj signal izvrši, različite komponente kao što su. Stoga je Syslogd praktično rješenje za analizu Linux događaja.

SIGHUPOva opcija dopušta Syslogdu da izvrši proces ponovnog pokretanja gdje su sve otvorene datoteke zatvorene, konfiguracijska datoteka će se ponovno pročitati, a instalacija Sysloga će ponovno započeti.

SIGTERMUsluga će isteći.

SIGINT, SIGQUITAko je omogućeno otklanjanje pogrešaka, one se zanemaruju, u protivnom će Syslogd isteći.

SIGUSR1Omogućite ili onemogućite ispravljanje pogrešaka.

SIGCHLDPričekajte nove poruke.

3. Konfigurirajte Linux syslogd datoteku


Syslogd koristi nešto drugačiju sintaksu u svojoj konfiguracijskoj datoteci od tradicionalne izvorne BSD izvorne datoteke. Konfiguracija syslogd vrši se putem datoteke /etc/syslogd.conf. Kroz ovu datoteku je navedeno kamo bi se trebale usmjeriti različite poruke. Možete ostaviti prazne retke ili komentirati cijele retke s znakom "#"

Da bi syslog prihvatio udaljene veze, moramo dodati parametar -r

 SYSLOGD_OPTIONS = " - r -m 0" 
Obično syslogd zauzima port 514, moramo provjeriti da ga vatrozid ne blokira kako bismo provjerili na kojem se portu izvodi, s terminala pišemo sljedeći kod
 grep syslog / etc / services 
U zapisnicima usluga na ovoj liniji možemo vidjeti da zapisnici "mail, cron, info" idu u imenik poruka
 * .info; mail.none; authpriv.none; cron.none / var / log / messages 
Pokušat ćemo sljedećom naredbom poslati poruku svim zapisnicima
 grep "Testna poruka" / var / log / * 
U ovom slučaju možemo vidjeti da je nekoliko dnevnika s odbijenim dozvolama pa se ne mogu zapisati.

Bilo bi potrebno utvrditi je li potrebno mijenjati dozvole ili ne prema našim potrebama. Dnevnici imaju nekoliko razina prioriteta poruka (od najnižeg do najvećeg prioriteta:

Dnevnici grešaka, pogrešaka i upozorenja

 otklanjanje pogrešaka, informacije, obavijesti, upozorenje, upozorenje, pogreška, pogreška, kritika, upozorenje, pojavljivanje i panika 

Zapisi vrste porukaZapisi različitih vrsta poruka

 auth, authpriv, cron, demon, kern, lpr, pošta, oznaka, vijesti, sigurnost, syslog, korisnik, uucp 
Najvažniji su
  • var / log / messages: ovdje ćemo pronaći zapisnike koji stižu s prioritetnim podacima (informacije), obavijesti (obavijesti) ili upozorenjima (upozorenje).
  • /var/log/kern.log: zapisnici kernela, koje generira klogd, pohranjeni su ovdje.
  • /var/log/auth.log: ovaj dnevnik bilježi prijave u sustavu, vrijeme koje radimo, itd. Neuspjeli pokušaji bilježe se u redove s podacima o nevažećoj vrsti ključa ili neispravnoj prijavi.
  • / var / log / dmesg: informacije koje kernel generira tijekom pokretanja sustava pohranjene su u ovoj datoteci.

Ove datoteke dnevnika neprestano akumuliraju informacije pa u nekom trenutku mogu zauzeti puno prostora, kako bismo riješili ovaj problem, možemo ih komprimirati ili napraviti sigurnosnu kopiju ako su zaista potrebni. Neke promjene koje treba imati na umu su:

Korištenje zamjenskih znakovaKoristi se kao zamjenski znak za sve gore navedene prioritete i usluge, ovisno o upotrebi (bilo prije ili poslije znaka za odvajanje `. ').

 "*" (Zvjezdica) = 

Nemojte označavati prioritetPokazuje da nema definiranog prioriteta za uslugu odabrane linije.

 "": (Prazno, razmak, null) 

Odaberite različite uslugeOmogućuje vam da na istom retku navedete više usluga s istom razinom prioriteta.

 "," (jesti) 

Kontrolirajte različite porukeOmogućuje usmjeravanje poruka s različitih usluga i prioriteta istom primatelju.

 ";" (točka i zarez) 

Odaberite prioritet porukeOmogućuje nam spremanje samo poruka s točno navedenim prioritetom.

 "=" (Jednako) 

4. Što je i kako koristiti Klogd u zapisnicima Linuxa

Što je KlogdKlogd (Kernel Log Daemon) je sistemski demon koji je razvijen za presretanje i bilježenje poruka iz jezgre Linuxa. Funkcija naredbe Klogd usmjerena je na hvatanje više instanci jezgre, poput izvora, određivanja prioriteta i razrješenja adresa jezgre.

U Linux okruženjima imamo dva glavna izvora informacija o registru jezgre, poput:

  • Sustav datoteka / proc
  • Sučelje syscall (sys_syslog)
Naredba Klogd osmišljena je tako da odabere najprikladniji izvor informacija za prikaz informacija, kako bi se to postiglo, prije svega, ona provjerava prisutnost datotečnog sustava / proc koji je montiran, ako postoji, / proc file / kmsg koristi se kao izvor podataka dnevnika jezgre, u slučaju da datotečni sustav proc nije montiran, Klogd će koristiti sistemski poziv kako bi dobio poruke jezgre. U slučaju da se poruke jezgre preusmjeravaju kroz demon syslogd, demon Klogd, od svoje verzije 1.1, može dati prioritet porukama jezgre, ovaj prioritet je u rasponu pri čemu je prioritet poruke iz jezgre kodiran kao jedna numerička znamenka unutar.

Kad se poruka primi iz jezgre, Klogd demon će pročitati dodijeljenu razinu prioriteta i dati joj razinu prioriteta na temelju poruke sysloga. Prilikom korištenja Klogda bit će moguće promijeniti i prikaz poruka jezgre u sistemskoj konzoli, u zajedničkom jezgru zadana razina dnevnika konzole postavljena je na 7, dakle, sve poruke s nižom razinom prioriteta na 7 (najviši prioritet ) će se pojaviti na konzoli. Poruke razine prioriteta 7 smatraju se porukama za "ispravljanje pogrešaka" i stoga se neće pojaviti na konzoli kako ne bi zatrpale ostale događaje jezgre informacijama.

Klogd ima značajku koja se naziva Kernel Address Resolution, pri čemu se, ako kernel otkrije unutarnje stanje pogreške, automatski aktivira opći protokol pogreške zaštite. Ovo je dio postupka rukovanja GPF -om, u kojem jezgra ispisuje izvješće o statusu koje označava status procesora kada je greška generirana, unutar ovog rezultata vidjet ćemo pojedinosti kao što su sadržaj registra mikroprocesora, sadržaj hrpu jezgre i praćenje funkcija koje su se izvodile prije pogreške.

Postupak rješavanja numeričkih adresa iz rezultata greške zaštite može se obaviti ručno ili putem programa ksymoops koji je uključen u izvore jezgre. Naredba Klogd podržava problem dijagnosticiranja grešaka zaštite u trenutnim modulima za učitavanje jezgre.

Korak 1
Kao i Syslogd, Klog je u trenutnim distribucijama zamijenjen dinamičnijim naredbama, pa ćemo za njegovu instalaciju izvršiti sljedeće. Tamo unosimo slovo S za potvrdu preuzimanja i instalacije.

 apt instalirati busybox-syslogd 

POVEĆAJTE

Korak 2
Klogd sintaksa je sljedeća:

 klogd [-cn] [-d] [-f ime] [-iI] [-n] [-o] [-p] [-s] [-k ime] [-v] [-x] [-2 ] 
Korak 3
Ove opcije su:

Odredite razinu dnevnikaOvaj parametar definira zadanu razinu bilježenja za poruke konzole na n.

 -c n 

Način otklanjanja pogrešakaova opcija omogućuje način ispravljanja pogrešaka.

 -d 

Dnevnici porukafile zapisuje poruke na navedeno ime datoteke umjesto instalacije sysloga.

 -F 

Prepoznajte pokrenute demoneidentificira trenutno pokrenutog klogd demona. Oba prekidača kontroliraju učitavanje / ponovno učitavanje informacija o simbolima.

 -i -Ja 

Zaustavite klogd u pozadiniSpriječite pokretanje Klogda u pozadini.

 -n 

Potpuno čitanje u međuspremnicima za porukeOva opcija omogućuje Klogdu čitanje i snimanje svih poruka pronađenih u međuspremnicima poruka kernela.

 -ili 

Prisiliti sistemski pozivPrisiljava naredbu Klogd da koristi sučelje sistemskog poziva za spremište poruka jezgre.

 -s 

Pogledajte verziju KlogdIspišite verziju Klogd.

 -v 

POVEĆAJTE

Korak 4
Ako želimo pročitati sve događaje nakon prijave, izvršit ćemo sljedeće:

 klogd -o -f ./krnl.msg 
Korak 5
Nakon toga bit će moguće pristupiti sadržaju navedene datoteke:

POVEĆAJTE

5. Klogd signali na Linuxu


Naredba Klogd može odgovoriti na osam (8) signala koji su: SIGHUP, SIGINT, SIGKILL, SIGTERM, SIGTSTP, SIGUSR1, SIGUSR2 i SIGCONT. Signali SIGINT, SIGKILL, SIGTERM i SIGHUP dopuštaju daemonu da zatvori izvore dnevnika jezgre i pravilno prekine proces, dok se signali SIGTSTP i SIGCONT koriste za pokretanje i zaustavljanje dnevnika jezgre.

Korak 1
Na primjer, ako želimo demontirati datotečni sustav / proc, moramo izvršiti sljedeće naredbe:

 # kill -TSTP pid # umount / proc # kill -CONT pid
Korak 2
Neke datoteke za korištenje s Klogdom su:

  • / proc / kmsg: izvorna je datoteka poruka klogd jezgre
  • /var/run/klogd.pid: je datoteka koja sadrži ID procesa klogd
  • /boot/System.map, /System.map, /usr/src/linux/System.map - Ovo su zadane lokacije za karte sustava jezgre.

Kao što vidimo, imamo ove dvije korisne i bitne naredbe za ispravno i potpuno upravljanje događajima jezgre u Linuxu.

wave wave wave wave wave