Údržba logov – rotácia

linux_server.jpg V pre­doš­lej čas­ti sme sa za­obe­ra­li spô­so­bom lo­go­va­nia in­for­má­cií na iný ale­bo vzdia­le­ný po­čí­tač a uká­za­li sme, ako rie­šiť prob­lém s lo­go­va­ním uzav­re­tých pro­ce­sov po­mo­cou chroot. A ve­no­va­li sme sa aj ana­lý­ze lo­gov. Ten­to­raz sa po­zrie­me na to, ako už zís­ka­né lo­gy udr­žia­vať.

Uk­la­da­nie lo­go­va­cích sú­bo­rov
Mys­lím, že sa k té­me o dô­le­ži­tos­ti lo­gov net­re­ba vra­cať. Kaž­dé­mu dob­ré­mu správ­co­vi na lo­go­va­ní je­ho sys­té­mu zá­le­ží (a tí, kto­rí k to­mu­to roz­hod­nu­tiu eš­te ne­dos­pe­li, tak uro­bia po pr­vom úto­ku či pá­de sys­té­mu ). Len­že správ­ca ne­mu­sí byť ani úpl­ne pa­ra­noid­ný, aby za ce­lý „ži­vot“ svoj­ho server­a naz­bie­ral ta­ké množ­stvo lo­gov, že ni­mi za­pl­ní ce­lý disk po­čí­ta­ča. Tak ako sa z to­ho dos­tať?

Vie­me, že ka­pa­ci­ta dis­ku nie je ne­ko­neč­ná, do­kon­ca ani to­ho dis­ku, kto­rý slú­ži iba na lo­go­va­nie vo vy­hra­de­nom po­čí­ta­či. Pre­to je dob­ré lo­gy, o kto­rých sa dom­nie­va­me, že už sú sta­ré a ne­pot­reb­né (nap­rík­lad spred ro­ka), vy­ma­zá­vať. Len­že – ru­ku na sr­dce – kto by stá­le mys­lel na pra­vi­del­né vy­ma­zá­va­nie lo­go­va­cích sú­bo­rov? Pre­to to nec­haj­me na tec­hni­ku.

Ro­tá­cia lo­go­va­cích sú­bo­rov
Už zo skú­se­nos­tí vie­me, že nie je úpl­ne dob­ré za­pi­so­vať ľu­bo­voľ­né in­for­má­cie do jed­né­ho ne­ko­neč­né­ho sú­bo­ru. Ta­ký sú­bor sa veľ­mi dl­ho ot­vá­ra, zle sa v ňom lis­tu­je a vy­hľa­dá­va a na­ko­niec pri nes­práv­nom uzav­re­tí sa mô­že po­ško­diť tak, že už ho viac neot­vo­rí­me. Pre­to má údr­žba lo­go­va­cích sú­bo­rov v Li­nuxe tú­to fi­lo­zo­fiu – kaž­dý lo­go­va­cí sú­bor sa po sta­no­ve­nej do­be (ale­bo veľ­kos­ti) ar­chi­vu­je. Ar­chí­vu sa pri­de­lí čís­lo 1 a pô­vod­ný lo­go­va­cí sú­bor sa vy­práz­dni. Zno­vu po sta­no­ve­nej do­be sa vy­tvo­rí no­vý ar­chív, kto­ré­mu sa pri­de­lí č. 1, sta­ré­mu ar­chí­vu sa pri­de­lí čís­lo 2 a pô­vod­ný lo­go­va­cí sú­bor sa vy­práz­dni. Tak­to to po­stu­pu­je až po štvr­tý ar­chív (po­čet ar­chí­vov mož­no zme­niť, štan­dar­dne sú nas­ta­ve­né šty­ri). Mož­no po­ve­dať, že naj­star­ší ar­chív má naj­vyš­šie čís­lo a ak­tuál­ny lo­go­va­cí sú­bor je bez čís­la. Naj­star­ší ar­chív­ny sú­bor sa vy­ma­že. Ta­ké­mu­to po­su­nu lo­go­va­cích sú­bo­rov ho­vo­rí­me ro­tá­cia. Ro­tá­cia lo­gov te­da zna­me­ná, že ok­rem ak­tuál­ne­ho lo­go­va­cie­ho sa sú­bo­ru uc­ho­vá­va­jú aj je­ho (šty­ri) „star­šie ver­zie“ so star­ší­mi údaj­mi. Po ur­či­tom ča­se sa vy­tvo­rí no­vý, od­de­le­ný lo­go­va­cí sú­bor, aby dĺžka sú­bo­rov ne­bo­la pri­veľ­ká, a star­šie ver­zie sa zá­lo­hu­jú. Naj­star­šia ver­zia sa vy­ma­že.

Ce­lý po­stup ro­tá­cie lo­go­va­cích sú­bo­rov je ta­ký­to:
1. Po­sled­ný od­ro­to­va­ný sú­bor je vy­ma­za­ný (napr. maillog.4).
2. Všet­ky ro­to­va­né sú­bo­ry sa pre­me­nu­jú tak, aby sa čís­la v ich prí­po­nách po­su­nu­li o jed­no čís­lo vy­ššie (maillog.2, maillog.3, maillog.4).
3. Pô­vod­ný lo­go­va­cí sú­bor (napr. maillog) sa pre­me­nu­je na maillog.1 a vy­práz­dni sa. 4. Ak tre­ba, mož­no upo­ve­do­miť dé­mo­na, kto­rý lo­gu­je do da­né­ho sú­bo­ru, aby za­tvo­ril a opäť ot­vo­ril po­uží­va­né lo­go­va­cie sú­bo­ry. Väč­ši­nou na to sta­čí sig­nál "SIG­HUP". Ke­by sme neu­ro­bi­li ten­to krok, dé­mon by na­ďa­lej po­kra­čo­val v lo­go­va­ní do už pre­me­no­va­né­ho lo­gu, le­bo sme sí­ce zme­ni­li je­ho me­no, ale i-uzol (i-nod = iden­ti­fi­ká­tor sú­bo­ru) je stá­le ten is­tý.

Po­znám­ka:
V niek­to­rých dis­tri­bú­ciách Li­nuxu sa na­mies­to čís­la v prí­po­ne pri­dá­va dá­tum ro­tá­cie. Tak­že v no­vých dis­tri­bú­ciách Fe­do­ry sú tie­to lo­gy: maillog, maillog-20100905, maillog-20100912, maillog-20100919 a maillog-20100926.

O ro­tá­ciu a vy­ma­zá­va­nie lo­gov sa oby­čaj­ne sta­rá prog­ram log­ro­ta­te. Ten sa pra­vi­del­ne spúš­ťa z dé­mo­na crond (spra­vid­la v no­ci) a je­ho úlo­hou je v prí­pa­de po­tre­by vy­ko­nať ro­tá­ciu lo­gov.

Ak sme po­vo­li­li kom­pre­siu lo­go­va­cích sú­bo­rov, je lo­go­va­cí sú­bor pred pre­me­no­va­ním (a od­ro­to­va­ním) skom­pri­mo­va­ný prog­ra­mom gzip. Po­čet ucho­vá­va­ných od­ro­to­va­ných lo­gov sa nas­ta­vu­je pre jed­not­li­vé lo­gy.

My sme sa služ­bou cron už za­obe­ra­li dáv­nej­šie. Ale na struč­né zo­pa­ko­va­nie si pri­po­meň­me, že v sú­bo­re /etc/cron­tab (vý­pis č. 1)

# run-parts
01 * * * * root run-parts /etc/cron.hour­ly
02 4 * * * root run-parts /etc/cron.dai­ly
22 4 * * 0 root run-parts /etc/cron.week­ly
42 4 1 * * root run-parts /etc/cron.month­ly

je na tre­ťom riad­ku zá­pis, aby sa den­ne o 4. ho­di­ne a dvoch mi­nú­tach rá­no spúš­ťa­li skrip­ty, kto­ré sú ulo­že­né v ad­re­sá­ri /etc/cron.dai­ly/. Ten­to čas bol vy­bra­ný zá­mer­ne, vte­dy je na sie­ti a server­i naj­men­šia pre­vád­zka. V uve­de­nom ad­re­sá­ri sa ok­rem iné­ho nac­hád­za aj skript log­ro­ta­te s tým­to jed­no­duc­hým ob­sa­hom:

 #!/bin/sh

/usr/sbin/log­ro­ta­te /etc/log­ro­ta­te.conf
EXIT­VA­LUE=$?
if [ $EXIT­VA­LUE != 0 ]; then
    /usr/bin/log­ger -t log­ro­ta­te "ALERT exited ab­nor­mal­ly with [$EXIT­VA­LUE]"
fi
exit 0

Ako vid­no z vý­pi­su č. 2, ten­to skript spúš­ťa prog­ram log­ro­ta­te (z ad­re­sá­ra /usr/sbin/) a je­ho pa­ra­me­ter je kon­fi­gu­rač­ný sú­bor /etc/log­ro­ta­te.conf.

Ne­daj­me sa vy­viesť z mie­ry, že ten­to skript bu­de spúš­ťa­ný den­ne. Sku­toč­né lo­go­va­nie sa vy­ko­ná po­dľa na­kon­fi­gu­ro­va­ných inter­va­lov.

Na ná­zor­nej­šiu ukáž­ku je na vý­pi­se č. 3 časť ob­sa­hu ad­re­sá­ra /var/log (prí­ka­zom ls –la):

-rw-------  1 root  root  160096 sep 29 06:45 cron
-rw-------  1 root  root  360114 sep 26 04:02 cron.1
-rw-------  1 root  root  360123 sep 19 04:02 cron.2
-rw-------  1 root  root  355862 sep 12 04:02 cron.3
-rw-------  1 root  root  360531 sep  5 04:02 cron.4
-rw-------  1 root  root  380553 sep 29 06:48 maillog
-rw-------  1 root  root  895504 sep 26 04:02 maillog.1
-rw-------  1 root  root  761859 sep 19 04:02 maillog.2
-rw-------  1 root  root  684263 sep 12 04:02 maillog.3
-rw-------  1 root  root  852542 sep  5 04:02 maillog.4
-rw-------  1 root  root      47 sep 26 04:02 mes­sa­ges
-rw-------  1 root  root      47 sep 19 04:02 mes­sa­ges.1
-rw-------  1 root  root      47 sep 12 04:02 mes­sa­ges.2
-rw-------  1 root  root   25173 sep 10 08:50 mes­sa­ges.3
-rw-------  1 root  root      47 aug 29 04:02 mes­sa­ges.4

Ak sa dob­re po­zrie­me na dá­tu­my jed­not­li­vých sú­bo­rov, všim­ne­me si, že je med­zi jed­not­li­vý­mi ro­to­va­ný­mi sú­bor­mi roz­diel rov­ných 7 dní.

S od­ro­to­va­ný­mi lo­go­va­cí­mi sú­bor­mi mô­že­me na­rá­bať rov­na­ko ako s bež­ným lo­go­va­cím sú­bo­rom, te­da ho mô­že­me čí­tať, preh­lia­dať po­mo­cou prí­ka­zov mo­re a less, vy­hľa­dá­vať v nich po­mo­cou prí­ka­zu grep a po­dob­ne. Ak sme po­uži­li kom­pri­má­ciu od­ro­to­va­ných sú­bo­rov – lo­gov, mô­že­me po­užiť bež­né kom­pri­mač­né uti­li­ty ba­lí­ka gzip, ako je prí­kaz zmo­re, zless a zgrep. Ta­kis­to mô­že­me od­ro­to­va­né lo­gy preh­lia­dať a ana­ly­zo­vať po­mo­cou ana­ly­tic­kých nás­tro­jov spo­me­nu­tých v pred­chád­za­jú­cej čas­ti se­riá­lu.

Na­bu­dú­ce si uká­že­me, ako kon­fi­gu­ro­vať prog­ram log­ro­ta­te.

Ďal­šie čas­ti >>

Zdroj: Infoware 11/2010



Ohodnoťte článok:
   
 

24 hodín

týždeň

mesiac

Najnovšie články

Li­nux prak­tic­ky ako server úvod
Linux ako server je pomerne zložitá technológia. Jej výhodou je určitá modularita, keď sa nemusí nastaviť celý server naraz, ale postupne. čítať »
 
Syn­chro­ni­zá­cia ča­su v Li­nuxe
V predchádzajúcich dvoch častiach sme si ukázali, že Linux a všeobecne open source softvér sa nenachádza iba v serveroch a počítačových sieťach, ale aj v iných zariadeniach bežnej domácej potreby a v oblasti hobby. čítať »
 
Za­ria­de­nia za­lo­že­né na Li­nuxe
V predchádzajúcej časti sme si spomenuli definície nie - ktorých pojmov z oblasti nášho záujmu, teda Linuxu. Vysvetlili sme si, čo je to Open Source, Public Domain, proprietárny softvér a GNU GPL. Tentoraz ukážeme, ako sa tieto pojmy využívajú v praxi. čítať »
 
Po­jmy z ob­las­ti
Tentoraz na chvíľu trochu odbočíme od bezpečnosti Linuxu a jeho siete. V tejto neštandardnej časti seriálu sa mu budeme venovať len okrajovo. čítať »
 
Bez­peč­nosť bez­drô­to­vých sie­tí II.
V predchádzajúcej časti sme sa začali zaoberať bezpečnosťou bezdrôtových sietí. Poukázali sme na rôzne faktory zneužitia siete, podstatu rizika a vysvetlili sme základné prvky bezpečnosti. čítať »
 
Bez­peč­nosť bez­drô­to­vých sie­tí I.
V predchádzajúcich častiach sme sa venovali bezpečnosti linuxového servera. Riešili sme firewall, bezpečnosť prístupu na internet, zaoberali sme sa demilitarizovanou zónou a podobne. čítať »
 
Údr­žba lo­gov – kon­fi­gu­rá­cia log­ro­ta­te
V predchádzajúcej časti sme sa venovali rotácii logov. Vysvetlili sme princíp ukladania logov, spôsob, ako sa rotujú, a uviedli sme niečo o tom, čo a ako treba nastaviť čítať »
 
Údr­žba lo­gov – ro­tá­cia
V predošlej časti sme sa zaoberali spôsobom logovania informácií na iný alebo vzdialený počítač a ukázali sme, ako riešiť problém s logovaním uzavretých procesov pomocou chroot. čítať »
 
 
 
  Zdieľaj cez Facebook Zdieľaj cez Google+ Zdieľaj cez Twitter Zdieľaj cez LinkedIn Správy z RSS Správy na smartfóne Správy cez newsletter