Log Files (Magyar)

Access Log

a szerver access log rögzíti az összes kérést a szerver által feldolgozott. A hozzáférési napló helyét és tartalmát a CustomLog irányelv szabályozza. ALogFormat irányelv a naplók tartalmának kiválasztásának egyszerűsítésére használható. Ez a szakasz leírja, hogyan konfigurálhatja a kiszolgálót az információk rögzítésére a hozzáférési naplóban.

természetesen az információk tárolása a hozzáférési naplóban csak a naplókezelés kezdete., A következő lépés az, hogy elemezzük ezt az információt, hogy hasznos statisztikákat készítsünk. A naplóelemzés általában túlmutat a jelen dokumentumon, és nem igazán része a webszerver feladatainak. A témával kapcsolatos további információkért, valamint a naplóelemzést végző alkalmazásokhoz ellenőrizze a nyitott könyvtárat.

az Apache httpd különböző verziói más modulokat és irányelveket használtak a hozzáférés naplózásának szabályozására, beleértve a mod_log_referer, mod_log_agent és a TransferLog irányelvet., A CustomLog irányelv mostantól az összes régebbi irányelv funkcionalitását tartalmazza.

a hozzáférési napló formátuma nagyon konfigurálható. A formátum egy formátum karakterlánc segítségével van megadva, amely úgy néz ki, mint egy C-style printf (1) formátumú karakterlánc. Néhány példa a következő szakaszokban található. A formátum karakterlánc lehetséges tartalmának teljes listáját lásd a mod_log_config formátum karakterláncok.

közös Naplóformátum

a hozzáférési napló tipikus konfigurációja a következőképpen nézhet ki.,

LogFormat "%h %l %u %t \"%r\" %>s %b" commonCustomLog logs/access_log common

Ez határozza meg a common becenevet, és egy adott log formátumú karakterlánccal társítja. A formátum karakterlánc százalékos irányelvekből áll, amelyek mindegyike azt mondja a kiszolgálónak, hogy naplózzon egy adott információt. Szó karakterek is elhelyezhető a formátum karakterlánc, majd másolja közvetlenül a log kimenet. Az idézőjelet (") úgy kell kikerülni, hogy előtte egy visszacsapást helyez el, hogy megakadályozza annak értelmezését a formátum karakterlánc végeként., A formátum karakterlánc tartalmazhat speciális vezérlő karaktereket is “\n” az új sorhoz és “\t” A laphoz.

aCustomLog irányelv új naplófájlt hoz létre a megadott becenév használatával. A hozzáférési napló fájlneve a ServerRoot fájlhoz viszonyítva van, kivéve, ha perjelrel kezdődik.

a fenti konfiguráció naplóbejegyzéseket ír le a Common Log Format (CLF) néven ismert formátumban. Ezt a szabványos formátumot számos különböző webszerver állíthatja elő, amelyeket számos naplóelemző program olvas., A CLF-ben előállított naplófájl-bejegyzések így néznek ki:

127.0.0.1 - frank "GET /apache_pb.gif HTTP/1.0" 200 2326

a naplóbejegyzés minden részét az alábbiakban ismertetjük.

127.0.0.1(%h) ez a kliens (távoli gazdagép) IP-címe, amely a kiszolgálóhoz intézte a kérést. Ha aHostnameLookupsOnértékre van állítva, akkor a kiszolgáló megpróbálja meghatározni a gazdanevet, majd az IP-cím helyett bejelentkezni. Ez a konfiguráció azonban nem ajánlott, mivel jelentősen lelassíthatja a kiszolgálót., Ehelyett a legjobb, ha egy log post-processzort használ, mint például alogresolvea hostnevek meghatározásához. Az itt bejelentett IP-cím nem feltétlenül annak a gépnek a címe, amelyen a felhasználó ül. Ha a felhasználó és a kiszolgáló között proxykiszolgáló van, akkor ez a cím lesz a proxy címe, nem pedig az eredeti gép.-(%l) a kimeneten található “kötőjel” azt jelzi, hogy a kért információ nem áll rendelkezésre., Ebben az esetben a nem elérhető információ az ügyfél RFC 1413 azonosítója, amelyet aidentdhatároz meg az ügyfelek gépén. Ez az információ rendkívül megbízhatatlan, és szinte soha nem szabad használni, kivéve a szorosan ellenőrzött belső hálózatokon. Az Apache httpd csak akkor próbálja meg meghatározni ezt az információt, ha aIdentityCheckértékeOn.frank(%u) , Ugyanez az érték jellemzően aREMOTE_USERkörnyezeti változóban található CGI szkriptek számára is elérhető. Ha a kérés állapotkódja (lásd alább) 401, akkor ezt az értéket nem szabad megbízni, mert a felhasználó még nincs hitelesítve. Ha a dokumentum nem jelszóval védett, akkor ez a rész “-” lesz, mint az előző.(%t) A kérelem beérkezésének időpontja., A formátum:

lehetséges, hogy az idő jelenik meg egy másik formátumban megadásával %{format}t a log formátum string, ahol formatvagy mint a strftime(3) A C standard könyvtár, vagy az egyik támogatott speciális tokeneket. A részleteket lásd a mod_log_config formátum karakterláncok.

"GET /apache_pb.gif HTTP/1.0"(\"%r\") az ügyfél kérési sorát kettős idézőjelek adják meg. A kérési sor sok hasznos információt tartalmaz., Először is, az ügyfél által használt módszerGET. Másodszor, az ügyfél a/apache_pb.giferőforrást kérte, harmadszor pedig az ügyfél aHTTP/1.0protokollt használta. Lehetőség van a kérési sor egy vagy több részének önálló naplózására is. Például a “%m %U%q %H” formátumú karakterlánc naplózza a módszert, az elérési utat, a lekérdezési karakterláncot és a protokollt, ami pontosan ugyanazt a kimenetet eredményezi, mint a “%r“.200(%>s) ez az állapotkód, amelyet a szerver küld vissza az ügyfélnek., Ez az információ nagyon értékes, mert kiderül, hogy a kérelem eredményezte, hogy egy sikeres válasz (kód elején 2) átirányítás (kód elején 3), hiba okozta az ügyfél (kódok elején 4), vagy egy hiba a szerver (kódok kezdődő 5). A lehetséges állapotkódok teljes listája megtalálható a HTTP specifikációban (RFC2616 10.szakasz).

2326(%b) az utolsó rész az ügyfélnek visszaküldött objektum méretét jelzi, a válaszfejlécek kivételével., Ha az ügyfél nem kapott vissza tartalmat, akkor ez az érték “-“lesz. Ha “0” nincs tartalom, használja a%Bhelyett.

kombinált Naplóformátum

egy másik általánosan használt formátum karakterláncot kombinált Naplóformátumnak neveznek. Ezt fel lehet használni az alábbiak szerint.

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" combinedCustomLog log/access_log combined

Ez a formátum pontosan megegyezik a közös Naplóformátummal, további két mező hozzáadásával. Mindegyik további mező a %{header}i százalékos irányelvet használja, ahol a fejléc bármilyen HTTP kérés fejléc lehet., A hozzáférési napló ebben a formátumban fog kinézni:

a További mezők:

"http://www.example.com/start.html"(\"%{Referer}i\") A “refererer” (sic) HTTP kérés fejléc. Ez adja a helyszínen, hogy az ügyfél jelentések már említett. (Ennek az oldalnak kell lennie, amely a/apache_pb.gif– ra hivatkozik vagy tartalmaz)."Mozilla/4.08 (Win98; I ;Nav)"(\"%{User-agent}i\") A User-Agent HTTP request fejléc. Ez az azonosító információ, amelyet az ügyfélböngésző magáról jelent.,

több hozzáférési naplók

Több hozzáférési naplók lehet létrehozni egyszerűen megadásával több CustomLog irányelvek a konfigurációs fájlban. Például a következő irányelvek három hozzáférési naplót hoznak létre. Az első tartalmazza az alapvető CLF információkat, míg a második és a harmadik hivatkozó és böngésző információkat tartalmaz. Az utolsó kétCustomLog sor megmutatja, hogyan lehet utánozni aReferLog ésAgentLog hatását.,

Ez a példa azt is mutatja, hogy nem szükséges becenevet meghatározni a LogFormat irányelvvel. Ehelyett a naplóformátum közvetlenül megadható a CustomLog irányelvben.

feltételes naplók

vannak esetek, amikor célszerű kizárni bizonyos bejegyzéseket a hozzáférési naplókból az ügyfélkérelem jellemzői alapján. Ez könnyen megvalósítható a környezeti változók segítségével. Először egy környezeti változót kell beállítani annak jelzésére, hogy a kérés megfelel bizonyos feltételeknek., Ez általában a SetEnvIfértékkel érhető el. Ezután aenv=CustomLog irányelv záradékát használjuk a környezeti változó beállításával kapcsolatos kérelmek beillesztésére vagy kizárására. Néhány példa:

egy másik példa, fontolja meg az angol anyanyelvűek kéréseinek naplózását egy naplófájlba, a nem angol beszélőket pedig egy másik naplófájlba.

SetEnvIf Accept-Language "en" englishCustomLog logs/english_log common env=englishCustomLog logs/non_english_log common env=!english

egy gyorsítótárazási forgatókönyvben szeretnénk tudni a gyorsítótár hatékonyságáról., Egy nagyon egyszerű módszer, hogy megtudja, ez lenne:

SetEnv CACHE_MISS 1LogFormat "%h %l %u %t "%r " %>s %b %{CACHE_MISS}e" common-cacheCustomLog logs/access_log common-cache

mod_cache fut előtt mod_env és, ha sikeres, szállít a tartalom nélkül. Ebben az esetben a gyorsítótár-találatok naplóznak -, míg a gyorsítótár-hiány naplózja a 1.,

a env= szintaxis mellett LogFormat támogatja a HTTP válaszkódtól függő naplózási értékeket:

LogFormat "%400,501{User-agent}i" browserlogLogFormat "%!200,304,302{Referer}i" refererlog

az első példában a User-agent jelentkezzen be, ha a HTTP állapotkód 400 vagy 501. Más esetekben a szó szerinti ” – ” lesz naplózva helyett. Hasonlóképpen, a második példában aReferer naplózásra kerül, ha a HTTP állapotkód nem 200, 204 vagy 302. (Megjegyzés: a”!”az állapotkódok előtt.,

bár most mutattuk be, hogy a feltételes naplózás nagyon erős és rugalmas, nem ez az egyetlen módja annak, hogy ellenőrizzék a naplók tartalmát. A naplófájlok hasznosabbak, ha a szerver tevékenységének teljes nyilvántartását tartalmazzák. Gyakran könnyebb egyszerűen feldolgozni a naplófájlokat, hogy eltávolítsa azokat a kéréseket, amelyeket nem akar megfontolni.

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük