napló yuniksoida
Xakep, szoba # 063, p. 063-108-1
naplózó rendszer eseményeket részletesen
Jelentkezzen be a Unix-alapú rendszerek, telefonos ps waux, ha ez a Linux vagy BSD, vagy ps -ef, ha bármilyen más Solaris végrehajtása System V Látni fogja számos eljárást, amelyek mindegyike csinál valamit. Például, lehet, hogy crond, inetd, ntpd, sendmail, sshd és számos más démon és feldolgozza a kernel. És ami érdekes - mind hozza a szokásos patakok adatgyűjtő rögzített rendszer. Mit csinál?
Ezt annak érdekében, hogy a fogadó a tulajdonos bármikor megtudhatja, pontosan mi teszi mindegyik, és ha valami nem működik - megtudja, mi az oka. Naplók - a történelem, a rendszer az élet, és néha csak hosszabb szedés / var / log segít kideríteni, hogy miért hirtelen fel a szolgáltatót váltók forgalmat, és hogy egy bohóc egész éjjel vájt minden 65535 porttámogatás.
Hagyományosan a magatartása eseménynaplókban felelős démon syslog. melynek története nyúlik vissza az egyetemre, és ott a Berkeley BSD. Syslogd - valami több, mint egy démon. Meg kell lépni minden démonok futnak a rendszerben, hogy minden tudtak rögzíti az eseményeket. Ez a kölcsönhatás révén történik egy speciális csatlakozó / dev / log. Ezért minden démon, aki el akarja hagyni a memória magát az eseménynaplóban, egyszerűen írni a fájlt bizonyos érveket. A rendszer syslog démon indításakor a inicializáló szkript elején.
Mint minden magára valamit is adó démon syslog saját konfigurációs fájl. Az alapértelmezés az /etc/syslog.conf. Azonban semmi sem akadályozza meg, hogy hívják, amit akar, és futtassa a syslogd a -f /path/to/config.file gombot. Ez a konfigurációs fájl, viszont a figyelmet, de a legfontosabb, amivel meg lehet kezdeni a syslog, tanulhat az ember syslogd. javára a kicsit.
Minden sor syslog.conf két bejegyzés - a szabályok és intézkedések. A szabályozás szerint melyik alrendszer generál egy eseményt, valamint a részletesség szintjét, az intézkedések - mit kell tenni ezeket az eseményeket. Tény, hogy minden egyszerű. Major alrendszerek tizenkét - auth, authPriv, cron, démon, Kern, lpr, e-mail, mark, hírek, syslog, felhasználó, uucp, de a gyakorlatban ez főleg a következők: auth - információk a felhasználó bejelentkezik ( „user Bob ment a második konzol „), authPriv - tájékoztatás emelt szintű jogosultsággal a rendszerben (” user Vasya nem su root a második konzol „), akkor a cron - információk futó ütemezett feladatok (” reggel kilenc, a szokásos módon, a szkript le tűzfal és Inet felhasználók vége „), kern - kernel üzenetek (” a hálózati interfész telt promiscious üzemmódban „), lpr - nyomtatási rendszer üzenetek, m ail - mail rendszer üzenetek stb
A találkozó az alrendszer mondja a nevét. Míg az összes ez a besorolás a nagy egyezmény. Nincs ftpd httpd stb - és ez nem szükséges, mivel ezek a démonok nem érdekel, hogyan és hol kell írni információt. Az általános esetben ez a programozó ajánlat - melyik osztályba tartoznak a démon, és használja a megfelelő érv openlog (3) függvény írásakor.
A részletesség szintje - az információ mennyiségét kell feldolgozni. Nyolc prioritási osztály: debug, info, értesítés, figyelmeztetés, err, crit, jelzés, emerg, minden következő - kevésbé informatív, mint az előző. Azaz szintjén hibakereső démon egy hatalmas üzenetek száma, amely vissza tudja állítani, hogy a munka minden részletében (úgynevezett - debug), észre a szint - a legjobb (démon ugyanis csak releváns üzenetek), emerg - csak a kritikus, hogy a rendszer szintjén.
Végül az akció - ez az, amit meg kell tenni a syslog, üzenetek kezelésére. A tevékenységek magukban foglalhatják: írásban egy fájlba (/var/log/file.log) - a legnépszerűbb, és amelyre naplók tartani, de emellett naplók lehet küldeni a távoli gépen (@loghost felvétel típusát), irányítva más programok szállítószalag küldött, hogy bizonyos felhasználók és / vagy megjelenik a konzolon (/ dev / console). Az átviteli naplók egy távoli gépre utal nem más, mint a küldő őket egy másik gép, amely szintén fut a syslogd, hallgat a 514 / udp port.
Ugyancsak célszerű kombinálni az alrendszerek és a részletesség szintjét, összehasonlítva egy olyan minta fent leírt intézkedések. Rögzíti az egyes vonal config általában így néz ki:
Van osztott megfelelő naplózás szintjét alrendszer, és néhány ilyen kombinációk köthető egyetlen akció, pontosvesszővel elválasztva. Megjegyezzük, hogy podsistema1.uroven1 meghatározni a következő bejegyzéseket: „alrendszer 1 log összes esemény 1. szint felett.” Ez logikus, ha figyelembe vesszük, hogy a szintek a nő (itt a „fent” - azt jelenti, kevesebb információ). Például daemon.notice rekord; kern.emerg / var / log / messages határozza meg a bejegyzést a / var / log / messages az összes üzenet szintű értesítést, és mindenek felett a démonok, valamint a kritikus kernel üzenetek (és felette - de semmi felett) . Ha valamilyen démon rögzíteni kell csak az események egy bizonyos szint put „=” :. Mail = debug. Ezen kívül több alrendszerek is szerepel, vesszővel elválasztva, összehasonlítva azokat ugyanazon a szinten: mail, news.crit. Szintén a sablonokat, akkor az ikon „*”, majd miután szokásos jelentése a reguláris kifejezések - „mindent”. * * /var/log/all.log -. Jelzi írni mindent, ami történik a rendszer /var/log/all.log. Speciális karakter, amelynek célja, hogy fordítsa meg a "!":.! Mail = hibakereső azt jelenti, mindent, kivéve debug.
És az utolsó. Ha a vonal „szabály - akció” előzi meg a program nevét, ez a vonal kifejezés csak a fenti program. Ez nagyon hasznos, ha kell „vytsepit” naplókat egy adott program (nem feltétlenül egy démon) egy külön téma feldolgozására (írás egy külön fájlban). Ebben az esetben a program nevét kell kezdődnie, például többek között dialapschikov népszerű következő konfiguráció (összes üzenete ppp írási külön log file) „!”
Bejelentkezés a példákban
Íme néhány példa annak bizonyítására, hogy valójában nagyon egyszerű:
# Minden kritikus rendszer üzeneteket kernel üzenetek megjelenítésére a / dev / console. Ez általában az első fizikai konzol (/ dev / ttyv0 én FreeBSD)
# Továbbá, az összes dolog, hogy a magasabb prioritású, mint írva az üzeneteket
# Minden a biztonsági alrendszer írni üzeneteket külön fájlba
# Minden tekintetében hitelesítés - írja a auth.log
# Minden mailek releváns szinten - a maillog
# Azt akarom, hogy kövesse a munkáját cron - így minden üzenetét külön kell írni
# Minden kritikus üzeneteket írni, mindenütt, ahol lehetséges :), így nem marad észrevétlen
# Minden hozzászólás központilag kialakítva a naplózó szerver
# Minden hozzászólás kedvenc programot szeretnék látni az egyes fájlokat.
Annak érdekében, hogy a syslog démon újraolvassa a konfigurációs, újraindítás nem feltétlenül elég ahhoz, hogy küldjön neki egy jelet bontja:
Linux és FreeBSD:
# Killall -HUP syslogd
NetBSD, OpenBSD és Solaris:
# Pkill -HUP syslogd
# Kill -HUP `sed q / var / run / syslogd.pid`
Küzdő evők disk
Konfigurálják helyesen syslogd - ez fél siker. A fájlok, melyek folyamatosan csatolt információkat, inkább nőni obszcén arányok, és ha nem fordítanak kellő figyelmet erre, egy nap, a / var leesik, visítozó, hogy elfoglalta a 120% -a mennyiség :). Linuxon is, ahol a felosztás partíciókat nem olyan népszerű, és akkor gyakran egy nagy gyökér partíció az egész fs (mauvais ton, nem így soha), ezúttal késleltethető (sokáig), de amikor - jön és a végén a teljes fájl rendszer. Sajnos, a syslog nem kezelték fájl nem termel, ezért elmondom a két legnépszerűbb megközelítés ellenőrzés naplófájlokat: BSD-shny és a Linux.
Minket a forgatás
A legkényelmesebb módja a rotáció - segítségével newsyslog. Fuss a korona óránként egyszer / nap / hó, úgy néz ki, a naplók, keresi az is, hogy jöjjön az ő uralkodása alatt, és létrehoz egy új, üres naplófájlokat fokozatosan archiválás régi neve a naplófájl. hol. - alak, és adott esetben a tömörítés, hogy helyet takaríthat meg. Az alapértelmezett konfigurációs fájl - /etc/newsyslog.conf, az alábbi területeken:
1) a neve a napló - a teljes elérési utat a log fájlt, ami után el kell követni;
2) vladedets: csoport és a hozzáférési jogok - az attribútumok a mentés;
3) Count - mélység inkrementális mentés;
4) az összeg - a maximális fájlméretet;
5) kifejezés - válaszidő szabályokat.
Akkora, mint egy kifejezés lehet egy értéket a „*” - ez azt jelenti, hogy a döntés archiválás alapján készült az a két érv. Tekintsük a következő példát:
/var/log/ppp.log root: hálózat 640 3 100 * Z
Ez a sor azt mondja, hogy meg kell nyomon követni a szakadék ppp.log, az archívumban rendelni a jogot, hogy 640, és a gyökér tulajdonosa, és a csoport - network Egy, a művelet elvégzéséhez legfeljebb három alkalommal, a döntést, hogy végezzen archiválás alapján a fájl mérete - nem kellene haladhatja meg a 100 KB, soha, plusz a teljes borogatás archív (Z billentyű) segédprogram bzip2 (compess / gzip a rendszertől függően).
Newsyslog. kiindulási rendszeresen ütemezett, majd keres nem léphető át, ha ppp.log mérete 100 KB, és ha túllépjük - átnevezni a régi napló ppp.log.0, létrehozva egy új, üres ppp.log; tömöríteni ppp.log.0 a ppp.log.0.bz2 és rendeljen fájl jogok 640, a tulajdonos - gyökér, csoport - hálózat. Ha a méret már új ppp.log ismét meghaladja a 100 KB, a program átnevezi a létező ppp.log.0.bz2 a ppp.log.1.bz2 és hozzon létre egy új ppp.log.0.bz2 ugyanazon algoritmus. És így tovább, amíg a legidősebb naplófájlok nem nevezhető ppp.log.3.bz2 (mi is rámutatott a számláló - 3). Akkor ez eltávolítjuk, és a harmadik lesz a második, stb Ésszerű kérdés: milyen gyakran kell futtatni newsyslog cron? A terheletlen gép, ez lehet tenni minden két vagy három napig, átlagosan szerver - minden nap, egy forgalmas állomás - menj, és óránként egyszer. Newsyslog - nagyon kényelmes és rugalmas eszköz, és az ember newsyslog mondani egy csomó érdekes.
határozat tuksodrayverov
Newsyslog névlegesen jön csomagban Free / OpenBSD, mivel logrotate jelen van a legtöbb Linux disztribúció. Ő is részt vesz az azonos, és hasonló gyakorisággal kezdődik a koronát. A különbség, a szokásos módon, a konfigurációban. Itt a fő konfigurációs /etc/logrotate.conf így néz ki:
napi
forgatni 1
teremt
borogatás
tartalmaznia /etc/logrotate.d
Ez azt jelenti, - hogy vegyenek részt a feldolgozási naplók minden nap, hogy lapátot új naplók egyszer, mielőtt eltávolítaná a régi (inkrementális mentés mélység), hozzon létre egy új, üres log fájlt ugyanazzal a névvel indult tömöríteni a fájlokat. Tömören, igaz? Utolsó alapvető irányelvet - pont nézni az összes extra config található /etc/logrotate.d könyvtárban. Ők valami, amit adott konkrét paramétereket minden démon. Például hozzon létre egy fájlt /etc/logrotate.d/httpd:
Itt már megadott paraméterek forgási apache naplók. Syntax szakasz: az utat, hogy a log fájlt, és merevítők - a paraméterek feldolgozása. Az egyik konfigurációban (mi - httpd), akkor tetszőleges számú ilyen szakaszok. Célszerű létrehozni több konfigurációs fájlok, amelyek mindegyike a forgatást szabályok naplók egy bizonyos démon (tintahal, samba, apache). A mi esetünkben, a feldolgozási paramétereket minden egyes fájl, a következő: hogy vegyenek részt a kezelés heti rendszerességgel (annak ellenére, hogy A működését naponta egyszer futnak), hogy dobja az új log-ötször, majd törölje a régi, tömöríti a fogadott fájlokat, semmi köze a napló, ha úgy üres, és végül, ne ess kétségbe, ha a log fájl nem található.
Végül - a rönkök a menedzsment tanácsok nagy hálózatok. Mivel az információ a rendezvény nagyon fontos a vizsgálat incidensek és az első dolog, ami haksory egy kompromittált talicska - ez dörzsölni naplókat, akkor azt javasoljuk, hogy egy külön log-szerver, ahol amellett, hogy a syslogd semmi nem fog forogni (a régi számítógép is megteszi), és az összes rönk összes gép centralizált küldjön neki, mert most már tudod, hogyan kell csinálni. Csak így tudni fogja a teljes igazságot az események a hálózaton.
A syslog-ng képes feldolgozni naplók reguláris kifejezések (jó szűrés az egyes üzeneteket, a formázás, a protokoll naplózás, stb), és képes átvinni a naplókat egy távoli gépről TCP.
Socklog működik daemontools és okat. Úgy tervezték, azok számára, akik már le is cserélték a bind és Sendmail és qmail a tinydns, és azt akarja, hogy megtalálják a megfelelő helyettesítő syslogd.
Msyslog kínál moduláris felépítésű, hogy megkönnyítse írásban sislogu összes zsetont, beleértve a megőrzése bejelentkezik egy adatbázis, szűrés alapján reguláris kifejezések, stb
Minirsyslogd - kis és biztonságosan démon csak elfogadására naplók távoli számítógépekről a hálózaton keresztül.
Gyakran egy új konfigurációs fájlt, és felejtsd el, míg létre (érintés /var/log/file.log), vagy elfelejti, hogy indítsa újra a syslog.
Néha készít egy log fájlt, hogy felejtse el regisztrálni newsyslogd / logrotate, azzal az eredménnyel, hogy a kezeletlen marad, és növekszik.