Zarejestruj się na BitBay.net
Home > Linux > Logi w Apache

Logi w Apache

W celu skutecznego zarządzania serwerem WWW, konieczne jest, otrzymywanie wszelkich możliwych informacji na temat działania i wydajności serwera, jak również informacji na temat wszystkich problemów, jakie mogą mieć miejsce. Apache HTTP Server zapewnia bardzo wszechstronne i elastyczne możliwości logowania, trzeba go tylko odpowiednio skonfigurować. Źle skonfigurowany serwer, nie dostarczy nam żadnych danych, dostarczy nieprzydatne/niepełne informacje lub też doprowadzi do sytuacji w której plik z logami będzie miał gigantyczny rozmiar i … wiadomo co 🙂

Wyróżniamy dwa typy logów: ErrorLog oraz AccessLog

ErrorLog – Jest to pierwsze miejsce, gdzie należy spojrzeć gdy mamy problemy z uruchamianiem lub eksploatacją serwera. Tutaj Apache wyśle informacje diagnostyczne oraz rejestrować będzie wszelkie błędy napotykane podczas przetwarzanie danego żądania.

ErrorLog logs/error.log – określa położenie pliku z logami. Można również podać ścieżkę do programu i poprzedzić ją symbolem potoku (|), aby błędy były wysyłane do innego programu.
LogLevel warn – określa poziom szczegółowości informacji zapisywanych w pliku logów.

Level Description Example
emerg

Nagłe wypadki – system jest niezdatny do użytku

„Child cannot open lock file. Exiting”
alert Konieczna jest natychmiastowa reakcja. „getpwuid: couldn’t determine user name from uid”
crit Zdarzenia krytyczne. „socket: Failed to get a socket, exiting child”
error Błędy. „Premature end of script headers”
warn Ostrzeżenia. „child process 1234 did not exit, sending another SIGHUP”
notice Zwykłe ale istotne informacje. „httpd: caught SIGBUS, attempting to dump core in …”
info Informacje. „Server seems busy, (you may need to increase StartServers, or Min/MaxSpareServers)…”
debug Komunikaty diagnostyczne. „Opening config file …”

AccessLog – W skrócie można powiedzieć, że jest to dziennika ewidencji wszystkich wniosków przetwarzane przez serwer. Format tego dziennika jest wysoce konfigurowalny. Ustawia się go za pomocą tak zwanych „format stringów”, których dokładny opis znajduje się w dokumentacji: http://httpd.apache.org/docs/1.3/mod/mod_log_config.html#formats

Typowa konfiguracja dla dziennika dostępu może wyglądać następująco.

LogFormat „%h %l %u %t \”%r\” %>s %b” common – określa format logów
CustomLog logs/access_log common – określa położenie pliku z logami oraz zawiera informację z którego formatu logów korzystać (możemy mieć zdefiniowanych kilka formatów).

Multiple Access logs – czyli wiele dzienników dostępu, które mogą być tworzone poprzez określenie wielu dyrektyw CustomLog w pliku konfiguracyjnym:

LogFormat „%h %l %u %t \”%r\” %>s %b” common
CustomLog logs/access_log common
CustomLog logs/referer_log „%{Referer}i -> %U”
CustomLog logs/agent_log „%{User-agent}i”

Rotacja:
Aby zapanować nad wielkością pliku z logami, możemy ustawić dyrektywę CustomLog w następujący sposób:

CustomLog „|bin/rotatelogs /var/logs/logfile 86400” common
Tworzony będzie plik /var/logs/logfile.nnnn gdzie nnnn to czas stworzenia pliku.

CustomLog „|bin/rotatelogs -l /var/logs/logfile.%Y.%m.%d 86400” common
Tworzony będzie plik /var/logs/logfile.yyyy.mm.dd gdzie yyyy to rok, mm – miesiąc, dd – dzień.

CustomLog „|bin/rotatelogs /var/logs/logfile 5M” common
Plik będzie rotowany kiedy osiągnie 5MB.

ErrorLog „|bin/rotatelogs /var/logs/errorlog.%Y-%m-%d-%H_%M_%S 5M”
Plik będzie rotowany kiedy osiągnie 5MB. Do pliku zostanie dołączony suffix w postaci daty oraz czasu rozpoczęcia logowania.

Dokładny opis: http://httpd.apache.org/docs/2.2/programs/rotatelogs.html

Analiza:
Ponieważ ilość dostarczonych informacji jest ogromna, do analizy tych danych używamy Webalizera (http://www.mrunix.net/webalizer/). Webalizer jest dostępnym na licencji GPL analizatorem logów serwera Apache. Generuje szczegółowe statystyki odwiedzin danego serwisu WWW w formacie HTML. Ze względu na prostą instalację i utrzymanie, wiele firm hostingowych w Polsce oferuje Webalizera jako podstawowy system statystyk dla zakładanych tam kont.

Kategorie:Linux Tagi:, ,
  1. Brak komentarzy
  1. Brak jeszcze trackbacków

*