Lè w rankontre nenpòt pwoblèm ak pèfòmans sèvè w la, premye bagay ou dwe fè se tcheke jounal Linux ou yo . Nan jounal sistèm lan, ou ka jwenn kèk mesaj dyagnostik itil ki soti nan diferan konpozan sistèm operasyon an tankou nwayo a oswa divès sèvis, kidonk ou pral gen plis chans jwenn kòz echèk la la.
Chak mesaj nan boutèy demi lit la pwodwi nan rezilta sèten evènman nan sistèm opere a: soti nan itilizatè a, otorizasyon nan sèvis fèmen oswa echèk aplikasyon an. Evènman sa yo gen priyorite diferan selon ki jan kritik yo ye. Gen kalite evènman sa yo nan Linux:
emerg- echèk, pi gwo priyorite;alert- avètisman ijan;crit- evènman kritik;err- erè òdinè;warn- avètisman òdinè;notice- notifikasyon;info- mesaj enfòmasyon;debug- enfòmasyon debogaj;
Kounye a, prensipal sèvis rekòlte jounal (logs) nan Linux yo se rsyslog ak systemd-journald . Yo ale ak pifò pakè distribisyon modèn yo epi yo travay poukont yo.
rsyslog
Yo mete jounal sèvis sa a nan dosye " /var/log/ " la sou fòm fichye tèks òdinè. Mesaj jounal yo mete nan diferan fichye selon kalite evènman an. Pa egzanp, " /var/log/auth.log " gen enfòmasyon sou otorizasyon itilizatè yo nan sistèm nan, epi " /var/log/kern.log " gen mesaj nwayo a. Non fichye yo ka diferan selon pakè distribisyon yo, kidonk an nou gade fichye konfigirasyon an pou nou ka gen yon lide sou kote " /etc/rsyslog.d/50-default.conf " ye.
Règ sa yo montre ki fichye ki genyen chak kalite mesaj jounal. Pati gòch la montre kalite mesaj la sou fòm sa a " [Sous].[Priyorite] " epi pati dwat la montre non fichye jounal la. Pandan w ap ekri kalite mesaj la, ou ka ajoute karaktè " * ". Sa vle di valè vid oswa " okenn " ki retire li nan lis la. Ann gade de premye règ yo pi byen.
“auth,authpriv.* /var/log/auth.log”
“*.*;auth,authpriv.none -/var/log/syslog”
Premye règ la vle di tout mesaj yo resevwa nan men mekanis otorizasyon an ap anrejistre nan fichye " /var/log/auth.log ". Tout tantativ otorizasyon (ki reyisi ak ki pa reyisi) ap anrejistre nan fichye sa a. Dezyèm règ la endike tout mesaj eksepte sa ki gen rapò ak otorizasyon yo ap anrejistre nan fichye " /var/log/syslog ". De fichye sa yo anjeneral pi popilè yo. Règ sa yo defini chemen pou estoke jounal kernel " kern.* " ak jounal sèvis lapòs " mail.* ".
Ou ka louvri fichye jounal yo avèk èd nenpòt editè tèks, tankou less , cat , tail . Ann louvri fichye " /var/log/auth.log " la.
less /var/log/auth.log
Chak liy nan dosye a se yon mesaj separe ou resevwa nan men aplikasyon an oswa sèvis la. Tout mesaj kèlkeswa sous yo gen yon fòma epi yo gen 5 pati. Ann pran mesaj ki make nan ekran an kòm yon egzanp.
- Tanp mesaj - "12 fevriye 06:18:33"
- Non òdinatè ki voye mesaj la - "vds"
- Non aplikasyon an oswa sèvis ki voye mesaj la - "sshd"
- ID pwosesis - [653]
- Tèks mesaj - "Aksepte modpas pou mihail soti nan 188.19.42.165 pò 2849 ssh2"
Sa a se te yon egzanp yon koneksyon siksè nan SSH.
Ak men ki jan yon tantativ konekte san siksè sanble:
Fichye sa a tou anrejistre kòmandman ak otorizasyon avanse
Ann ouvri fichye /var/log/syslog la
Yon mesaj make sou ekran an se mesaj sou fèmen koòdone rezo a.
Pou chèche enfòmasyon nan fichye tèks long, sèvi ak zouti grep la . Ou ka jwenn tout mesaj ou resevwa nan sèvis pptpd la nan fichye " /var/log/syslog " la.
grep 'pptpd' /var/log/syslog
Pandan dyagnostik la, ou ka itilize zouti "tail" ki ka montre plizyè dènye liy fichye yo. Kòmand " tail -f /var/log/syslog " la ap pèmèt ou gade anrejistreman jounal yo an tan reyèl.
Sèvis rsyslog la trè fleksib e pwisan. Li ka itilize pou rekòlte jounal nan sistèm lokal yo osi byen ke nan nivo antrepriz la. Ou ka jwenn tout dokimantasyon an sou sit entènèt ofisyèl la https://www.rsyslog.com/
Wotasyon mòso bwa nan Linux
Anrejistreman jounal yo ap fèt kontinyèlman, kidonk gwosè fichye yo ap grandi toujou. Mekanis wotasyon an asire achivman otomatik ansyen jounal yo ak kreyasyon nouvo fichye. Selon règ yo, li ka fèt chak jou, chak semèn, chak mwa oswa selon limit gwosè a. Lè nouvo jounal yo kreye, ansyen yo ka tou senpleman efase oswa voye pa imèl. Wotasyon jounal yo fèt pa zouti logrotate la . Ou ka jwenn konfigirasyon prensipal la nan fichye " /etc/logrotate.conf ". Kontni fichye yo trete tou nan dosye " /etc/logrotate.d/ ".
Ou ka anrejistre nouvo règ yo nan fichye konfigirasyon prensipal la. Sepandan, li pi bon pou kreye yon fichye apa nan " /etc/logrotate.d/ ". Pa default, gen kèk fichye nan anyè sa a.
Ann pran yon gade sou fichye " /etc/logrotate.d/rsyslog " ki gen règ wotasyon pou jounal sèvis rsyslog la.
Premyèman, règ la ta dwe genyen chemen an nan dosye a boutèy demi lit ak Lè sa a, ale tout direktiv nan parantèz koube.
- Thorne 7 - kantite fichye pou kenbe - 7
- chak jou - kreye yon nouvo dosye chak jou
- konpresyon - konprese ak achiv ansyen fichye yo
Ou ka wè sou kopi ekran an ke nan dosye " /var/log/ " la genyen jounal prensipal " syslog " la ak 7 achiv, ki koresponn ak règ ki nan fichye konfigirasyon an.
Ou ka jwenn yon deskripsyon pi detaye sou logrotate nan manyèl la, lè w ap egzekite kòmand " man logrotate " la.
Kolekte mòso bwa Linux - journald
Sèvis rekòlte jounal systemd-journald la se yon pati nan sistèm inisyalizasyon systemd la . Fichye jounal Linux yo estoke nan " /var/log/journal/ " nan yon fòma espesyal epi yo ka louvri avèk èd zouti journalctl la . Fòma anrejistreman yo egzakteman menm jan ak nan rsyslog.
Kòmand journalctl san atribi montre tout anrejistreman yo men li pa apwopriye pou gwo jounal. Ann gade kèk opsyon nan zouti sa a.
journalctl -b- montre tout dosye depi dènye kòmansman anjournalctl -S "2020-02-17 12:00" -U "2020-02-17 12:10"- montre dosye nan yon sèten peryòd tanjournalctl -u pptpd- montre dosye yon sèten sèvisjournalctl -k- montre mesaj nwayo yojournalctl -p err- montre mesaj ki gen yon sèten priyorite, mesaj ki gen plis priyorite nan ka sa a (kritik, alèt, emerg)journalctl -f- montre mesaj yo an tan reyèl
Pou pi bon fleksibilite, ou ka konbine opsyon sa yo. Ann montre tout erè sèvis pptpd la.
journalctl -u pptpd -p err
Si ou presize chemen ki mennen nan fichye ekzekisyon an kòm yon atribi, zouti a ap montre tout mesaj fichye sa a voye. Ann montre tout mesaj fichye " /usr/bin/sudo " a voye depi 04:15 nan dat 18 fevriye 2020. Anfèt, li pral montre tout kòmand ki te egzekite ak pi gwo pèmisyon.
journalctl -S "2020-02-18 04:15" /usr/bin/sudo
Pou chèche konnen konbyen espas disk dosye yo pran pou egzekite lòd sa a
journalctl --disk-usage
Yo nan lòd yo limite dosye a boutèy demi lit nan 1Gb egzekite lòd sa a
journalctl --vacuum-size=1G
Louvri dosye binè
Kounye a, ann gade kèk fichye espesyal nan dosye " /var/log/ " kote tout tantativ koneksyon yo estoke. Fichye sa yo se binè epi ou ka sèlman louvri yo ak pwogram espesyal.
/var/log/wtmp gen enfòmasyon sou tantativ koneksyon ki reyisi yo. Sèvi ak dènye zouti a pou ouvri li.
/var/log/btmp - genyen tout tantativ koneksyon ki echwe yo. Ou ka louvri l avèk lastb avèk pèmisyon avanse. Atribi -n defini kantite liy ki ap parèt apati fen fichye a.
/var/log/lastlog - gen ladan l lè dènye aksyon koneksyon an pou chak anrejistreman kont. Ou ka louvri l avèk lastlog