Jako každý vývojář nebo správce systému vám řekne, log soubory jsou velmi užitečný nástroj pro ladění problémů ve webové aplikaci. Ve skutečnosti jsou soubory protokolu obvykle využívány jako primární zdroj informací, když web nefunguje správně.
jeden konkrétní soubor protokolu, který lze použít při ladění aplikací (nebo jednoduše získat přehled o aktivitě návštěvníků), je protokol přístupu vytvořený HTTP serverem Apache., Níže se dostanu do podrobností o těchto protokolech: vysvětlím, co se zaznamenává do přístupových protokolů Apache, kde je lze nalézt, a jak pochopit data obsažená v souboru. Protože skutečná síla log data pochází z pochopení významu dat, přes analýzy, jsem se bude diskutovat také o výhodách práce s log management a analytics platformy (jako je Sumo Logika) získávat cenné poznatky z access log data.
co jsou protokoly přístupu Apache?,
jak bylo uvedeno výše, protokol Apache access je jedním z několika souborů protokolu vytvořených serverem Apache HTTP. Tento konkrétní soubor protokolu je zodpovědný za záznam dat pro všechny požadavky zpracované serverem Apache. Pokud tedy jednotlivec navštíví webovou stránku na vašem webu, soubor protokolu přístupu bude obsahovat podrobnosti týkající se této události., informace je cenná v různých situacích: například, v případě společné žádosti selhává pro každého jednotlivce snaží dostat na konkrétní webovou stránku, odkaz může mířit na stránku, která již existuje; pokud určité stránky na webu trvá déle, než by mělo, aby zatížení, položky protokolu by mohlo naznačovat, SQL dotazy, které by mohly být přepracován pro zlepšení výkonu, když jedna konkrétní stránka na webu je velmi populární, agregaci dat z access logů by mohly vnést světlo na běžně požadované zdroje, a umožňuje tak podnikům zvýšit svou popularitu tím, že poskytuje další související obsah.,
Kde mohu najít protokoly přístupu Apache?
umístění přístupových protokolů Apache závisí na systému, na kterém je spuštěn HTTP server Apache. Většina instancí HTTP serveru Apache běží na distribucích Linuxu. Pro účely tohoto článku se tedy budeme držet podrobností o tom, kde lze přístupové protokoly Apache nalézt na počítači Linux.
v distribuci Ubuntu Linux budou například záznamy protokolu přístupu zapsány na následující místo ve výchozím nastavení:
/ var / log / apache2 / access.,log
výchozí umístění se může u ostatních linuxových distribucí mírně lišit, ale ve většině případů nebudete muset hledat příliš daleko. Nakonec je umístění a formát (více o tom později) přístupových protokolů definován směrnicí CustomLog, kterou lze prohlížet a upravovat v rámci konfigurace HTTP serveru Apache.
Tlumočení Apache Přístup k Protokolů
Nyní, že víte, co Apache přístup protokoly jsou a kde je lze nalézt, můžeme vysvětlit, jak interpretovat položky tak, aby váš vývojový tým a další IT pracovníci mohou dobře využít z nich.,
čtení přístupových protokolů Apache
smysl protokolů přístupu Apache vyžaduje, aby analytik pochopil formát, ve kterém jsou zaznamenávány protokoly přístupu. Jak bylo uvedeno výše, formát přístupových protokolů je definován ve směrnici CustomLog spolu s umístěním. Podíváme se na dva populární formáty protokolu, které jsou často využívány pomocí přístupových protokolů Apache níže.
běžný formát protokolu
běžný formát protokolu je standardizovaný formát textového souboru používaný různými webovými servery při generování souborů protokolu serveru., S HTTP serverem Apache lze běžný formát protokolu použít k vytvoření přístupových protokolů, které jsou dostatečně jednoduché pro vývojáře a administrátory ke čtení. Kromě toho, protože se jedná o standardizovaný formát používaný více webovými servery, soubory protokolu ve formátu CLF lze snadno použít mnoha platformami pro analýzu protokolu.
přístupový log záznam psáno v Common Log Format bude vypadat nějak takhle:
127.0.0.1 – Scott „GET /server-status HTTP/1.1“ 200 2326
pole ve výše uvedeném vzorku záznamů představují následující:
- 127.0.0.,1 – IP adresa klienta, který podal žádost;
- spojovník definování druhého pole v souboru protokolu je identita klienta. Toto pole je často vráceno jako spojovník a dokumentace HTTP serveru Apache doporučuje, aby se na toto konkrétní pole nespoléhalo, s výjimkou případu řízené interní sítě.
- Scott – userid osoby žádající zdrojů;
- – datum a čas požadavku;
- „GET /server-status HTTP/1.,1 “ – požadovaný typ požadavku a zdroj;
- 200 – stavový kód odezvy HTTP;
- 2326-velikost objektu vráceného klientovi.
kombinovaný formát protokolu
dalším formátem, který se často používá s protokoly Apache access, je kombinovaný formát protokolu. Tento formát je velmi podobný běžnému formátu protokolu, ale obsahuje několik dalších polí, která poskytují více informací pro použití v operacích analýzy a ladění., Záznam protokolu přístupu, který je zaznamenán v kombinovaném formátu protokolu, vypadá takto:
jak vidíte, prvních sedm polí je totožných s políčky ve společném formátu protokolu. Zbývající pole představují dvě další vlastnosti:
směrnice „CustomLog“
dříve jsem zmínil, že konfigurace protokolů přístupu Apache se provádí pomocí směrnice CustomLog v konfiguračním souboru HTTP serveru Apache., Pojďme se podívat na ukázkový přístup protokolu konfigurace ukázat flexibilitu poskytovaných direktivy CustomLog:
LogFormat „%h %l %u %t \“%r\“ %>s %O \“%{Referer}i\“ \“%{User-Agent}i\““ kombinovaný
CustomLog /var/log/apache2/access.log kombinovaný
zde jsme definovali kombinovaný formát protokolu prostřednictvím směrnice LogFormat a následovali jsme to definováním umístění a formátu (kombinovaného) pro přístupový protokol pomocí směrnice CustomLog. Jak můžete vidět, změna umístění nebo formátu přístupového protokolu je přímý proces., Kromě toho nám použití směrnice CustomLog poskytuje několik dalších možností, které popíšeme níže.
Více přístupů
Neexistuje žádné pravidlo, které říká, že nemůžete nakonfigurovat více přístupových logů pro Apache HTTP server, a tento proces je vlastně docela snadné; vše, co musíte udělat, je jednoduše přidat další CustomLog směrnic přidat další, vlastní přístup k log souboru:
LogFormat „%h %l %u %t \“%r\“ %>s %O \“%{Referer}i\“ \“%{User-Agent}i\““ kombinovaný
LogFormat „%{User-agent}i“ agent
CustomLog /var/log/apache2/access.,log kombinovaný
CustomLog / var / log / apache2 / agent_access.log agent
podmíněné protokoly
kromě toho je možné podmíněně psát pro přístup k protokolům. To by mohlo být užitečné z různých důvodů, včetně vyloučení záznamů spojených s konkrétními klienty. Obvykle se to provádí nastavením proměnných prostředí a jejich odkazem prostřednictvím klauzule „env“. Další informace naleznete v oficiální dokumentaci ke směrnici CustomLog.
rotace protokolu & Piped Logs
jako cokoli jiného na serveru, log soubory zabírají místo., A na relativně zaneprázdněném serveru Apache mohou soubory protokolu, jako jsou protokoly přístupu, rychle růst. Proto je důležité mít zavedeny procesy pro pravidelné přesouvání nebo mazání starých souborů protokolu. Naštěstí má HTTP server Apache možnost to provést pomocí ladných restartů a procesů protokolu.
elegantní restart serveru Apache umožňuje restartování bez ztráty připojení klienta., Tento restart umožňuje Apache otevírat a zapisovat do nových souborů protokolu bez přerušení klienta, čímž umožňuje provádění zpracování komprimovat nebo mazat staré soubory protokolu v zájmu úspory místa.
Odvedený log procesů, na druhé straně, může umožnit log rotace musí být provedena bez restartování serveru; například program s názvem rotatelogs je součástí Apache HTTP server. Spíše než jednoduše psát do souboru, přístup položky protokolu mohou být zapsány potrubím do tohoto konkrétního programu., Program rotatelogs obsahuje možnosti otočení protokolů podmíněně na základě času nebo velikosti.
analýza přístupových protokolů Apache pomocí logiky Sumo
shromažďování obrovského množství dat v souborech protokolu je užitečné pouze v případě, že data lze efektivně spravovat a snadno analyzovat. Když se provádí správně, vytváří cenné poznatky, které lze využít k identifikaci příležitostí ke zlepšení v rámci konfigurace webového serveru nebo aplikace., Při práci s Apache access logs je nejlepší integrovat se Sumo Logic a sbírat soubory protokolu Apache, což činí proces vytváření cenných vizualizací méně bolestivým než kdy jindy.
proces zahájení je relativně snadný. Ve skutečnosti jednoduše nakonfigurujete Sumologický kolektor a místní zdroj souborů pro přístupový protokol Apache, můžete být v základním smyslu během několika minut. Podívejte se na Sumo Logic dnes vidět, jak mohou zlepšit své procesy pro správu protokolu a analýzu dat.,
úplná viditelnost pro DevSecOps
snižte prostoje a přesuňte se z reaktivního na proaktivní sledování.