mint bármely fejlesztő vagy rendszergazda megmondja, a naplófájlok rendkívül hasznos eszköz a webes alkalmazáson belüli problémák hibakereséséhez. Valójában a naplófájlokat általában az elsődleges információforrásként használják, amikor egy webhely hibásan működik.

egy adott naplófájl, amely az alkalmazások hibakeresésében használható (vagy egyszerűen betekintést nyer a látogatói tevékenységbe), az Apache HTTP szerver által készített hozzáférési napló., Az alábbiakban részletesen ismertetem ezeket a naplókat: elmagyarázom, hogy mi kerül rögzítésre az Apache hozzáférési naplókban, ahol megtalálhatók, és hogyan lehet megérteni a fájlban található adatokat. Mivel az igazi hatalom a napló adatok származik, megértettem a értelmében az adatok elemzése révén, azt is meg fogja vitatni a munka előnyeit log menedzsment analytics platform (például a Sumo Logika), hogy ebből az értékes betekintést a hozzáférési napló adatok.

mik azok az Apache hozzáférési naplók?,

mint már említettük, az Apache access log az Apache HTTP szerver által készített több naplófájl egyike. Ez a naplófájl felelős az adatok rögzítéséért az Apache szerver által feldolgozott összes kérésért. Tehát ha egy személy meglátogatja a webhely weboldalát, a hozzáférési naplófájl tartalmazza az esemény részleteit., az információ értékesebb, a különböző helyzetekben: például, ha egy közös kérelem hiányában az egyes akarja, hogy egy adott web-oldal, a link lehet, hogy mutat egy oldalra, ami nincs többé; ha egy bizonyos oldalt tovább tart, mint kellene betölteni, log bejegyzés utalhat SQL lekérdezések, hogy lehet refactored, hogy a teljesítmény javítása érdekében; ha egy bizonyos oldalt az oldalon nagyon népszerű, adatok összesítése a hozzáférési naplókat is ragyog a fény, a leggyakrabban igényelt források ezáltal lehetővé teszi a vállalkozások számára, hogy növelje a népszerűségét azáltal, hogy több kapcsolódó tartalom.,

Hol találok Apache hozzáférési naplókat?

az Apache hozzáférési naplók helye attól a rendszertől függ, amelyen az Apache HTTP szerver fut. Az Apache HTTP server példányok többsége Linux disztribúciókon fut. Tehát e cikk alkalmazásában ragaszkodunk ahhoz, hogy részletezzük, hol találhatók az Apache hozzáférési naplók egy Linux gépen.

Az Ubuntu Linux disztribúcióban például az access log rekordok alapértelmezés szerint a következő helyre kerülnek:

/ var / log / apache2 / access.,log

Az alapértelmezett hely kissé eltérhet a többi Linux disztribúciótól, de a legtöbb esetben nem kell nagyon messzire néznie. Végső soron a hozzáférési naplók helyét és formátumát (erről bővebben később) egy CustomLog irányelv határozza meg, amely megtekinthető és módosítható az Apache HTTP szerver konfigurációjában.

az Apache hozzáférési naplók értelmezése

most, hogy tudod, mi az Apache hozzáférési naplók, és hol találhatók, elmagyarázhatjuk, hogyan kell értelmezni a bejegyzéseket, hogy a fejlesztői csapat és más informatikai személyzet jól kihasználhassa őket.,

Reading Apache Access naplók

az Apache access naplók értelmezéséhez az elemzőnek meg kell értenie a hozzáférési naplók rögzítésének formátumát. Mint már említettük, a hozzáférési naplók formátumát a CustomLog irányelv határozza meg a hely mellett. Megnézzük két népszerű naplóformátumot, amelyeket gyakran használnak az alábbi Apache hozzáférési naplókkal.

Common Log Format

a Common Log formátum egy szabványosított szöveges fájlformátum által használt különböző webszerverek generáló szerver log fájlokat., Az Apache HTTP szerverrel a közös Naplóformátum segítségével olyan hozzáférési naplók készíthetők, amelyek elég egyszerűek a fejlesztők és a rendszergazdák számára. Ezenkívül, mivel ez egy szabványosított formátum, amelyet több webkiszolgáló használ, a CLF formátumú naplófájlokat számos naplóelemző platform könnyen használhatja.

a közös Naplóformátumban írt hozzáférési napló rekord így néz ki:

127.0.0.1-Scott “GET/server-status HTTP/1.1” 200 2326

a fenti mintadokumentum mezői a következőket képviselik:

  • 127.0.0.,1-A kérelmet benyújtó ügyfél IP-címe;
  • a naplófájl második mezőjét meghatározó kötőjel az ügyfél személyazonossága. Ezt a mezőt gyakran kötőjel formájában adják vissza, az Apache HTTP szerver dokumentációja pedig azt javasolja, hogy erre a mezőre csak ellenőrzött belső hálózat esetén lehessen hivatkozni.
  • Scott-userid az erőforrást kérő személy;
  • – a kérés dátuma és időpontja;
  • ” GET / server-status HTTP / 1.,1 ” – kérés típusa és erőforrás kért;
  • 200-HTTP válasz állapotkód;
  • 2326-az objektum mérete visszatért az ügyfélhez.

kombinált Naplóformátum

egy másik formátum, amelyet gyakran használnak az Apache hozzáférési naplókhoz, a kombinált Naplóformátum. Ez a formátum nagyon hasonlít a közös Naplóformátumhoz, de tartalmaz néhány további mezőt, hogy további információkat nyújtson az elemzési és hibakeresési műveletekhez., A kombinált Naplóformátumban rögzített hozzáférési naplórekord így néz ki:

amint láthatja,az első hét mező megegyezik a közös Naplóformátummal. A fennmaradó mezők két további tulajdonságot képviselnek:

A “CustomLog” irányelv

korábban megemlítettem, hogy az Apache access naplók konfigurációja az Apache HTTP server konfigurációs fájljában található CustomLog irányelven keresztül történik., Vessünk egy pillantást a minta hozzáférési napló konfigurációjára, hogy megmutassuk a CustomLog irányelv által biztosított rugalmasságot:

LogFormat “%h %L %u %T \”%r\” %>s %O \”%{refererer}i\” %{User-Agent}i \”” kombinált

CustomLog /var/log/Apache2/access.log combined

itt a LogFormat direktíván keresztül definiáltuk a kombinált log formátumot, majd ezt követően meghatároztuk a hozzáférési napló helyét és formátumát (kombinálva) a CustomLog direktívával. Mint látható, a hozzáférési napló helyének vagy formátumának módosítása egyszerű folyamat., Ezenkívül a CustomLog irányelv használata számos más képességet is biztosít számunkra, amelyeket az alábbiakban ismertetünk.

Több Hozzáférési Naplók

nincs olyan szabály, ami azt mondja, hogy nem tud beállítani több hozzáférési naplók az Apache HTTP szerver, illetve a folyamat valójában nagyon egyszerű, csak annyit kell tennie, csak egyszerűen add további CustomLog irányelvek, hogy adjunk egy extra, egyedi hozzáférési napló fájl:

LogFormat “%h %l %u %t \”%r\\” %>s %O \”%{Referer}, én\” \”%{User-Agent}, én\”” kombinált

LogFormat “%{User-agent}, én” ügynök

CustomLog /var/log/apache2/hozzáféréssel.,log kombinált

CustomLog / var / log / apache2 / agent_access.log agent

feltételes naplók

ezenkívül lehetőség van a naplók feltételesen történő elérésére. Ez számos okból hasznos lehet, beleértve az egyes ügyfelekkel kapcsolatos nyilvántartások kizárását. Ez általában a környezeti változók beállításával, az “env” záradékon keresztül történő hivatkozással történik. További információkért látogasson el a CustomLog irányelv hivatalos dokumentációjába.

Log Rotation & Piped Logs

mint bármi más a szerveren, a naplófájlok helyet foglalnak el., Egy viszonylag elfoglalt Apache szerveren a naplófájlok, például a hozzáférési naplók gyorsan növekedhetnek. Ezért fontos, hogy folyamatok legyenek érvényben a régi naplófájlok rendszeres mozgatásához vagy törléséhez. Szerencsére egy Apache HTTP szerver képes erre a kecses újraindítások és piped naplófolyamatok segítségével.

az Apache szerver kecses újraindítása lehetővé teszi az újraindítást az ügyfélkapcsolatok elvesztése nélkül., Ez az újraindítás lehetővé teszi az Apache számára, hogy új naplófájlokat nyisson meg és írjon az ügyfél megszakítása nélkül, ezáltal lehetővé téve a feldolgozás végrehajtását a régi naplófájlok tömörítéséhez vagy törléséhez a helytakarékosság érdekében.a

Piped naplófolyamatok viszont lehetővé teszik a naplóforgatás végrehajtását szerver újraindítás nélkül; például egy rotatelogs nevű program szerepel az Apache HTTP szerverrel. Ahelyett, hogy egyszerűen egy fájlba írna, a hozzáférési naplóbejegyzések egy csövön keresztül írhatók erre a programra., A rotatelogs program magában foglalja a naplók feltételes elforgatásának lehetőségeit idő vagy méret alapján.

az Apache hozzáférési naplók elemzése Sumo Logic

hatalmas mennyiségű adat gyűjtése a naplófájlokban csak akkor hasznos, ha az adatok hatékonyan kezelhetők és könnyen elemezhetők. Ha megfelelően történik, értékes betekintést nyújt, amelyek kihasználhatók a webkiszolgáló konfigurációján vagy alkalmazásán belüli fejlesztési lehetőségek azonosítására., Amikor dolgozik Apache access naplók, a legjobb, hogy integrálja a Sumo Logic gyűjteni az Apache log fájlokat, ami a folyamat előállítására értékes vizualizációk kevésbé fájdalmas, mint valaha.

az indulási folyamat viszonylag egyszerű. Valójában, egyszerűen konfigurálja a SumoLogic collector és a helyi fájl forrás az Apache hozzáférési napló, akkor lehet akár fut egy alapvető értelemben néhány perc alatt. Nézze meg a Sumo Logic ma, hogy hogyan lehet javítani a folyamatok naplókezelés és adatelemzés.,

a DevSecOps

teljes láthatósága csökkenti az állásidőt,és reaktív állapotról proaktív monitorozásra vált.