dzienniki mogą być niezwykle ważnym aspektem dla swojego środowiska internetowego. Dostarczają one dodatkowych danych, które są przydatne do celów debugowania, celów informacyjnych i innych. W przeszłości rozmawialiśmy o logach, w szczególności o błędach Nginx i logach dostępu, a także narzędziach do analizy logów., Jednak w tym poście zagłębimy się w szczegóły dotyczące dziennika dostępu Apache i zbadamy, gdzie się znajduje, jak go odczytać i jak skonfigurować.
Co to jest dziennik dostępu Apache?
dzienniki dostępu Apache przechowują informacje o zdarzeniach, które miały miejsce na Twoim serwerze WWW Apache. Na przykład, gdy ktoś odwiedza Twoją witrynę, rejestrowany jest i przechowywany dziennik, aby dostarczyć administratorowi serwera Apache informacje, takie jak adres IP odwiedzającego, jakie strony przeglądał, kody statusu, używana przeglądarka itp.,
Serwery WWW Apache zapewniają również administratorom inny typ pliku dziennika o nazwie error logs. Ten plik dziennika jest używany, aby dostarczyć więcej informacji na temat konkretnego błędu, który wystąpił na serwerze WWW. Jednak na potrzeby tego postu skupimy się w szczególności na pliku dziennika dostępu Apache.
Gdzie mogę znaleźć dziennik dostępu Apache?
dla większości użytkowników apache, dziennik dostępu będzie zlokalizowany w tym samym miejscu., Najpierw spróbuj przejść do jednego z następujących dwóch katalogów:
/var/log/apache/access.log
/var/log/apache2/access.log
Jeśli żadna z tych ścieżek nie prowadzi cię do pliku dziennika dostępu Apache, możesz mieć niestandardową konfigurację w pliku konfiguracyjnym Apache, która określa miejsce dostępu.plik dziennika znajduje się. Spróbuj uruchomić następujące polecenie, jeśli nie możesz znaleźć pliku sudo locate access.log
.
Czytanie dzienników dostępu Apache
w każdym dzienniku apache może być sporo informacji., Dlatego po pierwszym zobaczeniu wszystkich danych w pliku dostępu możesz szybko zostać przytłoczony, jeśli nie jesteś zaznajomiony z każdą sekcją. Weźmy przykład, który używa wspólnego formatu dziennika Apache: LogFormat "%h %l %u %t \"%r\" %>s %b" common
.
teraz Podzielmy, co oznacza każda sekcja tego dziennika.
-
%h
adres IP klienta. %l
tożsamość klienta określona przezidentd
na maszynie klienta. Zwróci myślnik (-
), jeśli te informacje nie są dostępne.,%u
identyfikator Użytkownika Klienta, jeśli żądanie zostało uwierzytelnione.-
%t
czas otrzymania żądania. \"%r\"
linia żądania, która zawiera zastosowaną metodę HTTP, żądaną ścieżkę zasobów i protokół HTTP, którego użył klient.%>s
kod stanu, który serwer wysyła z powrotem do klienta.%b
rozmiar żądanego obiektu.,
Jeśli żądanie zostało złożone na stronie internetowej przy użyciu formatu dziennika, o którym mowa powyżej, wynikowy dziennik wyglądałby podobnie do poniższego.
127.0.0.1 - peter "GET /sample-image.png HTTP/2" 200 1479
niestandardowy format dziennika Apache
Jeśli chcesz uzyskać bardziej szczegółowe informacje o logach dostępu, możesz użyć niestandardowego formatu dziennika Apache. Korzystając z niestandardowego modułu dziennika, musisz zdefiniować w pliku konfiguracyjnym Apache, gdzie chcesz przechowywać dziennik, a także format, którego chcesz użyć., Na przykład popularny niestandardowy format dziennika o nazwie „combined”wykorzystuje następujący wzór:
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" combinedCustomLog log/access_log combined
podsumowanie
dzienniki dostępu Apache mogą oferować wiele informacji dotyczących przychodzących żądań do serwera www. Jeśli potrzebujesz analizować te dzienniki w dużych ilościach, korzystne może być użycie narzędzia do analizy dzienników, które może znacznie szybciej „schrupać liczby”. Sprawdź nasz kompletny post na top 10 + narzędzia do analizy logów, których możesz użyć, aby lepiej zrozumieć swoje dane dziennika.