jak powie Ci każdy programista lub administrator systemu, pliki dziennika są niezwykle przydatnym narzędziem do debugowania problemów w aplikacji internetowej. W rzeczywistości pliki dziennika są zazwyczaj wykorzystywane jako główne źródło informacji, gdy witryna działa nieprawidłowo.

jeden specyficzny plik dziennika, który może być używany w debugowaniu aplikacji (lub po prostu uzyskanie wglądu w aktywność odwiedzających) jest dziennik dostępu produkowany przez serwer HTTP Apache., Poniżej przejdę do szczegółów tych dzienników: wyjaśnię, co jest rejestrowane w dziennikach dostępu Apache, gdzie można je znaleźć i jak zrozumieć dane zawarte w pliku. Ponieważ prawdziwa moc danych logów pochodzi ze zrozumienia znaczenia danych poprzez analizę, omówię również korzyści płynące z pracy z platformą do zarządzania logami i analityki (taką jak Sumo Logic) w celu uzyskania cennych informacji z danych logów dostępu.

czym są Logi dostępu Apache?,

jak wspomniano powyżej, dziennik dostępu Apache jest jednym z kilku plików dziennika produkowanych przez serwer HTTP Apache. Ten konkretny plik dziennika jest odpowiedzialny za rejestrowanie danych dla wszystkich żądań przetwarzanych przez serwer Apache. Jeśli więc dana osoba odwiedzi stronę internetową w Twojej witrynie, plik dziennika dostępu będzie zawierał szczegóły dotyczące tego wydarzenia., informacje są cenne w różnych sytuacjach: na przykład, jeśli wspólne żądanie nie powiedzie się dla każdej osoby próbującej dostać się do określonej strony internetowej, link może wskazywać na stronę, która już nie istnieje; jeśli pewna strona w witrynie trwa dłużej niż powinna, wpisy dziennika mogą wskazywać na zapytania SQL, które mogą być refakturowane w celu poprawy wydajności; jeśli jedna konkretna strona w witrynie jest bardzo popularna, agregowanie danych z dzienników dostępu może rzucić światło na powszechnie żądane zasoby, umożliwiając w ten sposób firmom zwiększenie ich popularności poprzez dostarczanie bardziej powiązanych treści.,

Gdzie mogę znaleźć Logi dostępu Apache?

lokalizacja dzienników dostępu Apache zależy od systemu, na którym działa serwer HTTP Apache. Większość instancji serwera Apache HTTP działa na dystrybucjach Linuksa. Tak więc, dla celów tego artykułu, będziemy trzymać się szczegółów, gdzie dzienniki dostępu Apache można znaleźć na komputerze z Linuksem.w związku z tym, że nie jesteśmy w stanie sprostać wymaganiom naszych klientów, nie jesteśmy w stanie sprostać wymaganiom naszych klientów.,log

domyślna lokalizacja może się nieznacznie różnić w innych dystrybucjach Linuksa, ale w większości przypadków nie musisz szukać daleko. Ostatecznie, lokalizacja i format (więcej na ten temat później) dzienników dostępu są zdefiniowane przez dyrektywę CustomLog, które mogą być przeglądane i modyfikowane w konfiguracji serwera Apache HTTP.

interpretacja dzienników dostępu Apache

teraz, gdy wiesz, czym są dzienniki dostępu Apache i gdzie można je znaleźć, możemy wyjaśnić, jak interpretować wpisy, aby twój zespół programistów i inni pracownicy IT mogli je dobrze wykorzystać.,

odczytywanie dzienników dostępu Apache

zrozumienie dzienników dostępu Apache wymaga od analityka zrozumienia formatu, w jakim rejestruje się dzienniki dostępu. Jak wspomniano powyżej, format dzienników dostępu jest zdefiniowany w dyrektywie CustomLog wraz z lokalizacją. Poniżej przyjrzymy się dwóm popularnym formatom dzienników, które są często używane w dziennikach dostępu Apache.

Common Log Format

Common Log Format jest standardowym formatem pliku tekstowego używanym przez różne serwery www w generowaniu plików dziennika serwera., Z serwerem HTTP Apache, wspólny format dziennika może być używany do tworzenia dzienników dostępu, które są wystarczająco proste dla programistów i administratorów do odczytu. Ponadto, ponieważ jest to standardowy format używany przez wiele serwerów internetowych, pliki dziennika w formacie CLF mogą być łatwo używane przez wiele platform analizy logów.

rekord dziennika dostępu zapisany w popularnym formacie dziennika będzie wyglądał mniej więcej tak:

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

pola w powyższym przykładowym rekordzie reprezentują:

  • 127.0.0.,1 – adres IP klienta, który wystąpił z żądaniem;
  • myślnikiem definiującym drugie pole w pliku dziennika jest tożsamość klienta. To pole jest często zwracane jako myślnik, a dokumentacja serwera HTTP Apache zaleca, aby nie polegać na tym konkretnym polu, z wyjątkiem kontrolowanej sieci wewnętrznej.
  • Scott-identyfikator użytkownika osoby żądającej zasobu;
  • – Data i godzina żądania;
  • „GET /server-status HTTP/1.,1 ” – typ żądania i żądany zasób;
  • 200-kod stanu odpowiedzi HTTP;
  • 2326 – rozmiar obiektu zwróconego do klienta.

połączony format dziennika

innym formatem, który jest często używany z dziennikami dostępu Apache, jest połączony format dziennika. Format ten jest bardzo podobny do popularnego formatu dziennika, ale zawiera kilka dodatkowych pól, aby dostarczyć więcej informacji do wykorzystania w operacjach analizy i debugowania., Rekord dziennika dostępu, który jest zapisywany w połączonym formacie dziennika wygląda mniej więcej tak:

jak widać, pierwsze siedem pól jest identycznych z tymi w powszechnym formacie dziennika. Pozostałe pola reprezentują dwie dodatkowe właściwości:

Dyrektywa „CustomLog”

wcześniej wspomniałem, że konfiguracja dzienników dostępu Apache odbywa się za pomocą dyrektywy CustomLog w pliku konfiguracyjnym serwera HTTP Apache., W związku z tym, że nie jest to możliwe, nie jest to konieczne, ponieważ nie jest to konieczne, ponieważ nie jest to konieczne, ponieważ nie jest to konieczne, ponieważ nie jest to konieczne, ponieważ nie jest to konieczne, ponieważ nie jest to konieczne.log combined

tutaj zdefiniowaliśmy połączony format dziennika za pomocą dyrektywy LogFormat, a następnie zdefiniowaliśmy lokalizację i format (połączony) dla dziennika dostępu za pomocą dyrektywy CustomLog. Jak widać, modyfikacja lokalizacji lub formatu dziennika dostępu jest prostym procesem., Ponadto użycie dyrektywy CustomLog daje nam kilka innych możliwości, które opiszemy poniżej.

dzienniki wielokrotnego dostępu

nie ma reguły, która mówi, że nie możesz skonfigurować wielu dzienników dostępu dla serwera HTTP Apache, a Proces jest naprawdę dość łatwy; wszystko, co musisz zrobić, to dodać dodatkowe dyrektywy CustomLog, aby dodać dodatkowy, dostosowany plik dziennika dostępu:

LogFormat „%h %l %u %t \”%R\” %> s %o \”%{Referer w związku z tym, że w 2018 roku, w 2019 r., w 2019 r., w 2019 r., w 2019 r., w 2019 r., w 2019 r., w 2019 r., w 2019 r., w 2019 r., w 2019 r., w 2019 r., w 2019 r., w 2019 r.,w naszej ofercie znajdziecie Państwo również:log agent

warunkowe Logi

dodatkowo możliwe jest warunkowe zapisywanie logów. Może to być użyteczne z wielu powodów, w tym z wyłączeniem rejestrów związanych z konkretnymi klientami. Zazwyczaj odbywa się to poprzez ustawienie zmiennych środowiskowych i odwoływanie się do nich za pomocą klauzuli „env”. Więcej informacji można znaleźć w oficjalnej dokumentacji dyrektywy CustomLog.

obrót logów& Logi Piped

jak Wszystko inne na serwerze, pliki logów zajmują miejsce., Na stosunkowo ruchliwym serwerze Apache pliki dziennika, takie jak dzienniki dostępu, mogą szybko rosnąć. Dlatego ważne jest, aby wdrożyć procesy do regularnego przenoszenia lub usuwania starych plików dziennika. Na szczęście serwer HTTP Apache ma możliwość tego poprzez użycie wdzięcznych restartów i procesów dziennika rurociągów.

przyjemny restart serwera Apache pozwala na ponowne uruchomienie bez utraty połączeń z klientami., Ten restart umożliwia Apache otwierać i zapisywać do nowych plików dziennika bez przerwy klienta, co pozwala na wykonanie przetwarzania w celu skompresowania lub usunięcia starych plików dziennika w celu zaoszczędzenia miejsca.

z drugiej strony, mogą pozwolić na rotację dziennika bez restartu serwera; na przykład program o nazwie rotatelogs jest dołączony do serwera HTTP Apache. Zamiast po prostu zapisywać do pliku, wpisy dziennika dostępu mogą być zapisywane za pomocą potoku do tego konkretnego programu., Program rotatelogs zawiera opcje warunkowego obracania dzienników w zależności od czasu lub rozmiaru.

Analiza logów dostępu Apache za pomocą logiki Sumo

zbieranie ogromnych ilości danych w plikach logów jest przydatne tylko wtedy, gdy dane mogą być skutecznie zarządzane i analizowane w łatwy sposób. Po prawidłowym wykonaniu generuje cenne informacje, które można wykorzystać do zidentyfikowania możliwości poprawy w konfiguracji serwera www lub aplikacji., Podczas pracy z dziennikami dostępu Apache najlepiej zintegrować się z Sumo Logic, aby zebrać pliki dziennika Apache, co sprawia, że proces tworzenia cennych wizualizacji jest mniej bolesny niż kiedykolwiek.

proces rozpoczynania pracy jest stosunkowo łatwy. W rzeczywistości, po prostu konfigurując SumoLogic collector i lokalne źródło plików dla dziennika dostępu Apache, możesz być gotowy i uruchomiony w podstawowym sensie w ciągu kilku minut. Sprawdź Sumo Logic już dziś, aby zobaczyć, w jaki sposób mogą usprawnić Twoje procesy zarządzania logami i analizy danych.,

Pełna widoczność dla DevSecOps

skróć czas przestojów i przejdź od reaktywnego do proaktywnego monitorowania.