Jak analizować i interpretować dziennik Apache Webserver

Jak analizować i interpretować dziennik Apache Webserver

Serwery internetowe Apache mogą generować wiele dzienników. Te dzienniki zawierają takie informacje, jak żądania HTTP, które Apache poradził sobie i odpowiedział, oraz inne działania specyficzne dla Apache. Analiza dzienników jest ważną częścią administrowania Apache i upewnieniem się, że działa zgodnie z oczekiwaniami.

W tym przewodniku omówimy różne opcje rejestrowania obecne w Apache i jak interpretować te dane dziennika. Dowiesz się, jak analizować dzienniki, które produkuje Apache i jak skonfigurować ustawienia rejestrowania, aby podać najbardziej odpowiednie dane o tym, co robi Apache.

W tym samouczku nauczysz się:

  • Skonfiguruj i zrozum logowanie Apache Webserver
  • Jakie są poziomy dziennika Apache
  • Jak interpretować formatowanie dziennika Apache i jego znaczenie
  • Jakie są najczęstsze pliki konfiguracji dziennika Apache
  • Jak rozszerzyć konfigurację rejestrowania, aby zawierać dane kryminalistyczne
Jak analizować i interpretować dziennik Apache Webserver

Zastosowane wymagania i konwencje oprogramowania

Wymagania oprogramowania i konwencje linii poleceń Linux
Kategoria Wymagania, konwencje lub wersja oprogramowania
System Ubuntu, Debian, Centos, Rhel, Fedora
Oprogramowanie Apache Webserver
Inny Uprzywilejowany dostęp do systemu Linux jako root lub za pośrednictwem sudo Komenda.
Konwencje # - Wymaga, aby podane polecenia Linux są wykonywane z uprawnieniami root bezpośrednio jako użytkownik root lub za pomocą sudo Komenda
$ - Wymaga, aby podane polecenia Linux zostały wykonane jako zwykły użytkownik niepewny

Pliki dziennika Apache i ich lokalizacja

Apache tworzy dwa różne pliki dziennika:

  • dostęp.dziennik przechowuje informacje o wszystkich przychodzących żądaniach połączenia do Apache. Za każdym razem, gdy użytkownik odwiedza Twoją witrynę, będzie ona zalogowana tutaj. Każda strona żądania użytkownika będą również zalogowane jako osobny wpis.
  • błąd.dziennik Przechowuje informacje o błędach, które napotyka Apache podczas jej działania. Idealnie, ten plik powinien pozostać stosunkowo pusty.
Apache Domyślna konfiguracja dziennika na serwerze Ubuntu Linux

Lokalizacja plików dziennika może zależeć od tego, która wersja Apache i jaka jest dystrybucja Linux. Apache można również skonfigurować do przechowywania tych plików w jakiejś innej lokalizacji bez default.

Ale domyślnie powinieneś być w stanie znaleźć dzienniki dostępu i błędów w jednym z tych katalogów:

  • /var/log/apache/
  • /var/log/apache2/
  • /etc/httpd/logs/


Formatowanie dziennika Apache

Apache umożliwia dostosowanie informacji, które informacje są rejestrowane i jak przedstawiono każdy wpis dziennika, który omówimy później w tym samouczku.

Zwykle format, który stosuje Apache do prezentacji wpisów dziennika, to:

„ %h %l %u %t \” %r \ " %> s %o \" %referenator i \ ""\"" %użytkownik-agent i \ """"

Oto jak interpretować to formatowanie:

  • %H - Adres IP klienta.
  • %l - Jest to „identyfikator” klienta, który służy do ich identyfikacji. To pole jest zwykle puste i prezentowane jako łącznik.
  • %u - Identyfikator użytkownika klienta, jeśli użyto uwierzytelnienia HTTP. Jeśli nie, wpis dziennika nie wyświetla niczego dla tego pola.
  • %T - Znacznik czasu wpisu dziennika.
  • \%R\ - Linia żądania od klienta. To pokaże, jaka metoda HTTP została zastosowana (taka jak Get lub Post), jaki plik został żądany i jaki protokół HTTP został użyty.
  • %> s - Kod stanu, który został zwrócony klientowi. Kody 4xx (takie jak 404, nie znalezione) wskazują błędy klienta i kody 5xx (takie jak 500, błąd serwera wewnętrznego) wskazują błędy serwera. Inne liczby powinny wskazywać na sukces (takie jak 200, OK) lub coś takiego jak przekierowanie (takie jak 301, trwale przeniesione).
  • %O - Rozmiar pliku (w tym nagłówkach), w bajtach, o który wymagano.
  • \ ”%Referenator i \” - Link odsyłający, jeśli dotyczy. To informuje, w jaki sposób użytkownik nawigował do Twojej strony (z linku wewnętrznego lub zewnętrznego).
  • \ ”%Użytkownik-agent i \” - Zawiera informacje o przeglądarce i systemie operacyjnym klienta łączącego.

Typowy wpis w dzienniku dostępu będzie wyglądał mniej więcej tak:

10.10.220.3 - - [17/grudzień/2019: 23: 05: 32 -0500] „Produkty/indeks.php http/1.1 ""200 5015"" http: // Przykład.com/produkty/indeks.php """" Mozilla/5.0 (Windows NT 10.0